From 76c26b027d797f3671bf0b6c6618eda2496cf88d Mon Sep 17 00:00:00 2001 From: root Date: Fri, 15 Jul 2011 23:12:20 +0000 Subject: Fri Jul 15 23:12:20 UTC 2011 --- testing/ardour/PKGBUILD | 73 ++++++++++++++ testing/ardour/ardour.changelog | 49 ++++++++++ testing/ardour/ardour.desktop | 9 ++ testing/ardour/gcc46.patch | 42 ++++++++ testing/ardour/raptor2.patch | 57 +++++++++++ testing/file/PKGBUILD | 39 ++++++++ testing/file/file-5.07-zip-detect.patch | 40 ++++++++ testing/mesa/PKGBUILD | 166 ++++++++++---------------------- testing/mesa/linking_fix.patch | 22 +++++ testing/pygtk/PKGBUILD | 37 +++++++ testing/pygtk/python27.patch | 50 ++++++++++ testing/python-numpy/PKGBUILD | 61 ++++++++++++ testing/slv2/PKGBUILD | 32 ++++++ testing/slv2/slv2.changelog | 23 +++++ testing/slv2/slv2.install | 14 +++ 15 files changed, 599 insertions(+), 115 deletions(-) create mode 100644 testing/ardour/PKGBUILD create mode 100644 testing/ardour/ardour.changelog create mode 100644 testing/ardour/ardour.desktop create mode 100644 testing/ardour/gcc46.patch create mode 100644 testing/ardour/raptor2.patch create mode 100644 testing/file/PKGBUILD create mode 100644 testing/file/file-5.07-zip-detect.patch create mode 100644 testing/mesa/linking_fix.patch create mode 100644 testing/pygtk/PKGBUILD create mode 100644 testing/pygtk/python27.patch create mode 100755 testing/python-numpy/PKGBUILD create mode 100644 testing/slv2/PKGBUILD create mode 100644 testing/slv2/slv2.changelog create mode 100644 testing/slv2/slv2.install (limited to 'testing') diff --git a/testing/ardour/PKGBUILD b/testing/ardour/PKGBUILD new file mode 100644 index 000000000..5780fa159 --- /dev/null +++ b/testing/ardour/PKGBUILD @@ -0,0 +1,73 @@ +# $Id: PKGBUILD 131778 2011-07-14 23:39:36Z schiv $ +# Maintainer: tobias +# Maintainer: Ray Rashif +# Contributor: Giovanni Scafora + +# ardour, liblrdf and raptor are heavily dependent on each other. Updating of +# one package mostly will require an update of all the other packages. I vote +# for fixed dependencies speaking in terms of versions + +pkgname=ardour +pkgver=2.8.11 +pkgrel=5 +pkgdesc="A multichannel hard disk recorder and digital audio workstation" +arch=('i686' 'x86_64') +url="http://ardour.org/" +license=('GPL') +depends=('liblrdf>=0.4.0-8' 'liblo' 'aubio' 'libusb-compat' + 'libgnomecanvasmm' 'soundtouch' 'slv2>=0.6.6-6') + # -rubberband -libgnomecanvas(+libgnomecanvasmm) + # +soundtouch (these +/- changes are for SYSLIBS) + # liblrdf versioned for https://bugs.archlinux.org/task/25005 + # slv2 versioned for https://bugs.archlinux.org/task/25060 +makedepends=('scons' 'boost' 'pkg-config') +changelog=${pkgname}.changelog +source=(ftp://ftp.archlinux.org/other/ardour/${pkgname}-${pkgver}.tar.bz2 + ${pkgname}.desktop + gcc46.patch + raptor2.patch) +md5sums=('f451a8d0abc133a1700c3932e07a5612' + '8aeaf433ebf781733db48e5a16b0c4da' + 'd709add59911d099c813162448e4db99' + 'a26a9bec0968fa0630c70f70c54f67de') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + # gcc 4.6 compatibility + # http://tracker.ardour.org/view.php?id=3771 + patch -Np1 -i "$srcdir/gcc46.patch" + + # raptor2 compatibility + # https://bugs.archlinux.org/task/25060 + # http://tracker.ardour.org/view.php?id=4179 + patch -Np0 -i "$srcdir/raptor2.patch" + + sed -i '/-O3/d' SConstruct + + # use syslibs until internal sigc++ issue w/ latest gcc (?) resolves + # TODO: report upstream + scons ${MAKEFLAGS} ARCH="${CFLAGS}" \ + PREFIX="/usr" \ + DIST_LIBDIR="lib" \ + FREEDESKTOP=0 \ + FREESOUND=1 \ + SYSLIBS=1 \ + DESTDIR="${pkgdir}" +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + scons PREFIX="/usr" \ + FREEDESKTOP=0 \ + FREESOUND=1 \ + SYSLIBS=1 \ + DESTDIR="${pkgdir}" install + + # install some freedesktop.org compatibility + install -Dm644 "${srcdir}/${pkgname}.desktop" \ + "${pkgdir}/usr/share/applications/${pkgname}.desktop" +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/ardour/ardour.changelog b/testing/ardour/ardour.changelog new file mode 100644 index 000000000..47c111f01 --- /dev/null +++ b/testing/ardour/ardour.changelog @@ -0,0 +1,49 @@ +15 Jul 2011 (GMT+8) Ray Rashif + + * 2.8.11-5: + Resolve previous issues with slv2 & redland/rasqal/raptor + - just needed rebuild of slv2 against latest redland suite [1] + - also needed ardour buildsystem patch for raptor2 [1][2] + - bring back support for slv2 + + [1] https://bugs.archlinux.org/task/25060 + [2] http://tracker.ardour.org/view.php?id=4179 + +9 Jul 2011 (GMT+8) Ray Rashif + + * 2.8.11-4: + Fix build failures and runtime segfaults + - gcc 4.6 patch + - enable SYSLIBS due to ardour sigc++ issues + - remove slv2 dep due to ardour rasqal incompatibility [1][2] + + [1] https://bugs.archlinux.org/task/25060 + [2] https://ardour.org/node/4301 + +22 Feb 2011 (GMT+8) Ray Rashif + + * 2.8.11-2 : + raptor rebuild + +9 Aug 2010 (GMT+8) Ray Rashif + + * 2.8.11-1 : + Testing build. + Removed libgnomecanvasmm depend (ardour internal). + Removed soundtouch makedepend (ardour internal, unneded). + Added new depends + - slv2 ("LV2" plug-ins support) + - rubberband (can "do more" than soundtouch) + - libgnomecanvas + Not using SYSLIBS because upstream does not support it. + Namcap warnings can be ignored; they're ardour internals. + + * PKGBUILD : + Minor cosmetic ammendments. + + * ardour.changelog : + Added this changelog. + Only important changes will be logged. + + * ardour.install : + Removed install scriptlet; old and deprecated information. diff --git a/testing/ardour/ardour.desktop b/testing/ardour/ardour.desktop new file mode 100644 index 000000000..b50f6c952 --- /dev/null +++ b/testing/ardour/ardour.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=Ardour +Comment=Multitrack hard disk recorder +Exec=ardour2 +Icon=/usr/share/ardour2/icons/ardour_icon_48px.png +Terminal=false +Type=Application +X-MultipleArgs=false +Categories=GTK;Audio;AudioVideoEditing;AudioVideo;Video; diff --git a/testing/ardour/gcc46.patch b/testing/ardour/gcc46.patch new file mode 100644 index 000000000..d01610d1d --- /dev/null +++ b/testing/ardour/gcc46.patch @@ -0,0 +1,42 @@ +diff -rupN ardour-2.8.11.old/libs/ardour/enums.cc ardour-2.8.11/libs/ardour/enums.cc +--- ardour-2.8.11.old/libs/ardour/enums.cc 2010-04-20 13:28:37.000000000 -0400 ++++ ardour-2.8.11/libs/ardour/enums.cc 2011-02-13 11:23:02.000000000 -0500 +@@ -31,7 +31,8 @@ + + using namespace std; + using namespace PBD; +-using namespace ARDOUR; ++namespace ARDOUR ++{ + + void + setup_enum_writer () +@@ -362,3 +363,5 @@ setup_enum_writer () + REGISTER (_Track_FreezeState); + + } ++ ++} +diff -rupN ardour-2.8.11.old/libs/rubberband/rubberband/RubberBandStretcher.h ardour-2.8.11/libs/rubberband/rubberband/RubberBandStretcher.h +--- ardour-2.8.11.old/libs/rubberband/rubberband/RubberBandStretcher.h 2009-03-26 10:25:40.000000000 -0400 ++++ ardour-2.8.11/libs/rubberband/rubberband/RubberBandStretcher.h 2011-02-09 21:41:04.000000000 -0500 +@@ -19,6 +19,7 @@ + #define RUBBERBAND_API_MAJOR_VERSION 2 + #define RUBBERBAND_API_MINOR_VERSION 0 + ++#include + #include + + /** +diff -rupN ardour-2.8.11.old/libs/surfaces/wiimote/wiimote.cc ardour-2.8.11/libs/surfaces/wiimote/wiimote.cc +--- ardour-2.8.11.old/libs/surfaces/wiimote/wiimote.cc 2009-02-24 07:38:19.000000000 -0500 ++++ ardour-2.8.11/libs/surfaces/wiimote/wiimote.cc 2011-02-13 11:23:24.000000000 -0500 +@@ -177,7 +177,7 @@ wiimote_discovery: + std::cerr << "Wiimote: discovering, press 1+2" << std::endl; + + while (!wiimote_handle && !main_thread_quit) { +- bdaddr = *BDADDR_ANY; ++ bdaddr = (bdaddr_t) {{0, 0, 0, 0, 0, 0}}; + callback_thread_registered_for_ardour = false; + wiimote_handle = cwiid_open(&bdaddr, 0); + diff --git a/testing/ardour/raptor2.patch b/testing/ardour/raptor2.patch new file mode 100644 index 000000000..fe7cacff3 --- /dev/null +++ b/testing/ardour/raptor2.patch @@ -0,0 +1,57 @@ +Index: SConstruct +=================================================================== +--- SConstruct (revision 9877) ++++ SConstruct (revision 9878) +@@ -431,7 +431,6 @@ + 'gtk+-2.0' : '2.8.1', + 'libxml-2.0' : '2.6.0', + 'samplerate' : '0.1.0', +- 'raptor' : '1.4.2', + 'lrdf' : '0.4.0', + 'jack' : '0.109.0', + 'libgnomecanvas-2.0' : '2.0', +@@ -487,7 +486,10 @@ + + libraries['core'] = LibraryInfo (CCFLAGS = '-Ilibs') + +-conf = env.Configure (custom_tests = { 'CheckPKGExists' : CheckPKGExists } ) ++conf = env.Configure (custom_tests = { 'CheckPKGExists' : CheckPKGExists, ++ 'CheckPKGVersion' : CheckPKGVersion } ++ ) ++ + + if conf.CheckPKGExists ('fftw3f'): + libraries['fftw3f'] = LibraryInfo() +@@ -501,6 +503,22 @@ + libraries['aubio'] = LibraryInfo() + libraries['aubio'].ParseConfig('pkg-config --cflags --libs aubio') + ++raptorOK = 0 ++ ++if conf.CheckPKGExists ('raptor2'): ++ libraries['raptor'] = LibraryInfo() ++ libraries['raptor'].ParseConfig('pkg-config --cflags --libs raptor2') ++ raptorOK = 1 ++else: ++ if conf.CheckPKGExists ('raptor') and conf.CheckPKGVersion (pkg, '1.4.2'): ++ libraries['raptor'] = LibraryInfo() ++ libraries['raptor'].ParseConfig('pkg-config --cflags --libs raptor') ++ raptorOK = 1 ++ ++if raptorOK == 0: ++ print "Ardour requires either raptor or raptor2 to be available at build time" ++ Exit (1) ++ + env = conf.Finish () + + if env['FFT_ANALYSIS']: +@@ -570,9 +588,6 @@ + libraries['lrdf'] = LibraryInfo() + libraries['lrdf'].ParseConfig('pkg-config --cflags --libs lrdf') + +-libraries['raptor'] = LibraryInfo() +-libraries['raptor'].ParseConfig('pkg-config --cflags --libs raptor') +- + libraries['sndfile'] = LibraryInfo() + libraries['sndfile'].ParseConfig ('pkg-config --cflags --libs sndfile') + diff --git a/testing/file/PKGBUILD b/testing/file/PKGBUILD new file mode 100644 index 000000000..2a5489e9d --- /dev/null +++ b/testing/file/PKGBUILD @@ -0,0 +1,39 @@ +# $Id: PKGBUILD 131726 2011-07-14 01:54:47Z allan $ +# Maintainer: Allan McRae +# Contributor: Andreas Radke + +pkgname=file +pkgver=5.07 +pkgrel=4 +pkgdesc="File type identification utility" +arch=('i686' 'x86_64') +license=('custom') +groups=('base') +url="http://www.darwinsys.com/file/" +depends=('glibc' 'zlib') +options=('!libtool') +source=(ftp://ftp.astron.com/pub/${pkgname}/${pkgname}-${pkgver}.tar.gz + file-5.07-zip-detect.patch) +md5sums=('b8d1f9a8a644067bd0a703cebf3f4858' + 'ac155cf89af6665dfee76738c27366d8') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + sed -i 's#\$(datadir)/misc#\$(datadir)#' configure + + # combined upstream patches to fix zip file detection + patch -Np1 -i ${srcdir}/file-5.07-zip-detect.patch + + ./configure --prefix=/usr --datadir=/usr/share/file + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make DESTDIR=${pkgdir} install + install -dm755 ${pkgdir}/usr/share/misc + ln -s ../file/magic.mgc ${pkgdir}/usr/share/misc + + install -D -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/COPYING +} diff --git a/testing/file/file-5.07-zip-detect.patch b/testing/file/file-5.07-zip-detect.patch new file mode 100644 index 000000000..ce433bb90 --- /dev/null +++ b/testing/file/file-5.07-zip-detect.patch @@ -0,0 +1,40 @@ +diff -Naur file-5.07-orig//magic/Magdir/archive file-5.07/magic/Magdir/archive +--- file-5.07-orig//magic/Magdir/archive 2011-04-24 01:02:48.000000000 +1000 ++++ file-5.07/magic/Magdir/archive 2011-07-14 11:55:11.821178049 +1000 +@@ -1,5 +1,5 @@ + #------------------------------------------------------------------------------ +-# $File: archive,v 1.63 2011/04/23 15:02:48 christos Exp $ ++# $File: archive,v 1.66 2011/05/25 17:45:54 christos Exp $ + # archive: file(1) magic for archive formats (see also "msdos" for self- + # extracting compressed archives) + # +@@ -654,12 +654,6 @@ + >>>>78 string -template Template + !:mime application/vnd.oasis.opendocument.image-template + +-# StarView Metafile +-# From Pierre Ducroquet +-0 string VCLMTF StarView MetaFile +->6 beshort x \b, version %d +->8 belong x \b, size %d +- + # EPUB (OEBPS) books using OCF (OEBPS Container Format) + # From: Adam Buchbinder + # http://www.idpf.org/ocf/ocf1.0/download/ocf10.htm, section 4. +@@ -692,8 +686,15 @@ + >>4 byte 0x09 \b, at least v0.9 to extract + >>4 byte 0x0a \b, at least v1.0 to extract + >>4 byte 0x0b \b, at least v1.1 to extract +->>0x161 string WINZIP \b, WinZIP self-extracting + >>4 byte 0x14 \b, at least v2.0 to extract ++>>4 byte 0x2d \b, at least v3.0 to extract ++>>0x161 string WINZIP \b, WinZIP self-extracting ++ ++# StarView Metafile ++# From Pierre Ducroquet ++0 string VCLMTF StarView MetaFile ++>6 beshort x \b, version %d ++>8 belong x \b, size %d + + # Zoo archiver + 20 lelong 0xfdc4a7dc Zoo archive data diff --git a/testing/mesa/PKGBUILD b/testing/mesa/PKGBUILD index 2da496b53..9ad6ffe3a 100644 --- a/testing/mesa/PKGBUILD +++ b/testing/mesa/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 131188 2011-07-11 16:27:41Z andyrtr $ +# $Id: PKGBUILD 131696 2011-07-13 15:20:52Z andyrtr $ # Maintainer: Jan de Groot # Maintainer: Andreas Radke pkgbase=mesa -pkgname=('mesa' 'libgl' 'libgles' 'libegl' 'ati-dri' 'intel-dri' 'unichrome-dri' 'mach64-dri' 'mga-dri' 'r128-dri' 'savage-dri' 'sis-dri' 'tdfx-dri' 'nouveau-dri') # 'llvm-dri') +pkgname=('mesa' 'libgl' 'libglapi' 'libgles' 'libegl' 'ati-dri' 'intel-dri' 'unichrome-dri' 'mach64-dri' 'mga-dri' 'r128-dri' 'savage-dri' 'sis-dri' 'tdfx-dri' 'nouveau-dri') # 'llvm-dri') _git=true #_git=false @@ -14,32 +14,33 @@ if [ "${_git}" = "true" ]; then else pkgver=7.11rc1 fi -pkgrel=3 +pkgrel=4 arch=('i686' 'x86_64') makedepends=('glproto>=1.4.14' 'libdrm>=2.4.26' 'libxxf86vm>=1.1.1' 'libxdamage>=1.1.3' 'expat>=2.0.1' 'libx11>=1.4.3' 'libxt>=1.1.1' - 'gcc-libs>=4.6.1' 'dri2proto>=2.6' 'python2' 'libxml2' 'imake' 'llvm') + 'gcc-libs>=4.6.1' 'dri2proto>=2.6' 'python2' 'libxml2' 'imake' 'llvm' 'udev') url="http://mesa3d.sourceforge.net" license=('custom') -source=(LICENSE git_fixes.patch) +source=(LICENSE + #git_fixes.patch + linking_fix.patch) if [ "${_git}" = "true" ]; then # mesa git shot from 7.11 branch - see for state: http://cgit.freedesktop.org/mesa/mesa/commit/?h=7.11&id=1ae00c5960af83bea9545a18a1754bad83d5cbd0 #source=(${source[@]} 'ftp://ftp.archlinux.org/other/mesa/mesa-1ae00c5960af83bea9545a18a1754bad83d5cbd0.tar.bz2') - source=(${source[@]} "MesaLib-${pkgver}.zip"::"http://cgit.freedesktop.org/mesa/mesa/snapshot/mesa-b033f050fd5179b051181a0a4b6d94110624d25c.tar.bz2") + source=(${source[@]} "MesaLib-${pkgver}.zip"::"http://cgit.freedesktop.org/mesa/mesa/snapshot/mesa-ef9f16f6322a89fb699fbe3da868b10f9acaef98.tar.bz2") else source=(${source[@]} "ftp://ftp.freedesktop.org/pub/mesa/${pkgver/rc1/}/MesaLib-${pkgver/rc/-rc}.zip" ) fi md5sums=('5c65a0fe315dd347e09b1f2826a1df5a' - '62b7e9591737846ff0e98f970ffc8b78' - '2246d97eb0cfb1f6d2bf8a54b533d07f') + '887be83c01d126c2a4cb372af7d3b067' + '817a63bb60b81f4f817ffc9ed0a3dddd') build() { cd ${srcdir}/?esa-* - # fix link errors: https://bugs.archlinux.org/task/25093 - export LDFLAGS=${LDFLAGS/-Wl,--as-needed/} if [ "${_git}" = "true" ]; then - patch -Np1 -i ${srcdir}/git_fixes.patch + #patch -Np1 -i ${srcdir}/git_fixes.patch + patch -Np1 -i ${srcdir}/linking_fix.patch autoreconf -vfi ./autogen.sh --prefix=/usr \ --with-dri-driverdir=/usr/lib/xorg/modules/dri \ @@ -57,7 +58,6 @@ if [ "${_git}" = "true" ]; then --enable-shared-dricore # --enable-gallium-svga \ - #--enable-shared-glapi EXPERIMENTAL. Enable shared glapi for OpenGL[default=no] else autoreconf -vfi @@ -81,7 +81,7 @@ fi } package_libgl() { - depends=('libdrm>=2.4.26' 'libxxf86vm>=1.1.1' 'libxdamage>=1.1.3' 'expat>=2.0.1') + depends=('libdrm>=2.4.26' 'libxxf86vm>=1.1.1' 'libxdamage>=1.1.3' 'expat>=2.0.1' 'libglapi' 'gcc-libs') pkgdesc="Mesa 3-D graphics library and DRI software rasterizer" cd ${srcdir}/?esa-* @@ -92,7 +92,6 @@ package_libgl() { bin/minstall lib/libdricore.so* "${pkgdir}/usr/lib/" bin/minstall lib/libglsl.so* "${pkgdir}/usr/lib/" - cd src/mesa/drivers/dri #make -C swrast DESTDIR="${pkgdir}" install if [ "${_git}" = "true" ]; then @@ -107,15 +106,23 @@ fi install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libgl/" } +package_libglapi() { + depends=('glibc') + pkgdesc="free implementation of the GL API -- shared library. The Mesa GL API module is responsible for dispatching all the gl* functions" + + cd ${srcdir}/?esa-* + install -m755 -d "${pkgdir}/usr/lib" + bin/minstall lib/libglapi.so* "${pkgdir}/usr/lib/" + + install -m755 -d "${pkgdir}/usr/share/licenses/libglapi" + install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libglapi/" +} + package_libgles() { - depends=('libgl') + depends=('libglapi') pkgdesc="Mesa GLES libraries and headers" -if [ "${_git}" = "true" ]; then - cd ${srcdir}/mesa-* - else - cd "${srcdir}/Mesa-${pkgver/rc/-rc}" -fi + cd ${srcdir}/?esa-* install -m755 -d "${pkgdir}/usr/lib" install -m755 -d "${pkgdir}/usr/lib/pkgconfig" install -m755 -d "${pkgdir}/usr/include" @@ -133,14 +140,10 @@ fi } package_libegl() { - depends=('libgl') - pkgdesc="Mesa libEGL libraries and headers" + depends=('libglapi' 'libdrm' 'libxext' 'libxfixes' 'udev') + pkgdesc="Mesa EGL libraries and headers" -if [ "${_git}" = "true" ]; then - cd ${srcdir}/mesa-* - else - cd "${srcdir}/Mesa-${pkgver/rc/-rc}" -fi + cd ${srcdir}/?esa-* make -C src/gallium/targets/egl-static DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/lib" install -m755 -d "${pkgdir}/usr/lib/pkgconfig" @@ -152,10 +155,8 @@ fi install -m755 -d "${pkgdir}/usr/share/doc" install -m755 -d "${pkgdir}/usr/share/doc/libegl" bin/minstall lib/libEGL.so* "${pkgdir}/usr/lib/" -#if [ "${_git}" != "true" ]; then install -m755 -d "${pkgdir}/usr/lib/egl" bin/minstall lib/egl/* "${pkgdir}/usr/lib/egl/" -#fi bin/minstall src/egl/main/egl.pc "${pkgdir}/usr/lib/pkgconfig/" bin/minstall include/EGL/* "${pkgdir}/usr/include/EGL/" bin/minstall include/KHR/khrplatform.h "${pkgdir}/usr/include/KHR/" @@ -166,18 +167,15 @@ fi } package_mesa() { - depends=('libgl' 'libx11>=1.4.3' 'libxt>=1.1.1' 'gcc-libs>=4.6' 'dri2proto>=2.6' 'libdrm>=2.4.26' 'glproto>=1.4.14') + depends=('libgl' 'libx11>=1.4.3' 'libxt>=1.1.1' 'gcc-libs>=4.6') # 'dri2proto>=2.6' 'glproto>=1.4.14') optdepends=('opengl-man-pages: for the OpenGL API man pages') pkgdesc="Mesa 3-D graphics libraries and include files" -if [ "${_git}" = "true" ]; then - cd ${srcdir}/mesa-* - else - cd "${srcdir}/Mesa-${pkgver/rc/-rc}" -fi + cd ${srcdir}/?esa-* make DESTDIR="${pkgdir}" install rm -f "${pkgdir}/usr/lib/libGL.so"* + rm -f "${pkgdir}/usr/lib/libglapi.so"* rm -f "${pkgdir}/usr/lib/libGLESv"* rm -f "${pkgdir}/usr/lib/libEGL"* rm -rf "${pkgdir}/usr/lib/egl" @@ -198,49 +196,28 @@ package_ati-dri() { pkgdesc="Mesa DRI radeon/r200 + Gallium3D r300,r600 drivers for AMD/ATI Radeon" conflicts=('xf86-video-ati<6.9.0-6') -if [ "${_git}" = "true" ]; then - cd ${srcdir}/mesa-*/src/mesa/drivers/dri - else - cd "${srcdir}/Mesa-${pkgver/rc/-rc}/src/mesa/drivers/dri" -fi - make -C radeon DESTDIR="${pkgdir}" install - make -C r200 DESTDIR="${pkgdir}" install - # classic mesa driver for R300 r300_dri.so - #make -C r300 DESTDIR="${pkgdir}" install <------- deprecated - # gallium3D driver for R300 r300_dri.so -if [ "${_git}" = "true" ]; then - make -C ${srcdir}/mesa-*/src/gallium/targets/dri-r300 DESTDIR="${pkgdir}" install - make -C ${srcdir}/mesa-*/src/gallium/targets/dri-r600 DESTDIR="${pkgdir}" install - else - make -C ${srcdir}/Mesa-${pkgver}/src/gallium/targets/dri-r300 DESTDIR="${pkgdir}" install - make -C ${srcdir}/Mesa-${pkgver}/src/gallium/targets/dri-r600 DESTDIR="${pkgdir}" install -fi + # classic mesa drivers for radeon,r200 + make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/radeon DESTDIR="${pkgdir}" install + make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/r200 DESTDIR="${pkgdir}" install + # gallium3D driver for r300,r600 + make -C ${srcdir}/?esa-*/src/gallium/targets/dri-r300 DESTDIR="${pkgdir}" install + make -C ${srcdir}/?esa-*/src/gallium/targets/dri-r600 DESTDIR="${pkgdir}" install } package_intel-dri() { depends=("libgl=${pkgver}") pkgdesc="Mesa DRI drivers for Intel" -if [ "${_git}" = "true" ]; then - cd ${srcdir}/mesa-*/src/mesa/drivers/dri - else - cd "${srcdir}/Mesa-${pkgver/rc/-rc}/src/mesa/drivers/dri" -fi - make -C i810 DESTDIR="${pkgdir}" install - make -C i915 DESTDIR="${pkgdir}" install - make -C i965 DESTDIR="${pkgdir}" install + make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/i810 DESTDIR="${pkgdir}" install + make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/i915 DESTDIR="${pkgdir}" install + make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/i965 DESTDIR="${pkgdir}" install } package_unichrome-dri() { depends=("libgl=${pkgver}") pkgdesc="Mesa DRI drivers for S3 Graphics/VIA Unichrome" -if [ "${_git}" = "true" ]; then - cd ${srcdir}/mesa-*/src/mesa/drivers/dri - else - cd "${srcdir}/Mesa-${pkgver/rc/-rc}/src/mesa/drivers/dri" -fi - make -C unichrome DESTDIR="${pkgdir}" install + make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/unichrome DESTDIR="${pkgdir}" install } package_mach64-dri() { @@ -248,12 +225,7 @@ package_mach64-dri() { pkgdesc="Mesa DRI drivers for ATI Mach64" conflicts=('xf86-video-mach64<6.8.2') -if [ "${_git}" = "true" ]; then - cd ${srcdir}/mesa-*/src/mesa/drivers/dri - else - cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri" -fi - make -C mach64 DESTDIR="${pkgdir}" install + make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/mach64 DESTDIR="${pkgdir}" install } package_mga-dri() { @@ -261,12 +233,7 @@ package_mga-dri() { pkgdesc="Mesa DRI drivers for Matrox" conflicts=('xf86-video-mga<1.4.11') -if [ "${_git}" = "true" ]; then - cd ${srcdir}/mesa-*/src/mesa/drivers/dri - else - cd "${srcdir}/Mesa-${pkgver/rc/-rc}/src/mesa/drivers/dri" -fi - make -C mga DESTDIR="${pkgdir}" install + make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/mga DESTDIR="${pkgdir}" install } package_r128-dri() { @@ -274,12 +241,7 @@ package_r128-dri() { pkgdesc="Mesa DRI drivers for ATI Rage128" conflicts=('xf86-video-r128<6.8.1') -if [ "${_git}" = "true" ]; then - cd ${srcdir}/mesa-*/src/mesa/drivers/dri - else - cd "${srcdir}/Mesa-${pkgver/rc/-rc}/src/mesa/drivers/dri" -fi - make -C r128 DESTDIR="${pkgdir}" install + make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/r128 DESTDIR="${pkgdir}" install } package_savage-dri() { @@ -287,12 +249,7 @@ package_savage-dri() { pkgdesc="Mesa DRI drivers for S3 Sraphics/VIA Savage" conflicts=('xf86-video-savage<2.3.1') -if [ "${_git}" = "true" ]; then - cd ${srcdir}/mesa-*/src/mesa/drivers/dri - else - cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri" -fi - make -C savage DESTDIR="${pkgdir}" install + make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/savage DESTDIR="${pkgdir}" install } package_sis-dri() { @@ -300,12 +257,7 @@ package_sis-dri() { pkgdesc="Mesa DRI drivers for SiS" conflicts=('xf86-video-sis<0.10.2') -if [ "${_git}" = "true" ]; then - cd ${srcdir}/mesa-*/src/mesa/drivers/dri - else - cd "${srcdir}/Mesa-${pkgver/rc/-rc}/src/mesa/drivers/dri" -fi - make -C sis DESTDIR="${pkgdir}" install + make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/sis DESTDIR="${pkgdir}" install } package_tdfx-dri() { @@ -313,33 +265,17 @@ package_tdfx-dri() { pkgdesc="Mesa DRI drivers for 3dfx" conflicts=('xf86-video-tdfx<1.4.3') -if [ "${_git}" = "true" ]; then - cd ${srcdir}/mesa-*/src/mesa/drivers/dri - else - cd "${srcdir}/Mesa-${pkgver/rc/-rc}/src/mesa/drivers/dri" -fi - make -C tdfx DESTDIR="${pkgdir}" install + make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/tdfx DESTDIR="${pkgdir}" install } package_nouveau-dri() { depends=("libgl=${pkgver}") pkgdesc="Mesa classic DRI + Gallium3D drivers for Nouveau" -if [ "${_git}" = "true" ]; then - cd ${srcdir}/mesa-*/src/mesa/drivers/dri - else - cd "${srcdir}/Mesa-${pkgver/rc/-rc}/src/mesa/drivers/dri" -fi - # classic mesa driver for nv10 , nv20 nouveau_vieux_dri.so - make -C nouveau DESTDIR="${pkgdir}" install - + make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/nouveau DESTDIR="${pkgdir}" install # gallium3D driver for nv30 - nv40 - nv50 nouveau_dri.so -if [ "${_git}" = "true" ]; then - make -C ${srcdir}/mesa-*/src/gallium/targets/dri-nouveau DESTDIR="${pkgdir}" install - else - make -C ${srcdir}/Mesa-${pkgver/rc/-rc}/src/gallium/targets/dri-nouveau DESTDIR="${pkgdir}" install -fi + make -C ${srcdir}/?esa-*/src/gallium/targets/dri-nouveau DESTDIR="${pkgdir}" install } #package_llvm-dri() { diff --git a/testing/mesa/linking_fix.patch b/testing/mesa/linking_fix.patch new file mode 100644 index 000000000..34ed7902d --- /dev/null +++ b/testing/mesa/linking_fix.patch @@ -0,0 +1,22 @@ +From 5fe5d236c26b3b2428bc7395304e40cf21d3d3e1 Mon Sep 17 00:00:00 2001 +From: Chia-I Wu +Date: Wed, 13 Jul 2011 07:25:46 +0000 +Subject: targets/egl-static: fix a linking error + +rbug is always linked in and it needs libpthread. +--- +diff --git a/src/gallium/targets/egl-static/Makefile b/src/gallium/targets/egl-static/Makefile +index 832d7ba..69e7eec 100644 +--- a/src/gallium/targets/egl-static/Makefile ++++ b/src/gallium/targets/egl-static/Makefile +@@ -42,7 +42,7 @@ egl_CPPFLAGS += \ + -I$(TOP)/src/egl/main \ + -D_EGL_MAIN=_eglMain + egl_LIBS += $(TOP)/src/gallium/state_trackers/egl/libegl.a +-egl_SYS += $(LIBUDEV_LIBS) $(DLOPEN_LIBS) -lEGL -lm ++egl_SYS += $(LIBUDEV_LIBS) $(DLOPEN_LIBS) -lEGL -lm -lpthread + + # EGL platforms + ifneq ($(findstring x11, $(EGL_PLATFORMS)),) +-- +cgit v0.8.3-6-g21f6 diff --git a/testing/pygtk/PKGBUILD b/testing/pygtk/PKGBUILD new file mode 100644 index 000000000..bc7c56efa --- /dev/null +++ b/testing/pygtk/PKGBUILD @@ -0,0 +1,37 @@ +# $Id: PKGBUILD 131736 2011-07-14 11:07:45Z stephane $ +# Maintainer: Jan de Groot +# Contributor: Sarah Hay + +pkgname=pygtk +pkgver=2.24.0 +pkgrel=2 +pkgdesc="Python bindings for the GTK widget set" +arch=('i686' 'x86_64') +license=('LGPL') +depends=('libglade' 'python2-cairo' 'pygobject') +makedepends=('python2-numpy' 'pygobject-devel') +optdepends=('python2-numpy') +options=('!libtool') +url="http://www.pygtk.org/" +source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2 + python27.patch) +sha256sums=('cd1c1ea265bd63ff669e92a2d3c2a88eb26bcd9e5363e0f82c896e649f206912' + '39a30456cba055a452bb55c74ef1ff2f5f7bfaad22855b4dd569ab009b56b682') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + #https://bugzilla.gnome.org/show_bug.cgi?id=623965 + patch -Np1 -i "${srcdir}/python27.patch" + + PYTHON=python2 ./configure --prefix=/usr + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + install -m644 gtk/gtk-extrafuncs.defs "${pkgdir}/usr/share/pygtk/2.0/defs/" + + sed -i -e 's#env python$#env python2#' "${pkgdir}"/usr/lib/pygtk/2.0/{,demos/}*.py +} diff --git a/testing/pygtk/python27.patch b/testing/pygtk/python27.patch new file mode 100644 index 000000000..9bbe2b5ae --- /dev/null +++ b/testing/pygtk/python27.patch @@ -0,0 +1,50 @@ +diff --git a/gtk/gtkmodule.c b/gtk/gtkmodule.c +index c0e1493..aa8cf10 100644 +--- a/gtk/gtkmodule.c ++++ b/gtk/gtkmodule.c +@@ -227,8 +227,12 @@ init_gtk(void) + pygtk_add_stock_items(d); + + /* extension API */ +- PyDict_SetItemString(d, "_PyGtk_API", +- o=PyCObject_FromVoidPtr(&functions, NULL)); ++#if PY_VERSION_HEX >= 0x02070000 ++ o = PyCapsule_New(&functions, "gtk._gtk._PyGtk_API", NULL); ++#else ++ o = PyCObject_FromVoidPtr(&functions, NULL); ++#endif ++ PyDict_SetItemString(d, "_PyGtk_API", o); + Py_DECREF(o); + + PyGtkDeprecationWarning = PyErr_NewException("gtk.GtkDeprecationWarning", +diff --git a/gtk/pygtk.h b/gtk/pygtk.h +index 573c3b9..e4c680f 100644 +--- a/gtk/pygtk.h ++++ b/gtk/pygtk.h +@@ -60,6 +60,18 @@ struct _PyGtk_FunctionStruct *_PyGtk_API; + + + /* a function to initialise the pygtk functions */ ++ ++/* Python 2.7 introduced the PyCapsule API and deprecated the CObject API */ ++#if PY_VERSION_HEX >= 0x02070000 ++#define init_pygtk() G_STMT_START { \ ++ void *capsule = PyCapsule_Import("gtk._gtk._PyGtk_API", 0); \ ++ if (!capsule) { \ ++ return; \ ++ } \ ++ _PyGtk_API = (struct _PyGtk_FunctionStruct*)capsule; \ ++} G_STMT_END ++#else /* PY_VERSION_HEX */ ++/* Python 2.6 and earlier use the CObject API */ + #define init_pygtk() G_STMT_START { \ + PyObject *pygtk = PyImport_ImportModule("gtk"); \ + if (pygtk != NULL) { \ +@@ -79,6 +91,7 @@ struct _PyGtk_FunctionStruct *_PyGtk_API; + return; \ + } \ + } G_STMT_END ++#endif /* PY_VERSION_HEX */ + + #endif + diff --git a/testing/python-numpy/PKGBUILD b/testing/python-numpy/PKGBUILD new file mode 100755 index 000000000..699137cf6 --- /dev/null +++ b/testing/python-numpy/PKGBUILD @@ -0,0 +1,61 @@ +# $Id: PKGBUILD 131668 2011-07-13 13:42:02Z stephane $ +# Maintainer: Jan de Groot +# Contributor: Douglas Soares de Andrade +# Contributor: Angel 'angvp' Velasquez + +pkgbase=python-numpy +pkgname=('python2-numpy' 'python-numpy') +pkgver=1.6.0 +pkgrel=1 +pkgdesc="Scientific tools for Python" +arch=('i686' 'x86_64') +license=('custom') +url="http://numpy.scipy.org/" +makedepends=('lapack' 'python' 'python2' 'python-distribute' 'python2-distribute' 'gcc-fortran' 'python-nose') +source=(http://downloads.sourceforge.net/numpy/numpy-${pkgver}.tar.gz) +md5sums=('e0993c74cb8e83292e560eac1a9be8e9') + +build() { + cd "${srcdir}" + cp -a numpy-${pkgver} numpy-py2-${pkgver} + + export Atlas=None + export LDFLAGS="$LDFLAGS -shared" + + echo "Building Python2" + cd "${srcdir}/numpy-py2-${pkgver}" + python2 setup.py config_fc --fcompiler=gnu95 build + + echo "Building Python3" + cd "${srcdir}/numpy-${pkgver}" + python setup.py config_fc --fcompiler=gnu95 build +} + +package_python2-numpy() { + depends=('lapack' 'python2') + optdepends=('python-nose: testsuite') + + cd "${srcdir}/numpy-py2-${pkgver}" + python2 setup.py config_fc --fcompiler=gnu95 install --prefix=/usr --root="${pkgdir}" --optimize=1 + + install -m755 -d "${pkgdir}/usr/share/licenses/python2-numpy" + install -m644 LICENSE.txt "${pkgdir}/usr/share/licenses/python2-numpy/" + + sed -i -e "s|#![ ]*/usr/bin/python$|#!/usr/bin/python2|" \ + -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \ + -e "s|#![ ]*/bin/env python$|#!/usr/bin/env python2|" \ + $(find ${pkgdir} -name '*.py') +} + +package_python-numpy() { + depends=('lapack' 'python') + provides=("python3-numpy=${pkgver}") + replaces=('python3-numpy') + conflicts=('python3-numpy') + + cd "${srcdir}/numpy-${pkgver}" + python setup.py config_fc --fcompiler=gnu95 install --prefix=/usr --root="${pkgdir}" --optimize=1 + + install -m755 -d "${pkgdir}/usr/share/licenses/python3-numpy" + install -m644 LICENSE.txt "${pkgdir}/usr/share/licenses/python3-numpy/" +} diff --git a/testing/slv2/PKGBUILD b/testing/slv2/PKGBUILD new file mode 100644 index 000000000..3005cd313 --- /dev/null +++ b/testing/slv2/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 131701 2011-07-13 15:39:04Z schiv $ +# Maintainer: Ray Rashif +# Contributor: Leslie P. Polzer + +pkgname=slv2 +pkgver=0.6.6 +pkgrel=6 +pkgdesc="Library for LV2 hosts" +arch=('i686' 'x86_64') +url="http://drobilla.net/software/slv2" +license=('GPL') +depends=('redland>=1.0.13' 'lv2core' 'jack') +makedepends=('python2') +install=$pkgname.install +changelog=$pkgname.changelog +source=(http://download.drobilla.net/$pkgname-$pkgver.tar.bz2) +md5sums=('b8e8e0e82dd04324fcd533e8acd1ce85') + +build() { + cd "$srcdir/$pkgname-$pkgver" + + python2 waf configure --prefix=/usr + python2 waf build $MAKEFLAGS +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + + python2 waf install --destdir="$pkgdir/" +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/slv2/slv2.changelog b/testing/slv2/slv2.changelog new file mode 100644 index 000000000..f394a5067 --- /dev/null +++ b/testing/slv2/slv2.changelog @@ -0,0 +1,23 @@ +22 Feb 2011 (GMT+8) Ray Rashif + + * 0.6.6-3: + raptor rebuild + +24 Nov 2010 (GMT+8) Ray Rashif + + * PKGBUILD : + Get rid of sed and use python2 directly for waf. + waf fix for python transition already included previously (unlogged). + Release only (no need binary update; no runtime python requirement). + +9 Aug 2010 (GMT+8) Ray Rashif + + * 0.6.6-2 : + Brought into extra from community for ardour + - adds "LV2" plug-ins support + + * PKGBUILD : + Minor cosmetic ammendments. + + * slv2.changelog : + Added this changelog. diff --git a/testing/slv2/slv2.install b/testing/slv2/slv2.install new file mode 100644 index 000000000..c980ddfab --- /dev/null +++ b/testing/slv2/slv2.install @@ -0,0 +1,14 @@ +post_install() { + echo "Updating Shared Library Links" + /sbin/ldconfig +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} + +# vim:set ts=2 sw=2 et: -- cgit v1.2.3-54-g00ecf From 7500119d8dd5fc921f91aac8222e472477973740 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 16 Jul 2011 05:34:06 +0000 Subject: Sat Jul 16 05:34:06 UTC 2011 --- community-staging/qwtpolar-svn/PKGBUILD | 46 + community-testing/exim/ChangeLog | 26 + community-testing/exim/PKGBUILD | 74 ++ community-testing/exim/aliases | 35 + community-testing/exim/exim | 42 + community-testing/exim/exim.Makefile | 1227 ++++++++++++++++++++ community-testing/exim/exim.conf.d | 1 + community-testing/exim/exim.install | 25 + community-testing/exim/exim.logrotate | 6 + community-testing/lightspark/PKGBUILD | 14 +- .../git-fixes-set-sys-in-destroystream-class.diff | 1180 +++++++++++++++++++ community-testing/stunnel/Makefile.patch | 21 + community-testing/stunnel/PKGBUILD | 48 + community-testing/stunnel/stunnel.install | 35 + community-testing/stunnel/stunnel.rc.d | 36 + community/alltray/PKGBUILD | 19 +- community/calibre/PKGBUILD | 6 +- community/gcc-avr/PKGBUILD | 10 +- community/virtualbox/PKGBUILD | 23 +- extra/aspell/PKGBUILD | 29 +- extra/aspell/aspell.install | 2 +- extra/python/PKGBUILD | 26 +- extra/qwtplot3d/PKGBUILD | 34 +- extra/ruby/PKGBUILD | 20 +- extra/vino/PKGBUILD | 8 +- staging/kdeplasma-addons/PKGBUILD | 609 ++++++++++ staging/kdeplasma-addons/kdeobservatory-qwt6.patch | 12 + .../kdeplasma-addons-applets-lancelot.install | 12 + .../kdeplasma-addons-applets.install | 11 + staging/qwtplot3d/PKGBUILD | 42 + staging/qwtplot3d/qwtplot3d-gcc44.patch | 12 + testing/esound/PKGBUILD | 38 + testing/esound/esd | 37 + testing/esound/esd-0.2.38-alsa-drain.patch | 11 + testing/inetutils/PKGBUILD | 62 + testing/inetutils/ftpd.conf | 4 + testing/inetutils/ftpd.rc | 37 + testing/inetutils/inetutils.install | 20 + testing/inetutils/rexec.xinetd | 10 + testing/inetutils/rlogin.xinetd | 10 + testing/inetutils/rsh.xinetd | 10 + testing/inetutils/talk.xinetd | 10 + testing/inetutils/telnet.xinetd | 10 + testing/mysql/PKGBUILD | 130 +++ testing/mysql/my.cnf | 145 +++ testing/mysql/mysql.install | 26 + testing/mysql/mysqld | 77 ++ testing/net-snmp/PKGBUILD | 48 + testing/net-snmp/libnl-2.patch | 67 ++ testing/net-snmp/snmpd.rc | 38 + testing/nfs-utils/PKGBUILD | 72 ++ testing/nfs-utils/exports | 15 + testing/nfs-utils/idmapd.conf | 14 + testing/nfs-utils/nfs-common | 319 +++++ testing/nfs-utils/nfs-common.conf | 40 + testing/nfs-utils/nfs-server | 303 +++++ testing/nfs-utils/nfs-server.conf | 29 + .../nfs-utils/nfs-utils-1.1.2-kerberos-ac.patch | 138 +++ testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch | 39 + testing/nfs-utils/nfs-utils-1.1.4-no-exec.patch | 15 + .../nfs-utils-1.1.6-heimdal_functions.patch | 69 ++ .../nfs-utils/nfs-utils-1.1.6-no_libgssapi.patch | 57 + testing/nfs-utils/nfs-utils.install | 32 + testing/nfs-utils/start-statd.patch | 22 + testing/openssh/PKGBUILD | 70 ++ testing/openssh/authfile.c.patch | 198 ++++ testing/openssh/sshd | 48 + testing/openssh/sshd.confd | 4 + testing/openssh/sshd.pam | 11 + testing/quota-tools/LICENSE | 33 + testing/quota-tools/PKGBUILD | 49 + testing/quota-tools/nulls.diff | 20 + testing/quota-tools/quotaon.diff | 216 ++++ testing/quota-tools/repquota.diff | 91 ++ testing/quota-tools/system_inodes.diff | 18 + testing/rrdtool/PKGBUILD | 37 + testing/socat/PKGBUILD | 32 + testing/tftp-hpa/LICENSE | 32 + testing/tftp-hpa/PKGBUILD | 35 + testing/tftp-hpa/tftpd.conf | 4 + testing/tftp-hpa/tftpd.rc | 38 + testing/vsftpd/PKGBUILD | 43 + testing/vsftpd/vsftpd.d | 67 ++ testing/vsftpd/vsftpd.install | 17 + testing/vsftpd/vsftpd.xinetd | 10 + testing/xinetd/PKGBUILD | 43 + testing/xinetd/servers | 10 + testing/xinetd/services | 10 + testing/xinetd/xinetd | 38 + testing/xinetd/xinetd.conf | 14 + 90 files changed, 6735 insertions(+), 98 deletions(-) create mode 100644 community-staging/qwtpolar-svn/PKGBUILD create mode 100644 community-testing/exim/ChangeLog create mode 100644 community-testing/exim/PKGBUILD create mode 100644 community-testing/exim/aliases create mode 100755 community-testing/exim/exim create mode 100644 community-testing/exim/exim.Makefile create mode 100644 community-testing/exim/exim.conf.d create mode 100644 community-testing/exim/exim.install create mode 100644 community-testing/exim/exim.logrotate create mode 100644 community-testing/lightspark/git-fixes-set-sys-in-destroystream-class.diff create mode 100644 community-testing/stunnel/Makefile.patch create mode 100644 community-testing/stunnel/PKGBUILD create mode 100644 community-testing/stunnel/stunnel.install create mode 100644 community-testing/stunnel/stunnel.rc.d create mode 100644 staging/kdeplasma-addons/PKGBUILD create mode 100644 staging/kdeplasma-addons/kdeobservatory-qwt6.patch create mode 100644 staging/kdeplasma-addons/kdeplasma-addons-applets-lancelot.install create mode 100644 staging/kdeplasma-addons/kdeplasma-addons-applets.install create mode 100644 staging/qwtplot3d/PKGBUILD create mode 100644 staging/qwtplot3d/qwtplot3d-gcc44.patch create mode 100644 testing/esound/PKGBUILD create mode 100755 testing/esound/esd create mode 100644 testing/esound/esd-0.2.38-alsa-drain.patch create mode 100644 testing/inetutils/PKGBUILD create mode 100644 testing/inetutils/ftpd.conf create mode 100644 testing/inetutils/ftpd.rc create mode 100644 testing/inetutils/inetutils.install create mode 100644 testing/inetutils/rexec.xinetd create mode 100644 testing/inetutils/rlogin.xinetd create mode 100644 testing/inetutils/rsh.xinetd create mode 100644 testing/inetutils/talk.xinetd create mode 100644 testing/inetutils/telnet.xinetd create mode 100644 testing/mysql/PKGBUILD create mode 100644 testing/mysql/my.cnf create mode 100644 testing/mysql/mysql.install create mode 100755 testing/mysql/mysqld create mode 100644 testing/net-snmp/PKGBUILD create mode 100644 testing/net-snmp/libnl-2.patch create mode 100644 testing/net-snmp/snmpd.rc create mode 100644 testing/nfs-utils/PKGBUILD create mode 100644 testing/nfs-utils/exports create mode 100644 testing/nfs-utils/idmapd.conf create mode 100644 testing/nfs-utils/nfs-common create mode 100644 testing/nfs-utils/nfs-common.conf create mode 100644 testing/nfs-utils/nfs-server create mode 100644 testing/nfs-utils/nfs-server.conf create mode 100644 testing/nfs-utils/nfs-utils-1.1.2-kerberos-ac.patch create mode 100644 testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch create mode 100644 testing/nfs-utils/nfs-utils-1.1.4-no-exec.patch create mode 100644 testing/nfs-utils/nfs-utils-1.1.6-heimdal_functions.patch create mode 100644 testing/nfs-utils/nfs-utils-1.1.6-no_libgssapi.patch create mode 100644 testing/nfs-utils/nfs-utils.install create mode 100644 testing/nfs-utils/start-statd.patch create mode 100644 testing/openssh/PKGBUILD create mode 100644 testing/openssh/authfile.c.patch create mode 100755 testing/openssh/sshd create mode 100644 testing/openssh/sshd.confd create mode 100644 testing/openssh/sshd.pam create mode 100644 testing/quota-tools/LICENSE create mode 100644 testing/quota-tools/PKGBUILD create mode 100644 testing/quota-tools/nulls.diff create mode 100644 testing/quota-tools/quotaon.diff create mode 100644 testing/quota-tools/repquota.diff create mode 100644 testing/quota-tools/system_inodes.diff create mode 100644 testing/rrdtool/PKGBUILD create mode 100644 testing/socat/PKGBUILD create mode 100644 testing/tftp-hpa/LICENSE create mode 100644 testing/tftp-hpa/PKGBUILD create mode 100644 testing/tftp-hpa/tftpd.conf create mode 100755 testing/tftp-hpa/tftpd.rc create mode 100644 testing/vsftpd/PKGBUILD create mode 100644 testing/vsftpd/vsftpd.d create mode 100644 testing/vsftpd/vsftpd.install create mode 100644 testing/vsftpd/vsftpd.xinetd create mode 100644 testing/xinetd/PKGBUILD create mode 100644 testing/xinetd/servers create mode 100644 testing/xinetd/services create mode 100755 testing/xinetd/xinetd create mode 100644 testing/xinetd/xinetd.conf (limited to 'testing') diff --git a/community-staging/qwtpolar-svn/PKGBUILD b/community-staging/qwtpolar-svn/PKGBUILD new file mode 100644 index 000000000..79de737a4 --- /dev/null +++ b/community-staging/qwtpolar-svn/PKGBUILD @@ -0,0 +1,46 @@ +# Maintainer: Thomas Dziedzic < gostrc at gmail > +# Contributor: Kévin Guilloy + +pkgname=qwtpolar-svn +pkgver=122 +pkgrel=1 +pkgdesc='An extension of the Qwt library to support polar plots.' +arch=('i686' 'x86_64') +url="http://qwtpolar.sourceforge.net/" +license=('Qwt License, Version 1.0') +depends=('qwt') +conflicts=('qwtpolar') +makedepends=('subversion') + +_svntrunk='https://qwtpolar.svn.sourceforge.net/svnroot/qwtpolar/trunk/qwtpolar' +_svnmod='qwtpolar' + +build() { + svn co ${_svntrunk} ${_svnmod} + + msg 'SVN checkout or server timeout' + msg 'Building sofware...' + + cd qwtpolar/ + sed -i -e 's/$${QWT_POLAR_INSTALL_PREFIX}\/doc/\/usr\/share\/doc\/qwt\//' qwtpolarconfig.pri + sed -i -e 's/$${QWT_POLAR_INSTALL_PREFIX}\/include/\/usr\/include\/qwt\//' qwtpolarconfig.pri + sed -i -e 's/$${QWT_POLAR_INSTALL_PREFIX}\/lib/\/usr\/lib\//' qwtpolarconfig.pri + sed -i -e 's/$${QWT_POLAR_INSTALL_PREFIX}\/features/\/usr\/share\/qwt\/features\//' qwtpolarconfig.pri + sed -i -e 's/^.*QwtPolarDesigner//' qwtpolarconfig.pri + sed -i -e 's/^.*QwtPolarExamples//' qwtpolarconfig.pri + echo "INCLUDEPATH += /usr/include/qwt" >> qwtpolarbuild.pri + + qmake + + make +} + +package() { + cd qwtpolar + + make INSTALL_ROOT=${pkgdir} install + + install -d ${pkgdir}/usr/share/licenses/qwtpolar-svn + install -m644 COPYING \ + ${pkgdir}/usr/share/licenses/qwtpolar-svn +} diff --git a/community-testing/exim/ChangeLog b/community-testing/exim/ChangeLog new file mode 100644 index 000000000..16eab50c2 --- /dev/null +++ b/community-testing/exim/ChangeLog @@ -0,0 +1,26 @@ +2011-07-15 Angel Velasquez + * Rebuilt without tcp_wrappers + * Fixing logrotate issue FS#25094 + * ChangeLog file changed name from exim.changelog to ChangeLog + +2011-06-16 Angel Velasquez + * Rebuilt against db 5.2.28 + +2010-05-09 Angel Velasquez + * Updated to 4.76 + * Removed previous patch since is no longer needed + * Removed newaliases script FS#22744 + * Removed sudo dependency + +2010-05-07 Angel Velasquez + * Adding patch for security issue see: http://goo.gl/QBict + +2010-05-06 Angel Velasquez + * Setting sticky id to deliver mail. Closes FS#24109 + +2010-04-30 Angel Velasquez + * exim 4.75 + * Config updated with the aliases path. Closes FS#22743 + * Removed sed hackings and added a exim.Makefile . Closes FS#22744 + * Replaced creation of the user at build time. Closes FS#22745 + diff --git a/community-testing/exim/PKGBUILD b/community-testing/exim/PKGBUILD new file mode 100644 index 000000000..536afe51d --- /dev/null +++ b/community-testing/exim/PKGBUILD @@ -0,0 +1,74 @@ +# $Id: PKGBUILD 51832 2011-07-16 03:09:57Z angvp $ +# Maintainer: Angel Velasquez +# Maintainer: judd +pkgname=exim +pkgver=4.76 +pkgrel=3 +pkgdesc="A Message Transfer Agent" +arch=(i686 x86_64) +url="http://www.exim.org/" +license=('GPL') +backup=(etc/mail/aliases etc/mail/exim.conf \ + etc/logrotate.d/exim etc/conf.d/exim) +install=exim.install +changelog=ChangeLog +depends=('db' 'pcre' 'pam' 'openssl' 'libldap') +provides=('smtp-server') +conflicts=('smtp-server') +options=('!makeflags') +source=(ftp://mirrors.24-7-solutions.net/pub/exim/ftp/exim/exim4/exim-${pkgver}.tar.bz2 + aliases + exim + exim.logrotate + exim.conf.d + exim.Makefile + ) +md5sums=('58e784b33c7a2ab335ec6400346d6362' + '4874006f0585253ddab027d441009757' + '9aed772e87223213e8da9ca5e7376869' + 'e18a535218718c5eb394ed5c9296fe06' + 'b75fe4c6e960a59a25b5f51e8f61ba3a' + '61e76543476f52f136c1d6c80ac1c5a1') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + sed -i 's|tail -1|tail -n -1|g' scripts/Configure-config.h + # Make some configuration changes + cp ${srcdir}/${pkgname}.Makefile Local/Makefile + make +} + +package() { + cd $srcdir/$pkgname-$pkgver + install -D -m644 ../exim.logrotate ${pkgdir}/etc/logrotate.d/exim + install -D -m644 ../exim.conf.d ${pkgdir}/etc/conf.d/exim + install -D -m644 doc/exim.8 ${pkgdir}/usr/share/man/man8/exim.8 + install -D -m755 ../exim ${pkgdir}/etc/rc.d/exim + mkdir -p ${pkgdir}/var/spool/exim/db ${pkgdir}/etc/mail \ + ${pkgdir}/var/log/exim ${pkgdir}/usr/{lib,sbin} + chmod 770 ${pkgdir}/var/spool/exim ${pkgdir}/var/spool/exim/db ${pkgdir}/var/log/exim + cd build-Linux-* + for i in exicyclog exim_checkaccess exim_dumpdb exim_lock\ + exim_tidydb exipick exiqsumm exigrep exim_dbmbuild exim\ + exim_fixdb eximstats exinext exiqgrep exiwhat + do + install -m 0755 $i ${pkgdir}/usr/sbin + done + + cd ${srcdir}/exim-${pkgver}/src + sed "s|/etc/aliases|/etc/mail/aliases|g" configure.default | \ + sed "s|SYSTEM_ALIASES_FILE|/etc/mail/aliases|g" \ + >${pkgdir}/etc/mail/exim.conf + + cp ${srcdir}/aliases ${pkgdir}/etc/mail + cd ${pkgdir}/usr/sbin + for i in mailq rmail rsmtp runq sendmail + do + ln -s exim $i + done + # fhs compliancy + ln -s ../sbin/exim ../lib/sendmail + + mkdir -p ${pkgdir}/etc/rc.d + cp ${srcdir}/exim ${pkgdir}/etc/rc.d +} diff --git a/community-testing/exim/aliases b/community-testing/exim/aliases new file mode 100644 index 000000000..5a76ff7d5 --- /dev/null +++ b/community-testing/exim/aliases @@ -0,0 +1,35 @@ +# +# /etc/mail/aliases +# +# NOTE: Make sure you run 'newaliases' after modifying this file +# + +# Basic system aliases -- these MUST be present. +MAILER-DAEMON: postmaster +postmaster: root +hostmaster: root +webmaster: hostmaster +ftpmaster: hostmaster +admin: hostmaster +administrator: hostmaster + +# General redirections for pseudo accounts. +bin: root +daemon: root +games: root +ingres: root +nobody: root +system: root +toor: root +uucp: root + +# Well-known aliases. +manager: root +dumper: root +operator: root + +# trap decode to catch security attacks +decode: root + +# Person who should get root's mail +#root: diff --git a/community-testing/exim/exim b/community-testing/exim/exim new file mode 100755 index 000000000..8e9640b32 --- /dev/null +++ b/community-testing/exim/exim @@ -0,0 +1,42 @@ +#!/bin/bash + +# source application-specific settings +[ -f /etc/conf.d/exim ] && . /etc/conf.d/exim + +# general config +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/sbin/exim` + +case "$1" in + start) + stat_busy "Starting Exim" + [ -z "$PID" ] && /usr/sbin/exim $EXIM_ARGS + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon exim + stat_done + fi + ;; + stop) + stat_busy "Stopping Exim" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm /var/run/exim.pid + rm_daemon exim + stat_done + fi + ;; + restart) + $0 stop + sleep 2 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/community-testing/exim/exim.Makefile b/community-testing/exim/exim.Makefile new file mode 100644 index 000000000..125f87dfb --- /dev/null +++ b/community-testing/exim/exim.Makefile @@ -0,0 +1,1227 @@ +# $Cambridge: exim/src/src/EDITME,v 1.27 2010/06/12 15:21:25 jetmore Exp $ + +################################################## +# The Exim mail transport agent # +################################################## + +# This is the template for Exim's main build-time configuration file. It +# contains settings that are independent of any operating system. These are +# things that are mostly sysadmin choices. The items below are divided into +# those you must specify, those you probably want to specify, those you might +# often want to specify, and those that you almost never need to mention. + +# Edit this file and save the result to a file called Local/Makefile within the +# Exim distribution directory before running the "make" command. + +# Things that depend on the operating system have default settings in +# OS/Makefile-Default, but these are overridden for some OS by files called +# called OS/Makefile-. You can further override these by creating files +# called Local/Makefile-, where "" stands for the name of your +# operating system - look at the names in the OS directory to see which names +# are recognized. + +# However, if you are building Exim for a single OS only, you don't need to +# worry about setting up Local/Makefile-. Any build-time configuration +# settings you require can in fact be placed in the one file called +# Local/Makefile. It is only if you are building for several OS from the same +# source files that you need to worry about splitting off your own OS-dependent +# settings into separate files. (There's more explanation about how this all +# works in the toplevel README file, under "Modifying the building process", as +# well as in the Exim specification.) + +# One OS-specific thing that may need to be changed is the command for running +# the C compiler; the overall default is gcc, but some OS Makefiles specify cc. +# You can override anything that is set by putting CC=whatever in your +# Local/Makefile. + +# NOTE: You should never need to edit any of the distributed Makefiles; all +# overriding can be done in your Local/Makefile(s). This will make it easier +# for you when the next release comes along. + +# The location of the X11 libraries is something else that is quite variable +# even between different versions of the same operating system (and indeed +# there are different versions of X11 as well, of course). The four settings +# concerned here are X11, XINCLUDE, XLFLAGS (linking flags) and X11_LD_LIB +# (dynamic run-time library). You need not worry about X11 unless you want to +# compile the Exim monitor utility. Exim itself does not use X11. + +# Another area of variability between systems is the type and location of the +# DBM library package. Exim has support for ndbm, gdbm, tdb, and Berkeley DB. +# By default the code assumes ndbm; this often works with gdbm or DB, provided +# they are correctly installed, via their compatibility interfaces. However, +# Exim can also be configured to use the native calls for Berkeley DB (obsolete +# versions 1.85, 2.x, 3.x, or the current 4.x version) and also for gdbm. + +# For some operating systems, a default DBM library (other than ndbm) is +# selected by a setting in the OS-specific Makefile. Most modern OS now have +# a DBM library installed as standard, and in many cases this will be selected +# for you by the OS-specific configuration. If Exim compiles without any +# problems, you probably do not have to worry about the DBM library. If you +# do want or need to change it, you should first read the discussion in the +# file doc/dbm.discuss.txt, which also contains instructions for testing Exim's +# interface to the DBM library. + +# In Local/Makefiles blank lines and lines starting with # are ignored. It is +# also permitted to use the # character to add a comment to a setting, for +# example +# +# EXIM_GID=42 # the "mail" group +# +# However, with some versions of "make" this works only if there is no white +# space between the end of the setting and the #, so perhaps it is best +# avoided. A consequence of this facility is that it is not possible to have +# the # character present in any setting, but I can't think of any cases where +# this would be wanted. +############################################################################### + + + +############################################################################### +# THESE ARE THINGS YOU MUST SPECIFY # +############################################################################### + +# Exim will not build unless you specify BIN_DIRECTORY, CONFIGURE_FILE, and +# EXIM_USER. You also need EXIM_GROUP if EXIM_USER specifies a uid by number. + +# If you don't specify SPOOL_DIRECTORY, Exim won't fail to build. However, it +# really is a very good idea to specify it here rather than at run time. This +# is particularly true if you let the logs go to their default location in the +# spool directory, because it means that the location of the logs is known +# before Exim has read the run time configuration file. + +#------------------------------------------------------------------------------ +# BIN_DIRECTORY defines where the exim binary will be installed by "make +# install". The path is also used internally by Exim when it needs to re-invoke +# itself, either to send an error message, or to recover root privilege. Exim's +# utility binaries and scripts are also installed in this directory. There is +# no "standard" place for the binary directory. Some people like to keep all +# the Exim files under one directory such as /usr/exim; others just let the +# Exim binaries go into an existing directory such as /usr/sbin or +# /usr/local/sbin. The installation script will try to create this directory, +# and any superior directories, if they do not exist. + +BIN_DIRECTORY=/usr/sbin + + +#------------------------------------------------------------------------------ +# CONFIGURE_FILE defines where Exim's run time configuration file is to be +# found. It is the complete pathname for the file, not just a directory. The +# location of all other run time files and directories can be changed in the +# run time configuration file. There is a lot of variety in the choice of +# location in different OS, and in the preferences of different sysadmins. Some +# common locations are in /etc or /etc/mail or /usr/local/etc or +# /usr/local/etc/mail. Another possibility is to keep all the Exim files under +# a single directory such as /usr/exim. Whatever you choose, the installation +# script will try to make the directory and any superior directories if they +# don't exist. It will also install a default runtime configuration if this +# file does not exist. + +CONFIGURE_FILE=/etc/mail/exim.conf + +# It is possible to specify a colon-separated list of files for CONFIGURE_FILE. +# In this case, Exim will use the first of them that exists when it is run. +# However, if a list is specified, the installation script no longer tries to +# make superior directories or to install a default runtime configuration. + + +#------------------------------------------------------------------------------ +# The Exim binary must normally be setuid root, so that it starts executing as +# root, but (depending on the options with which it is called) it does not +# always need to retain the root privilege. These settings define the user and +# group that is used for Exim processes when they no longer need to be root. In +# particular, this applies when receiving messages and when doing remote +# deliveries. (Local deliveries run as various non-root users, typically as the +# owner of a local mailbox.) Specifying these values as root is not supported. + +EXIM_USER=ref:exim + +# If you specify EXIM_USER as a name, this is looked up at build time, and the +# uid number is built into the binary. However, you can specify that this +# lookup is deferred until runtime. In this case, it is the name that is built +# into the binary. You can do this by a setting of the form: + +# EXIM_USER=ref:exim + +# In other words, put "ref:" in front of the user name. If you set EXIM_USER +# like this, any value specified for EXIM_GROUP is also passed "by reference". +# Although this costs a bit of resource at runtime, it is convenient to use +# this feature when building binaries that are to be run on multiple systems +# where the name may refer to different uids. It also allows you to build Exim +# on a system where there is no Exim user defined. + +# If the setting of EXIM_USER is numeric (e.g. EXIM_USER=42), there must +# also be a setting of EXIM_GROUP. If, on the other hand, you use a name +# for EXIM_USER (e.g. EXIM_USER=exim), you don't need to set EXIM_GROUP unless +# you want to use a group other than the default group for the given user. + +# EXIM_GROUP= + +# Many sites define a user called "exim", with an appropriate default group, +# and use +# +# EXIM_USER=exim +# +# while leaving EXIM_GROUP unspecified (commented out). + + +#------------------------------------------------------------------------------ +# SPOOL_DIRECTORY defines the directory where all the data for messages in +# transit is kept. It is strongly recommended that you define it here, though +# it is possible to leave this till the run time configuration. + +# Exim creates the spool directory if it does not exist. The owner and group +# will be those defined by EXIM_USER and EXIM_GROUP, and this also applies to +# all the files and directories that are created in the spool directory. + +# Almost all installations choose this: + +SPOOL_DIRECTORY=/var/spool/exim + + + +############################################################################### +# THESE ARE THINGS YOU PROBABLY WANT TO SPECIFY # +############################################################################### + +# If you need extra header file search paths on all compiles, put the -I +# options in INCLUDE. If you want the extra searches only for certain +# parts of the build, see more specific xxx_INCLUDE variables below. + +# INCLUDE=-I/example/include + +# You need to specify some routers and transports if you want the Exim that you +# are building to be capable of delivering mail. You almost certainly need at +# least one type of lookup. You should consider whether you want to build +# the Exim monitor or not. + + +#------------------------------------------------------------------------------ +# These settings determine which individual router drivers are included in the +# Exim binary. There are no defaults in the code; those routers that are wanted +# must be defined here by setting the appropriate variables to the value "yes". +# Including a router in the binary does not cause it to be used automatically. +# It has also to be configured in the run time configuration file. By +# commenting out those you know you don't want to use, you can make the binary +# a bit smaller. If you are unsure, leave all of these included for now. + +ROUTER_ACCEPT=yes +ROUTER_DNSLOOKUP=yes +ROUTER_IPLITERAL=yes +ROUTER_MANUALROUTE=yes +ROUTER_QUERYPROGRAM=yes +ROUTER_REDIRECT=yes + +# This one is very special-purpose, so is not included by default. + +# ROUTER_IPLOOKUP=yes + + +#------------------------------------------------------------------------------ +# These settings determine which individual transport drivers are included in +# the Exim binary. There are no defaults; those transports that are wanted must +# be defined here by setting the appropriate variables to the value "yes". +# Including a transport in the binary does not cause it to be used +# automatically. It has also to be configured in the run time configuration +# file. By commenting out those you know you don't want to use, you can make +# the binary a bit smaller. If you are unsure, leave all of these included for +# now. + +TRANSPORT_APPENDFILE=yes +TRANSPORT_AUTOREPLY=yes +TRANSPORT_PIPE=yes +TRANSPORT_SMTP=yes + +# This one is special-purpose, and commonly not required, so it is not +# included by default. + +TRANSPORT_LMTP=yes + + +#------------------------------------------------------------------------------ +# The appendfile transport can write messages to local mailboxes in a number +# of formats. The code for three specialist formats, maildir, mailstore, and +# MBX, is included only when requested. If you do not know what this is about, +# leave these settings commented out. + +SUPPORT_MAILDIR=yes +# SUPPORT_MAILSTORE=yes +# SUPPORT_MBX=yes + + +#------------------------------------------------------------------------------ +# See below for dynamic lookup modules. +# LOOKUP_MODULE_DIR=/usr/lib/exim/lookups/ +# If not using package management but using this anyway, then think about how +# you perform upgrades and revert them. You should consider the benefit of +# embedding the Exim version number into LOOKUP_MODULE_DIR, so that you can +# maintain two concurrent sets of modules. + +# To build a module dynamically, you'll need to define CFLAGS_DYNAMIC for +# your platform. Eg: +# CFLAGS_DYNAMIC=-shared -rdynamic +# CFLAGS_DYNAMIC=-shared -rdynamic -fPIC + +#------------------------------------------------------------------------------ +# These settings determine which file and database lookup methods are included +# in the binary. See the manual chapter entitled "File and database lookups" +# for discussion. DBM and lsearch (linear search) are included by default. If +# you are unsure about the others, leave them commented out for now. +# LOOKUP_DNSDB does *not* refer to general mail routing using the DNS. It is +# for the specialist case of using the DNS as a general database facility (not +# common). +# If set to "2" instead of "yes" then the corresponding lookup will be +# built as a module and must be installed into LOOKUP_MODULE_DIR. You need to +# add -export-dynamic -rdynamic to EXTRALIBS. You may also need to add -ldl to +# EXTRALIBS so that dlopen() is available to Exim. You need to define +# LOOKUP_MODULE_DIR above so the exim binary actually loads dynamic lookup +# modules. +# Also, instead of adding all the libraries/includes to LOOKUP_INCLUDE and +# LOOKUP_LIBS, add them to the respective LOOKUP_*_INCLUDE and LOOKUP_*_LIBS +# (where * is the name as given here in this list). That ensures that only +# the dynamic library and not the exim binary will be linked against the +# library. +# NOTE: LDAP cannot be built as a module! + +LOOKUP_DBM=yes +LOOKUP_LSEARCH=yes +LOOKUP_DNSDB=yes + +# LOOKUP_CDB=yes +LOOKUP_DSEARCH=yes +# LOOKUP_IBASE=yes +LOOKUP_LDAP=yes +# LOOKUP_MYSQL=yes +# LOOKUP_NIS=yes +# LOOKUP_NISPLUS=yes +# LOOKUP_ORACLE=yes +# LOOKUP_PASSWD=yes +# LOOKUP_PGSQL=yes +# LOOKUP_SQLITE=yes +# LOOKUP_WHOSON=yes + +# These two settings are obsolete; all three lookups are compiled when +# LOOKUP_LSEARCH is enabled. However, we retain these for backward +# compatibility. Setting one forces LOOKUP_LSEARCH if it is not set. + +# LOOKUP_WILDLSEARCH=yes +# LOOKUP_NWILDLSEARCH=yes + + +#------------------------------------------------------------------------------ +# If you have set LOOKUP_LDAP=yes, you should set LDAP_LIB_TYPE to indicate +# which LDAP library you have. Unfortunately, though most of their functions +# are the same, there are minor differences. Currently Exim knows about four +# LDAP libraries: the one from the University of Michigan (also known as +# OpenLDAP 1), OpenLDAP 2, the Netscape SDK library, and the library that comes +# with Solaris 7 onwards. Uncomment whichever of these you are using. + +# LDAP_LIB_TYPE=OPENLDAP1 +LDAP_LIB_TYPE=OPENLDAP2 +# LDAP_LIB_TYPE=NETSCAPE +# LDAP_LIB_TYPE=SOLARIS + +# If you don't set any of these, Exim assumes the original University of +# Michigan (OpenLDAP 1) library. + + +#------------------------------------------------------------------------------ +# The PCRE library is required for exim. There is no longer an embedded +# version of the PCRE library included with the source code, instead you +# must use a system library or build your own copy of PCRE. +# In either case you must specify the library link info here. If the +# PCRE header files are not in the standard search path you must also +# modify the INCLUDE path (above) +# The default setting of PCRE_LIBS should work on the vast majority of +# systems + +PCRE_LIBS=-lpcre + + +#------------------------------------------------------------------------------ +# Additional libraries and include directories may be required for some +# lookup styles (e.g. LDAP, MYSQL or PGSQL). LOOKUP_LIBS is included only on +# the command for linking Exim itself, not on any auxiliary programs. You +# don't need to set LOOKUP_INCLUDE if the relevant directories are already +# specified in INCLUDE. The settings below are just examples; -lpq is for +# PostgreSQL, -lgds is for Interbase, -lsqlite3 is for SQLite. + +# LOOKUP_INCLUDE=-I /usr/local/ldap/include -I /usr/local/mysql/include -I /usr/local/pgsql/include +# LOOKUP_LIBS=-L/usr/local/lib -lldap -llber -lmysqlclient -lpq -lgds -lsqlite3 + + +#------------------------------------------------------------------------------ +# Compiling the Exim monitor: If you want to compile the Exim monitor, a +# program that requires an X11 display, then EXIM_MONITOR should be set to the +# value "eximon.bin". Comment out this setting to disable compilation of the +# monitor. The locations of various X11 directories for libraries and include +# files are defaulted in the OS/Makefile-Default file, but can be overridden in +# local OS-specific make files. + + + + +#------------------------------------------------------------------------------ +# Compiling Exim with content scanning support: If you want to compile Exim +# with support for message body content scanning, set WITH_CONTENT_SCAN to +# the value "yes". This will give you malware and spam scanning in the DATA ACL, +# and the MIME ACL. Please read the documentation to learn more about these +# features. + +WITH_CONTENT_SCAN=yes + +# If you want to use the deprecated "demime" condition in the DATA ACL, +# uncomment the line below. Doing so will also explicitly turn on the +WITH_CONTENT_SCAN=yes +# the "demime" condition. + +WITH_OLD_DEMIME=yes + +# If you're using ClamAV and are backporting fixes to an old version, instead +# of staying current (which is the more usual approach) then you may need to +# use an older API which uses a STREAM command, now deprecated, instead of +# zINSTREAM. If you need to set this, please let the Exim developers know, as +# if nobody reports a need for it, we'll remove this option and clean up the +# code. zINSTREAM was introduced with ClamAV 0.95. +# +# WITH_OLD_CLAMAV_STREAM=yes + +#------------------------------------------------------------------------------ +# By default Exim includes code to support DKIM (DomainKeys Identified +# Mail, RFC4871) signing and verification. Verification of signatures is +# turned on by default. See the spec for information on conditionally +# disabling it. To disable the inclusion of the entire feature, set +# DISABLE_DKIM to "yes" + +# DISABLE_DKIM=yes + + +#------------------------------------------------------------------------------ +# Compiling Exim with experimental features. These are documented in +# experimental-spec.txt. "Experimental" means that the way these features are +# implemented may still change. Backward compatibility is not guaranteed. + +# Uncomment the following lines to add SPF support. You need to have libspf2 +# installed on your system (www.libspf2.org). Depending on where it is installed +# you may have to edit the CFLAGS and LDFLAGS lines. + +# EXPERIMENTAL_SPF=yes +# CFLAGS += -I/usr/local/include +# LDFLAGS += -lspf2 + +# Uncomment the following lines to add SRS (Sender rewriting scheme) support. +# You need to have libsrs_alt installed on your system (srs.mirtol.com). +# Depending on where it is installed you may have to edit the CFLAGS and +# LDFLAGS lines. + +# EXPERIMENTAL_SRS=yes +# CFLAGS += -I/usr/local/include +# LDFLAGS += -lsrs_alt + +# Uncomment the following lines to add Brightmail AntiSpam support. You need +# to have the Brightmail client SDK installed. Please check the experimental +# documentation for implementation details. You need to edit the CFLAGS and +# LDFLAGS lines. + +# EXPERIMENTAL_BRIGHTMAIL=yes +# CFLAGS += -I/opt/brightmail/bsdk-6.0/include +# LDFLAGS += -lxml2_single -lbmiclient_single -L/opt/brightmail/bsdk-6.0/lib + + + +############################################################################### +# THESE ARE THINGS YOU MIGHT WANT TO SPECIFY # +############################################################################### + +# The items in this section are those that are commonly changed according to +# the sysadmin's preferences, but whose defaults are often acceptable. The +# first five are concerned with security issues, where differing levels of +# paranoia are appropriate in different environments. Sysadmins also vary in +# their views on appropriate levels of defence in these areas. If you do not +# understand these issues, go with the defaults, which are used by many sites. + + +#------------------------------------------------------------------------------ +# Although Exim is normally a setuid program, owned by root, it refuses to run +# local deliveries as root by default. There is a runtime option called +# "never_users" which lists the users that must never be used for local +# deliveries. There is also the setting below, which provides a list that +# cannot be overridden at runtime. This guards against problems caused by +# unauthorized changes to the runtime configuration. You are advised not to +# remove "root" from this option, but you can add other users if you want. The +# list is colon-separated. It must NOT contain any spaces. + +# FIXED_NEVER_USERS=root:bin:daemon +FIXED_NEVER_USERS=root + + +#------------------------------------------------------------------------------ +# By default, Exim insists that its configuration file be owned by root. You +# can specify one additional permitted owner here. + +# CONFIGURE_OWNER= + +# If the configuration file is group-writeable, Exim insists by default that it +# is owned by root. You can specify one additional permitted group owner here. + +# CONFIGURE_GROUP= + +# If you specify CONFIGURE_OWNER or CONFIGURE_GROUP as a name, this is looked +# up at build time, and the uid or gid number is built into the binary. +# However, you can specify that the lookup is deferred until runtime. In this +# case, it is the name that is built into the binary. You can do this by a +# setting of the form: + +# CONFIGURE_OWNER=ref:mail +# CONFIGURE_GROUP=ref:sysadmin + +# In other words, put "ref:" in front of the user or group name. Although this +# costs a bit of resource at runtime, it is convenient to use this feature when +# building binaries that are to be run on multiple systems where the names may +# refer to different uids or gids. It also allows you to build Exim on a system +# where the relevant user or group is not defined. + + +#------------------------------------------------------------------------------ +# The -C option allows Exim to be run with an alternate runtime configuration +# file. When this is used by root, root privilege is retained by the binary +# (for any other caller including the Exim user, it is dropped). You can +# restrict the location of alternate configurations by defining a prefix below. +# Any file used with -C must then start with this prefix (except that /dev/null +# is also permitted if the caller is root, because that is used in the install +# script). If the prefix specifies a directory that is owned by root, a +# compromise of the Exim account does not permit arbitrary alternate +# configurations to be used. The prefix can be more restrictive than just a +# directory (the second example). + +# ALT_CONFIG_PREFIX=/some/directory/ +# ALT_CONFIG_PREFIX=/some/directory/exim.conf- + + +#------------------------------------------------------------------------------ +# When a user other than root uses the -C option to override the configuration +# file (including the Exim user when re-executing Exim to regain root +# privileges for local message delivery), this will normally cause Exim to +# drop root privileges. The TRUSTED_CONFIG_LIST option, specifies a file which +# contains a list of trusted configuration filenames, one per line. If the -C +# option is used by the Exim user or by the user specified in the +# CONFIGURE_OWNER setting, to specify a configuration file which is listed in +# the TRUSTED_CONFIG_LIST file, then root privileges are not dropped by Exim. + +# TRUSTED_CONFIG_LIST=/usr/exim/trusted_configs + + +#------------------------------------------------------------------------------ +# Uncommenting this option disables the use of the -D command line option, +# which changes the values of macros in the runtime configuration file. +# This is another protection against somebody breaking into the Exim account. + +# DISABLE_D_OPTION=yes + + +#------------------------------------------------------------------------------ +# By contrast, you might be maintaining a system which relies upon the ability +# to override values with -D and assumes that these will be passed through to +# the delivery processes. As of Exim 4.73, this is no longer the case by +# default. Going forward, we strongly recommend that you use a shim Exim +# configuration file owned by root stored under TRUSTED_CONFIG_LIST. +# That shim can set macros before .include'ing your main configuration file. +# +# As a strictly transient measure to ease migration to 4.73, the +# WHITELIST_D_MACROS value definies a colon-separated list of macro-names +# which are permitted to be overriden from the command-line which will be +# honoured by the Exim user. So these are macros that can persist to delivery +# time. +# Examples might be -DTLS or -DSPOOL=/some/dir. The values on the +# command-line are filtered to only permit: [A-Za-z0-9_/.-]* +# +# This option is highly likely to be removed in a future release. It exists +# only to make 4.73 as easy as possible to migrate to. If you use it, we +# encourage you to schedule time to rework your configuration to not depend +# upon it. Most people should not need to use this. +# +# By default, no macros are whitelisted for -D usage. + +# WHITELIST_D_MACROS=TLS:SPOOL + +#------------------------------------------------------------------------------ +# Exim has support for the AUTH (authentication) extension of the SMTP +# protocol, as defined by RFC 2554. If you don't know what SMTP authentication +# is, you probably won't want to include this code, so you should leave these +# settings commented out. If you do want to make use of SMTP authentication, +# you must uncomment at least one of the following, so that appropriate code is +# included in the Exim binary. You will then need to set up the run time +# configuration to make use of the mechanism(s) selected. + +AUTH_CRAM_MD5=yes +# AUTH_CYRUS_SASL=yes +AUTH_DOVECOT=yes +AUTH_PLAINTEXT=yes +AUTH_SPA=yes + + +#------------------------------------------------------------------------------ +# If you specified AUTH_CYRUS_SASL above, you should ensure that you have the +# Cyrus SASL library installed before trying to build Exim, and you probably +# want to uncomment the following line: + +# AUTH_LIBS=-lsasl2 + + +#------------------------------------------------------------------------------ +# When Exim is decoding MIME "words" in header lines, most commonly for use +# in the $header_xxx expansion, it converts any foreign character sets to the +# one that is set in the headers_charset option. The default setting is +# defined by this setting: + +HEADERS_CHARSET="ISO-8859-1" + +# If you are going to make use of $header_xxx expansions in your configuration +# file, or if your users are going to use them in filter files, and the normal +# character set on your host is something other than ISO-8859-1, you might +# like to specify a different default here. This value can be overridden in +# the runtime configuration, and it can also be overridden in individual filter +# files. +# +# IMPORTANT NOTE: The iconv() function is needed for character code +# conversions. Please see the next item... + + +#------------------------------------------------------------------------------ +# Character code conversions are possible only if the iconv() function is +# installed on your operating system. There are two places in Exim where this +# is relevant: (a) The $header_xxx expansion (see the previous item), and (b) +# the Sieve filter support. For those OS where iconv() is known to be installed +# as standard, the file in OS/Makefile-xxxx contains +# +# HAVE_ICONV=yes +# +# If you are not using one of those systems, but have installed iconv(), you +# need to uncomment that line above. In some cases, you may find that iconv() +# and its header file are not in the default places. You might need to use +# something like this: +# +# HAVE_ICONV=yes +# CFLAGS=-O -I/usr/local/include +# EXTRALIBS_EXIM=-L/usr/local/lib -liconv +# +# but of course there may need to be other things in CFLAGS and EXTRALIBS_EXIM +# as well. + + +#------------------------------------------------------------------------------ +# The passwords for user accounts are normally encrypted with the crypt() +# function. Comparisons with encrypted passwords can be done using Exim's +# "crypteq" expansion operator. (This is commonly used as part of the +# configuration of an authenticator for use with SMTP AUTH.) At least one +# operating system has an extended function called crypt16(), which uses up to +# 16 characters of a password (the normal crypt() uses only the first 8). Exim +# supports the use of crypt16() as well as crypt() but note the warning below. + +# You can always indicate a crypt16-encrypted password by preceding it with +# "{crypt16}". If you want the default handling (without any preceding +# indicator) to use crypt16(), uncomment the following line: + +# DEFAULT_CRYPT=crypt16 + +# If you do that, you can still access the basic crypt() function by preceding +# an encrypted password with "{crypt}". For more details, see the description +# of the "crypteq" condition in the manual chapter on string expansions. + +# Some operating systems do not include a crypt16() function, so Exim has one +# of its own, which it uses unless HAVE_CRYPT16 is defined. Normally, that will +# be set in an OS-specific Makefile for the OS that have such a function, so +# you should not need to bother with it. + +# *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING *** +# It turns out that the above is not entirely accurate. As well as crypt16() +# there is a function called bigcrypt() that some operating systems have. This +# may or may not use the same algorithm, and both of them may be different to +# Exim's built-in crypt16() that is used unless HAVE_CRYPT16 is defined. +# +# However, since there is now a move away from the traditional crypt() +# functions towards using SHA1 and other algorithms, tidying up this area of +# Exim is seen as very low priority. In practice, if you need to, you can +# define DEFAULT_CRYPT to the name of any function that has the same interface +# as the traditional crypt() function. +# *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING *** + + +#------------------------------------------------------------------------------ +# Exim can be built to support the SMTP STARTTLS command, which implements +# Transport Layer Security using SSL (Secure Sockets Layer). To do this, you +# must install the OpenSSL library package or the GnuTLS library. Exim contains +# no cryptographic code of its own. Uncomment the following lines if you want +# to build Exim with TLS support. If you don't know what this is all about, +# leave these settings commented out. + +# This setting is required for any TLS support (either OpenSSL or GnuTLS) +SUPPORT_TLS=yes + +# Uncomment this setting if you are using OpenSSL +TLS_LIBS=-L/usr/lib -lssl -lcrypto + +# Uncomment these settings if you are using GnuTLS +# USE_GNUTLS=yes +TLS_LIBS=-L/usr/lib -lssl -lcrypto + +# If you are running Exim as a server, note that just building it with TLS +# support is not all you need to do. You also need to set up a suitable +# certificate, and tell Exim about it by means of the tls_certificate +# and tls_privatekey run time options. You also need to set tls_advertise_hosts +# to specify the hosts to which Exim advertises TLS support. On the other hand, +# if you are running Exim only as a client, building it with TLS support +# is all you need to do. + +# Additional libraries and include files are required for both OpenSSL and +# GnuTLS. The TLS_LIBS settings above assume that the libraries are installed +# with all your other libraries. If they are in a special directory, you may +# need something like + +TLS_LIBS=-L/usr/lib -lssl -lcrypto +# or +TLS_LIBS=-L/usr/lib -lssl -lcrypto + +TLS_LIBS=-L/usr/lib -lssl -lcrypto +# auxiliary programs. If the include files are not in a standard place, you can +# set TLS_INCLUDE to specify where they are, for example: + +TLS_INCLUDE=-I/usr/include/openssl +# or +TLS_INCLUDE=-I/usr/include/openssl + +# You don't need to set TLS_INCLUDE if the relevant directories are already +# specified in INCLUDE. + + +#------------------------------------------------------------------------------ +# The default distribution of Exim contains only the plain text form of the +# documentation. Other forms are available separately. If you want to install +# the documentation in "info" format, first fetch the Texinfo documentation +# sources from the ftp directory and unpack them, which should create files +# with the extension "texinfo" in the doc directory. You may find that the +# version number of the texinfo files is different to your Exim version number, +# because the main documentation isn't updated as often as the code. For +# example, if you have Exim version 4.43, the source tarball upacks into a +# directory called exim-4.43, but the texinfo tarball unpacks into exim-4.40. +# In this case, move the contents of exim-4.40/doc into exim-4.43/doc after you +# have unpacked them. Then set INFO_DIRECTORY to the location of your info +# directory. This varies from system to system, but is often /usr/share/info. +# Once you have done this, "make install" will build the info files and +# install them in the directory you have defined. + +# INFO_DIRECTORY=/usr/share/info + + +#------------------------------------------------------------------------------ +# Exim log directory and files: Exim creates several log files inside a +# single log directory. You can define the directory and the form of the +# log file name here. If you do not set anything, Exim creates a directory +# called "log" inside its spool directory (see SPOOL_DIRECTORY above) and uses +# the filenames "mainlog", "paniclog", and "rejectlog". If you want to change +# this, you can set LOG_FILE_PATH to a path name containing one occurrence of +# %s. This will be replaced by one of the strings "main", "panic", or "reject" +# to form the final file names. Some installations may want something like this: + +LOG_FILE_PATH=/var/log/exim/%slog + +# which results in files with names /var/log/exim_mainlog, etc. The directory +# in which the log files are placed must exist; Exim does not try to create +# it for itself. It is also your responsibility to ensure that Exim is capable +# of writing files using this path name. The Exim user (see EXIM_USER above) +# must be able to create and update files in the directory you have specified. + +# You can also configure Exim to use syslog, instead of or as well as log +# files, by settings such as these + +# LOG_FILE_PATH=syslog +# LOG_FILE_PATH=syslog:/var/log/exim_%slog + +# The first of these uses only syslog; the second uses syslog and also writes +# to log files. Do not include white space in such a setting as it messes up +# the building process. + + +#------------------------------------------------------------------------------ +# When logging to syslog, the following option caters for syslog replacements +# that are able to accept log entries longer than the 1024 characters allowed +# by RFC 3164. It is up to you to make sure your syslog daemon can handle this. +# Non-printable characters are usually unacceptable regardless, so log entries +# are still split on newline characters. + +# SYSLOG_LONG_LINES=yes + +# If you are not interested in the process identifier (pid) of the Exim that is +# making the call to syslog, then comment out the following line. + +SYSLOG_LOG_PID=yes + + +#------------------------------------------------------------------------------ +# Cycling log files: this variable specifies the maximum number of old +# log files that are kept by the exicyclog log-cycling script. You don't have +# to use exicyclog. If your operating system has other ways of cycling log +# files, you can use them instead. The exicyclog script isn't run by default; +# you have to set up a cron job for it if you want it. + +EXICYCLOG_MAX=10 + + +#------------------------------------------------------------------------------ +# The compress command is used by the exicyclog script to compress old log +# files. Both the name of the command and the suffix that it adds to files +# need to be defined here. See also the EXICYCLOG_MAX configuration. + +COMPRESS_COMMAND=/bin/gzip +COMPRESS_SUFFIX=gz + + +#------------------------------------------------------------------------------ +# If the exigrep utility is fed compressed log files, it tries to uncompress +# them using this command. + +ZCAT_COMMAND=/bin/zcat + + +#------------------------------------------------------------------------------ +# Compiling in support for embedded Perl: If you want to be able to +# use Perl code in Exim's string manipulation language and you have Perl +# (version 5.004 or later) installed, set EXIM_PERL to perl.o. Using embedded +# Perl costs quite a lot of resources. Only do this if you really need it. + +# EXIM_PERL=perl.o + + +#------------------------------------------------------------------------------ +# Support for dynamically-loaded string expansion functions via ${dlfunc. If +# you are using gcc the dynamically-loaded object must be compiled with the +# -shared option, and you will need to add -export-dynamic to EXTRALIBS so +# that the local_scan API is made available by the linker. You may also need +# to add -ldl to EXTRALIBS so that dlopen() is available to Exim. + +# EXPAND_DLFUNC=yes + + +#------------------------------------------------------------------------------ +# Exim has support for PAM (Pluggable Authentication Modules), a facility +# which is available in the latest releases of Solaris and in some GNU/Linux +# distributions (see http://ftp.kernel.org/pub/linux/libs/pam/). The Exim +# support, which is intended for use in conjunction with the SMTP AUTH +# facilities, is included only when requested by the following setting: + +SUPPORT_PAM=yes + +# You probably need to add -lpam to EXTRALIBS, and in some releases of +# GNU/Linux -ldl is also needed. + + +#------------------------------------------------------------------------------ +# Support for authentication via Radius is also available. The Exim support, +# which is intended for use in conjunction with the SMTP AUTH facilities, +# is included only when requested by setting the following parameter to the +# location of your Radius configuration file: + +# RADIUS_CONFIG_FILE=/etc/radiusclient/radiusclient.conf +# RADIUS_CONFIG_FILE=/etc/radius.conf + +# If you have set RADIUS_CONFIG_FILE, you should also set one of these to +# indicate which RADIUS library is used: + +# RADIUS_LIB_TYPE=RADIUSCLIENT +# RADIUS_LIB_TYPE=RADIUSCLIENTNEW +# RADIUS_LIB_TYPE=RADLIB + +# RADIUSCLIENT is the radiusclient library; you probably need to add +# -lradiusclient to EXTRALIBS. +# +# The API for the radiusclient library was changed at release 0.4.0. +# Unfortunately, the header file does not define a version number that clients +# can use to support both the old and new APIs. If you are using version 0.4.0 +# or later of the radiusclient library, you should use RADIUSCLIENTNEW. +# +# RADLIB is the Radius library that comes with FreeBSD (the header file is +# called radlib.h); you probably need to add -lradius to EXTRALIBS. +# +# If you do not set RADIUS_LIB_TYPE, Exim assumes the radiusclient library, +# using the original API. + + +#------------------------------------------------------------------------------ +# Support for authentication via the Cyrus SASL pwcheck daemon is available. +# Note, however, that pwcheck is now deprecated in favour of saslauthd (see +# next item). The Exim support for pwcheck, which is intented for use in +# conjunction with the SMTP AUTH facilities, is included only when requested by +# setting the following parameter to the location of the pwcheck daemon's +# socket. +# +# There is no need to install all of SASL on your system. You just need to run +# ./configure --with-pwcheck, cd to the pwcheck directory within the sources, +# make and make install. You must create the socket directory (default +# /var/pwcheck) and chown it to exim's user and group. Once you have installed +# pwcheck, you should arrange for it to be started by root at boot time. + +# CYRUS_PWCHECK_SOCKET=/var/pwcheck/pwcheck + + +#------------------------------------------------------------------------------ +# Support for authentication via the Cyrus SASL saslauthd daemon is available. +# The Exim support, which is intented for use in conjunction with the SMTP AUTH +# facilities, is included only when requested by setting the following +# parameter to the location of the saslauthd daemon's socket. +# +# There is no need to install all of SASL on your system. You just need to run +# ./configure --with-saslauthd (and any other options you need, for example, to +# select or deselect authentication mechanisms), cd to the saslauthd directory +# within the sources, make and make install. You must create the socket +# directory (default /var/state/saslauthd) and chown it to exim's user and +# group. Once you have installed saslauthd, you should arrange for it to be +# started by root at boot time. + +# CYRUS_SASLAUTHD_SOCKET=/var/state/saslauthd/mux + + +#------------------------------------------------------------------------------ +# TCP wrappers: If you want to use tcpwrappers from within Exim, uncomment +# this setting. See the manual section entitled "Use of tcpwrappers" in the +# chapter on building and installing Exim. +# +USE_TCP_WRAPPERS=yes +# +# You may well also have to specify a local "include" file and an additional +# library for TCP wrappers, so you probably need something like this: +# +USE_TCP_WRAPPERS=yes +# CFLAGS=-O -I/usr/local/include +# EXTRALIBS_EXIM=-L/usr/local/lib -lwrap +# +# but of course there may need to be other things in CFLAGS and EXTRALIBS_EXIM +# as well. +# +# To use a name other than exim in the tcpwrappers config file, +# e.g. if you're running multiple daemons with different access lists, +# or multiple MTAs with the same access list, define +# TCP_WRAPPERS_DAEMON_NAME accordingly +# +# TCP_WRAPPERS_DAEMON_NAME="exim" + + +#------------------------------------------------------------------------------ +# The default action of the exim_install script (which is run by "make +# install") is to install the Exim binary with a unique name such as +# exim-4.43-1, and then set up a symbolic link called "exim" to reference it, +# moving the symbolic link from any previous version. If you define NO_SYMLINK +# (the value doesn't matter), the symbolic link is not created or moved. You +# will then have to "turn Exim on" by setting up the link manually. + +# NO_SYMLINK=yes + + +#------------------------------------------------------------------------------ +# Another default action of the install script is to install a default runtime +# configuration file if one does not exist. This configuration has a router for +# expanding system aliases. The default assumes that these aliases are kept +# in the traditional file called /etc/aliases. If such a file does not exist, +# the installation script creates one that contains just comments (no actual +# aliases). The following setting can be changed to specify a different +# location for the system alias file. + +SYSTEM_ALIASES_FILE=/etc/mail/aliases + + +#------------------------------------------------------------------------------ +# There are some testing options (-be, -bt, -bv) that read data from the +# standard input when no arguments are supplied. By default, the input lines +# are read using the standard fgets() function. This does not support line +# editing during interactive input (though the terminal's "erase" character +# works as normal). If your operating system has the readline() function, and +# in addition supports dynamic loading of library functions, you can cause +# Exim to use readline() for the -be testing option (only) by uncommenting the +# following setting. Dynamic loading is used so that the library is loaded only +# when the -be testing option is given; by the time the loading occurs, +# Exim has given up its root privilege and is running as the calling user. This +# is the reason why readline() is NOT supported for -bt and -bv, because Exim +# runs as root or as exim, respectively, for those options. When USE_READLINE +# is "yes", as well as supporting line editing, a history of input lines in the +# current run is maintained. + +# USE_READLINE=yes + +# You may need to add -ldl to EXTRALIBS when you set USE_READLINE=yes. +# Note that this option adds to the size of the Exim binary, because the +# dynamic loading library is not otherwise included. + + + +############################################################################### +# THINGS YOU ALMOST NEVER NEED TO MENTION # +############################################################################### + +# The settings in this section are available for use in special circumstances. +# In the vast majority of installations you need not change anything below. + + +#------------------------------------------------------------------------------ +# The following commands live in different places in some OS. Either the +# ultimate default settings, or the OS-specific files should already point to +# the right place, but they can be overridden here if necessary. These settings +# are used when building various scripts to ensure that the correct paths are +# used when the scripts are run. They are not used in the Makefile itself. Perl +# is not necessary for running Exim unless you set EXIM_PERL (see above) to get +# it embedded, but there are some utilities that are Perl scripts. If you +# haven't got Perl, Exim will still build and run; you just won't be able to +# use those utilities. + +# CHOWN_COMMAND=/usr/bin/chown +# CHGRP_COMMAND=/usr/bin/chgrp +# CHMOD_COMMAND=/usr/bin/chmod +# MV_COMMAND=/bin/mv +# RM_COMMAND=/bin/rm +# TOUCH_COMMAND=/usr/bin/touch +# PERL_COMMAND=/usr/bin/perl + + +#------------------------------------------------------------------------------ +# The following macro can be used to change the command for building a library +# of functions. By default the "ar" command is used, with options "cq". +# Only in rare circumstances should you need to change this. + +# AR=ar cq + + +#------------------------------------------------------------------------------ +# In some operating systems, the value of the TMPDIR environment variable +# controls where temporary files are created. Exim does not make use of +# temporary files, except when delivering to MBX mailboxes. However, if Exim +# calls any external libraries (e.g. DBM libraries), they may use temporary +# files, and thus be influenced by the value of TMPDIR. For this reason, when +# Exim starts, it checks the environment for TMPDIR, and if it finds it is set, +# it replaces the value with what is defined here. Commenting this setting +# suppresses the check altogether. + +TMPDIR="/tmp" + + +#------------------------------------------------------------------------------ +# The following macros can be used to change the default modes that are used +# by the appendfile transport. In most installations the defaults are just +# fine, and in any case, you can change particular instances of the transport +# at run time if you want. + +# APPENDFILE_MODE=0600 +# APPENDFILE_DIRECTORY_MODE=0700 +# APPENDFILE_LOCKFILE_MODE=0600 + + +#------------------------------------------------------------------------------ +# In some installations there may be multiple machines sharing file systems, +# where a different configuration file is required for Exim on the different +# machines. If CONFIGURE_FILE_USE_NODE is defined, then Exim will first look +# for a configuration file whose name is that defined by CONFIGURE_FILE, +# with the node name obtained by uname() tacked on the end, separated by a +# period (for example, /usr/exim/configure.host.in.some.domain). If this file +# does not exist, then the bare configuration file name is tried. + +# CONFIGURE_FILE_USE_NODE=yes + + +#------------------------------------------------------------------------------ +# In some esoteric configurations two different versions of Exim are run, +# with different setuid values, and different configuration files are required +# to handle the different cases. If CONFIGURE_FILE_USE_EUID is defined, then +# Exim will first look for a configuration file whose name is that defined +# by CONFIGURE_FILE, with the effective uid tacked on the end, separated by +# a period (for eximple, /usr/exim/configure.0). If this file does not exist, +# then the bare configuration file name is tried. In the case when both +# CONFIGURE_FILE_USE_EUID and CONFIGURE_FILE_USE_NODE are set, four files +# are tried: .., ., ., and . + +# CONFIGURE_FILE_USE_EUID=yes + + +#------------------------------------------------------------------------------ +# The size of the delivery buffers: These specify the sizes (in bytes) of +# the buffers that are used when copying a message from the spool to a +# destination. There is rarely any need to change these values. + +# DELIVER_IN_BUFFER_SIZE=8192 +# DELIVER_OUT_BUFFER_SIZE=8192 + + +#------------------------------------------------------------------------------ +# The mode of the database directory: Exim creates a directory called "db" +# in its spool directory, to hold its databases of hints. This variable +# determines the mode of the created directory. The default value in the +# source is 0750. + +# EXIMDB_DIRECTORY_MODE=0750 + + +#------------------------------------------------------------------------------ +# Database file mode: The mode of files created in the "db" directory defaults +# to 0640 in the source, and can be changed here. + +# EXIMDB_MODE=0640 + + +#------------------------------------------------------------------------------ +# Database lock file mode: The mode of zero-length files created in the "db" +# directory to use for locking purposes defaults to 0640 in the source, and +# can be changed here. + +# EXIMDB_LOCKFILE_MODE=0640 + + +#------------------------------------------------------------------------------ +# This parameter sets the maximum length of the header portion of a message +# that Exim is prepared to process. The default setting is one megabyte. The +# limit exists in order to catch rogue mailers that might connect to your SMTP +# port, start off a header line, and then just pump junk at it for ever. The +# message_size_limit option would also catch this, but it may not be set. +# The value set here is the default; it can be changed at runtime. + +# HEADER_MAXSIZE="(1024*1024)" + + +#------------------------------------------------------------------------------ +# The mode of the input directory: The input directory is where messages are +# kept while awaiting delivery. Exim creates it if necessary, using a mode +# which can be defined here (default 0750). + +# INPUT_DIRECTORY_MODE=0750 + + +#------------------------------------------------------------------------------ +# The mode of Exim's log directory, when it is created by Exim inside the spool +# directory, defaults to 0750 but can be changed here. + +# LOG_DIRECTORY_MODE=0750 + + +#------------------------------------------------------------------------------ +# The log files themselves are created as required, with a mode that defaults +# to 0640, but which can be changed here. + +# LOG_MODE=0640 + + +#------------------------------------------------------------------------------ +# The TESTDB lookup is for performing tests on the handling of lookup results, +# and is not useful for general running. It should be included only when +# debugging the code of Exim. + +# LOOKUP_TESTDB=yes + + +#------------------------------------------------------------------------------ +# /bin/sh is used by default as the shell in which to run commands that are +# defined in the makefiles. This can be changed if necessary, by uncommenting +# this line and specifying another shell, but note that a Bourne-compatible +# shell is expected. + +# MAKE_SHELL=/bin/sh + + +#------------------------------------------------------------------------------ +# The maximum number of named lists of each type (address, domain, host, and +# local part) can be increased by changing this value. It should be set to +# a multiple of 16. + +MAX_NAMED_LIST=16 + + +#------------------------------------------------------------------------------ +# Network interfaces: Unless you set the local_interfaces option in the runtime +# configuration file to restrict Exim to certain interfaces only, it will run +# code to find all the interfaces there are on your host. Unfortunately, +# the call to the OS that does this requires a buffer large enough to hold +# data for all the interfaces - it was designed in the days when a host rarely +# had more than three or four interfaces. Nowadays hosts can have very many +# virtual interfaces running on the same hardware. If you have more than 250 +# virtual interfaces, you will need to uncomment this setting and increase the +# value. + +# MAXINTERFACES=250 + + +#------------------------------------------------------------------------------ +# Per-message logs: While a message is in the process of being delivered, +# comments on its progress are written to a message log, for the benefit of +# human administrators. These logs are held in a directory called "msglog" +# in the spool directory. Its mode defaults to 0750, but can be changed here. +# The message log directory is also used for storing files that are used by +# transports for returning data to a message's sender (see the "return_output" +# option for transports). + +# MSGLOG_DIRECTORY_MODE=0750 + + +#------------------------------------------------------------------------------ +# There are three options which are used when compiling the Perl interface and +# when linking with Perl. The default values for these are placed automatically +# at the head of the Makefile by the script which builds it. However, if you +# want to override them, you can do so here. + +# PERL_CC= +# PERL_CCOPTS= +# PERL_LIBS= + + +#------------------------------------------------------------------------------ +# Identifying the daemon: When an Exim daemon starts up, it writes its pid +# (process id) to a file so that it can easily be identified. The path of the +# file can be specified here. Some installations may want something like this: + +PID_FILE_PATH=/var/run/exim.pid + +# If PID_FILE_PATH is not defined, Exim writes a file in its spool directory +# using the name "exim-daemon.pid". + +# If you start up a daemon without the -bd option (for example, with just +# the -q15m option), a pid file is not written. Also, if you override the +# configuration file with the -oX option, no pid file is written. In other +# words, the pid file is written only for a "standard" daemon. + + +#------------------------------------------------------------------------------ +# If Exim creates the spool directory, it is given this mode, defaulting in the +# source to 0750. + +# SPOOL_DIRECTORY_MODE=0750 + + +#------------------------------------------------------------------------------ +# The mode of files on the input spool which hold the contents of messages can +# be changed here. The default is 0640 so that information from the spool is +# available to anyone who is a member of the Exim group. + +# SPOOL_MODE=0640 + + +#------------------------------------------------------------------------------ +# Moving frozen messages: If the following is uncommented, Exim is compiled +# with support for automatically moving frozen messages out of the main spool +# directory, a facility that is found useful by some large installations. A +# run time option is required to cause the moving actually to occur. Such +# messages become "invisible" to the normal management tools. + +# SUPPORT_MOVE_FROZEN_MESSAGES=yes + + +#------------------------------------------------------------------------------ +# Disabling the use of fsync(): DO NOT UNCOMMENT THE FOLLOWING LINE unless you +# really, really, really know what you are doing. And even then, think again. +# You should never uncomment this when compiling a binary for distribution. +# Use it only when compiling Exim for your own use. +# +# Uncommenting this line enables the use of a runtime option called +# disable_fsync, which can be used to stop Exim using fsync() to ensure that +# files are written to disc before proceeding. When this is disabled, crashes +# and hardware problems such as power outages can cause data to be lost. This +# feature should only be used in very exceptional circumstances. YOU HAVE BEEN +# WARNED. + +# ENABLE_DISABLE_FSYNC=yes + +HAVE_IPV6=YES +LOOKUP_LIBS=-lldap +EXTRALIBS_EXIM=-lwrap -lpam +# End of EDITME for Exim 4. diff --git a/community-testing/exim/exim.conf.d b/community-testing/exim/exim.conf.d new file mode 100644 index 000000000..b9bec4335 --- /dev/null +++ b/community-testing/exim/exim.conf.d @@ -0,0 +1 @@ +EXIM_ARGS="-bd -q15m" diff --git a/community-testing/exim/exim.install b/community-testing/exim/exim.install new file mode 100644 index 000000000..8ed329559 --- /dev/null +++ b/community-testing/exim/exim.install @@ -0,0 +1,25 @@ +# arg 1: the new package version +post_install() { + getent group exim >/dev/null 2>&1 || groupadd -g 79 exim + if getent passwd exim > /dev/null 2>&1; then + usr/sbin/usermod -d /var/spool/exim -c 'Exim MTA' -s /sbin/nologin exim > /dev/null 2>&1 + else + usr/sbin/useradd -c 'Exim MTA' -u 79 -g exim -d /var/spool/exim -s /sbin/nologin exim + fi + passwd -l exim > /dev/null + chown root.exim /var/spool/exim /var/log/exim + chown exim.exim /var/spool/exim/db + chmod u+s /usr/sbin/exim +} + +# arg 1: the new package version +# arg 2: the old package version +post_upgrade() { + post_install $1 +} + +# arg 1: the old package version +pre_remove() { + getent passwd exim >/dev/null 2>&1 && userdel exim +} + diff --git a/community-testing/exim/exim.logrotate b/community-testing/exim/exim.logrotate new file mode 100644 index 000000000..070ba4747 --- /dev/null +++ b/community-testing/exim/exim.logrotate @@ -0,0 +1,6 @@ +/var/log/exim/*log { + su exim exim + missingok + notifempty + delaycompress +} diff --git a/community-testing/lightspark/PKGBUILD b/community-testing/lightspark/PKGBUILD index 4dc7cf4cd..90e48d272 100644 --- a/community-testing/lightspark/PKGBUILD +++ b/community-testing/lightspark/PKGBUILD @@ -3,7 +3,7 @@ pkgname=lightspark pkgver=0.5.0rc1 -pkgrel=1 +pkgrel=2 pkgdesc='An alternative Flash Player for Linux.' arch=('i686' 'x86_64') url='http://lightspark.sourceforge.net' @@ -12,12 +12,18 @@ conflicts=('lightspark-git') depends=('mesa' 'sdl' 'gtk2' 'curl' 'zlib' 'ffmpeg' 'glew' 'pcre' 'libpulse' 'libffi' 'boost-libs' 'glibmm' 'gtkglext' 'desktop-file-utils' 'libxml++') makedepends=('cmake' 'nasm' 'xulrunner' 'llvm' 'glproto' 'boost') optdepends=('gnash-gtk: fallback support') -install="lightspark.install" -source=("http://launchpad.net/lightspark/trunk/lightspark-0.5.0/+download/lightspark-0.5.0~rc1.tar.gz") -md5sums=('bf668cf6178fbbb75a7898bd6c6dd1e5') +install='lightspark.install' +source=("http://launchpad.net/lightspark/trunk/lightspark-0.5.0/+download/lightspark-0.5.0~rc1.tar.gz" + 'git-fixes-set-sys-in-destroystream-class.diff') +md5sums=('bf668cf6178fbbb75a7898bd6c6dd1e5' + '57b1b5a975f5e2518c2a96d61b925f41') _pkgver='0.5.0~rc1' build() { + cd lightspark-${_pkgver} + patch -Np1 -i ${srcdir}/git-fixes-set-sys-in-destroystream-class.diff + cd ${srcdir} + rm -rf build mkdir build cd build diff --git a/community-testing/lightspark/git-fixes-set-sys-in-destroystream-class.diff b/community-testing/lightspark/git-fixes-set-sys-in-destroystream-class.diff new file mode 100644 index 000000000..d20239d29 --- /dev/null +++ b/community-testing/lightspark/git-fixes-set-sys-in-destroystream-class.diff @@ -0,0 +1,1180 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f8eea6b..aae2d71 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -167,7 +167,7 @@ if(Boost_FOUND) + ENDIF(Boost_FOUND) + IF(UNIX) + INCLUDE(FindPkgConfig REQUIRED) +- pkg_check_modules(EXTRA_LIBS REQUIRED x11 fontconfig cairo pangocairo) ++ pkg_check_modules(EXTRA_LIBS REQUIRED x11 cairo pangocairo) + ENDIF(UNIX) + + IF(WIN32) +diff --git a/conf/FindFTGL.cmake b/conf/FindFTGL.cmake +deleted file mode 100644 +index d63178f..0000000 +--- a/conf/FindFTGL.cmake ++++ /dev/null +@@ -1,27 +0,0 @@ +-# - Find FTGL +-# Find the native FTGL headers and libraries. +-# +-# FTGL_INCLUDE_DIRS - where to find pcre.h, etc. +-# FTGL_LIBRARIES - List of libraries when using ftgl +-# FTGL_FOUND - True if ftgl found. +- +-# Look for the header file. +-FIND_PATH(FTGL_INCLUDE_DIR NAMES FTGL/ftgl.h) +-MARK_AS_ADVANCED(FTGL_INCLUDE_DIR) +- +-# Look for the library. +-FIND_LIBRARY(FTGL_LIBRARY NAMES +- ftgl +- ftgl_d +-) +-MARK_AS_ADVANCED(FTGL_LIBRARY) +- +-# handle the QUIETLY and REQUIRED arguments and set FTGL_FOUND to TRUE if +-# all listed variables are TRUE +-INCLUDE(FindPackageHandleStandardArgs) +-FIND_PACKAGE_HANDLE_STANDARD_ARGS(FTGL DEFAULT_MSG FTGL_LIBRARY FTGL_INCLUDE_DIR) +- +-IF(FTGL_FOUND) +- SET(FTGL_LIBRARIES ${FTGL_LIBRARY}) +- SET(FTGL_INCLUDE_DIRS ${FTGL_INCLUDE_DIR}) +-ENDIF(FTGL_FOUND) +diff --git a/src/asobject.cpp b/src/asobject.cpp +index f2f9620..6808c14 100644 +--- a/src/asobject.cpp ++++ b/src/asobject.cpp +@@ -556,6 +556,7 @@ ASFUNCTIONBODY(ASObject,hasOwnProperty) + name.name_type=multiname::NAME_STRING; + name.name_s=args[0]->toString(); + name.ns.push_back(nsNameAndKind("",NAMESPACE)); ++ name.isAttribute=false; + bool ret=obj->hasPropertyByMultiname(name, true); + return abstract_b(ret); + } +diff --git a/src/backends/decoder.cpp b/src/backends/decoder.cpp +index 46c25bc..279d1f7 100644 +--- a/src/backends/decoder.cpp ++++ b/src/backends/decoder.cpp +@@ -26,7 +26,7 @@ + #include "graphics.h" + #include "backends/rendering.h" + +-#if LIBAVUTIL_VERSION_MAJOR < 52 ++#if LIBAVUTIL_VERSION_MAJOR < 51 + #define AVMEDIA_TYPE_VIDEO CODEC_TYPE_VIDEO + #define AVMEDIA_TYPE_AUDIO CODEC_TYPE_AUDIO + #endif +diff --git a/src/backends/netutils.cpp b/src/backends/netutils.cpp +index ce08dbc..8e4ff6a 100644 +--- a/src/backends/netutils.cpp ++++ b/src/backends/netutils.cpp +@@ -681,7 +681,6 @@ void Downloader::allocateBuffer(size_t size) + //Create buffer + if(buffer == NULL) + { +- + buffer = (uint8_t*) calloc(size, sizeof(uint8_t)); + stableBuffer = buffer; + setg((char*)buffer,(char*)buffer,(char*)buffer); +@@ -690,7 +689,7 @@ void Downloader::allocateBuffer(size_t size) + else + { + assert(!cached); +- intptr_t curLen = (intptr_t) (egptr()-eback()); ++ intptr_t curLen = receivedLength; + //We have to extend the buffer, so create a new one + if(stableBuffer!=buffer) + { +diff --git a/src/backends/rendering.cpp b/src/backends/rendering.cpp +index ea7f5ec..b52b8f2 100644 +--- a/src/backends/rendering.cpp ++++ b/src/backends/rendering.cpp +@@ -223,13 +223,13 @@ void* RenderThread::worker(RenderThread* th) + LOG(LOG_ERROR,_("glX not present")); + return NULL; + } +- int attrib[10]={GLX_BUFFER_SIZE,24,GLX_DOUBLEBUFFER,True,None}; ++ int attrib[10]={GLX_RED_SIZE, 8, GLX_GREEN_SIZE, 8, GLX_BLUE_SIZE, 8, GLX_DOUBLEBUFFER, True, None}; + GLXFBConfig* fb=glXChooseFBConfig(d, 0, attrib, &a); + if(!fb) + { +- attrib[2]=None; +- fb=glXChooseFBConfig(d, 0, attrib, &a); ++ attrib[6]=None; + LOG(LOG_ERROR,_("Falling back to no double buffering")); ++ fb=glXChooseFBConfig(d, 0, attrib, &a); + } + if(!fb) + { +diff --git a/src/backends/urlutils.cpp b/src/backends/urlutils.cpp +index 7575e49..176b7db 100644 +--- a/src/backends/urlutils.cpp ++++ b/src/backends/urlutils.cpp +@@ -332,14 +332,14 @@ std::string URLInfo::encode(const std::string& u, ENCODING type) + str += '+'; + //Additionally ENCODE_URICOMPONENT and ENCODE_URI don't encode: + //- _ . ! ~ * ' ( ) +- else if((type == ENCODE_URI || ENCODE_URICOMPONENT) && ++ else if((type == ENCODE_URI || type == ENCODE_URICOMPONENT || type == ENCODE_ESCAPE) && + (u[i] == '-' || u[i] == '_' || u[i] == '.' || u[i] == '!' || + u[i] == '~' || u[i] == '*' || u[i] == '\'' || u[i] == '(' || + u[i] == ')')) + str += u[i]; + //Additionally ENCODE_URI doesn't encode: + //; / ? : @ & = + $ , # +- else if(type == ENCODE_URI && ++ else if((type == ENCODE_URI || type == ENCODE_ESCAPE) && + (u[i] == ';' || u[i] == '/' || u[i] == '?' || u[i] == ':' || + u[i] == '@' || u[i] == '&' || u[i] == '=' || u[i] == '+' || + u[i] == '$' || u[i] == ',' || u[i] == '#')) +diff --git a/src/parsing/streams.cpp b/src/parsing/streams.cpp +index 8a5d7b0..b7894b0 100644 +--- a/src/parsing/streams.cpp ++++ b/src/parsing/streams.cpp +@@ -27,167 +27,6 @@ + + using namespace std; + +-sync_stream::sync_stream():head(0),tail(0),wait_notfull(false),wait_notempty(false),buf_size(1024*1024),failed(false),ended(false),consumed(0) +-{ +- buffer=new char[buf_size]; +- sem_init(&mutex,0,1); +- sem_init(¬full,0,0); +- sem_init(¬empty,0,0); +- setg(buffer,buffer,buffer); +-} +- +-sync_stream::~sync_stream() +-{ +- delete[] buffer; +- sem_destroy(&mutex); +- sem_destroy(¬full); +- sem_destroy(¬empty); +-} +- +-void sync_stream::stop() +-{ +- sem_wait(&mutex); +- failed=true; +- if(wait_notfull) +- { +- wait_notfull=false; +- sem_post(¬full); +- sem_wait(&mutex); +- } +- if(wait_notempty) +- { +- wait_notempty=false; +- sem_post(¬empty); +- sem_wait(&mutex); +- } +- sem_post(&mutex); +-} +- +-void sync_stream::eof() +-{ +- sem_wait(&mutex); +- ended=true; +- if(wait_notempty) +- { +- wait_notempty=false; +- sem_post(¬empty); +- } +- else +- sem_post(&mutex); +-} +- +-sync_stream::pos_type sync_stream::seekoff(off_type off, ios_base::seekdir dir,ios_base::openmode mode) +-{ +- assert(off==0); +- //The current offset is the amount of byte completely consumed plus the amount used in the buffer +- int ret=consumed+(gptr()-eback()); +- return ret; +-} +- +-sync_stream::int_type sync_stream::underflow() +-{ +- assert(gptr()==egptr()); +- +- sem_wait(&mutex); +- //First of all we add the length of the buffer to the consumed variable +- int consumedNow=(gptr()-eback()); +- consumed+=consumedNow; +- head+=consumedNow; +- head%=buf_size; +- if(failed) +- { +- sem_post(&mutex); +- //Return EOF +- return -1; +- } +- if(tail==head) +- { +- if(ended) //There is no way more data will arrive +- { +- sem_post(&mutex); +- //Return EOF +- return -1; +- } +- wait_notempty=true; +- sem_post(&mutex); +- sem_wait(¬empty); +- if(failed || ended) +- { +- sem_post(&mutex); +- //Return EOF +- return -1; +- } +- } +- +- if(headbuf_size) +- { +- int i=buf_size-tail; +- memcpy(buffer+tail,buf,i); +- memcpy(buffer,buf+i,len-i); +- } +- else +- memcpy(buffer+tail,buf,len); +- tail+=len; +- tail%=buf_size; +- assert(head!=tail); +- if(wait_notempty) +- { +- wait_notempty=false; +- sem_post(¬empty); +- } +- else +- sem_post(&mutex); +- return len; +-} +- +-uint32_t sync_stream::getFree() +-{ +- sem_wait(&mutex); +- uint32_t freeBytes=(head-tail+buf_size-1)%buf_size; +- sem_post(&mutex); +- return freeBytes; +-} + + zlib_filter::zlib_filter(streambuf* b):backend(b),consumed(0) + { +diff --git a/src/parsing/streams.h b/src/parsing/streams.h +index c631e45..988dcf2 100644 +--- a/src/parsing/streams.h ++++ b/src/parsing/streams.h +@@ -43,31 +43,6 @@ public: + ~zlib_filter(); + }; + +-class DLL_PUBLIC sync_stream: public std::streambuf +-{ +-public: +- sync_stream(); +- void stop(); +- void eof(); +- ~sync_stream(); +- uint32_t write(char* buf, int len); +- uint32_t getFree(); +- virtual int_type underflow(); +- virtual pos_type seekoff(off_type, std::ios_base::seekdir, std::ios_base::openmode); +-private: +- char* buffer; +- int head; +- int tail; +- sem_t mutex; +- sem_t notfull; +- sem_t notempty; +- bool wait_notfull; +- bool wait_notempty; +- const int buf_size; +- bool failed; +- bool ended; +- int consumed; +-}; + + class bytes_buf:public std::streambuf + { +diff --git a/src/plugin/plugin.cpp b/src/plugin/plugin.cpp +index ffb578d..fd60233 100644 +--- a/src/plugin/plugin.cpp ++++ b/src/plugin/plugin.cpp +@@ -569,6 +569,7 @@ int32_t nsPluginInstance::Write(NPStream *stream, int32_t offset, int32_t len, v + + NPError nsPluginInstance::DestroyStream(NPStream *stream, NPError reason) + { ++ sys=m_sys; + NPDownloader* dl=static_cast(stream->pdata); + assert(dl); + //Check if async destructin of this downloader has been requested +@@ -586,6 +587,7 @@ NPError nsPluginInstance::DestroyStream(NPStream *stream, NPError reason) + } + //Notify our downloader of what happened + URLNotify(stream->url, reason, stream->pdata); ++ sys=NULL; + return NPERR_NO_ERROR; + } + +diff --git a/src/scripting/flashdisplay.cpp b/src/scripting/flashdisplay.cpp +index bfdf846..5df6f98 100644 +--- a/src/scripting/flashdisplay.cpp ++++ b/src/scripting/flashdisplay.cpp +@@ -323,6 +323,7 @@ void Loader::execute() + contentLoaderInfo->incRef(); + //Use a local variable to store the new root, as the localRoot member may change + _R newRoot=_MR(RootMovieClip::getInstance(contentLoaderInfo.getPtr())); ++ newRoot->setOrigin(url.getParsedURL(), ""); + + _addChildAt(newRoot,0); + +@@ -2972,7 +2973,10 @@ ASFUNCTIONBODY(Graphics,beginGradientFill) + assert_and_throw(args[2]->getObjectType()==T_ARRAY); + Array* alphas=Class::cast(args[2]); + +- assert_and_throw(args[3]->getObjectType()==T_ARRAY); ++ //assert_and_throw(args[3]->getObjectType()==T_ARRAY); ++ //Work around for bug in YouTube player of July 13 2011 ++ if(args[3]->getObjectType()==T_UNDEFINED) ++ return NULL; + Array* ratios=Class::cast(args[3]); + + int NumGradient = colors->size(); +diff --git a/src/scripting/flashgeom.cpp b/src/scripting/flashgeom.cpp +index db5236e..660bb85 100644 +--- a/src/scripting/flashgeom.cpp ++++ b/src/scripting/flashgeom.cpp +@@ -1127,12 +1127,12 @@ ASFUNCTIONBODY(Matrix,concat) + + number_t ta, tb, tc, td, tx, ty; + +- ta = th->a * m->a + th->c * m->b; +- tb = th->b * m->a + th->d * m->b; +- tc = th->a * m->c + th->c * m->d; +- td = th->b * m->c + th->d * m->d; +- tx = th->a * m->tx + th->c * m->ty + th->tx; +- ty = th->b * m->tx + th->d * m->ty + th->ty; ++ ta = m->a * th->a + m->c * th->b; ++ tb = m->b * th->a + m->d * th->b; ++ tc = m->a * th->c + m->c * th->d; ++ td = m->b * th->c + m->d * th->d; ++ tx = m->a * th->tx + m->c * th->ty + m->tx; ++ ty = m->b * th->tx + m->d * th->ty + m->ty; + + th->a = ta; + th->b = tb; +diff --git a/src/scripting/flashutils.cpp b/src/scripting/flashutils.cpp +index f44b61e..04cce66 100644 +--- a/src/scripting/flashutils.cpp ++++ b/src/scripting/flashutils.cpp +@@ -784,36 +784,52 @@ ASFUNCTIONBODY(lightspark,describeType) + ret+=(isStatic)?"\"true\"":"\"false\""; + ret+=">"; + //TODO: add support for extendsClass and implementsInterface and factory +- auto it=args[0]->Variables.Variables.begin(); +- for(;it!=args[0]->Variables.Variables.end();it++) ++ type=static_cast(args[0]); ++ do + { +- if(isStatic && it->second.kind==BORROWED_TRAIT) +- continue; +- +- //TODO: add support for constant, method, parameter +- if(it->second.var.getter) +- { +- //Output an accessor +- //TODO: add support in accessor for access,type,declaredBy +- ret+="first.raw_buf(); +- ret+="\"/>"; +- } +- else if(it->second.var.var) ++ auto it=type->Variables.Variables.begin(); ++ for(;it!=type->Variables.Variables.end();it++) + { +- //Output a variable +- ret+="first.raw_buf(); +- ret+="\""; +- if(it->second.var.type) ++ if(isStatic && it->second.kind==BORROWED_TRAIT) ++ continue; ++ ++ //TODO: add support for constant, method, parameter ++ if(it->second.var.getter) ++ { ++ //Output an accessor ++ //TODO: add support in accessor for access,type,declaredBy ++ ret+="first.raw_buf(); ++ ret+="\"/>"; ++ } ++ else if(it->second.var.var) + { +- ret+=" type=\""; +- ret+=it->second.var.type->class_name.getQualifiedName().raw_buf(); +- ret+="\""; ++ if(it->second.var.var->getObjectType()==T_FUNCTION) ++ { ++ //Output a method ++ //TODO: add support in method for declaredBy,returnType ++ ret+="first.raw_buf(); ++ ret+="\"/>"; ++ } ++ else ++ { ++ //Output a variable ++ ret+="first.raw_buf(); ++ ret+="\""; ++ if(it->second.var.type) ++ { ++ ret+=" type=\""; ++ ret+=it->second.var.type->class_name.getQualifiedName().raw_buf(); ++ ret+="\""; ++ } ++ ret+="/>"; ++ } + } +- ret+="/>"; + } + } ++ while((type=type->getPrototype())!=NULL); + ret+=""; + + return Class::getInstanceS(ret);; +diff --git a/src/scripting/toplevel.cpp b/src/scripting/toplevel.cpp +index c64403c..69709f5 100644 +--- a/src/scripting/toplevel.cpp ++++ b/src/scripting/toplevel.cpp +@@ -271,6 +271,10 @@ ASFUNCTIONBODY(Array,lastIndexOf) + + int unsigned i = th->data.size()-1; + int j; ++ ++ if(argslen == 2 && std::isnan(args[1]->toNumber())) ++ return abstract_i(0); ++ + if(argslen == 2 && args[1]->getObjectType() != T_UNDEFINED && !std::isnan(args[1]->toNumber())) + { + j = args[1]->toInt(); //Preserve sign +@@ -314,24 +318,30 @@ ASFUNCTIONBODY(Array,shift) + ASFUNCTIONBODY(Array,splice) + { + Array* th=static_cast(obj); +- ++ + int startIndex=args[0]->toInt(); + int deleteCount=args[1]->toUInt(); + int totalSize=th->data.size(); +- +- //A negative startIndex is relative to the end +- assert_and_throw(abs(startIndex)::getInstanceS(); ++ ++ if(totalSize) ++ { ++ //A negative startIndex is relative to the end ++ assert_and_throw(abs(startIndex)totalSize) + deleteCount=totalSize-startIndex; +- +- Array* ret=Class::getInstanceS(); +- ret->data.reserve(deleteCount); + +- for(int i=0;idata.push_back(th->data[startIndex+i]); +- +- th->data.erase(th->data.begin()+startIndex,th->data.begin()+startIndex+deleteCount); ++ if(deleteCount) ++ { ++ ret->data.reserve(deleteCount); ++ ++ for(int i=0;idata.push_back(th->data[startIndex+i]); ++ ++ th->data.erase(th->data.begin()+startIndex,th->data.begin()+startIndex+deleteCount); ++ } + + //Insert requested values starting at startIndex + for(unsigned int i=2,n=0;i(node); + if(element==NULL) + return NULL; +- xmlpp::Attribute* attr=element->get_attribute(normalizedName.raw_buf()); ++ xmlpp::Attribute* attr=element->get_attribute(buf); + if(attr==NULL) + return NULL; + +@@ -1021,7 +1038,7 @@ ASObject* XML::getVariableByMultiname(const multiname& name, bool skip_impl) + assert_and_throw(name.ns.size()>0 && name.ns[0].name==""); + //Normalize the name to the string form + assert(node); +- const xmlpp::Node::NodeList& children=node->get_children(normalizedName.raw_buf()); ++ const xmlpp::Node::NodeList& children=node->get_children(buf); + xmlpp::Node::NodeList::const_iterator it=children.begin(); + + std::vector<_R> ret; +@@ -1055,8 +1072,15 @@ bool XML::hasPropertyByMultiname(const multiname& name, bool considerDynamic) + if(considerDynamic==false) + return ASObject::hasPropertyByMultiname(name, considerDynamic); + ++ bool isAttr=name.isAttribute; + const tiny_string& normalizedName=name.normalizedName(); +- if(name.isAttribute) ++ const char *buf=normalizedName.raw_buf(); ++ if(normalizedName[0]=='@') ++ { ++ isAttr=true; ++ buf+=1; ++ } ++ if(isAttr) + { + //Lookup attribute + //TODO: support namespaces +@@ -1067,7 +1091,7 @@ bool XML::hasPropertyByMultiname(const multiname& name, bool considerDynamic) + xmlpp::Element* element=dynamic_cast(node); + if(element==NULL) + return NULL; +- xmlpp::Attribute* attr=element->get_attribute(normalizedName.raw_buf()); ++ xmlpp::Attribute* attr=element->get_attribute(buf); + if(attr!=NULL) + return true; + } +@@ -1078,7 +1102,7 @@ bool XML::hasPropertyByMultiname(const multiname& name, bool considerDynamic) + assert_and_throw(name.ns.size()>0 && name.ns[0].name==""); + //Normalize the name to the string form + assert(node); +- const xmlpp::Node::NodeList& children=node->get_children(normalizedName.raw_buf()); ++ const xmlpp::Node::NodeList& children=node->get_children(buf); + if(!children.empty()) + return true; + } +diff --git a/src/swf.cpp b/src/swf.cpp +index 6378dd6..b50907e 100644 +--- a/src/swf.cpp ++++ b/src/swf.cpp +@@ -468,6 +468,8 @@ void SystemState::setShutdownFlag() + shutdown=true; + + sem_post(&terminated); ++ if(standalone) ++ gtk_main_quit(); + } + + void SystemState::wait() +@@ -1132,7 +1134,7 @@ void ParseThread::execute() + } + catch(std::exception& e) + { +- LOG(LOG_ERROR,_("Stream exception in ParseThread")); ++ LOG(LOG_ERROR,_("Stream exception in ParseThread ") << e.what()); + root->parsingFailed(); + } + pt=NULL; +diff --git a/tests/Dictionary_test.mxml b/tests/Dictionary_test.mxml +index d0d6897..226eb94 100644 +--- a/tests/Dictionary_test.mxml ++++ b/tests/Dictionary_test.mxml +@@ -1,57 +1,57 @@ +- +- +- +- +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff --git a/tests/Object_test.mxml b/tests/Object_test.mxml +index d78adab..d057823 100644 +--- a/tests/Object_test.mxml ++++ b/tests/Object_test.mxml +@@ -13,6 +13,11 @@ + var o:Object = {foo: "bar", foo2: "bar2", foo: "bar3"}; + Tests.assertEquals(o.foo2,"bar2","Simple assignment in object literal"); + Tests.assertEquals(o.foo,"bar","Duplicated assignment in object literal"); ++ ++ var s:String = "Lightspark"; ++ var c:Class = s.constructor; ++ Tests.assertTrue(c == String, "Constructor property"); ++ + Tests.report(visual, this.name); + } + ]]> +diff --git a/tests/XML_test.mxml b/tests/XML_test.mxml +index cb18282..54587d7 100644 +--- a/tests/XML_test.mxml ++++ b/tests/XML_test.mxml +@@ -44,6 +44,9 @@ + Tests.assertTrue(Object("123")==simplexml, "equality: string and simple XML"); + Tests.assertTrue(Object(123)==simplexml, "equality: integer and simple XML"); + ++ var cdata:XML = new XML(""); ++ Tests.assertEquals(cdata, "Lightspark", "Only CDATA node in file"); ++ + Tests.report(visual, this.name); + } + ]]> +diff --git a/tests/geom_Matrix_test.mxml b/tests/geom_Matrix_test.mxml +index 667904a..89d2a5d 100644 +--- a/tests/geom_Matrix_test.mxml ++++ b/tests/geom_Matrix_test.mxml +@@ -1,64 +1,64 @@ +- +- +- +- +- +- +- +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff --git a/tests/geom_Point_test.mxml b/tests/geom_Point_test.mxml +index f8d926c..25bbaa3 100644 +--- a/tests/geom_Point_test.mxml ++++ b/tests/geom_Point_test.mxml +@@ -1,52 +1,52 @@ +- +- +- +- +- +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff --git a/tests/geom_Rectangle_test.mxml b/tests/geom_Rectangle_test.mxml +index b8450c4..43734db 100644 +--- a/tests/geom_Rectangle_test.mxml ++++ b/tests/geom_Rectangle_test.mxml +@@ -1,72 +1,72 @@ +- +- +- +- +- +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ diff --git a/community-testing/stunnel/Makefile.patch b/community-testing/stunnel/Makefile.patch new file mode 100644 index 000000000..27be911d6 --- /dev/null +++ b/community-testing/stunnel/Makefile.patch @@ -0,0 +1,21 @@ +--- tools/Makefile.in 2010-03-31 04:45:09.000000000 -0500 ++++ tools/Makefile.in 2010-04-11 17:17:41.000000000 -0500 +@@ -334,8 +334,7 @@ + + info-am: + +-install-data-am: install-confDATA install-data-local \ +- install-examplesDATA ++install-data-am: install-confDATA install-examplesDATA + + install-dvi: install-dvi-am + +@@ -377,7 +376,7 @@ + clean-local distclean distclean-generic distclean-libtool \ + distdir dvi dvi-am html html-am info info-am install \ + install-am install-confDATA install-data install-data-am \ +- install-data-local install-dvi install-dvi-am \ ++ install-dvi install-dvi-am \ + install-examplesDATA install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ diff --git a/community-testing/stunnel/PKGBUILD b/community-testing/stunnel/PKGBUILD new file mode 100644 index 000000000..eb2a50995 --- /dev/null +++ b/community-testing/stunnel/PKGBUILD @@ -0,0 +1,48 @@ +# $Id: PKGBUILD 51826 2011-07-16 00:11:50Z dreisner $ +# Maintainer: Kaiting Chen +# Contributor: Daniel J Griffiths +# Contributor: Kevin Piche + +pkgname=stunnel +pkgver=4.39 +pkgrel=1 +pkgdesc="A program that allows you to encrypt arbitrary TCP connections inside SSL" +arch=('i686' 'x86_64') +url="http://www.stunnel.org" +license=('GPL') +depends=('openssl') +install=stunnel.install +options=('!libtool') +source=("ftp://ftp.stunnel.org/stunnel/$pkgname-$pkgver.tar.gz" + 'Makefile.patch' 'stunnel.rc.d') +md5sums=('853739119a8364daea750154af6d7e79' + 'f15398497e10e080c2406d2fc541660c' + 'cb647c71ff4cb1e035b6e515d5f13ebf') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + # don't create a certificate... + patch -p0 < $srcdir/Makefile.patch + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --enable-ipv6 \ + --disable-libwrap + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR=$pkgdir install + + for i in ca.pl importCA.sh; do + install -Dm755 tools/$i $pkgdir/usr/share/stunnel/$i + done + install -Dm755 $srcdir/stunnel.rc.d $pkgdir/etc/rc.d/stunnel + sed -e "s:/usr/var/lib/stunnel/:/var/run/stunnel:g" \ + -e "s:/usr/etc/stunnel/:/etc/stunnel/:g" \ + -e "s:nobody:stunnel:g" -e "s:nogroup:stunnel:g" \ + -i ${pkgdir}/etc/stunnel/stunnel.conf-sample + install -Dm644 tools/stunnel.cnf $pkgdir/etc/stunnel/stunnel.cnf +} diff --git a/community-testing/stunnel/stunnel.install b/community-testing/stunnel/stunnel.install new file mode 100644 index 000000000..f7bbbffcb --- /dev/null +++ b/community-testing/stunnel/stunnel.install @@ -0,0 +1,35 @@ +post_install() { + # add stunnel group + if [ ! `grep stunnel /etc/group` ]; then + groupadd -g 16 stunnel &>/dev/null + fi + + # add stunnel user + id stunnel &>/dev/null || \ + useradd -u 16 -g stunnel -d /var/run/stunnel -s /bin/false stunnel + + # create chroot dir if necessary. + if [ ! -d /var/run/stunnel ]; then + install -d -m 770 -o stunnel -g stunnel /var/run/stunnel + fi + + cat << EOF + +NOTE +---- +Copy /etc/stunnel/stunnel.conf-sample to /etc/stunnel/stunnel.conf +& edit it to match your setup before invoking the daemon (/etc/rc.d/stunnel). + +EOF +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + # remove users & groups + userdel stunnel &> /dev/null + groupdel stunnel &> /dev/null + rm -rf /var/run/stunnel +} diff --git a/community-testing/stunnel/stunnel.rc.d b/community-testing/stunnel/stunnel.rc.d new file mode 100644 index 000000000..15816abe8 --- /dev/null +++ b/community-testing/stunnel/stunnel.rc.d @@ -0,0 +1,36 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/bin/stunnel` +case "$1" in + start) + stat_busy "Starting stunnel" + [ -z "$PID" ] && /usr/bin/stunnel + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon stunnel + stat_done + fi + ;; + stop) + stat_busy "Stopping stunnel" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon stunnel + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/community/alltray/PKGBUILD b/community/alltray/PKGBUILD index e31e50d9d..602aa9e00 100644 --- a/community/alltray/PKGBUILD +++ b/community/alltray/PKGBUILD @@ -1,26 +1,27 @@ -# $Id: PKGBUILD 79020 2010-04-30 01:30:58Z dgriffiths $ +# $Id: PKGBUILD 51791 2011-07-15 09:01:45Z spupykin $ +# Maintainer: Sergej Pupykin # Maintainer : James Rayner # Contributor: Roberto Salas pkgname=alltray -pkgver=0.7.4dev -pkgrel=2 +pkgver=0.7.5dev +pkgrel=1 pkgdesc="Drops any app in the tray." license=('GPL') arch=('i686' 'x86_64') url="http://alltray.trausch.us/" -depends=('gconf' 'libgtop' 'libwnck') -options=('!libtool' 'force') +depends=('libxpm' 'libgtop' 'libwnck') +options=('!libtool') source=(https://code.launchpad.net/alltray/trunk/${pkgver}/+download/alltray-${pkgver}.tar.gz) -md5sums=('646d6d751f815e6aeb8a58a9e5d17db9') +md5sums=('faef46b14a3f9c14d4e5efd65245796e') build() { cd ${srcdir}/${pkgname}-${pkgver} - ./configure --prefix=/usr || return 1 - make || return 1 + ./configure --prefix=/usr + make } package() { cd ${srcdir}/${pkgname}-${pkgver} - make DESTDIR=${pkgdir} install || return 1 + make DESTDIR=${pkgdir} install } diff --git a/community/calibre/PKGBUILD b/community/calibre/PKGBUILD index 1b70cc96d..5a13a4516 100644 --- a/community/calibre/PKGBUILD +++ b/community/calibre/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 51442 2011-07-09 05:30:27Z giovanni $ +# $Id: PKGBUILD 51821 2011-07-15 23:43:02Z giovanni $ # Maintainer: Giovanni Scafora # Contributor: Petrov Roman # Contributor: Andrea Fagiani pkgname=calibre -pkgver=0.8.9 +pkgver=0.8.10 pkgrel=1 pkgdesc="Ebook management application" arch=('i686' 'x86_64') @@ -20,7 +20,7 @@ optdepends=('ipython: to use calibre-debug') install=calibre.install source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz desktop_integration.patch) -md5sums=('0f962987c33eb65c65d4fd8dad21d121' +md5sums=('5fa9268d004ad0a5ffec9d0067f30340' '253ce4fe5d01f8ff76b63cd3825755ea') build() { diff --git a/community/gcc-avr/PKGBUILD b/community/gcc-avr/PKGBUILD index 78e1c30c6..0a1a7a01d 100644 --- a/community/gcc-avr/PKGBUILD +++ b/community/gcc-avr/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 43891 2011-03-30 19:48:35Z bfanella $ +# $Id: PKGBUILD 51816 2011-07-15 23:03:40Z bfanella $ # Maintainer: Brad Fanella # Contributor: Corrado Primier # Contributor: danst0 pkgname=gcc-avr -pkgver=4.6.0 -pkgrel=3 +pkgver=4.6.1 +pkgrel=1 pkgdesc="The GNU avr Compiler Collection" arch=('i686' 'x86_64') license=('GPL' 'LGPL' 'custom') @@ -13,8 +13,8 @@ url="http://gcc.gnu.org/" depends=('binutils-avr>=2.21' 'cloog' 'ppl' 'gcc-libs>=4.6.0' 'libmpc') options=('!ccache' '!distcc' '!emptydirs' '!libtool' '!strip') source=(http://ftp.gnu.org/gnu/gcc/${pkgname/-avr}-${pkgver}/gcc-{core,g++}-${pkgver}.tar.bz2) -md5sums=('b1957f3209080b2f55bc3756d3a62b7c' - 'a30090fa655d0db4c970740d353c81f1') +md5sums=('0c0e7e35d2215e19de9c97efba507553' + '0d75ca7ca35b1e7f252223f9d23a6ad1') build() { export CFLAGS="-O2 -pipe" diff --git a/community/virtualbox/PKGBUILD b/community/virtualbox/PKGBUILD index aa2be0e57..4d2916ec1 100644 --- a/community/virtualbox/PKGBUILD +++ b/community/virtualbox/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 51016 2011-07-04 12:35:27Z ibiru $ +# $Id: PKGBUILD 51807 2011-07-15 20:01:05Z ibiru $ #Maintainer: Ionut Biru pkgbase=virtualbox pkgname=('virtualbox' 'virtualbox-guest-additions' 'virtualbox-guest-modules' 'virtualbox-sdk') -pkgver=4.0.10 -pkgrel=2 +pkgver=4.0.12 +pkgrel=1 arch=('i686' 'x86_64') url='http://virtualbox.org' license=('GPL' 'custom') @@ -16,8 +16,7 @@ source=(http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver} virtualbox-4-makeself-check.patch virtualbox-4-mkisofs-check.patch 10-vboxdrv.rules 60-vboxguest.rules vboxdrv-reference.patch LocalConfig.kmk vboxdrv.sh 18-system-xorg.patch - change_default_driver_dir.patch - usb-2.0.patch) + change_default_driver_dir.patch) _kernver=2.6.39-ARCH build() { @@ -26,9 +25,8 @@ build() { patch -Np1 -i "$srcdir/virtualbox-4-makeself-check.patch" patch -Np1 -i "$srcdir/virtualbox-4-mkisofs-check.patch" patch -Np1 -i "$srcdir/vboxdrv-reference.patch" - patch -Np1 -i "$srcdir/18-system-xorg.patch" +# patch -Np1 -i "$srcdir/18-system-xorg.patch" patch -Np1 -i "$srcdir/change_default_driver_dir.patch" - patch -Np0 -i "$srcdir/usb-2.0.patch" cp "$srcdir/LocalConfig.kmk" . @@ -168,9 +166,9 @@ package_virtualbox-guest-additions(){ "$pkgdir"/usr/bin/VBoxClient-all install -m755 -D "$srcdir"/VirtualBox-${pkgver}_OSE/src/VBox/Additions/x11/Installer/vboxclient.desktop \ "$pkgdir"/etc/xdg/autostart/vboxclient.desktop - install -D vboxmouse_drv.so \ + install -D vboxmouse_drv_110.so \ "$pkgdir/usr/lib/xorg/modules/input/vboxmouse.so" - install -D vboxvideo_drv.so \ + install -D vboxvideo_drv_110.so \ "$pkgdir/usr/lib/xorg/modules/drivers/vboxvideo.so" install -d "$pkgdir/usr/lib/xorg/modules/dri" install -m755 VBoxOGL*.so "$pkgdir/usr/lib" @@ -207,8 +205,8 @@ package_virtualbox-guest-modules(){ sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" "$startdir/virtualbox-guest-modules.install" } -md5sums=('956af570597850ab4d3275b54bbed049' - '75cdbfe8621be72b67666187c5acf172' +md5sums=('5b39b99c2a36c96a062913e8ac67c60f' + '34cfb9a430a231a274aba3550c3d0e00' '44efb3c4be214daa453a317d527f1f30' '32a232b43852b9a08cb11a7bcd64b347' '5f85710e0b8606de967716ded7b2d351' @@ -217,5 +215,4 @@ md5sums=('956af570597850ab4d3275b54bbed049' 'c1a07f044c476a190af8486fe78bee0f' '47da2e88de582bb2bab14580a3aa47b1' '8a22b33c9dfaf8fb79bb2d26304e650b' - 'ac43f7cf44b934d8dbdbc3bb6f7879ad' - '696002ad0017512fc27781b07259f37c') + 'ac43f7cf44b934d8dbdbc3bb6f7879ad') diff --git a/extra/aspell/PKGBUILD b/extra/aspell/PKGBUILD index 7e224400a..1b88938d3 100644 --- a/extra/aspell/PKGBUILD +++ b/extra/aspell/PKGBUILD @@ -1,36 +1,33 @@ -# $Id: PKGBUILD 107951 2011-01-28 03:53:36Z eric $ +# $Id: PKGBUILD 131851 2011-07-16 03:59:19Z eric $ # Contributor: Jochem Kossen # Contributor: dorphell # Contributor: Thayer Williams # Maintainer: Daniel J Griffiths pkgname=aspell -pkgver=0.60.6 +pkgver=0.60.6.1 _pkgmajorver=0.60 -pkgrel=5 +pkgrel=1 pkgdesc="A spell checker designed to eventually replace Ispell" -url="http://aspell.net/" arch=('i686' 'x86_64') +url="http://aspell.net/" license=('LGPL') -depends=('gcc-libs' 'ncurses>=5.6-7') +depends=('gcc-libs' 'ncurses') optdepends=('perl: to import old dictionaries') options=('!libtool') install=aspell.install source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz) -md5sums=('bc80f0198773d5c05086522be67334eb') -sha1sums=('335bcb560e00f59d89ec9e4c4114c325fb0e65f4') +md5sums=('e66a9c9af6a60dc46134fdacf6ce97d7') +sha1sums=('ff1190db8de279f950c242c6f4c5d5cdc2cbdc49') build() { - cd "${srcdir}/${pkgname}-${pkgver}" - - ./configure --prefix=/usr --sysconfdir=/etc - make + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --sysconfdir=/etc + make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" - - make DESTDIR="${pkgdir}" install - ln -s ${pkgname}-${_pkgmajorver} \ - "${pkgdir}/usr/lib/${pkgname}" + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + ln -s ${pkgname}-${_pkgmajorver} "${pkgdir}/usr/lib/${pkgname}" } diff --git a/extra/aspell/aspell.install b/extra/aspell/aspell.install index 5a128ae41..4bb848e30 100644 --- a/extra/aspell/aspell.install +++ b/extra/aspell/aspell.install @@ -1,4 +1,4 @@ -infodir=/usr/share/info +infodir=usr/share/info filelist=(aspell.info aspell-dev.info) post_install() { diff --git a/extra/python/PKGBUILD b/extra/python/PKGBUILD index fc8fce46d..c971f7337 100644 --- a/extra/python/PKGBUILD +++ b/extra/python/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 119805 2011-04-15 11:51:39Z stephane $ +# $Id: PKGBUILD 131166 2011-07-11 13:06:25Z stephane $ # Maintainer: Stéphane Gaudreault # Maintainer: Allan McRae -# Contributer: Jason Chu +# Contributor: Jason Chu pkgname=python -pkgver=3.2 -pkgrel=2 +pkgver=3.2.1 +pkgrel=1 _pybasever=3.2 pkgdesc="Next generation of the python high-level scripting language" arch=('i686' 'x86_64') @@ -13,27 +13,25 @@ license=('custom') url="http://www.python.org/" depends=('expat' 'bzip2' 'gdbm' 'openssl' 'libffi' 'zlib') makedepends=('tk' 'sqlite3' 'valgrind') -optdepends=('tk: for tkinter') +optdepends=('tk: for tkinter' 'sqlite3') provides=('python3') replaces=('python3') options=('!makeflags') -source=(http://www.python.org/ftp/python/${_pybasever}/Python-${pkgver}.tar.xz - CVE-2011-1521.patch) -sha1sums=('55a3a9d39f31563370d0c494373bb6d38e4d1a00' - '561161ce5ae3a91254352c09a33e3e4434444e14') +source=(http://www.python.org/ftp/python/${pkgver%rc*}/Python-${pkgver}.tar.xz) +sha1sums=('ab5cf4a4c21abe590dea87473a1dee6820699d79') + build() { cd "${srcdir}/Python-${pkgver}" + # FS#23997 + sed -i -e "s|^#.* /usr/local/bin/python|#!/usr/bin/python|" Lib/cgi.py + # Ensure that we are using the system copy of various libraries (expat, zlib and libffi), # rather than copies shipped in the tarball rm -r Modules/expat rm -r Modules/zlib rm -r Modules/_ctypes/{darwin,libffi}* - # urllib Security Vulnerability - # http://blog.python.org/2011/04/urllib-security-vulnerability-fixed.html - patch -Np1 -i ../CVE-2011-1521.patch - ./configure --prefix=/usr \ --enable-shared \ --with-threads \ @@ -69,7 +67,7 @@ package() { "${pkgdir}/usr/lib/python${_pybasever}/config-${_pybasever}mu/libpython${_pybasever}mu.so" # Clean-up reference to build directory - sed -i "s#$srcdir/Python-${pkgver}:##" "$pkgdir/usr/lib/python${_pybasever}/config-${_pybasever}mu/Makefile" + sed -i "s|$srcdir/Python-${pkgver}:||" "$pkgdir/usr/lib/python${_pybasever}/config-${_pybasever}mu/Makefile" # License install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" diff --git a/extra/qwtplot3d/PKGBUILD b/extra/qwtplot3d/PKGBUILD index ec339174d..8bd7c546b 100644 --- a/extra/qwtplot3d/PKGBUILD +++ b/extra/qwtplot3d/PKGBUILD @@ -1,42 +1,42 @@ -# $Id: PKGBUILD 64675 2010-01-21 21:29:39Z eric $ +# $Id: PKGBUILD 131790 2011-07-15 09:16:14Z ronald $ # Maintainer: damir pkgname=qwtplot3d pkgver=0.2.7 -origver=0.2.7 -pkgrel=2 +pkgrel=3 pkgdesc="Qt/OpenGL-based C++ programming library containing 3d-widgets" arch=("i686" "x86_64") license=('custom:zlib') url="http://qwtplot3d.sourceforge.net/" -depends=('qt>=4.3' 'qwt>=5.0.2') -source=("http://downloads.sourceforge.net/sourceforge/qwtplot3d/qwtplot3d-$origver.tgz" +depends=('qt' 'qwt' 'mesa') +source=("http://downloads.sourceforge.net/sourceforge/qwtplot3d/qwtplot3d-$pkgver.tgz" qwtplot3d-gcc44.patch) -md5sums=('2f14660152e2e26bfeaaeec479ed9f2b' '92ad261ed5344bc773cba05b324cfe74') sha1sums=('4463fafb8420a91825e165da7a296aaabd70abea' '52fa169b651a98550f8a8391ddf52e0eaeb2c215') build() { - cd $startdir/src/$pkgname - patch -p1 < ../qwtplot3d-gcc44.patch || return 1 - # . /etc/profile.d/qt3.sh + cd ${srcdir}/${pkgname} + patch -p1 < ../qwtplot3d-gcc44.patch + # build qwt: qmake qwtplot3d.pro - make || return 1 + make +} + +package() { + cd ${srcdir}/${pkgname} # install qwtplot3d: (by hand, because the Makefile do not provide a "install:") - mkdir -p $startdir/pkg/usr/{include/qwtplot3d,lib} - # mkdir -p $startdir/pkg/usr/man/man3 .. no manpages yet + install -d ${pkgdir}/usr/{include/qwtplot3d,lib} for n in include/* ; do - cp -d $n $startdir/pkg/usr/include/qwtplot3d || return 1 + cp -d $n ${pkgdir}/usr/include/qwtplot3d done for n in lib/libqwtplot3d.so* ; do - cp -d $n $startdir/pkg/usr/lib || return 1 + cp -d $n ${pkgdir}/usr/lib done - # for n in doc/man/man3/*.3 ; do - # install -m 644 $n $startdir/pkg/usr/man/man3 - # done + # install custom license + install -Dm644 ${srcdir}/${pkgname}/COPYING ${pkgdir}/usr/share/licenses/qwtplot3d/LICENSE } diff --git a/extra/ruby/PKGBUILD b/extra/ruby/PKGBUILD index a829449da..0cf2bb88d 100644 --- a/extra/ruby/PKGBUILD +++ b/extra/ruby/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 127449 2011-06-15 09:33:37Z eric $ +# $Id: PKGBUILD 131846 2011-07-16 03:10:20Z eric $ # Maintainer: # Contributor: Allan McRae # Contributor: John Proctor @@ -6,25 +6,22 @@ pkgbase=ruby pkgname=('ruby' 'ruby-docs') -pkgver=1.9.2_p180 -pkgrel=3 +pkgver=1.9.2_p290 +pkgrel=1 pkgdesc="An object-oriented language for quick and easy programming" arch=('i686' 'x86_64') url="http://www.ruby-lang.org/en/" license=('custom') makedepends=('openssl' 'tk' 'libffi' 'doxygen' 'graphviz') options=('!emptydirs' '!makeflags') -source=("ftp://ftp.ruby-lang.org/pub/${pkgbase}/1.9/${pkgbase}-${pkgver//_/-}.tar.bz2") -md5sums=('68510eeb7511c403b91fe5476f250538') -sha1sums=('10824b44c8060c7b9b5afc0b3519a1e9f02f7fe5') +source=(ftp://ftp.ruby-lang.org/pub/${pkgbase}/${pkgver%.*}/${pkgbase}-${pkgver//_/-}.tar.bz2) +md5sums=('096758c3e853b839dc980b183227b182') +sha1sums=('8f25a74f50a10fdd9724e3c74ccd7bae596e198b') build() { cd "${srcdir}/${pkgbase}-${pkgver//_/-}" - ./configure --prefix=/usr \ - --sysconfdir=/etc \ - --enable-shared \ - --enable-pthread \ - --disable-rpath + ./configure --prefix=/usr --sysconfdir=/etc \ + --enable-shared --enable-pthread --disable-rpath make } @@ -41,7 +38,6 @@ package_ruby() { package_ruby-docs() { pkgdesc="Documentation files for ruby" - depends=('ruby') cd "${srcdir}/${pkgbase}-${pkgver//_/-}" make DESTDIR="${pkgdir}" install-doc install-capi diff --git a/extra/vino/PKGBUILD b/extra/vino/PKGBUILD index 50f7af45a..cb1e131ca 100644 --- a/extra/vino/PKGBUILD +++ b/extra/vino/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 122171 2011-05-02 16:51:49Z ibiru $ +# $Id: PKGBUILD 131782 2011-07-15 06:46:07Z ibiru $ # Maintainer: Jan de Groot pkgname=vino -pkgver=3.0.2 +pkgver=3.0.3 pkgrel=1 pkgdesc="a VNC server for the GNOME desktop" arch=('i686' 'x86_64') @@ -13,8 +13,8 @@ groups=('gnome-extra') url="http://www.gnome.org" options=(!emptydirs) install=vino.install -source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2) -sha256sums=('ca2d72f70d2a94e31e63d0267ec41820aab168c6545954c355a609f3c6c31923') +source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz) +sha256sums=('0e58027d3c10649da61445cdd5205e31c4d1aa0b63f4911de3db4e7052d7bbfb') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/staging/kdeplasma-addons/PKGBUILD b/staging/kdeplasma-addons/PKGBUILD new file mode 100644 index 000000000..a100ad0a1 --- /dev/null +++ b/staging/kdeplasma-addons/PKGBUILD @@ -0,0 +1,609 @@ +# $Id: PKGBUILD 131799 2011-07-15 11:47:07Z ronald $ +# Maintainer: Andrea Scarpino +# Contributor: Pierre Schmitz + +pkgbase=kdeplasma-addons +pkgname=('kdeplasma-addons-applets-bball' + 'kdeplasma-addons-applets-binary-clock' + 'kdeplasma-addons-applets-blackboard' + 'kdeplasma-addons-applets-bookmarks' + 'kdeplasma-addons-applets-bubblemon' + 'kdeplasma-addons-applets-calculator' + 'kdeplasma-addons-applets-charselect' + 'kdeplasma-addons-applets-comic' + 'kdeplasma-addons-applets-community' + 'kdeplasma-addons-applets-dict' + 'kdeplasma-addons-applets-eyes' + 'kdeplasma-addons-applets-fifteenpuzzle' + 'kdeplasma-addons-applets-filewatcher' + 'kdeplasma-addons-applets-frame' + 'kdeplasma-addons-applets-fuzzy-clock' + 'kdeplasma-addons-applets-incomingmsg' + 'kdeplasma-addons-applets-kdeobservatory' + 'kdeplasma-addons-applets-kimpanel' + 'kdeplasma-addons-applets-knowledgebase' + 'kdeplasma-addons-applets-kolourpicker' + 'kdeplasma-addons-applets-konqprofiles' + 'kdeplasma-addons-applets-konsoleprofiles' + 'kdeplasma-addons-applets-lancelot' + 'kdeplasma-addons-applets-leavenote' + 'kdeplasma-addons-applets-life' + 'kdeplasma-addons-applets-luna' + 'kdeplasma-addons-applets-magnifique' + 'kdeplasma-addons-applets-mediaplayer' + 'kdeplasma-addons-applets-microblog' + 'kdeplasma-addons-applets-news' + 'kdeplasma-addons-applets-notes' + 'kdeplasma-addons-applets-nowplaying' + 'kdeplasma-addons-applets-paste' + 'kdeplasma-addons-applets-pastebin' + 'kdeplasma-addons-applets-plasmaboard' + 'kdeplasma-addons-applets-previewer' + 'kdeplasma-addons-applets-qalculate' + 'kdeplasma-addons-applets-rememberthemilk' + 'kdeplasma-addons-applets-rssnow' + 'kdeplasma-addons-applets-showdashboard' + 'kdeplasma-addons-applets-showdesktop' + 'kdeplasma-addons-applets-social-news' + 'kdeplasma-addons-applets-spellcheck' + 'kdeplasma-addons-applets-systemloadviewer' + 'kdeplasma-addons-applets-timer' + 'kdeplasma-addons-applets-unitconverter' + 'kdeplasma-addons-applets-weather' + 'kdeplasma-addons-applets-weatherstation' + 'kdeplasma-addons-applets-webslice' + 'kdeplasma-addons-containments' + 'kdeplasma-addons-libs' + 'kdeplasma-addons-runners-audioplayercontrol' + 'kdeplasma-addons-runners-browserhistory' + 'kdeplasma-addons-runners-characters' + 'kdeplasma-addons-runners-contacts' + 'kdeplasma-addons-runners-converter' + 'kdeplasma-addons-runners-datetime' + 'kdeplasma-addons-runners-events' + 'kdeplasma-addons-runners-katesessions' + 'kdeplasma-addons-runners-konquerorsessions' + 'kdeplasma-addons-runners-konsolesessions' + 'kdeplasma-addons-runners-kopete' + 'kdeplasma-addons-runners-mediawiki' + 'kdeplasma-addons-runners-spellchecker' + 'kdeplasma-addons-wallpapers-mandelbrot' + 'kdeplasma-addons-wallpapers-marble' + 'kdeplasma-addons-wallpapers-pattern' + 'kdeplasma-addons-wallpapers-virus' + 'kdeplasma-addons-wallpapers-weather') +pkgver=4.6.5 +pkgrel=2 +arch=('i686' 'x86_64') +url='http://www.kde.org' +license=('GPL' 'LGPL') +groups=('kde' 'kdeplasma-addons') +makedepends=('pkgconfig' 'cmake' 'automoc4' 'kdebase-workspace' 'kdegraphics-libs' + 'kdeedu-marble' 'eigen' 'scim' 'qwt' 'boost') +source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2" + "kdeobservatory-qwt6.patch") +sha1sums=('3bce5e41160ec318dbea9128c3e9104a4428deb8' + '140b2611fb23aed583c2691a77870e5c48152409') + +build() { + cd ${srcdir} + + # qwt 6.0.0 patch + patch -Np0 -i ${srcdir}/kdeobservatory-qwt6.patch + + mkdir build + cd build + cmake ../${pkgbase}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package_kdeplasma-addons-applets-bball() { + pkgdesc='A bouncy ball for plasma' + depends=('kdebase-workspace') + install='kdeplasma-addons-applets.install' + cd $srcdir/build/applets/bball + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-binary-clock() { + pkgdesc='Time displayed in binary format' + depends=('kdebase-workspace') + cd $srcdir/build/applets/binary-clock + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-blackboard() { + pkgdesc='Black Board' + depends=('kdebase-workspace') + cd $srcdir/build/applets/blackboard + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-bookmarks() { + pkgdesc='Quick Access to the Bookmarks' + depends=('kdebase-workspace') + cd $srcdir/build/applets/bookmarks + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-bubblemon() { + pkgdesc='A pretty bubble that monitors your system.' + depends=('kdebase-workspace') + cd $srcdir/build/applets/bubblemon + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-calculator() { + pkgdesc='Calculate simple sums' + depends=('kdebase-workspace') + cd $srcdir/build/applets/calculator + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-charselect() { + pkgdesc='View, select, and copy characters from a font collection' + depends=('kdebase-workspace') + cd $srcdir/build/applets/charselect + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-comic() { + pkgdesc='View comic strips from the Internet' + depends=('kdebase-workspace' 'kdeplasma-addons-libs') + cd $srcdir/build/applets/comic + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-community() { + pkgdesc='Communicate using the Social Desktop' + depends=('kdebase-workspace') + cd $srcdir/build/applets/community + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-dict() { + pkgdesc='Look up the meaning of words and their translation into different languages' + depends=('kdebase-workspace') + cd $srcdir/build/applets/dict + make DESTDIR=$pkgdir install + # FIXME + # /usr/share/icons/oxygen/scalable/apps/accessories-dictionary.svgz + rm -rf $pkgdir/usr/share/icons +} + +package_kdeplasma-addons-applets-eyes() { + pkgdesc='XEyes clone' + depends=('kdebase-workspace') + install='kdeplasma-addons-applets.install' + cd $srcdir/build/applets/eyes + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-fifteenpuzzle() { + pkgdesc='Put the pieces in order' + depends=('kdebase-workspace') + install='kdeplasma-addons-applets.install' + cd $srcdir/build/applets/fifteenPuzzle + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-filewatcher() { + pkgdesc='Watch for changes in specified files' + depends=('kdebase-workspace') + cd $srcdir/build/applets/fileWatcher + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-frame() { + pkgdesc='Display your favorite pictures' + depends=('kdebase-workspace' 'kdegraphics-libs') + cd $srcdir/build/applets/frame + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-fuzzy-clock() { + pkgdesc='Time displayed in a less precise format' + depends=('kdebase-workspace') + cd $srcdir/build/applets/fuzzy-clock + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-incomingmsg() { + pkgdesc='Notification of new messages' + depends=('kdebase-workspace') + cd $srcdir/build/applets/incomingmsg + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-kdeobservatory() { + pkgdesc='Visualize the KDE ecosystem' + depends=('kdebase-workspace' 'qwt') + install='kdeplasma-addons-applets.install' + cd $srcdir/build/applets/kdeobservatory + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-kimpanel() { + pkgdesc='A generic input method panel for Oriental languages' + depends=('kdebase-workspace') + optdepends=('scim: SCIM backend' + 'fcitx: FCITX backend') + cd $srcdir/build/applets/kimpanel + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-knowledgebase() { + pkgdesc='Opendesktop Knowledgebase' + depends=('kdebase-workspace') + cd $srcdir/build/applets/knowledgebase + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-kolourpicker() { + pkgdesc='Pick a color from the desktop' + depends=('kdebase-workspace') + cd $srcdir/build/applets/kolourpicker + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-konqprofiles() { + pkgdesc='List and launch Konqueror profiles' + depends=('kdebase-workspace') + cd $srcdir/build/applets/konqprofiles + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-konsoleprofiles() { + pkgdesc='List and launch Konsole profiles' + depends=('kdebase-workspace') + cd $srcdir/build/applets/konsoleprofiles + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-lancelot() { + pkgdesc='Launcher to start applications' + depends=('kdebase-workspace' 'kdeplasma-addons-libs') + replaces=('lancelot') + provides=('lancelot') + conflicts=('lancelot') + install='kdeplasma-addons-applets-lancelot.install' + cd $srcdir/build/applets/lancelot + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-leavenote() { + pkgdesc='Leave notes for users while they are away' + depends=('kdebase-workspace') + cd $srcdir/build/applets/leavenote + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-life() { + pkgdesc='Life' + depends=('kdebase-workspace') + install='kdeplasma-addons-applets.install' + cd $srcdir/build/applets/life + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-luna() { + pkgdesc='Display moon phases for your location' + depends=('kdebase-workspace') + install='kdeplasma-addons-applets.install' + cd $srcdir/build/applets/luna + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-magnifique() { + pkgdesc='A magnification glass for the Plasma desktop' + depends=('kdebase-workspace') + cd $srcdir/build/applets/magnifique + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-mediaplayer() { + pkgdesc='Widget that can play video and sound' + depends=('kdebase-workspace') + cd $srcdir/build/applets/mediaplayer + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-microblog() { + pkgdesc='Update and view your microblog status.' + depends=('kdebase-workspace' 'kdeplasma-addons-libs') + cd $srcdir/build/applets/microblog + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-news() { + pkgdesc='Show news from various sources' + depends=('kdebase-workspace') + cd $srcdir/build/applets/news + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-notes() { + pkgdesc='Desktop sticky notes' + depends=('kdebase-workspace') + cd $srcdir/build/applets/notes + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-nowplaying() { + pkgdesc='Displays currently playing audio' + depends=('kdebase-workspace') + cd $srcdir/build/applets/nowplaying + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-paste() { + pkgdesc='Paste text snippets' + depends=('kdebase-workspace') + cd $srcdir/build/applets/paste + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-pastebin() { + pkgdesc='Paste text/images to a remote server' + depends=('kdebase-workspace') + cd $srcdir/build/applets/pastebin + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-plasmaboard() { + pkgdesc='A virtual, on-screen keyboard' + depends=('kdebase-workspace') + cd $srcdir/build/applets/plasmaboard + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-previewer() { + pkgdesc='Preview This File' + depends=('kdebase-workspace') + install='kdeplasma-addons-applets.install' + cd $srcdir/build/applets/previewer + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-qalculate() { + pkgdesc='A powerful mathematical equation solver' + depends=('kdebase-workspace') + install='kdeplasma-addons-applets.install' + cd $srcdir/build/applets/qalculate + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-rememberthemilk() { + pkgdesc='Remember The Milk Todo list applet' + depends=('kdebase-workspace' 'kdeplasma-addons-libs') + cd $srcdir/build/applets/rememberthemilk + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-rssnow() { + pkgdesc='Show news from various sources' + depends=('kdebase-workspace') + cd $srcdir/build/applets/rssnow + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-showdashboard() { + pkgdesc='Show the Plasma widget dashboard above other windows' + depends=('kdebase-workspace') + cd $srcdir/build/applets/showdashboard + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-showdesktop() { + pkgdesc='Show the Plasma desktop' + depends=('kdebase-workspace') + cd $srcdir/build/applets/showdesktop + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-social-news() { + pkgdesc='Stay informed with the Social Desktop' + replaces=('kdeplasma-addons-applets-opendesktop' 'kdeplasma-addons-applets-opendesktop-activities') + conflicts=('kdeplasma-addons-applets-opendesktop' 'kdeplasma-addons-applets-opendesktop-activities') + depends=('kdebase-workspace') + cd $srcdir/build/applets/social-news + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-spellcheck() { + pkgdesc='Fast spell checking' + depends=('kdebase-workspace') + cd $srcdir/build/applets/spellcheck + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-systemloadviewer() { + pkgdesc='Tiny CPU/RAM/Swap monitor' + depends=('kdebase-workspace') + cd $srcdir/build/applets/systemloadviewer + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-timer() { + pkgdesc='Countdown over a specified time period' + depends=('kdebase-workspace') + cd $srcdir/build/applets/timer + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-unitconverter() { + pkgdesc='Plasmoid for converting units' + depends=('kdebase-workspace' 'kdeplasma-addons-libs') + cd $srcdir/build/applets/unitconverter + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-weather() { + pkgdesc='Displays Weather information' + depends=('kdebase-workspace' 'kdeplasma-addons-libs') + cd $srcdir/build/applets/weather + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-weatherstation() { + pkgdesc='Weather reports with an LCD display style' + depends=('kdebase-workspace' 'kdeplasma-addons-libs') + cd $srcdir/build/applets/weatherstation + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-webslice() { + pkgdesc='Show a part of a webpage' + depends=('kdebase-workspace' 'kdeplasma-addons-libs') + cd $srcdir/build/applets/webslice + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-containments() { + pkgdesc='Activities types for Plasma shells' + depends=('kdebase-workspace') + cd $srcdir/build/containments + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-libs() { + pkgdesc='Plasma Addon Library' + depends=('kdebase-workspace') + groups=() + replaces=('kdeplasma-addons-dataengines') + provides=('kdeplasma-addons-dataengines') + conflicts=('kdeplasma-addons-dataengines') + cd $srcdir/build/libs + make DESTDIR=$pkgdir install + cd $srcdir/build/dataengines + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-audioplayercontrol() { + pkgdesc='Allows to control MPRIS audio players (it is able to search through Amarok´s collection, too)' + depends=('kdebase-workspace') + cd $srcdir/build/runners/audioplayercontrol + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-browserhistory() { + pkgdesc='Searches in Konqueror´s history' + depends=('kdebase-workspace') + cd $srcdir/build/runners/browserhistory + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-characters() { + pkgdesc='special Characters' + depends=('kdebase-workspace') + cd $srcdir/build/runners/characters + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-contacts() { + pkgdesc='Finds entries in your address book' + depends=('kdebase-workspace') + cd $srcdir/build/runners/contacts + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-converter() { + pkgdesc='Convert values to different units' + depends=('kdebase-workspace' 'kdeplasma-addons-libs') + cd $srcdir/build/runners/converter + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-datetime() { + pkgdesc='The current date and time, locally or in any timezone' + depends=('kdebase-workspace') + cd $srcdir/build/runners/datetime + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-events() { + pkgdesc='Calendar Events runner' + depends=('kdebase-workspace') + cd $srcdir/build/runners/events + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-katesessions() { + pkgdesc='Matches Kate Sessions' + depends=('kdebase-workspace') + cd $srcdir/build/runners/katesessions + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-konquerorsessions() { + pkgdesc='Matches Konqueror Sessions' + depends=('kdebase-workspace') + cd $srcdir/build/runners/konquerorsessions + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-konsolesessions() { + pkgdesc='Matches Konsole Sessions' + depends=('kdebase-workspace') + cd $srcdir/build/runners/konsolesessions + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-kopete() { + pkgdesc='Kopete Contact runner' + depends=('kdebase-workspace') + cd $srcdir/build/runners/kopete + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-mediawiki() { + pkgdesc='Search on Wikitravel' + depends=('kdebase-workspace') + cd $srcdir/build/runners/mediawiki + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-spellchecker() { + pkgdesc='Check the spelling of a word' + depends=('kdebase-workspace') + cd $srcdir/build/runners/spellchecker + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-wallpapers-mandelbrot() { + pkgdesc='Mandelbrot' + depends=('kdebase-workspace') + cd $srcdir/build/wallpapers/mandelbrot + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-wallpapers-marble() { + pkgdesc='Globe' + depends=('kdebase-workspace' 'kdeedu-marble') + cd $srcdir/build/wallpapers/marble + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-wallpapers-pattern() { + pkgdesc='Pattern' + depends=('kdebase-workspace') + cd $srcdir/build/wallpapers/pattern + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-wallpapers-virus() { + pkgdesc='Virus' + depends=('kdebase-workspace') + cd $srcdir/build/wallpapers/virus + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-wallpapers-weather() { + pkgdesc='Weather' + depends=('kdebase-workspace' 'kdeplasma-addons-libs') + cd $srcdir/build/wallpapers/weather + make DESTDIR=$pkgdir install +} diff --git a/staging/kdeplasma-addons/kdeobservatory-qwt6.patch b/staging/kdeplasma-addons/kdeobservatory-qwt6.patch new file mode 100644 index 000000000..46ba0345d --- /dev/null +++ b/staging/kdeplasma-addons/kdeobservatory-qwt6.patch @@ -0,0 +1,12 @@ +diff -Naur kdeplasma-addons-4.6.5.bak/applets/kdeobservatory/src/commithistoryview.cpp kdeplasma-addons-4.6.5/applets/kdeobservatory/src/commithistoryview.cpp +--- kdeplasma-addons-4.6.5.bak/applets/kdeobservatory/src/commithistoryview.cpp 2011-07-15 14:04:17.323188525 +0200 ++++ kdeplasma-addons-4.6.5/applets/kdeobservatory/src/commithistoryview.cpp 2011-07-15 14:04:39.186521458 +0200 +@@ -124,7 +124,7 @@ + plot->setCanvasBackground(QColor(0, 0, 140)); + + QwtPlotCurve *curve = new QwtPlotCurve; +- curve->setData(x, y, j); ++ curve->setSamples(x, y, j); + delete []x; + delete []y; + diff --git a/staging/kdeplasma-addons/kdeplasma-addons-applets-lancelot.install b/staging/kdeplasma-addons/kdeplasma-addons-applets-lancelot.install new file mode 100644 index 000000000..ce5c32e1b --- /dev/null +++ b/staging/kdeplasma-addons/kdeplasma-addons-applets-lancelot.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-mime-database usr/share/mime &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} \ No newline at end of file diff --git a/staging/kdeplasma-addons/kdeplasma-addons-applets.install b/staging/kdeplasma-addons/kdeplasma-addons-applets.install new file mode 100644 index 000000000..c4ef46ba8 --- /dev/null +++ b/staging/kdeplasma-addons/kdeplasma-addons-applets.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} \ No newline at end of file diff --git a/staging/qwtplot3d/PKGBUILD b/staging/qwtplot3d/PKGBUILD new file mode 100644 index 000000000..5b4b28295 --- /dev/null +++ b/staging/qwtplot3d/PKGBUILD @@ -0,0 +1,42 @@ +# $Id: PKGBUILD 131787 2011-07-15 09:10:59Z ronald $ +# Maintainer: damir + +pkgname=qwtplot3d +pkgver=0.2.7 +pkgrel=2 +pkgdesc="Qt/OpenGL-based C++ programming library containing 3d-widgets" +arch=("i686" "x86_64") +license=('custom:zlib') +url="http://qwtplot3d.sourceforge.net/" +depends=('qt' 'qwt' 'mesa') +source=("http://downloads.sourceforge.net/sourceforge/qwtplot3d/qwtplot3d-$pkgver.tgz" + qwtplot3d-gcc44.patch) +sha1sums=('4463fafb8420a91825e165da7a296aaabd70abea' '52fa169b651a98550f8a8391ddf52e0eaeb2c215') + +build() { + cd ${srcdir}/${pkgname} + patch -p1 < ../qwtplot3d-gcc44.patch + + # build qwt: + qmake qwtplot3d.pro + make +} + +package() { + cd ${srcdir}/${pkgname} + + # install qwtplot3d: (by hand, because the Makefile do not provide a "install:") + install -d ${pkgdir}/usr/{include/qwtplot3d,lib} + + for n in include/* ; do + cp -d $n ${pkgdir}/usr/include/qwtplot3d + done + + for n in lib/libqwtplot3d.so* ; do + cp -d $n ${pkgdir}/usr/lib + done + + # install custom license + install -Dm644 ${srcdir}/${pkgname}/COPYING ${pkgdir}/usr/share/licenses/qwtplot3d/LICENSE +} + diff --git a/staging/qwtplot3d/qwtplot3d-gcc44.patch b/staging/qwtplot3d/qwtplot3d-gcc44.patch new file mode 100644 index 000000000..a76fe831a --- /dev/null +++ b/staging/qwtplot3d/qwtplot3d-gcc44.patch @@ -0,0 +1,12 @@ +diff -ur qwtplot3d-orig/include/qwt3d_function.h qwtplot3d/include/qwt3d_function.h +--- qwtplot3d-orig/include/qwt3d_function.h 2009-07-25 18:18:58.000000000 -0400 ++++ qwtplot3d/include/qwt3d_function.h 2009-07-25 18:19:19.000000000 -0400 +@@ -2,6 +2,7 @@ + #define qwt3d_function_h__2004_03_05_13_51_begin_guarded_code + + #include "qwt3d_gridmapping.h" ++#include + + namespace Qwt3D + { +Only in qwtplot3d/tmp: qwt3d_function.o diff --git a/testing/esound/PKGBUILD b/testing/esound/PKGBUILD new file mode 100644 index 000000000..b6d035b22 --- /dev/null +++ b/testing/esound/PKGBUILD @@ -0,0 +1,38 @@ +# $Id: PKGBUILD 131830 2011-07-16 00:02:10Z dreisner $ +# Maintainer: Jan de Groot +pkgname=esound +pkgver=0.2.41 +pkgrel=2 +pkgdesc="Enlightened Sound Daemon" +arch=(i686 x86_64) +license=('LGPL') +depends=('audiofile' 'alsa-lib>=1.0.18') +url="http://www.tux.org/~ricdude/EsounD.html" +provides=("esd=${pkgver}") +replaces=('esd') +conflicts=('esd') +backup=('etc/esd.conf') +options=('!libtool') +source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/0.2/${pkgname}-${pkgver}.tar.bz2 + esd-0.2.38-alsa-drain.patch + esd) +md5sums=('8d9aad3d94d15e0d59ba9dc0ea990c6c' + '3de93efcd1bc196a3585e6aef50eac48' + 'a4c76e7c7f75b201ea7ab6fb15b47472') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i "${srcdir}/esd-0.2.38-alsa-drain.patch" + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static \ + --with-audiofile --without-libwrap \ + --enable-alsa --disable-artstest + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/etc/rc.d" + install -m755 "${srcdir}/esd" "${pkgdir}/etc/rc.d/esd" +} diff --git a/testing/esound/esd b/testing/esound/esd new file mode 100755 index 000000000..d90ef55fa --- /dev/null +++ b/testing/esound/esd @@ -0,0 +1,37 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/bin/esd` +case "$1" in + start) + stat_busy "Starting Esound Daemon" + if [ -z "$PID" ]; then + /usr/bin/esd -nobeeps & + fi + if [ ! -z "$PID" -o $? -gt 0 ]; then + stat_fail + else + add_daemon esd + stat_done + fi + ;; + stop) + stat_busy "Stopping Esound Daemon" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon esd + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac diff --git a/testing/esound/esd-0.2.38-alsa-drain.patch b/testing/esound/esd-0.2.38-alsa-drain.patch new file mode 100644 index 000000000..f2fb716ba --- /dev/null +++ b/testing/esound/esd-0.2.38-alsa-drain.patch @@ -0,0 +1,11 @@ +--- esound-0.2.38/audio_alsa09.c.old 2007-06-11 12:22:24.000000000 +0200 ++++ esound-0.2.38/audio_alsa09.c 2007-06-11 12:22:49.000000000 +0200 +@@ -486,7 +486,7 @@ void esd_audio_flush(void) + } + + if (alsa_playback_handle != NULL) +- snd_pcm_drain( alsa_playback_handle ); ++ snd_pcm_drop( alsa_playback_handle ); + + if (alsadbg) + print_state(); diff --git a/testing/inetutils/PKGBUILD b/testing/inetutils/PKGBUILD new file mode 100644 index 000000000..19feb931e --- /dev/null +++ b/testing/inetutils/PKGBUILD @@ -0,0 +1,62 @@ +# $Id: PKGBUILD 131824 2011-07-15 23:53:22Z dan $ +# Maintainer: Eric Belanger + +pkgname=inetutils +pkgver=1.8 +pkgrel=3 +pkgdesc="A collection of common network programs" +arch=('i686' 'x86_64') +url="http://www.gnu.org/software/inetutils/" +license=('GPL') +depends=('readline' 'ncurses' 'pam') +provides=('netkit-ftp' 'netkit-rsh' 'netkit-telnet' 'netkit-ntalk') +conflicts=('netkit-ftp' 'netkit-rsh' 'netkit-telnet' 'netkit-ntalk') +replaces=('netkit-ftp' 'netkit-rsh' 'netkit-telnet' 'netkit-ntalk') +backup=('etc/conf.d/ftpd' 'etc/xinetd.d/telnet' 'etc/xinetd.d/talk' \ + 'etc/xinetd.d/rexec' 'etc/xinetd.d/rlogin' 'etc/xinetd.d/rsh') +options=('!emptydirs') +install=inetutils.install +source=(http://ftp.gnu.org/gnu/inetutils/${pkgname}-${pkgver}.tar.gz \ + ftpd.rc ftpd.conf telnet.xinetd talk.xinetd rexec.xinetd rlogin.xinetd rsh.xinetd) +md5sums=('ad8fdcdf1797b9ca258264a6b04e48fd' 'c167200f6faeb64659e69ced2a9d672a'\ + 'e6e6e5990a2e8159a276fef8fbf54c04' '8596208d119045543c5fb644e1d713d5'\ + '2c3655985cf122591d71d031af84ff90' 'c490ea36751ac5f1d61d2c014959a3d1'\ + 'c25d8382a994de84d9c6962d804f689b' 'c3aa508a9d1293a787341108cd49c1b7') +sha1sums=('598445859b511f73681e4d74a41d65cd6ae0f83e' '84dc802b5e57b5e04c847572225a3b9612017155'\ + '68a590083b45997dfdb80e666b2de762f494ba74' 'bfad98a4a62f1fff8779f076c6019ed07f9111af'\ + '27d99b910eec0fc26bd79ccc2c1de26608330298' '87aa4f38ebee9dac5dcaa04cbc3f2f0906bec605'\ + '81f10b3b688e3952f793b35bcef63b5bf257a92b' '81f4a8da823cf0bb14284fc71ee6108849691eda') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --libexec=/usr/sbin --localstatedir=/var \ + --mandir=/usr/share/man --infodir=/usr/share/info \ + --without-wrap --with-pam \ + --enable-ftp --enable-ftpd \ + --enable-telnet --enable-telnetd \ + --enable-talk --enable-talkd \ + --enable-rlogin --enable-rlogind \ + --enable-rsh --enable-rshd \ + --enable-rexec --enable-rexecd \ + --enable-rcp \ + --disable-tftp --disable-tftpd \ + --disable-ping --disable-ping6 \ + --disable-logger --disable-syslogd \ + --disable-inetd --disable-whois \ + --disable-uucpd --disable-hostname \ + --disable-ifconfig --disable-traceroute + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + + install -D -m755 "${srcdir}/ftpd.rc" "${pkgdir}/etc/rc.d/ftpd" + install -D -m644 "${srcdir}/ftpd.conf" "${pkgdir}/etc/conf.d/ftpd" + install -D -m644 "${srcdir}/telnet.xinetd" "${pkgdir}/etc/xinetd.d/telnet" + install -D -m644 "${srcdir}/talk.xinetd" "${pkgdir}/etc/xinetd.d/talk" + install -D -m644 "${srcdir}/rexec.xinetd" "${pkgdir}/etc/xinetd.d/rexec" + install -D -m644 "${srcdir}/rlogin.xinetd" "${pkgdir}/etc/xinetd.d/rlogin" + install -D -m644 "${srcdir}/rsh.xinetd" "${pkgdir}/etc/xinetd.d/rsh" +} diff --git a/testing/inetutils/ftpd.conf b/testing/inetutils/ftpd.conf new file mode 100644 index 000000000..f660f0035 --- /dev/null +++ b/testing/inetutils/ftpd.conf @@ -0,0 +1,4 @@ +# +# Parameters to be passed to ftpd +# +FTPD_ARGS="" diff --git a/testing/inetutils/ftpd.rc b/testing/inetutils/ftpd.rc new file mode 100644 index 000000000..3d0d34421 --- /dev/null +++ b/testing/inetutils/ftpd.rc @@ -0,0 +1,37 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions +. /etc/conf.d/ftpd + +PID=$(pidof -o %PPID /usr/sbin/ftpd) +case "$1" in + start) + stat_busy "Starting ftpd" + [ -z "$PID" ] && /usr/sbin/ftpd -D $FTPD_ARGS + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon ftpd + stat_done + fi + ;; + stop) + stat_busy "Stopping ftpd" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon ftpd + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/testing/inetutils/inetutils.install b/testing/inetutils/inetutils.install new file mode 100644 index 000000000..b338fa498 --- /dev/null +++ b/testing/inetutils/inetutils.install @@ -0,0 +1,20 @@ +infodir=/usr/share/info +filelist=(inetutils.info.gz) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file $infodir/dir 2> /dev/null + done +} diff --git a/testing/inetutils/rexec.xinetd b/testing/inetutils/rexec.xinetd new file mode 100644 index 000000000..4659e4745 --- /dev/null +++ b/testing/inetutils/rexec.xinetd @@ -0,0 +1,10 @@ +service exec +{ + flags = REUSE + socket_type = stream + wait = no + user = root + server = /usr/sbin/rexecd + log_on_failure += USERID + disable = yes +} diff --git a/testing/inetutils/rlogin.xinetd b/testing/inetutils/rlogin.xinetd new file mode 100644 index 000000000..5c72f86df --- /dev/null +++ b/testing/inetutils/rlogin.xinetd @@ -0,0 +1,10 @@ +service login +{ + flags = REUSE + socket_type = stream + wait = no + user = root + server = /usr/sbin/rlogind + log_on_failure += USERID + disable = yes +} diff --git a/testing/inetutils/rsh.xinetd b/testing/inetutils/rsh.xinetd new file mode 100644 index 000000000..a13738c31 --- /dev/null +++ b/testing/inetutils/rsh.xinetd @@ -0,0 +1,10 @@ +service shell +{ + flags = REUSE + socket_type = stream + wait = no + user = root + server = /usr/sbin/rshd + log_on_failure += USERID + disable = yes +} diff --git a/testing/inetutils/talk.xinetd b/testing/inetutils/talk.xinetd new file mode 100644 index 000000000..6abef359c --- /dev/null +++ b/testing/inetutils/talk.xinetd @@ -0,0 +1,10 @@ +service ntalk +{ + flags = REUSE + socket_type = dgram + wait = yes + user = root + server = /usr/sbin/talkd + log_on_failure += USERID + disable = yes +} diff --git a/testing/inetutils/telnet.xinetd b/testing/inetutils/telnet.xinetd new file mode 100644 index 000000000..bd3a5e4b1 --- /dev/null +++ b/testing/inetutils/telnet.xinetd @@ -0,0 +1,10 @@ +service telnet +{ + flags = REUSE + socket_type = stream + wait = no + user = root + server = /usr/sbin/telnetd + log_on_failure += USERID + disable = yes +} diff --git a/testing/mysql/PKGBUILD b/testing/mysql/PKGBUILD new file mode 100644 index 000000000..54248034e --- /dev/null +++ b/testing/mysql/PKGBUILD @@ -0,0 +1,130 @@ +# $Id: PKGBUILD 131641 2011-07-13 07:03:22Z andrea $ +# Maintainer: Andrea Scarpino +# Contributor: Douglas Soares de Andrade +# Contributor: judd + +pkgbase=mysql +pkgname=('libmysqlclient' 'mysql-clients' 'mysql') +pkgver=5.5.14 +pkgrel=2 +arch=('i686' 'x86_64') +license=('GPL') +url="http://www.mysql.com/" +makedepends=('cmake' 'openssl' 'zlib') +options=('!libtool') +source=("http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.5/${pkgbase}-${pkgver}.tar.gz" + 'mysqld' + 'my.cnf') +md5sums=('19f43bb9c72b1b5f7ff86a7f921c9244' + '2234207625baa29b2ff7d7b4f088abce' + '1c949c0dbea5206af0db14942d9927b6') + +build() { + cd "${srcdir}" + mkdir build + cd build + + # CFLAGS/CXXFLAGS as suggested upstream + CFLAGS="-fPIC ${CFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer" \ + CXXFLAGS="-fPIC ${CXXFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -felide-constructors -fno-rtti" \ + + cmake ../${pkgbase}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DSYSCONFDIR=/etc/mysql \ + -DMYSQL_DATADIR=/var/lib/mysql \ + -DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock \ + -DDEFAULT_CHARSET=utf8 \ + -DDEFAULT_COLLATION=utf8_general_ci \ + -DENABLED_LOCAL_INFILE=ON \ + -DINSTALL_INFODIR=share/mysql/docs \ + -DINSTALL_MANDIR=share/man \ + -DINSTALL_PLUGINDIR=/usr/lib/mysql/plugin \ + -DINSTALL_SCRIPTDIR=bin \ + -DINSTALL_INCLUDEDIR=include/mysql \ + -DINSTALL_DOCREADMEDIR=share/mysql \ + -DINSTALL_SUPPORTFILESDIR=share/mysql \ + -DINSTALL_MYSQLSHAREDIR=share/mysql \ + -DINSTALL_DOCDIR=share/mysql/docs \ + -DINSTALL_SHAREDIR=share/mysql \ + -DWITH_READLINE=ON \ + -DWITH_ZLIB=system \ + -DWITH_SSL=system \ + -DWITH_LIBWRAP=OFF \ + -DWITH_MYSQLD_LDFLAGS="${LDFLAGS}" \ + -DWITH_EXTRA_CHARSETS=complex \ + -DWITH_EMBEDDED_SERVER=ON \ + -DWITH_INNOBASE_STORAGE_ENGINE=1 \ + -DWITH_PARTITION_STORAGE_ENGINE=1 \ + -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \ + -DWITHOUT_ARCHIVE_STORAGE_ENGINE=1 \ + -DWITHOUT_BLACKHOLE_STORAGE_ENGINE=1 \ + -DWITHOUT_FEDERATED_STORAGE_ENGINE=1 + + make +} + +package_libmysqlclient(){ + pkgdesc="MySQL client libraries" + depends=('openssl') + + cd "${srcdir}"/build + for dir in include libmysql libmysqld libservices; do + make -C ${dir} DESTDIR="${pkgdir}" install + done + + install -d "${pkgdir}"/usr/bin + install -m755 scripts/mysql_config "${pkgdir}"/usr/bin/ + install -d "${pkgdir}"/usr/share/man/man1 + for man in mysql_config mysql_client_test_embedded mysqltest_embedded; do + install -m644 "${srcdir}"/${pkgbase}-${pkgver}/man/$man.1 "${pkgdir}"/usr/share/man/man1/$man.1 + done +} + +package_mysql-clients(){ + pkgdesc="MySQL client tools" + depends=('libmysqlclient') + + cd "${srcdir}"/build + make -C client DESTDIR="${pkgdir}" install + + # install man pages + install -d "${pkgdir}"/usr/share/man/man1 + for man in mysql mysqladmin mysqlcheck mysqldump mysqlimport mysqlshow mysqlslap; do + install -m644 "${srcdir}"/${pkgbase}-${pkgver}/man/$man.1 "${pkgdir}"/usr/share/man/man1/$man.1 + done + + # provided by mysql + rm "${pkgdir}"/usr/bin/{mysql_upgrade,mysqlbinlog,mysqltest} +} + +package_mysql(){ + pkgdesc="A fast SQL database server" + backup=('etc/mysql/my.cnf') + install=mysql.install + depends=('mysql-clients' 'net-tools') + optdepends=('perl-dbi' 'perl-dbd-mysql') + options=('emptydirs') + + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install + + install -Dm644 "${srcdir}"/my.cnf "${pkgdir}"/etc/mysql/my.cnf + install -Dm755 "${srcdir}"/mysqld "${pkgdir}"/etc/rc.d/mysqld + + # provided by libmysqlclient + rm "${pkgdir}"/usr/bin/{mysql_config,mysql_client_test_embedded,mysqltest_embedded} + rm "${pkgdir}"/usr/lib/libmysql* + rm -r "${pkgdir}"/usr/include/ + rm "${pkgdir}"/usr/share/man/man1/{mysql_config,mysql_client_test_embedded,mysqltest_embedded}.1 + + # provided by mysql-clients + rm "${pkgdir}"/usr/bin/{mysql,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap} + rm "${pkgdir}"/usr/share/man/man1/{mysql,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap}.1 + + # not needed + rm -r "${pkgdir}"/usr/{data,mysql-test,sql-bench} + rm "${pkgdir}"/usr/share/man/man1/mysql-test-run.pl.1 + + install -dm700 "${pkgdir}"/var/lib/mysql +} diff --git a/testing/mysql/my.cnf b/testing/mysql/my.cnf new file mode 100644 index 000000000..9a41b4fc3 --- /dev/null +++ b/testing/mysql/my.cnf @@ -0,0 +1,145 @@ +# MySQL config file for medium systems. +# +# This is for a system with little memory (32M - 64M) where MySQL plays +# an important part, or systems up to 128M where MySQL is used together with +# other programs (such as a web server) +# +# MySQL programs look for option files in a set of +# locations which depend on the deployment platform. +# You can copy this option file to one of those +# locations. For information about these locations, see: +# http://dev.mysql.com/doc/mysql/en/option-files.html +# +# In this file, you can use all long options that a program supports. +# If you want to know which options a program supports, run the program +# with the "--help" option. + +# The following options will be passed to all MySQL clients +[client] +#password = your_password +port = 3306 +socket = /var/run/mysqld/mysqld.sock + +# Here follows entries for some specific programs + +# The MySQL server +[mysqld] +port = 3306 +socket = /var/run/mysqld/mysqld.sock +datadir = /var/lib/mysql +skip-external-locking +key_buffer_size = 16M +max_allowed_packet = 1M +table_open_cache = 64 +sort_buffer_size = 512K +net_buffer_length = 8K +read_buffer_size = 256K +read_rnd_buffer_size = 512K +myisam_sort_buffer_size = 8M + +# Don't listen on a TCP/IP port at all. This can be a security enhancement, +# if all processes that need to connect to mysqld run on the same host. +# All interaction with mysqld must be made via Unix sockets or named pipes. +# Note that using this option without enabling named pipes on Windows +# (via the "enable-named-pipe" option) will render mysqld useless! +# +skip-networking + +# Replication Master Server (default) +# binary logging is required for replication +log-bin=mysql-bin + +# binary logging format - mixed recommended +binlog_format=mixed + +# required unique id between 1 and 2^32 - 1 +# defaults to 1 if master-host is not set +# but will not function as a master if omitted +server-id = 1 + +# Replication Slave (comment out master section to use this) +# +# To configure this host as a replication slave, you can choose between +# two methods : +# +# 1) Use the CHANGE MASTER TO command (fully described in our manual) - +# the syntax is: +# +# CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=, +# MASTER_USER=, MASTER_PASSWORD= ; +# +# where you replace , , by quoted strings and +# by the master's port number (3306 by default). +# +# Example: +# +# CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306, +# MASTER_USER='joe', MASTER_PASSWORD='secret'; +# +# OR +# +# 2) Set the variables below. However, in case you choose this method, then +# start replication for the first time (even unsuccessfully, for example +# if you mistyped the password in master-password and the slave fails to +# connect), the slave will create a master.info file, and any later +# change in this file to the variables' values below will be ignored and +# overridden by the content of the master.info file, unless you shutdown +# the slave server, delete master.info and restart the slaver server. +# For that reason, you may want to leave the lines below untouched +# (commented) and instead use CHANGE MASTER TO (see above) +# +# required unique id between 2 and 2^32 - 1 +# (and different from the master) +# defaults to 2 if master-host is set +# but will not function as a slave if omitted +#server-id = 2 +# +# The replication master for this slave - required +#master-host = +# +# The username the slave will use for authentication when connecting +# to the master - required +#master-user = +# +# The password the slave will authenticate with when connecting to +# the master - required +#master-password = +# +# The port the master is listening on. +# optional - defaults to 3306 +#master-port = +# +# binary logging - not required for slaves, but recommended +#log-bin=mysql-bin + +# Uncomment the following if you are using InnoDB tables +#innodb_data_home_dir = /var/lib/mysql +#innodb_data_file_path = ibdata1:10M:autoextend +#innodb_log_group_home_dir = /var/lib/mysql +# You can set .._buffer_pool_size up to 50 - 80 % +# of RAM but beware of setting memory usage too high +#innodb_buffer_pool_size = 16M +#innodb_additional_mem_pool_size = 2M +# Set .._log_file_size to 25 % of buffer pool size +#innodb_log_file_size = 5M +#innodb_log_buffer_size = 8M +#innodb_flush_log_at_trx_commit = 1 +#innodb_lock_wait_timeout = 50 + +[mysqldump] +quick +max_allowed_packet = 16M + +[mysql] +no-auto-rehash +# Remove the next comment character if you are not familiar with SQL +#safe-updates + +[myisamchk] +key_buffer_size = 20M +sort_buffer_size = 20M +read_buffer = 2M +write_buffer = 2M + +[mysqlhotcopy] +interactive-timeout diff --git a/testing/mysql/mysql.install b/testing/mysql/mysql.install new file mode 100644 index 000000000..9a4479215 --- /dev/null +++ b/testing/mysql/mysql.install @@ -0,0 +1,26 @@ +post_install(){ + groupadd -g 89 mysql &>/dev/null + useradd -u 89 -g mysql -d /var/lib/mysql -s /bin/false mysql &>/dev/null + usr/bin/mysql_install_db --user=mysql --basedir=/usr + chown -R mysql:mysql var/lib/mysql &>/dev/null +} + +post_upgrade(){ + getent group mysql >/dev/null 2>&1 || groupadd -g 89 mysql &>/dev/null + getent passwd mysql >/dev/null 2>&1 || useradd -u 89 -g mysql -d /var/lib/mysql -s /bin/false mysql &>/dev/null + + if [ "$(vercmp $2 5.5)" -lt 0 ]; then + echo " >> " + echo " >> Major version update. Consider restart the service, and then running mysql_upgrade after it." + echo " >> " + fi +} + +post_remove(){ + if getent passwd mysql >/dev/null 2>&1; then + userdel mysql + fi + if getent group mysql >/dev/null 2>&1; then + groupdel mysql + fi +} diff --git a/testing/mysql/mysqld b/testing/mysql/mysqld new file mode 100755 index 000000000..1ac88a7cc --- /dev/null +++ b/testing/mysql/mysqld @@ -0,0 +1,77 @@ +#!/bin/bash + +# general config +. /etc/rc.conf +. /etc/rc.d/functions + +getPID() { + echo $(pgrep -u mysql mysqld 2>/dev/null); +} + +case "$1" in + start) + stat_busy "Starting MySQL Server" + [ ! -d /var/run/mysqld ] && install -d -g mysql -o mysql /var/run/mysqld &>/dev/null + if [ -z "$(getPID)" ]; then + /usr/bin/mysqld_safe --user=mysql &>/dev/null & + if [ $? -gt 0 ]; then + stat_fail + exit 1 + else + timeo=30 + while [ $timeo -gt 0 ]; do + response=`/usr/bin/mysqladmin -uUNKNOWN_USER ping 2>&1` && break + echo "$response" | grep -q "mysqld is alive" && break + sleep 1 + let timeo=${timeo}-1 + done + if [ $timeo -eq 0 ]; then + stat_fail + exit 1 + else + echo $(getPID) > /var/run/mysqld/mysqld.pid + add_daemon mysqld + stat_done + fi + fi + else + stat_fail + exit 1 + fi + ;; + + stop) + stat_busy "Stopping MySQL Server" + if [ ! -z "$(getPID)" ]; then + timeo=30 + kill $(getPID) &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + exit 1 + fi + while [ ! -z "$(getPID)" -a $timeo -gt 0 ]; do + sleep 1 + let timeo=${timeo}-1 + done + if [ -z "$(getPID)" ]; then + rm -f /var/run/mysqld/mysqld.pid &>/dev/null + rm_daemon mysqld + stat_done + else + stat_fail + exit 1 + fi + else + stat_fail + exit 1 + fi + ;; + + restart) + $0 stop + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/testing/net-snmp/PKGBUILD b/testing/net-snmp/PKGBUILD new file mode 100644 index 000000000..a1f72cb01 --- /dev/null +++ b/testing/net-snmp/PKGBUILD @@ -0,0 +1,48 @@ +# $Id: PKGBUILD 131650 2011-07-13 08:13:14Z andrea $ +# Maintainer: Eric Belanger +# Contributor: Dale Blount + +pkgname=net-snmp +pkgver=5.6.1 +pkgrel=3 +pkgdesc="A suite of applications used to implement SNMP v1, SNMP v2c and SNMP v3 using both IPv4 and IPv6" +arch=('i686' 'x86_64') +url="http://www.net-snmp.org/" +license=('custom') +depends=('openssl' 'libnl') +makedepends=('setuptools') +optdepends=('perl-term-readkey: for snmpcheck application' + 'perl-tk: for snmpcheck and tkmib applications' + 'python2: for the python modules') +provides=('ucd-snmp') +options=('!libtool' '!makeflags' '!emptydirs') +source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz" + 'snmpd.rc') +md5sums=('b4e30ead5783b0bb1d280172c6095ea4' + '9f0d13676ba1fae1eb7eb178edd85b43') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + sed -i -e "s:\(install --basedir=\$\$dir\):\1 --root='${pkgdir}':" Makefile.in + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --enable-ucd-snmp-compatibility \ + --enable-ipv6 \ + --with-python-modules \ + --with-default-snmp-version="3" \ + --with-sys-contact="root@localhost" \ + --with-sys-location="Unknown" \ + --with-logfile="/var/log/snmpd.log" \ + --with-mib-modules="host misc/ipfwacc ucd-snmp/diskio tunnel ucd-snmp/dlmod" \ + --with-persistent-directory="/var/net-snmp" \ + PYTHONPROG=/usr/bin/python2 + make NETSNMP_DONT_CHECK_VERSION=1 LDFLAGS+="-Wl,-rpath -Wl,/usr/lib/perl5/core_perl/CORE" +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" INSTALL_PREFIX="${pkgdir}" INSTALLDIRS=vendor install + install -D -m755 "${srcdir}/snmpd.rc" "${pkgdir}/etc/rc.d/snmpd" + install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/testing/net-snmp/libnl-2.patch b/testing/net-snmp/libnl-2.patch new file mode 100644 index 000000000..7c140fe83 --- /dev/null +++ b/testing/net-snmp/libnl-2.patch @@ -0,0 +1,67 @@ +diff -Nur net-snmp-5.5.orig//agent/mibgroup/mibII/tcpTable.c net-snmp-5.5//agent/mibgroup/mibII/tcpTable.c +--- net-snmp-5.5.orig//agent/mibgroup/mibII/tcpTable.c 2009-06-13 04:02:02.000000000 +0200 ++++ net-snmp-5.5//agent/mibgroup/mibII/tcpTable.c 2011-01-15 10:31:03.579735957 +0100 +@@ -555,8 +555,10 @@ + static int + tcpTable_load_netlink() + { ++ int err; ++ + /* TODO: perhaps use permanent nl handle? */ +- struct nl_handle *nl = nl_handle_alloc(); ++ struct nl_sock *nl = nl_socket_alloc(); + + if (nl == NULL) { + DEBUGMSGTL(("mibII/tcpTable", "Failed to allocate netlink handle\n")); +@@ -564,10 +566,10 @@ + return -1; + } + +- if (nl_connect(nl, NETLINK_INET_DIAG) < 0) { +- DEBUGMSGTL(("mibII/tcpTable", "Failed to connect to netlink: %s\n", nl_geterror())); +- snmp_log(LOG_ERR, "snmpd: Couldn't connect to netlink: %s\n", nl_geterror()); +- nl_handle_destroy(nl); ++ if ((err = nl_connect(nl, NETLINK_INET_DIAG)) < 0) { ++ DEBUGMSGTL(("mibII/tcpTable", "Failed to connect to netlink: %s\n", nl_geterror(err))); ++ snmp_log(LOG_ERR, "snmpd: Couldn't connect to netlink: %s\n", nl_geterror(err)); ++ nl_socket_free(nl); + return -1; + } + +@@ -579,10 +581,10 @@ + struct nl_msg *nm = nlmsg_alloc_simple(TCPDIAG_GETSOCK, NLM_F_ROOT|NLM_F_MATCH|NLM_F_REQUEST); + nlmsg_append(nm, &req, sizeof(struct inet_diag_req), 0); + +- if (nl_send_auto_complete(nl, nm) < 0) { +- DEBUGMSGTL(("mibII/tcpTable", "nl_send_autocomplete(): %s\n", nl_geterror())); +- snmp_log(LOG_ERR, "snmpd: nl_send_autocomplete(): %s\n", nl_geterror()); +- nl_handle_destroy(nl); ++ if ((err = nl_send_auto_complete(nl, nm)) < 0) { ++ DEBUGMSGTL(("mibII/tcpTable", "nl_send_autocomplete(): %s\n", nl_geterror(err))); ++ snmp_log(LOG_ERR, "snmpd: nl_send_autocomplete(): %s\n", nl_geterror(err)); ++ nl_socket_free(nl); + return -1; + } + nlmsg_free(nm); +@@ -593,9 +595,9 @@ + + while (running) { + if ((len = nl_recv(nl, &peer, &buf, NULL)) <= 0) { +- DEBUGMSGTL(("mibII/tcpTable", "nl_recv(): %s\n", nl_geterror())); +- snmp_log(LOG_ERR, "snmpd: nl_recv(): %s\n", nl_geterror()); +- nl_handle_destroy(nl); ++ DEBUGMSGTL(("mibII/tcpTable", "nl_recv(): %s\n", nl_geterror(len))); ++ snmp_log(LOG_ERR, "snmpd: nl_recv(): %s\n", nl_geterror(len)); ++ nl_socket_free(nl); + return -1; + } + +@@ -644,7 +646,7 @@ + free(buf); + } + +- nl_handle_destroy(nl); ++ nl_socket_free(nl); + + if (tcp_head) { + DEBUGMSGTL(("mibII/tcpTable", "Loaded TCP Table using netlink\n")); diff --git a/testing/net-snmp/snmpd.rc b/testing/net-snmp/snmpd.rc new file mode 100644 index 000000000..9f1b83f64 --- /dev/null +++ b/testing/net-snmp/snmpd.rc @@ -0,0 +1,38 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/sbin/snmpd` +case "$1" in + start) + stat_busy "Starting Net-SNMP" + [ -z "$PID" ] && /usr/sbin/snmpd + if [ $? -gt 0 ]; then + stat_fail + else + echo $PID > /var/run/snmpd.pid + add_daemon snmpd + stat_done + fi + ;; + stop) + stat_busy "Stopping Net-SNMP" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm /var/run/snmpd.pid + rm_daemon snmpd + stat_done + fi + ;; + restart) + $0 stop + sleep 2 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/testing/nfs-utils/PKGBUILD b/testing/nfs-utils/PKGBUILD new file mode 100644 index 000000000..3adca96d4 --- /dev/null +++ b/testing/nfs-utils/PKGBUILD @@ -0,0 +1,72 @@ +# $Id: PKGBUILD 131837 2011-07-16 00:22:48Z dreisner $ +# Maintainer: Tobias Powalowski +# Contributor: John Proctor +# Contributor: dibblethewrecker +# Contributor: abelstr +# Contributor: Marco Lima + +pkgname=nfs-utils +pkgver=1.2.3 +pkgrel=3 +pkgdesc="Support programs for Network File Systems" +arch=('i686' 'x86_64') +url='http://nfs.sourceforge.net' +license=('GPL') +backup=(etc/{exports,idmapd.conf} etc/conf.d/{nfs-common.conf,nfs-server.conf}) +depends=('glibc' 'e2fsprogs' 'rpcbind' 'libtirpc>=0.2.1' 'librpcsecgss>=0.19-2' 'nfsidmap' 'libevent>=2.0.10' 'libgssglue') +makedepends=('pkgconfig' 'autoconf' 'automake') +source=(http://downloads.sourceforge.net/project/nfs/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.bz2 + nfs-common + nfs-common.conf + nfs-server + nfs-server.conf + exports + idmapd.conf + start-statd.patch + nfs-utils-1.1.4-mtab-sym.patch + nfs-utils-1.1.4-no-exec.patch) +install=nfs-utils.install +md5sums=('1131dc5f27c4f3905a6e7ee0d594fd4d' + 'fc508e10cdf5e8ddd80373b1b2bc99a1' + 'f73f197a16b02c3e248488ec35c4cf43' + '5ae080f6117cef3140f02bc162bdc755' + '2bf71def3263325643a09458635520f0' + 'ff585faf410a62c4333a027c50b56bae' + 'eb4f4027fab6fc1201f1ca04f5954c76' + 'e24f81a8c8657672e262c61235d34b4a' + '7674106eaaa4c149bccd4f05fe3604e9' + '4f4827dfc93008dfadd0a530ad0872b2') + +build() { + cd $srcdir/${pkgname}-${pkgver} + patch -Np1 -i ../nfs-utils-1.1.4-mtab-sym.patch + patch -Np1 -i ../nfs-utils-1.1.4-no-exec.patch + + # arch specific patch + patch -Np0 -i $srcdir/start-statd.patch + + ./configure --prefix=/usr --enable-nfsv3 --enable-nfsv4 --enable-gss \ + --without-tcp-wrappers --with-statedir=/var/lib/nfs --enable-ipv6 --sysconfdir=/etc + + make +} + +package() { + cd $srcdir/${pkgname}-${pkgver} + make DESTDIR=$pkgdir install + + # support python2 (FS#25120) + sed -i '1s/python$/python2/' "$pkgdir"/usr/sbin/{nfsiostat,mountstats} + + # NFS & NFSv4 init scripts + install -D -m 755 ../nfs-common "$pkgdir/"etc/rc.d/nfs-common + install -D -m 755 ../nfs-server "$pkgdir/"etc/rc.d/nfs-server + # Configuration + install -D -m 644 ../exports "$pkgdir/"etc/exports + install -D -m 644 ../idmapd.conf "$pkgdir/"etc/idmapd.conf + install -D -m 644 ../nfs-common.conf "$pkgdir/"etc/conf.d/nfs-common.conf + install -D -m 644 ../nfs-server.conf "$pkgdir/"etc/conf.d/nfs-server.conf + # directories + mkdir "$pkgdir/"var/lib/nfs/rpc_pipefs + mkdir "$pkgdir/"var/lib/nfs/v4recovery +} diff --git a/testing/nfs-utils/exports b/testing/nfs-utils/exports new file mode 100644 index 000000000..8f4aac598 --- /dev/null +++ b/testing/nfs-utils/exports @@ -0,0 +1,15 @@ +# /etc/exports +# +# List of directories exported to NFS clients. See exports(5). +# Use exportfs -arv to reread. +# +# Example for NFSv2 and NFSv3: +# /srv/home hostname1(rw,sync) hostname2(ro,sync) +# +# Example for NFSv4: +# /srv/nfs4 hostname1(rw,sync,fsid=0) +# /srv/nfs4/home hostname1(rw,sync,nohide) +# Using Kerberos and integrity checking: +# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt) +# /srv/nfs4/home gss/krb5i(rw,sync,nohide) +# diff --git a/testing/nfs-utils/idmapd.conf b/testing/nfs-utils/idmapd.conf new file mode 100644 index 000000000..b1b23afe9 --- /dev/null +++ b/testing/nfs-utils/idmapd.conf @@ -0,0 +1,14 @@ +[General] + +Verbosity = 0 +Pipefs-Directory = /var/lib/nfs/rpc_pipefs +Domain = localdomain + +[Mapping] + +Nobody-User = nobody +Nobody-Group = nobody + +[Translation] + +Method = nsswitch diff --git a/testing/nfs-utils/nfs-common b/testing/nfs-utils/nfs-common new file mode 100644 index 000000000..13742bde3 --- /dev/null +++ b/testing/nfs-utils/nfs-common @@ -0,0 +1,319 @@ +#!/bin/bash + +daemon_name=nfs-common + +# daemon dependencies +DAEMON_DEPENDS=('rpcbind') + +NEED_STATD= +STATD_OPTS= +NEED_IDMAPD= +IDMAPD_OPTS= +NEED_GSSD= +GSSD_OPTS= +PIPEFS_MOUNTPOINT= +PIPEFS_MOUNTOPTS= + +# rpc.statd daemon & binary location +STATD_DAEMON_NAME=rpc.statd +STATD="/usr/sbin/rpc.statd" + +# rpc.idmapd daemon & binary location +IDMAPD_DAEMON_NAME=rpc.idmapd +IDMAPD="/usr/sbin/rpc.idmapd" + +# rpc.gssd daemon & binary location +GSSD_DAEMON_NAME=rpc.gssd +GSSD="/usr/sbin/rpc.gssd" + +. /etc/rc.conf +. /etc/rc.d/functions +. /etc/conf.d/$daemon_name.conf + +# Default mountpoint and options for rpc_pipefs filesystem +[ -z "$PIPEFS_MOUNTPOINT" ] && PIPEFS_MOUNTPOINT="/var/lib/nfs/rpc_pipefs" +[ -z "$PIPEFS_MOUNTOPTS" ] && PIPEFS_MOUNTOPTS="defaults" + +# Parse the fstab file, and determine whether we need idmapd and gssd. (The +# /etc/conf.d/nfs-common settings, if any, will override our autodetection.) +AUTO_NEED_IDMAPD=no +AUTO_NEED_GSSD=no + +if [ -f /etc/fstab ]; then + exec 9<&0 /dev/null ; then + return 1 + fi + + if grep -vw "$1" /proc/mounts &> /dev/null ; then + if ! mountpoint -q "$2" ; then + mount -t "$1" "$1" "$2" -o "$3" + return + fi + fi + return 0 +} + +do_umount() { + if mountpoint -q "$1" ; then + umount "$1" + fi + return 0 +} + +get_pid() { + pidof -o %PPID "$1" +} + +case "$1" in + start) + ck_depends ${DAEMON_DEPENDS[@]} + + rc=0 + if [ "$NEED_STATD" = yes ]; then + stat_busy "Starting $STATD_DAEMON_NAME daemon" + PID=$(get_pid $STATD) + if [ -z "$PID" ]; then + [ -f /var/run/$STATD_DAEMON_NAME.pid ] && rm -f /var/run/$STATD_DAEMON_NAME.pid + # RUN + $STATD $STATD_OPTS + # + rc=$(($rc+$?)) + if [ $rc -gt 0 ]; then + stat_fail + exit $rc + else + echo $(get_pid $STATD) > /var/run/$STATD_DAEMON_NAME.pid + stat_done + fi + else + stat_fail + exit 1 + fi + # Run sm-notify + /usr/sbin/sm-notify $SMNOTIFY_OPTS + fi + + if [ "$NEED_IDMAPD" = yes ] || [ "$NEED_GSSD" = yes ]; then + stat_busy "Mounting pipefs filesystem" + do_modprobe sunrpc + do_modprobe nfs + do_modprobe nfsd + do_mount rpc_pipefs "$PIPEFS_MOUNTPOINT" "$PIPEFS_MOUNTOPTS" + rc=$(($rc+$?)) + if [ $rc -gt 0 ]; then + stat_fail + exit $rc + else + stat_done + fi + + if [ "$NEED_IDMAPD" = yes ]; then + stat_busy "Starting $IDMAPD_DAEMON_NAME daemon" + PID=$(get_pid $IDMAPD) + if [ -z "$PID" ]; then + [ -f /var/run/$IDMAPD_DAEMON_NAME.pid ] && rm -f /var/run/$IDMAPD_DAEMON_NAME.pid + # RUN + $IDMAPD $IDMAPD_OPTS + # + rc=$(($rc+$?)) + if [ $rc -gt 0 ]; then + stat_fail + exit $rc + else + echo $(get_pid $IDMAPD) > /var/run/$IDMAPD_DAEMON_NAME.pid + stat_done + fi + else + stat_fail + exit 1 + fi + fi + + if [ "$NEED_GSSD" = yes ]; then + do_modprobe rpcsec_gss_krb5 + stat_busy "Starting $GSSD_DAEMON_NAME daemon" + PID=$(get_pid $GSSD) + if [ -z "$PID" ]; then + [ -f /var/run/$GSSD_DAEMON_NAME.pid ] && rm -f /var/run/$GSSD_DAEMON_NAME.pid + # RUN + $GSSD $GSSD_OPTS + # + rc=$(($rc+$?)) + if [ $rc -gt 0 ]; then + stat_fail + exit $rc + else + echo $(get_pid $GSSD) > /var/run/$GSSD_DAEMON_NAME.pid + stat_done + fi + else + stat_fail + exit 1 + fi + fi + fi + + add_daemon $daemon_name + ;; + + stop) + rc=0 + if [ "$NEED_IDMAPD" = yes ] || [ "$NEED_GSSD" = yes ]; then + + if [ "$NEED_GSSD" = yes ]; then + stat_busy "Stopping $GSSD_DAEMON_NAME daemon" + PID=$(get_pid $GSSD) + # KILL + [ ! -z "$PID" ] && kill $PID &> /dev/null + # + rc=$(($rc+$?)) + if [ $rc -gt 0 ]; then + stat_fail + exit $rc + else + rm -f /var/run/$GSSD_DAEMON_NAME.pid &> /dev/null + stat_done + fi + fi + + if [ "$NEED_IDMAPD" = yes ]; then + stat_busy "Stopping $IDMAPD_DAEMON_NAME daemon" + PID=$(get_pid $IDMAPD) + # KILL + [ ! -z "$PID" ] && kill $PID &> /dev/null + # + rc=$(($rc+$?)) + if [ $rc -gt 0 ]; then + stat_fail + exit $rc + else + rm -f /var/run/$IDMAPD_DAEMON_NAME.pid &> /dev/null + stat_done + fi + fi + do_umount "$PIPEFS_MOUNTPOINT" 2>/dev/null || true + fi + + if [ "$NEED_STATD" = yes ]; then + stat_busy "Stopping $STATD_DAEMON_NAME daemon" + PID=$(get_pid $STATD) + # KILL + [ ! -z "$PID" ] && kill $PID &> /dev/null + # + rc=$(($rc+$?)) + if [ $rc -gt 0 ]; then + stat_fail + exit $rc + else + rm -f /var/run/$STATD_DAEMON_NAME.pid &> /dev/null + stat_done + fi + fi + + rm_daemon $daemon_name + ;; + + status) + stat_busy "Checking $daemon_name status"; + ck_status $daemon_name + + if [ "$NEED_STATD" = yes ]; then + stat_busy "Daemon $STATD_DAEMON_NAME running" + PID=$(get_pid $STATD) + if [ -z "$PID" ]; then + stat_fail + else + stat_done + fi + fi + + if [ "$NEED_GSSD" = yes ]; then + stat_busy "Daemon $GSSD_DAEMON_NAME running" + PID=$(get_pid $GSSD) + if [ -z "$PID" ]; then + stat_fail + else + stat_done + fi + fi + + if [ "$NEED_IDMAPD" = yes ]; then + stat_busy "Daemon $IDMAPD_DAEMON_NAME running" + PID=$(get_pid $IDMAPD) + if [ -z "$PID" ]; then + stat_fail + else + stat_done + fi + fi + echo + ;; + + restart) + $0 stop + sleep 3 + $0 start + ;; + *) + echo "usage: $0 {start|stop|status|restart}" +esac +exit 0 + diff --git a/testing/nfs-utils/nfs-common.conf b/testing/nfs-utils/nfs-common.conf new file mode 100644 index 000000000..12466b3e5 --- /dev/null +++ b/testing/nfs-utils/nfs-common.conf @@ -0,0 +1,40 @@ +# Parameters to be passed to nfs-common (nfs clients & server) init script. +# + +# If you do not set values for the NEED_ options, they will be attempted +# autodetected; this should be sufficient for most people. Valid alternatives +# for the NEED_ options are "yes" and "no". + +# Do you want to start the statd daemon? It is not needed for NFSv4. +NEED_STATD="" + +# Options to pass to rpc.statd. +# See rpc.statd(8) for more details. +# N.B. statd normally runs on both client and server, and run-time +# options should be specified accordingly. +# STATD_OPTS="-p 32765 -o 32766" +STATD_OPTS="" + +# Options to pass to sm-notify +# e.g. SMNOTIFY_OPTS="-p 32764" +SMNOTIFY_OPTS="" + +# Do you want to start the idmapd daemon? It is only needed for NFSv4. +NEED_IDMAPD="" + +# Options to pass to rpc.idmapd. +# See rpc.idmapd(8) for more details. +IDMAPD_OPTS="" + +# Do you want to start the gssd daemon? It is required for Kerberos mounts. +NEED_GSSD="" + +# Options to pass to rpc.gssd. +# See rpc.gssd(8) for more details. +GSSD_OPTS="" + +# Where to mount rpc_pipefs filesystem; the default is "/var/lib/nfs/rpc_pipefs". +PIPEFS_MOUNTPOINT="" + +# Options used to mount rpc_pipefs filesystem; the default is "defaults". +PIPEFS_MOUNTOPTS="" diff --git a/testing/nfs-utils/nfs-server b/testing/nfs-utils/nfs-server new file mode 100644 index 000000000..9574cbc12 --- /dev/null +++ b/testing/nfs-utils/nfs-server @@ -0,0 +1,303 @@ +#!/bin/bash + +daemon_name=nfs-server + +# daemon dependencies +DAEMON_DEPENDS=('nfs-common') + +NFSD_COUNT= +NFSD_OPTS= +NEED_SVCGSSD= +SVCGSSD_OPTS= +MOUNTD_OPTS= +PROCNFSD_MOUNTPOINT= +PROCNFSD_MOUNTOPTS= + +# rpc.nfsd daemon & binary location +NFSD_PROCESS_NAME=nfsd +NFSD_DAEMON_NAME=rpc.nfsd +NFSD="/usr/sbin/rpc.nfsd" + +# rpc.svcgssd daemon & binary location +SVCGSSD_DAEMON_NAME=rpc.svcgssd +SVCGSSD="/usr/sbin/rpc.svcgssd" + +# rpc.idmapd daemon & binary location +IDMAPD_DAEMON_NAME=rpc.idmapd +IDMAPD="/usr/sbin/rpc.idmapd" + +# rpc.mountd daemon & binary location +MOUNTD_DAEMON_NAME=rpc.mountd +MOUNTD="/usr/sbin/rpc.mountd" + +# exortfs binary location +EXPORTFS="/usr/sbin/exportfs" + +. /etc/rc.conf +. /etc/rc.d/functions +. /etc/conf.d/$daemon_name.conf + +# Default number of nfsd servers +[ -z "$NFSD_COUNT" ] && NFSD_COUNT=8 + +# Default mountpoint and options for nfsd filesystem +[ -z "$PROCNFSD_MOUNTPOINT" ] && PROCNFSD_MOUNTPOINT="/proc/fs/nfsd" +[ -z "$PROCNFSD_MOUNTOPTS" ] && PROCNFSD_MOUNTOPTS="rw,nodev,noexec,nosuid" + +case "$NEED_SVCGSSD" in + yes|no) + ;; + *) + NEED_SVCGSSD=no + ;; +esac + +do_modprobe() { + if [ -x /sbin/modprobe -a -f /proc/modules ]; then + modprobe -q "$1" || true + fi +} + +do_mount() { + if ! grep -E "$1\$" /proc/filesystems &> /dev/null ; then + return 1 + fi + + if grep -vw "$1" /proc/mounts &> /dev/null ; then + if ! mountpoint -q "$2" ; then + mount -t "$1" "$1" "$2" -o "$3" + return + fi + fi + return 0 +} + +do_umount() { + if mountpoint -q "$1" ; then + umount "$1" + fi + return 0 +} + +get_pid() { + pidof -o %PPID "$1" +} + +case "$1" in + start) + ck_depends ${DAEMON_DEPENDS[@]} + + rc=0 + stat_busy "Mounting nfsd filesystem" + do_modprobe nfsd + do_mount nfsd "$PROCNFSD_MOUNTPOINT" "$PROCNFSD_MOUNTOPTS" + rc=$(($rc+$?)) + if [ $rc -gt 0 ]; then + stat_fail + exit $rc + else + stat_done + fi + + stat_busy "Exporting all directories" + $EXPORTFS -r + rc=$(($rc+$?)) + if [ $rc -gt 0 ]; then + stat_fail + exit $rc + else + stat_done + fi + + stat_busy "Starting $NFSD_DAEMON_NAME daemon" + PID=$(get_pid $NFSD_PROCESS_NAME) + if [ -z "$PID" ]; then + [ -f /var/run/$NFSD_DAEMON_NAME.pid ] && rm -f /var/run/$NFSD_DAEMON_NAME.pid + # RUN + $NFSD $NFSD_OPTS $NFSD_COUNT + # + rc=$(($rc+$?)) + if [ $rc -gt 0 ]; then + stat_fail + exit $rc + else + echo $(get_pid $NFSD_PROCESS_NAME) > /var/run/$NFSD_DAEMON_NAME.pid + stat_done + fi + else + stat_fail + exit 1 + fi + + if [ "$NEED_SVCGSSD" = yes ]; then + do_modprobe rpcsec_gss_krb5 + stat_busy "Starting $SVCGSSD_DAEMON_NAME daemon" + PID=$(get_pid $SVCGSSD) + if [ -z "$PID" ]; then + [ -f /var/run/$SVCGSSD_DAEMON_NAME.pid ] && rm -f /var/run/$SVCGSSD_DAEMON_NAME.pid + # RUN + $SVCGSSD $SVCGSSD_OPTS + # + rc=$(($rc+$?)) + if [ $rc -gt 0 ]; then + stat_fail + exit $rc + else + echo $(get_pid $SVCGSSD) > /var/run/$SVCGSSD_DAEMON_NAME.pid + stat_done + fi + else + stat_fail + exit 1 + fi + fi + + PID=$(get_pid $IDMAPD) + [ ! -z "$PID" ] && kill -SIGHUP $IDMAPD_DAEMON_NAME &> /dev/null + + stat_busy "Starting $MOUNTD_DAEMON_NAME daemon" + PID=$(get_pid $MOUNTD) + if [ -z "$PID" ]; then + [ -f /var/run/$MOUNTD_DAEMON_NAME.pid ] && rm -f /var/run/$MOUNTD_DAEMON_NAME.pid + # RUN + $MOUNTD $MOUNTD_OPTS + # + rc=$(($rc+$?)) + if [ $rc -gt 0 ]; then + stat_fail + exit $rc + else + echo $(get_pid $MOUNTD) > /var/run/$MOUNTD_DAEMON_NAME.pid + stat_done + fi + else + stat_fail + exit 1 + fi + + add_daemon $daemon_name + ;; + + stop) + rc=0 + stat_busy "Stopping $MOUNTD_DAEMON_NAME daemon" + PID=$(get_pid $MOUNTD) + # KILL + [ ! -z "$PID" ] && kill $PID &> /dev/null + # + rc=$(($rc+$?)) + if [ $rc -gt 0 ]; then + stat_fail + exit $rc + else + rm -f /var/run/$MOUNTD_DAEMON_NAME.pid &> /dev/null + stat_done + fi + + if [ "$NEED_SVCGSSD" = yes ]; then + stat_busy "Stopping $SVCGSSD_DAEMON_NAME daemon" + PID=$(get_pid $SVCGSSD) + # KILL + [ ! -z "$PID" ] && kill $PID &> /dev/null + # + rc=$(($rc+$?)) + if [ $rc -gt 0 ]; then + stat_fail + exit $rc + else + rm -f /var/run/$SVCGSSD_DAEMON_NAME.pid &> /dev/null + stat_done + fi + fi + + stat_busy "Stopping $NFSD_DAEMON_NAME daemon" + PID=$(get_pid $NFSD_PROCESS_NAME) + # KILL (SIGINT) + [ ! -z "$PID" ] && kill -2 $PID &> /dev/null + # + rc=$(($rc+$?)) + if [ $rc -gt 0 ]; then + stat_fail + exit $rc + else + sleep 1 + PID=$(get_pid $NFSD_PROCESS_NAME) + # KILL (KILL) - just to be sure + [ ! -z "$PID" ] && kill -9 $PID &> /dev/null + # + rm -f /var/run/$NFSD_DAEMON_NAME.pid &> /dev/null + stat_done + fi + + stat_busy "Unexporting all directories" + $EXPORTFS -au + rc=$(($rc+$?)) + if [ $rc -gt 0 ]; then + stat_fail + exit $rc + else + stat_done + fi + + # flush everything out of the kernels export table + if mountpoint -q "$PROCNFSD_MOUNTPOINT" ; then + $EXPORTFS -f + fi + do_umount "$PROCNFSD_MOUNTPOINT" 2>/dev/null || true + rm_daemon $daemon_name + ;; + + status) + stat_busy "Checking $daemon_name status"; + ck_status $daemon_name + + stat_busy "Daemon $NFSD_DAEMON_NAME running" + PID=$(get_pid $NFSD_PROCESS_NAME) + if [ -z "$PID" ]; then + stat_fail + else + stat_done + fi + + stat_busy "Daemon $MOUNTD_DAEMON_NAME running" + PID=$(get_pid $MOUNTD) + if [ -z "$PID" ]; then + stat_fail + else + stat_done + fi + + if [ "$NEED_SVCGSSD" = yes ]; then + stat_busy "Daemon $SVCGSSD_DAEMON_NAME running" + PID=$(get_pid $SVCGSSD) + if [ -z "$PID" ]; then + stat_fail + else + stat_done + fi + fi + echo + ;; + + reload) + rc=0 + stat_busy "Re-exporting all directories" + $EXPORTFS -r + rc=$(($rc+$?)) + if [ $rc -gt 0 ]; then + stat_fail + exit $rc + else + stat_done + fi + ;; + + restart) + $0 stop + sleep 3 + $0 start + ;; + *) + echo "usage: $0 {start|stop|status|reload|restart}" +esac +exit 0 diff --git a/testing/nfs-utils/nfs-server.conf b/testing/nfs-utils/nfs-server.conf new file mode 100644 index 000000000..4054d6b88 --- /dev/null +++ b/testing/nfs-utils/nfs-server.conf @@ -0,0 +1,29 @@ +# Parameters to be passed to nfs-server init script. +# + +# Options to pass to rpc.nfsd. +# See rpc.nfsd(8) for more details. +NFSD_OPTS="" + +# Number of servers to start up; the default is 8 servers. +NFSD_COUNT="" + +# Where to mount nfsd filesystem; the default is "/proc/fs/nfsd". +PROCNFSD_MOUNTPOINT="" + +# Options used to mount nfsd filesystem; the default is "rw,nodev,noexec,nosuid". +PROCNFSD_MOUNTOPTS="" + +# Options for rpc.mountd. +# If you have a port-based firewall, you might want to set up +# a fixed port here using the --port option. +# See rpc.mountd(8) for more details. +MOUNTD_OPTS="--no-nfs-version 2" + +# Do you want to start the svcgssd daemon? It is only required for Kerberos +# exports. Valid alternatives are "yes" and "no"; the default is "no". +NEED_SVCGSSD="" + +# Options to pass to rpc.svcgssd. +# See rpc.svcgssd(8) for more details. +SVCGSSD_OPTS="" diff --git a/testing/nfs-utils/nfs-utils-1.1.2-kerberos-ac.patch b/testing/nfs-utils/nfs-utils-1.1.2-kerberos-ac.patch new file mode 100644 index 000000000..4a5a138e7 --- /dev/null +++ b/testing/nfs-utils/nfs-utils-1.1.2-kerberos-ac.patch @@ -0,0 +1,138 @@ +diff -NaurwB nfs-utils-1.1.2.orig/aclocal/kerberos5.m4 nfs-utils-1.1.2/aclocal/kerberos5.m4 +--- nfs-utils-1.1.2.orig/aclocal/kerberos5.m4 2008-03-14 16:46:29.000000000 +0100 ++++ nfs-utils-1.1.2/aclocal/kerberos5.m4 2008-06-12 17:13:51.000000000 +0200 +@@ -1,112 +1,48 @@ +-dnl Checks for Kerberos +-dnl NOTE: while we intend to do generic gss-api, currently we +-dnl have a requirement to get an initial Kerberos machine +-dnl credential. Thus, the requirement for Kerberos. +-dnl The Kerberos gssapi library will be dynamically loaded? + AC_DEFUN([AC_KERBEROS_V5],[ ++ K5CONFIG="krb5-config" + AC_MSG_CHECKING(for Kerberos v5) +- AC_ARG_WITH(krb5, +- [AC_HELP_STRING([--with-krb5=DIR], [use Kerberos v5 installation in DIR])], ++ AC_ARG_WITH(krb5-config, ++ [AC_HELP_STRING([--with-krb5-config=PATH], [Full Path to krb5-config.])], + [ case "$withval" in + yes|no) +- krb5_with="" ++ K5CONFIG="krb5-config" + ;; + *) +- krb5_with="$withval" ++ K5CONFIG="$withval" + ;; + esac ] + ) + +- for dir in $krb5_with /usr /usr/kerberos /usr/local /usr/local/krb5 \ +- /usr/krb5 /usr/heimdal /usr/local/heimdal /usr/athena ; do +- dnl This ugly hack brought on by the split installation of +- dnl MIT Kerberos on Fedora Core 1 +- K5CONFIG="" +- if test -f $dir/bin/krb5-config; then +- K5CONFIG=$dir/bin/krb5-config +- elif test -f "/usr/kerberos/bin/krb5-config"; then +- K5CONFIG="/usr/kerberos/bin/krb5-config" +- elif test -f "/usr/lib/mit/bin/krb5-config"; then +- K5CONFIG="/usr/lib/mit/bin/krb5-config" +- fi + if test "$K5CONFIG" != ""; then + KRBCFLAGS=`$K5CONFIG --cflags` + KRBLIBS=`$K5CONFIG --libs gssapi` +- K5VERS=`$K5CONFIG --version | head -n 1 | awk '{split($(4),v,"."); if (v@<:@"3"@:>@ == "") v@<:@"3"@:>@ = "0"; print v@<:@"1"@:>@v@<:@"2"@:>@v@<:@"3"@:>@ }'` +- AC_DEFINE_UNQUOTED(KRB5_VERSION, $K5VERS, [Define this as the Kerberos version number]) +- if test -f $dir/include/gssapi/gssapi_krb5.h -a \ +- \( -f $dir/lib/libgssapi_krb5.a -o \ +- -f $dir/lib64/libgssapi_krb5.a -o \ +- -f $dir/lib64/libgssapi_krb5.so -o \ +- -f $dir/lib/libgssapi_krb5.so \) ; then ++ if $K5CONFIG --version | grep -q -e heimdal; then ++ K5VERS=`$K5CONFIG --version | head -n 1 | cut -f2 -d ' ' | tr -d '.'` ++ AC_DEFINE(HAVE_HEIMDAL, 1, [Define this if you have Heimdal Kerberos libraries]) ++ gssapi_lib=gssapi ++ KRBIMPL="heimdal" ++ elif $K5CONFIG --version | grep -q -e mit; then ++ K5VERS=`$K5CONFIG --version | head -n 1 | cut -f4 -d ' ' | tr -d '.'` + AC_DEFINE(HAVE_KRB5, 1, [Define this if you have MIT Kerberos libraries]) +- KRBDIR="$dir" +- dnl If we are using MIT K5 1.3.1 and before, we *MUST* use the +- dnl private function (gss_krb5_ccache_name) to get correct +- dnl behavior of changing the ccache used by gssapi. +- dnl Starting in 1.3.2, we *DO NOT* want to use +- dnl gss_krb5_ccache_name, instead we want to set KRB5CCNAME +- dnl to get gssapi to use a different ccache + if test $K5VERS -le 131; then + AC_DEFINE(USE_GSS_KRB5_CCACHE_NAME, 1, [Define this if the private function, gss_krb5_cache_name, must be used to tell the Kerberos library which credentials cache to use. Otherwise, this is done by setting the KRB5CCNAME environment variable]) + fi + gssapi_lib=gssapi_krb5 +- break +- dnl The following ugly hack brought on by the split installation +- dnl of Heimdal Kerberos on SuSe +- elif test \( -f $dir/include/heim_err.h -o\ +- -f $dir/include/heimdal/heim_err.h \) -a \ +- -f $dir/lib/libroken.a; then +- AC_DEFINE(HAVE_HEIMDAL, 1, [Define this if you have Heimdal Kerberos libraries]) +- KRBDIR="$dir" +- gssapi_lib=gssapi +- break +- fi +- fi +- done +- dnl We didn't find a usable Kerberos environment +- if test "x$KRBDIR" = "x"; then +- if test "x$krb5_with" = "x"; then +- AC_MSG_ERROR(Kerberos v5 with GSS support not found: consider --disable-gss or --with-krb5=) ++ KRBIMPL="mit-krb5" + else +- AC_MSG_ERROR(Kerberos v5 with GSS support not found at $krb5_with) +- fi ++ AC_MSG_ERROR(Unknown Kerberos 5 Implementation. Is neither heimdal or mit-krb5.) ++ KRBIMPL="unknown" + fi +- AC_MSG_RESULT($KRBDIR) +- +- dnl Check if -rpath=$(KRBDIR)/lib is needed +- echo "The current KRBDIR is $KRBDIR" +- if test "$KRBDIR/lib" = "/lib" -o "$KRBDIR/lib" = "/usr/lib" \ +- -o "$KRBDIR/lib" = "//lib" -o "$KRBDIR/lib" = "/usr//lib" ; then +- KRBLDFLAGS=""; +- elif /sbin/ldconfig -p | grep > /dev/null "=> $KRBDIR/lib/"; then +- KRBLDFLAGS=""; +- else +- KRBLDFLAGS="-Wl,-rpath=$KRBDIR/lib" ++ AC_DEFINE_UNQUOTED(KRB5_VERSION, $K5VERS, [Define this as the Kerberos version number]) + fi ++ AC_MSG_RESULT($KRBIMPL) + +- dnl Now check for functions within gssapi library +- AC_CHECK_LIB($gssapi_lib, gss_krb5_export_lucid_sec_context, +- AC_DEFINE(HAVE_LUCID_CONTEXT_SUPPORT, 1, [Define this if the Kerberos GSS library supports gss_krb5_export_lucid_sec_context]), ,$KRBLIBS) +- AC_CHECK_LIB($gssapi_lib, gss_krb5_set_allowable_enctypes, +- AC_DEFINE(HAVE_SET_ALLOWABLE_ENCTYPES, 1, [Define this if the Kerberos GSS library supports gss_krb5_set_allowable_enctypes]), ,$KRBLIBS) +- AC_CHECK_LIB($gssapi_lib, gss_krb5_ccache_name, +- AC_DEFINE(HAVE_GSS_KRB5_CCACHE_NAME, 1, [Define this if the Kerberos GSS library supports gss_krb5_ccache_name]), ,$KRBLIBS) +- +- dnl Check for newer error message facility +- AC_CHECK_LIB($gssapi_lib, krb5_get_error_message, +- AC_DEFINE(HAVE_KRB5_GET_ERROR_MESSAGE, 1, [Define this if the function krb5_get_error_message is available]), ,$KRBLIBS) ++ AC_CHECK_LIB($gssapi_lib, gss_krb5_export_lucid_sec_context, AC_DEFINE(HAVE_LUCID_CONTEXT_SUPPORT, 1, [Define this if the Kerberos GSS library supports gss_krb5_export_lucid_sec_context]), ,$KRBLIBS) ++ AC_CHECK_LIB($gssapi_lib, gss_krb5_set_allowable_enctypes, AC_DEFINE(HAVE_SET_ALLOWABLE_ENCTYPES, 1, [Define this if the Kerberos GSS library supports gss_krb5_set_allowable_enctypes]), ,$KRBLIBS) ++ AC_CHECK_LIB($gssapi_lib, gss_krb5_ccache_name, AC_DEFINE(HAVE_GSS_KRB5_CCACHE_NAME, 1, [Define this if the Kerberos GSS library supports gss_krb5_ccache_name]), ,$KRBLIBS) ++ AC_CHECK_LIB($gssapi_lib, krb5_get_error_message, AC_DEFINE(HAVE_KRB5_GET_ERROR_MESSAGE, 1, [Define this if the function krb5_get_error_message is available]), ,$KRBLIBS) ++ AC_CHECK_LIB($gssapi_lib, krb5_get_init_creds_opt_set_addressless, AC_DEFINE(HAVE_KRB5_GET_INIT_CREDS_OPT_SET_ADDRESSLESS, 1, [Define this if the function krb5_get_init_creds_opt_set_addressless is available]), ,$KRBLIBS) + +- dnl Check for function to specify addressless tickets +- AC_CHECK_LIB($gssapi_lib, krb5_get_init_creds_opt_set_addressless, +- AC_DEFINE(HAVE_KRB5_GET_INIT_CREDS_OPT_SET_ADDRESSLESS, 1, [Define this if the function krb5_get_init_creds_opt_set_addressless is available]), ,$KRBLIBS) +- +- dnl If they specified a directory and it didn't work, give them a warning +- if test "x$krb5_with" != "x" -a "$krb5_with" != "$KRBDIR"; then +- AC_MSG_WARN(Using $KRBDIR instead of requested value of $krb5_with for Kerberos!) +- fi +- +- AC_SUBST([KRBDIR]) + AC_SUBST([KRBLIBS]) + AC_SUBST([KRBCFLAGS]) + AC_SUBST([KRBLDFLAGS]) diff --git a/testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch b/testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch new file mode 100644 index 000000000..c9e60afc7 --- /dev/null +++ b/testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch @@ -0,0 +1,39 @@ +ripped from Debian + +--- nfs-utils-1.1.4/utils/mount/fstab.c ++++ nfs-utils-1.1.4/utils/mount/fstab.c +@@ -57,7 +57,7 @@ mtab_does_not_exist(void) { + return var_mtab_does_not_exist; + } + +-static int ++int + mtab_is_a_symlink(void) { + get_mtab_info(); + return var_mtab_is_a_symlink; +--- nfs-utils-1.1.4/utils/mount/fstab.h ++++ nfs-utils-1.1.4/utils/mount/fstab.h +@@ -7,6 +7,7 @@ + #define _PATH_FSTAB "/etc/fstab" + #endif + ++int mtab_is_a_symlink(void); + int mtab_is_writable(void); + int mtab_does_not_exist(void); + void reset_mtab_info(void); +--- nfs-utils-1.1.4/utils/mount/mount.c ++++ nfs-utils-1.1.4/utils/mount/mount.c +@@ -230,6 +230,13 @@ create_mtab (void) { + int flags; + mntFILE *mfp; + ++ /* Avoid writing if the mtab is a symlink to /proc/mounts, since ++ that would create a file /proc/mounts in case the proc filesystem ++ is not mounted, and the fchmod below would also fail. */ ++ if (mtab_is_a_symlink()) { ++ return EX_SUCCESS; ++ } ++ + lock_mtab(); + + mfp = nfs_setmntent (MOUNTED, "a+"); diff --git a/testing/nfs-utils/nfs-utils-1.1.4-no-exec.patch b/testing/nfs-utils/nfs-utils-1.1.4-no-exec.patch new file mode 100644 index 000000000..ea50a21d8 --- /dev/null +++ b/testing/nfs-utils/nfs-utils-1.1.4-no-exec.patch @@ -0,0 +1,15 @@ +ripped from Debian + +--- nfs-utils-1.1.2/utils/mount/mount.c ++++ nfs-utils-1.1.2/utils/mount/mount.c +@@ -381,10 +381,6 @@ + mount_error(NULL, mount_point, ENOTDIR); + return 1; + } +- if (access(mount_point, X_OK) < 0) { +- mount_error(NULL, mount_point, errno); +- return 1; +- } + + return 0; + } diff --git a/testing/nfs-utils/nfs-utils-1.1.6-heimdal_functions.patch b/testing/nfs-utils/nfs-utils-1.1.6-heimdal_functions.patch new file mode 100644 index 000000000..7f6c7a751 --- /dev/null +++ b/testing/nfs-utils/nfs-utils-1.1.6-heimdal_functions.patch @@ -0,0 +1,69 @@ +diff -Naur nfs-utils-1.1.6.orig/utils/gssd/krb5_util.c nfs-utils-1.1.6/utils/gssd/krb5_util.c +--- utils/gssd/krb5_util.c 2009-04-20 19:32:50.000000000 +0200 ++++ utils/gssd/krb5_util.c 2009-04-20 20:57:31.000000000 +0200 +@@ -940,9 +940,37 @@ + { + krb5_error_code ret; + krb5_creds creds; +- krb5_cc_cursor cur; + int found = 0; + ++#ifdef HAVE_HEIMDAL ++ krb5_creds pattern; ++ krb5_realm *client_realm; ++ ++ krb5_cc_clear_mcred(&pattern); ++ ++ client_realm = krb5_princ_realm (context, principal); ++ ++ ret = krb5_make_principal (context, &pattern.server, ++ *client_realm, KRB5_TGS_NAME, *client_realm, ++ NULL); ++ if (ret) ++ krb5_err (context, 1, ret, "krb5_make_principal"); ++ pattern.client = principal; ++ ++ ret = krb5_cc_retrieve_cred (context, ccache, 0, &pattern, &creds); ++ krb5_free_principal (context, pattern.server); ++ if (ret) { ++ if (ret == KRB5_CC_END) ++ return 1; ++ krb5_err (context, 1, ret, "krb5_cc_retrieve_cred"); ++ } ++ ++ found = creds.times.endtime > time(NULL); ++ ++ krb5_free_cred_contents (context, &creds); ++#else ++ krb5_cc_cursor cur; ++ + ret = krb5_cc_start_seq_get(context, ccache, &cur); + if (ret) + return 0; +@@ -962,6 +990,7 @@ + krb5_free_cred_contents(context, &creds); + } + krb5_cc_end_seq_get(context, ccache, &cur); ++#endif + + return found; + } +@@ -1008,6 +1037,9 @@ + } + krb5_free_principal(context, principal); + err_princ: ++#ifdef HAVE_HEIMDAL ++#define KRB5_TC_OPENCLOSE 0x00000001 ++#endif + krb5_cc_set_flags(context, ccache, KRB5_TC_OPENCLOSE); + krb5_cc_close(context, ccache); + err_cache: +@@ -1262,7 +1294,7 @@ + if (context != NULL) { + origmsg = krb5_get_error_message(context, code); + msg = strdup(origmsg); +- krb5_free_error_message(context, origmsg); ++ krb5_free_error_string(context, origmsg); + } + #endif + if (msg != NULL) diff --git a/testing/nfs-utils/nfs-utils-1.1.6-no_libgssapi.patch b/testing/nfs-utils/nfs-utils-1.1.6-no_libgssapi.patch new file mode 100644 index 000000000..917136a8c --- /dev/null +++ b/testing/nfs-utils/nfs-utils-1.1.6-no_libgssapi.patch @@ -0,0 +1,57 @@ +Index: nfs-utils-1.1.6/utils/gssd/context_lucid.c +=================================================================== +--- nfs-utils-1.1.6.orig/utils/gssd/context_lucid.c ++++ nfs-utils-1.1.6/utils/gssd/context_lucid.c +@@ -51,8 +51,10 @@ + #include "context.h" + + #ifndef OM_uint64 ++#ifndef GSSAPI_GSSAPI_H_ + typedef uint64_t OM_uint64; + #endif ++#endif + + static int + write_lucid_keyblock(char **p, char *end, gss_krb5_lucid_key_t *key) +@@ -177,10 +179,10 @@ + int retcode = 0; + + printerr(2, "DEBUG: serialize_krb5_ctx: lucid version!\n"); +- maj_stat = gss_export_lucid_sec_context(&min_stat, &ctx, ++ maj_stat = gss_krb5_export_lucid_sec_context(&min_stat, &ctx, + 1, &return_ctx); + if (maj_stat != GSS_S_COMPLETE) { +- pgsserr("gss_export_lucid_sec_context", ++ pgsserr("gss_krb5_export_lucid_sec_context", + maj_stat, min_stat, &krb5oid); + goto out_err; + } +@@ -204,9 +206,9 @@ + else + retcode = prepare_krb5_rfc_cfx_buffer(lctx, buf, endtime); + +- maj_stat = gss_free_lucid_sec_context(&min_stat, ctx, return_ctx); ++ maj_stat = gss_krb5_free_lucid_sec_context(&min_stat, ctx); + if (maj_stat != GSS_S_COMPLETE) { +- pgsserr("gss_export_lucid_sec_context", ++ pgsserr("gss_krb5_export_lucid_sec_context", + maj_stat, min_stat, &krb5oid); + printerr(0, "WARN: failed to free lucid sec context\n"); + } +Index: nfs-utils-1.1.6/utils/gssd/krb5_util.c +=================================================================== +--- nfs-utils-1.1.6.orig/utils/gssd/krb5_util.c ++++ nfs-utils-1.1.6/utils/gssd/krb5_util.c +@@ -332,10 +332,10 @@ + return -1; + } + +- maj_stat = gss_set_allowable_enctypes(&min_stat, credh, &krb5oid, ++ maj_stat = gss_krb5_set_allowable_enctypes(&min_stat, credh, + num_enctypes, &enctypes); + if (maj_stat != GSS_S_COMPLETE) { +- pgsserr("gss_set_allowable_enctypes", ++ pgsserr("gss_krb5_set_allowable_enctypes", + maj_stat, min_stat, &krb5oid); + gss_release_cred(&min_stat, &credh); + return -1; diff --git a/testing/nfs-utils/nfs-utils.install b/testing/nfs-utils/nfs-utils.install new file mode 100644 index 000000000..7dcdf9575 --- /dev/null +++ b/testing/nfs-utils/nfs-utils.install @@ -0,0 +1,32 @@ +## arg 1: the new package version +post_install() { +cat << 'EOM' + ==> PLEASE NOTE: + ==> Extended configuration options for NFS (clients & server) are available in + ==> /etc/conf.d/nfs-common.conf and in /etc/conf.d/nfs-server.conf + ==> + ==> Please refer to http://wiki.archlinux.org/index.php/Nfs + ==> for further information on NFS; for NFSv4, refer to + ==> http://wiki.archlinux.org/index.php/NFSv4 +EOM +} + +## arg 1: the new package version +## arg 2: the old package version +post_upgrade() { + if [ "$(vercmp $2 1.2.0-2)" -lt 0 ]; then +cat << 'EOM' + ==> IMPORTANT NFS UTILS CHANGES: + ==> This is a rather important upgrade, you are going to have to change config files. + ==> /etc/rc.conf daemons changes: + ==> Change portmap to rpcbind + ==> Change nfslock to nfs-common + ==> Change nfsd to nfs-server + ==> + ==> Extended configuration options for NFS (clients & server) are available in: + ==> /etc/conf.d/nfs-common + ==> /etc/conf.d/nfs-server + ==> Please change them to your needs. +EOM + fi +} diff --git a/testing/nfs-utils/start-statd.patch b/testing/nfs-utils/start-statd.patch new file mode 100644 index 000000000..38c60a784 --- /dev/null +++ b/testing/nfs-utils/start-statd.patch @@ -0,0 +1,22 @@ +--- utils/statd/start-statd 2007-05-11 04:40:57.000000000 +0100 ++++ utils/statd/start-statd.new 2007-09-21 17:11:34.000000000 +0100 +@@ -1,9 +1,16 @@ +-#!/bin/sh -p ++#!/bin/sh ++ ++# Original script provided by the NFS project ++# Modified for Arch Linux by Tom Killian ++ + # nfsmount calls this script when mounting a filesystem with locking + # enabled, but when statd does not seem to be running (based on + # /var/run/rpc.statd.pid). + # It should run run statd with whatever flags are apropriate for this + # site. +-PATH=/sbin:/usr/sbin +-exec rpc.statd --no-notify ++ ++# source application-specific settings ++[ -f /etc/conf.d/nfs-common.conf ] && . /etc/conf.d/nfs-common.conf ++ ++exec /usr/sbin/rpc.statd $STATD_OPTS + diff --git a/testing/openssh/PKGBUILD b/testing/openssh/PKGBUILD new file mode 100644 index 000000000..bf45e6396 --- /dev/null +++ b/testing/openssh/PKGBUILD @@ -0,0 +1,70 @@ +# $Id: PKGBUILD 131644 2011-07-13 07:48:58Z bisson $ +# Maintainer: Gaetan Bisson +# Contributor: Aaron Griffin +# Contributor: judd + +pkgname=openssh +pkgver=5.8p2 +pkgrel=9 +pkgdesc='Free version of the SSH connectivity tools' +arch=('i686' 'x86_64') +license=('custom:BSD') +url='http://www.openssh.org/portable.html' +backup=('etc/ssh/ssh_config' 'etc/ssh/sshd_config' 'etc/pam.d/sshd' 'etc/conf.d/sshd') +depends=('krb5' 'openssl' 'libedit') +source=("ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/${pkgname}-${pkgver}.tar.gz" + 'authfile.c.patch' + 'sshd.confd' + 'sshd.pam' + 'sshd') +sha1sums=('64798328d310e4f06c9f01228107520adbc8b3e5' + '3669cb5ca6149f69015df5ce8e60b82c540eb0a4' + 'ec102deb69cad7d14f406289d2fc11fee6eddbdd' + '07fecd5880b1c4fdd8c94ddb2e89ddce88effdc1' + '6b7f8ebf0c1cc37137a7d9a53447ac8a0ee6a2b5') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + patch -p1 -i ../authfile.c.patch # fix FS#24693 using http://anoncvs.mindrot.org/index.cgi/openssh/authfile.c?revision=1.95 + + ./configure \ + --prefix=/usr \ + --libexecdir=/usr/lib/ssh \ + --sysconfdir=/etc/ssh \ + --with-privsep-user=nobody \ + --with-md5-passwords \ + --with-pam \ + --with-mantype=man \ + --mandir=/usr/share/man \ + --with-xauth=/usr/bin/xauth \ + --with-kerberos5=/usr \ + --with-ssl-engine \ + --with-libedit=/usr/lib \ + --disable-strip # stripping is done by makepkg + + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + + install -Dm755 ../sshd "${pkgdir}"/etc/rc.d/sshd + install -Dm644 ../sshd.pam "${pkgdir}"/etc/pam.d/sshd + install -Dm644 ../sshd.confd "${pkgdir}"/etc/conf.d/sshd + install -Dm644 LICENCE "${pkgdir}/usr/share/licenses/${pkgname}/LICENCE" + + rm "${pkgdir}"/usr/share/man/man1/slogin.1 + ln -sf ssh.1.gz "${pkgdir}"/usr/share/man/man1/slogin.1.gz + + # additional contrib scripts that we like + install -Dm755 contrib/findssl.sh "${pkgdir}"/usr/bin/findssl.sh + install -Dm755 contrib/ssh-copy-id "${pkgdir}"/usr/bin/ssh-copy-id + install -Dm644 contrib/ssh-copy-id.1 "${pkgdir}"/usr/share/man/man1/ssh-copy-id.1 + + # PAM is a common, standard feature to have + sed -i -e '/^#ChallengeResponseAuthentication yes$/c ChallengeResponseAuthentication no' \ + -e '/^#UsePAM no$/c UsePAM yes' \ + "${pkgdir}"/etc/ssh/sshd_config +} diff --git a/testing/openssh/authfile.c.patch b/testing/openssh/authfile.c.patch new file mode 100644 index 000000000..6c18fe807 --- /dev/null +++ b/testing/openssh/authfile.c.patch @@ -0,0 +1,198 @@ +diff -aur old/authfile.c new/authfile.c +--- old/authfile.c 2011-06-12 02:21:52.262338254 +0200 ++++ new/authfile.c 2011-06-12 02:13:43.051467269 +0200 +@@ -1,4 +1,4 @@ +-/* $OpenBSD: authfile.c,v 1.87 2010/11/29 18:57:04 markus Exp $ */ ++/* $OpenBSD: authfile.c,v 1.95 2011/05/29 11:42:08 djm Exp $ */ + /* + * Author: Tatu Ylonen + * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland +@@ -69,6 +69,8 @@ + #include "misc.h" + #include "atomicio.h" + ++#define MAX_KEY_FILE_SIZE (1024 * 1024) ++ + /* Version identification string for SSH v1 identity files. */ + static const char authfile_id_string[] = + "SSH PRIVATE KEY FILE FORMAT 1.1\n"; +@@ -312,12 +314,12 @@ + return pub; + } + +-/* Load the contents of a key file into a buffer */ +-static int ++/* Load a key from a fd into a buffer */ ++int + key_load_file(int fd, const char *filename, Buffer *blob) + { ++ u_char buf[1024]; + size_t len; +- u_char *cp; + struct stat st; + + if (fstat(fd, &st) < 0) { +@@ -325,30 +327,45 @@ + filename == NULL ? "" : filename, + filename == NULL ? "" : " ", + strerror(errno)); +- close(fd); + return 0; + } +- if (st.st_size > 1*1024*1024) { ++ if ((st.st_mode & (S_IFSOCK|S_IFCHR|S_IFIFO)) == 0 && ++ st.st_size > MAX_KEY_FILE_SIZE) { ++ toobig: + error("%s: key file %.200s%stoo large", __func__, + filename == NULL ? "" : filename, + filename == NULL ? "" : " "); +- close(fd); + return 0; + } +- len = (size_t)st.st_size; /* truncated */ +- + buffer_init(blob); +- cp = buffer_append_space(blob, len); +- +- if (atomicio(read, fd, cp, len) != len) { +- debug("%s: read from key file %.200s%sfailed: %.100s", __func__, +- filename == NULL ? "" : filename, +- filename == NULL ? "" : " ", +- strerror(errno)); ++ for (;;) { ++ if ((len = atomicio(read, fd, buf, sizeof(buf))) == 0) { ++ if (errno == EPIPE) ++ break; ++ debug("%s: read from key file %.200s%sfailed: %.100s", ++ __func__, filename == NULL ? "" : filename, ++ filename == NULL ? "" : " ", strerror(errno)); ++ buffer_clear(blob); ++ bzero(buf, sizeof(buf)); ++ return 0; ++ } ++ buffer_append(blob, buf, len); ++ if (buffer_len(blob) > MAX_KEY_FILE_SIZE) { ++ buffer_clear(blob); ++ bzero(buf, sizeof(buf)); ++ goto toobig; ++ } ++ } ++ bzero(buf, sizeof(buf)); ++ if ((st.st_mode & (S_IFSOCK|S_IFCHR|S_IFIFO)) == 0 && ++ st.st_size != buffer_len(blob)) { ++ debug("%s: key file %.200s%schanged size while reading", ++ __func__, filename == NULL ? "" : filename, ++ filename == NULL ? "" : " "); + buffer_clear(blob); +- close(fd); + return 0; + } ++ + return 1; + } + +@@ -606,7 +623,7 @@ + error("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"); + error("Permissions 0%3.3o for '%s' are too open.", + (u_int)st.st_mode & 0777, filename); +- error("It is recommended that your private key files are NOT accessible by others."); ++ error("It is required that your private key files are NOT accessible by others."); + error("This private key will be ignored."); + return 0; + } +@@ -626,6 +643,7 @@ + case KEY_UNSPEC: + return key_parse_private_pem(blob, type, passphrase, commentp); + default: ++ error("%s: cannot parse key type %d", __func__, type); + break; + } + return NULL; +@@ -670,11 +688,38 @@ + } + + Key * ++key_parse_private(Buffer *buffer, const char *filename, ++ const char *passphrase, char **commentp) ++{ ++ Key *pub, *prv; ++ Buffer pubcopy; ++ ++ buffer_init(&pubcopy); ++ buffer_append(&pubcopy, buffer_ptr(buffer), buffer_len(buffer)); ++ /* it's a SSH v1 key if the public key part is readable */ ++ pub = key_parse_public_rsa1(&pubcopy, commentp); ++ buffer_free(&pubcopy); ++ if (pub == NULL) { ++ prv = key_parse_private_type(buffer, KEY_UNSPEC, ++ passphrase, NULL); ++ /* use the filename as a comment for PEM */ ++ if (commentp && prv) ++ *commentp = xstrdup(filename); ++ } else { ++ key_free(pub); ++ /* key_parse_public_rsa1() has already loaded the comment */ ++ prv = key_parse_private_type(buffer, KEY_RSA1, passphrase, ++ NULL); ++ } ++ return prv; ++} ++ ++Key * + key_load_private(const char *filename, const char *passphrase, + char **commentp) + { +- Key *pub, *prv; +- Buffer buffer, pubcopy; ++ Key *prv; ++ Buffer buffer; + int fd; + + fd = open(filename, O_RDONLY); +@@ -697,23 +742,7 @@ + } + close(fd); + +- buffer_init(&pubcopy); +- buffer_append(&pubcopy, buffer_ptr(&buffer), buffer_len(&buffer)); +- /* it's a SSH v1 key if the public key part is readable */ +- pub = key_parse_public_rsa1(&pubcopy, commentp); +- buffer_free(&pubcopy); +- if (pub == NULL) { +- prv = key_parse_private_type(&buffer, KEY_UNSPEC, +- passphrase, NULL); +- /* use the filename as a comment for PEM */ +- if (commentp && prv) +- *commentp = xstrdup(filename); +- } else { +- key_free(pub); +- /* key_parse_public_rsa1() has already loaded the comment */ +- prv = key_parse_private_type(&buffer, KEY_RSA1, passphrase, +- NULL); +- } ++ prv = key_parse_private(&buffer, filename, passphrase, commentp); + buffer_free(&buffer); + return prv; + } +@@ -737,13 +766,19 @@ + case '\0': + continue; + } ++ /* Abort loading if this looks like a private key */ ++ if (strncmp(cp, "-----BEGIN", 10) == 0) ++ break; + /* Skip leading whitespace. */ + for (; *cp && (*cp == ' ' || *cp == '\t'); cp++) + ; + if (*cp) { + if (key_read(k, &cp) == 1) { +- if (commentp) +- *commentp=xstrdup(filename); ++ cp[strcspn(cp, "\r\n")] = '\0'; ++ if (commentp) { ++ *commentp = xstrdup(*cp ? ++ cp : filename); ++ } + fclose(f); + return 1; + } diff --git a/testing/openssh/sshd b/testing/openssh/sshd new file mode 100755 index 000000000..2ee1091f0 --- /dev/null +++ b/testing/openssh/sshd @@ -0,0 +1,48 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions +. /etc/conf.d/sshd + +PIDFILE=/var/run/sshd.pid +PID=$(cat $PIDFILE 2>/dev/null) +if ! readlink -q /proc/$PID/exe | grep -q '^/usr/sbin/sshd'; then + PID= + rm $PIDFILE 2>/dev/null +fi + +case "$1" in + start) + stat_busy "Starting Secure Shell Daemon" + [ -f /etc/ssh/ssh_host_key ] || { /usr/bin/ssh-keygen -t rsa1 -N "" -f /etc/ssh/ssh_host_key >/dev/null; } + [ -f /etc/ssh/ssh_host_rsa_key ] || { /usr/bin/ssh-keygen -t rsa -N "" -f /etc/ssh/ssh_host_rsa_key >/dev/null; } + [ -f /etc/ssh/ssh_host_dsa_key ] || { /usr/bin/ssh-keygen -t dsa -N "" -f /etc/ssh/ssh_host_dsa_key >/dev/null; } + [ -f /etc/ssh/ssh_host_ecdsa_key ] || { /usr/bin/ssh-keygen -t ecdsa -N "" -f /etc/ssh/ssh_host_ecdsa_key >/dev/null; } + [ -d /var/empty ] || mkdir -p /var/empty + [ -z "$PID" ] && /usr/sbin/sshd $SSHD_ARGS + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon sshd + stat_done + fi + ;; + stop) + stat_busy "Stopping Secure Shell Daemon" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon sshd + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/testing/openssh/sshd.confd b/testing/openssh/sshd.confd new file mode 100644 index 000000000..5ce7c0079 --- /dev/null +++ b/testing/openssh/sshd.confd @@ -0,0 +1,4 @@ +# +# Parameters to be passed to sshd +# +SSHD_ARGS="" diff --git a/testing/openssh/sshd.pam b/testing/openssh/sshd.pam new file mode 100644 index 000000000..ff8829fe9 --- /dev/null +++ b/testing/openssh/sshd.pam @@ -0,0 +1,11 @@ +#%PAM-1.0 +#auth required pam_securetty.so #Disable remote root +auth required pam_unix.so +auth required pam_env.so +account required pam_nologin.so +account required pam_unix.so +account required pam_time.so +password required pam_unix.so +session required pam_unix_session.so +session required pam_limits.so +-session optional pam_ck_connector.so nox11 diff --git a/testing/quota-tools/LICENSE b/testing/quota-tools/LICENSE new file mode 100644 index 000000000..4bae71589 --- /dev/null +++ b/testing/quota-tools/LICENSE @@ -0,0 +1,33 @@ +/* + * Copyright (c) 1980, 1990 Regents of the University of California. All + * rights reserved. + * + * This code is derived from software contributed to Berkeley by Robert Elz at + * The University of Melbourne. + * + * 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. All advertising + * materials mentioning features or use of this software must display the + * following acknowledgement: This product includes software developed by the + * University of California, Berkeley and its contributors. 4. Neither the + * name of the University nor the names of its contributors may be used to + * endorse or promote products derived from this software without specific + * prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. + */ diff --git a/testing/quota-tools/PKGBUILD b/testing/quota-tools/PKGBUILD new file mode 100644 index 000000000..79bb209a4 --- /dev/null +++ b/testing/quota-tools/PKGBUILD @@ -0,0 +1,49 @@ +# $Id: PKGBUILD 131802 2011-07-15 11:55:43Z eric $ +# Maintainer: Eric Bélanger + +pkgname=quota-tools +pkgver=4.00_pre1 +pkgrel=1 +pkgdesc="Tools to manage kernel-level quotas in Linux" +arch=('i686' 'x86_64') +url="http://sourceforge.net/projects/linuxquota/" +license=('GPL' 'BSD') +depends=('e2fsprogs') +backup=('etc/warnquota.conf' 'etc/quotatab' 'etc/quotagrpadmins') +options=('!emptydirs') +source=(http://downloads.sourceforge.net/sourceforge/linuxquota/quota-${pkgver/_/-}.tar.gz LICENSE \ + quotaon.diff system_inodes.diff repquota.diff nulls.diff) +md5sums=('ef9d66e8a968ecffd2d9df648fa8ada2' + 'dd792440e684043e4e4ef80963d0237b' + '9ac7ca4746de1ad057baee21474b7906' + '92d9f2a4b3e5e3adf2977051391785a7' + 'd1d70d4167e53d1414079b4391f1cfb8' + '094bce5226c4fd1c383bd0b75405ee2c') +sha1sums=('adf29b49dab449078eb6ffdfe8af51fe85419e28' + '57297bdc9e638c500506169bbbe12eb89bcf7d07' + '2304f03cddd06d8791167f621683f7ef54610673' + 'e2a33f1f95a3ff8c741a2067058e898f6054af09' + '8b00e7c4f7af2188ad49a50a616c1d71eee20459' + '0527f761aa869f5d9e463ceab4a3bf82881d05c2') + +build() { + cd "${srcdir}/${pkgname}" + patch -p1 -i "${srcdir}/quotaon.diff" + patch -p1 -i "${srcdir}/system_inodes.diff" + patch -p1 -i "${srcdir}/repquota.diff" + patch -p1 -i "${srcdir}/nulls.diff" + ./configure --prefix=/usr --sysconfdir=/etc + sed -i -e 's/#define HOSTS_ACCESS 1//' -e 's/HOSTS_ACCESS//' config.h + sed -i 's/-lwrap//' Makefile + make +} + +package() { + cd "${srcdir}/${pkgname}" + make ROOTDIR="${pkgdir}" install + install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" + +# remove conflicts with glibc and man-pages + rm "${pkgdir}"/usr/include/rpcsvc/rquota.{h,x} + rm "${pkgdir}/usr/share/man/man2/quotactl.2" +} diff --git a/testing/quota-tools/nulls.diff b/testing/quota-tools/nulls.diff new file mode 100644 index 000000000..97c5bc482 --- /dev/null +++ b/testing/quota-tools/nulls.diff @@ -0,0 +1,20 @@ +#Description: Avoid memory corruption of NULL address +#Author: Petr Pisar + +--- quota/quotasys.c 2010-02-18 09:44:11.000000000 +0100 ++++ quota-tools/quotasys.c 2010-05-05 08:02:53.000000000 +0200 +@@ -746,9 +746,12 @@ + kernel_qfmt_num = 0; + if (!stat("/proc/fs/xfs/stat", &st)) + kernel_qfmt[kernel_qfmt_num++] = QF_XFS; +- else +- if (!quotactl(QCMD(Q_XGETQSTAT, 0), NULL, 0, NULL) || (errno != EINVAL && errno != ENOSYS)) ++ else { ++ fs_quota_stat_t dummy; ++ ++ if (!quotactl(QCMD(Q_XGETQSTAT, 0), "/dev/root", 0, (void *)&dummy) || (errno != EINVAL && errno != ENOSYS)) + kernel_qfmt[kernel_qfmt_num++] = QF_XFS; ++ } + /* Detect new kernel interface; Assume generic interface unless we can prove there is not one... */ + if (!stat("/proc/sys/fs/quota", &st) || errno != ENOENT) { + kernel_iface = IFACE_GENERIC; diff --git a/testing/quota-tools/quotaon.diff b/testing/quota-tools/quotaon.diff new file mode 100644 index 000000000..6a43cee6c --- /dev/null +++ b/testing/quota-tools/quotaon.diff @@ -0,0 +1,216 @@ +# Description: Fix quotaon to work with XFS and print all informational messages only in verbose mode +# Author: Jan Kara + +diff -u quota/quotaon.c quota-tools/quotaon.c +--- quota/quotaon.c 2010-07-28 11:14:02.000000000 +0200 ++++ quota-tools/quotaon.c 2010-06-15 10:11:30.000000000 +0200 +@@ -42,6 +42,7 @@ + #include + #include + #include ++#include + + #include "quotaon.h" + #include "quota.h" +@@ -145,6 +146,19 @@ + } + } + ++int pinfo(char *fmt, ...) ++{ ++ va_list arg; ++ int ret; ++ ++ if (!(flags & FL_VERBOSE)) ++ return 0; ++ va_start(arg, fmt); ++ ret = vprintf(fmt, arg); ++ va_end(arg); ++ return ret; ++} ++ + /* + * Enable/disable rsquash on given filesystem + */ +@@ -171,10 +185,10 @@ + errstr(_("set root_squash on %s: %s\n"), quotadev, strerror(errno)); + return 1; + } +- if ((flags & STATEFLAG_VERBOSE) && (flags & STATEFLAG_OFF)) +- printf(_("%s: %s root_squash turned off\n"), quotadev, type2name(type)); +- else if ((flags & STATEFLAG_VERBOSE) && (flags & STATEFLAG_ON)) +- printf(_("%s: %s root_squash turned on\n"), quotadev, type2name(type)); ++ if (flags & STATEFLAG_OFF) ++ pinfo(_("%s: %s root_squash turned off\n"), quotadev, type2name(type)); ++ else if (flags & STATEFLAG_ON) ++ pinfo(_("%s: %s root_squash turned on\n"), quotadev, type2name(type)); + #endif + return 0; + } +@@ -195,8 +209,7 @@ + errstr(_("quotactl on %s [%s]: %s\n"), quotadev, quotadir, strerror(errno)); + return 1; + } +- if (flags & STATEFLAG_VERBOSE) +- printf(_("%s [%s]: %s quotas turned off\n"), quotadev, quotadir, type2name(type)); ++ pinfo(_("%s [%s]: %s quotas turned off\n"), quotadev, quotadir, type2name(type)); + return 0; + } + if (kernel_iface == IFACE_GENERIC) { +@@ -218,8 +231,7 @@ + errstr(_("Quota format not supported in kernel.\n")); + return 1; + } +- if (flags & STATEFLAG_VERBOSE) +- printf(_("%s [%s]: %s quotas turned on\n"), quotadev, quotadir, type2name(type)); ++ pinfo(_("%s [%s]: %s quotas turned on\n"), quotadev, quotadir, type2name(type)); + return 0; + } + +@@ -268,8 +280,6 @@ + int sflags, ret = 0; + + sflags = flags & FL_OFF ? STATEFLAG_OFF : STATEFLAG_ON; +- if (flags & FL_VERBOSE) +- sflags |= STATEFLAG_VERBOSE; + if (flags & FL_ALL) + sflags |= STATEFLAG_ALL; + +@@ -281,10 +291,7 @@ + errstr(_("Cannot change state of XFS quota. It's not compiled in kernel.\n")); + return 1; + } +- if ((flags & FL_OFF && (kern_quota_on(mnt->mnt_fsname, USRQUOTA, QF_XFS) != -1 +- || kern_quota_on(mnt->mnt_fsname, GRPQUOTA, QF_XFS) != -1)) +- || (!(flags & FL_OFF) && kern_quota_on(mnt->mnt_fsname, type, QF_XFS) == -1)) +- ret = xfs_newstate(mnt, type, extra, sflags); ++ ret = xfs_newstate(mnt, type, extra, sflags); + } + else if (meta_qf_fstype(mnt->mnt_type)) { + if (!hasquota(mnt, type, 0)) +@@ -376,7 +383,7 @@ + while ((mnt = get_next_mount())) { + if (nfs_fstype(mnt->mnt_type)) { + if (!(flags & FL_ALL)) +- fprintf(stderr, "%s: Quota cannot be turned on on NFS filesystem\n", mnt->mnt_fsname); ++ errstr(_("%s: Quota cannot be turned on on NFS filesystem\n"), mnt->mnt_fsname); + continue; + } + +diff -u quota/quotaon.h quota-tools/quotaon.h +--- quota/quotaon.h 2010-02-18 09:44:11.000000000 +0100 ++++ quota-tools/quotaon.h 2010-06-12 12:06:08.000000000 +0200 +@@ -13,7 +13,7 @@ + #define STATEFLAG_ON 0x01 + #define STATEFLAG_OFF 0x02 + #define STATEFLAG_ALL 0x04 +-#define STATEFLAG_VERBOSE 0x08 + + typedef int (newstate_t) (struct mntent * mnt, int type, char *file, int flags); + extern int xfs_newstate(struct mntent *mnt, int type, char *file, int flags); ++extern int pinfo(char *fmt, ...); +diff -u quota/quotaon_xfs.c quota-tools/quotaon_xfs.c +--- quota/quotaon_xfs.c 2010-07-26 18:48:24.000000000 +0200 ++++ quota-tools/quotaon_xfs.c 2010-06-15 10:11:30.000000000 +0200 +@@ -59,8 +59,8 @@ + return 1; + case Q_XFS_QUOTAON: + if (roothack) { +- printf(_("Enabling %s quota on root filesystem" +- " (reboot to take effect)\n"), type2name(type)); ++ pinfo(_("Enabling %s quota on root filesystem" ++ " (reboot to take effect)\n"), type2name(type)); + return 1; + } + errstr(_("Enable XFS %s quota accounting during mount\n"), +@@ -79,12 +79,12 @@ + return -1; + case Q_XFS_QUOTAON: + if (roothack) { +- printf(_("Enabling %s quota on root filesystem" +- " (reboot to take effect)\n"), type2name(type)); ++ pinfo(_("Enabling %s quota on root filesystem" ++ " (reboot to take effect)\n"), type2name(type)); + return 1; + } + if (xopts & XFS_QUOTA_UDQ_ENFD || xopts & XFS_QUOTA_GDQ_ENFD) { +- printf(_("Enabling %s quota enforcement on %s\n"), type2name(type), dev); ++ pinfo(_("Enabling %s quota enforcement on %s\n"), type2name(type), dev); + return 1; + } + errstr(_("Already accounting %s quota on %s\n"), +@@ -92,7 +92,7 @@ + return -1; + case Q_XFS_QUOTAOFF: + if (xopts & XFS_QUOTA_UDQ_ACCT || xopts & XFS_QUOTA_GDQ_ACCT) { +- printf(_("Disabling %s quota accounting on %s\n"), ++ pinfo(_("Disabling %s quota accounting on %s\n"), + type2name(type), dev); + return 1; + } +@@ -121,9 +121,9 @@ + return -1; + } + if (xopts & XFS_QUOTA_UDQ_ACCT || xopts & XFS_QUOTA_GDQ_ACCT) +- acctstr = _("and accounting "); +- printf(_("Disabling %s quota enforcement %son %s\n"), +- type2name(type), acctstr, dev); ++ acctstr = _("and accounting "); ++ pinfo(_("Disabling %s quota enforcement %son %s\n"), ++ type2name(type), acctstr, dev); + return 1; + } + break; +@@ -146,10 +146,10 @@ + errstr(_("quotactl on %s: %s\n"), dev, strerror(errno)); + return 1; + } +- if ((flags & STATEFLAG_VERBOSE) && qoff) +- printf(_("%s: %s quotas turned off\n"), dev, type2name(type)); +- else if ((flags & STATEFLAG_VERBOSE) && !qoff) +- printf(_("%s: %s quotas turned on\n"), dev, type2name(type)); ++ if (qoff) ++ pinfo(_("%s: %s quotas turned off\n"), dev, type2name(type)); ++ else ++ pinfo(_("%s: %s quotas turned on\n"), dev, type2name(type)); + return 0; + } + +@@ -168,8 +168,7 @@ + return 1; + } + +- if (flags & STATEFLAG_VERBOSE) +- printf(_("%s: deleted %s quota blocks\n"), dev, type2name(type)); ++ pinfo(_("%s: deleted %s quota blocks\n"), dev, type2name(type)); + return 0; + } + +@@ -208,16 +207,12 @@ + } + #endif /* XFS_ROOTHACK */ + +- if (xarg == NULL) { /* both acct & enfd on/off */ +- xopts |= (type == USRQUOTA) ? +- (XFS_QUOTA_UDQ_ACCT | XFS_QUOTA_UDQ_ENFD) : +- (XFS_QUOTA_GDQ_ACCT | XFS_QUOTA_GDQ_ENFD); ++ if (xarg == NULL) { /* only enfd on/off */ ++ xopts |= (type == USRQUOTA) ? XFS_QUOTA_UDQ_ENFD : ++ XFS_QUOTA_GDQ_ENFD; + err = xfs_onoff((char *)dev, type, flags, roothack, xopts); + } + else if (strcmp(xarg, "account") == 0) { +- /* only useful if we want root accounting only */ +- if (!roothack || !(flags & STATEFLAG_ON)) +- goto done; + xopts |= (type == USRQUOTA) ? XFS_QUOTA_UDQ_ACCT : XFS_QUOTA_GDQ_ACCT; + err = xfs_onoff((char *)dev, type, flags, roothack, xopts); + } +@@ -231,7 +226,6 @@ + } + else + die(1, _("Invalid argument \"%s\"\n"), xarg); +- done: + free((char *)dev); + return err; + } diff --git a/testing/quota-tools/repquota.diff b/testing/quota-tools/repquota.diff new file mode 100644 index 000000000..3d79497d9 --- /dev/null +++ b/testing/quota-tools/repquota.diff @@ -0,0 +1,91 @@ +# Description: fix repquota to get latest quota info header +# Author: Jan Kara + +diff -u quota/quotaio.c quota-tools/quotaio.c +--- quota/quotaio.c 2010-07-28 11:14:02.000000000 +0200 ++++ quota-tools/quotaio.c 2010-05-28 09:05:21.000000000 +0200 +@@ -147,6 +147,15 @@ + } + } + if (!QIO_ENABLED(h) || flags & IOI_OPENFILE) { /* Need to open file? */ ++ if (QIO_ENABLED(h)) { /* Kernel uses same file? */ ++ unsigned int cmd = ++ (kernel_iface == IFACE_GENERIC) ? Q_SYNC : Q_6_5_SYNC; ++ if (quotactl(QCMD(cmd, h->qh_type), h->qh_quotadev, ++ 0, NULL) < 0) { ++ die(4, _("Cannot sync quotas on device %s: %s\n"), ++ h->qh_quotadev, strerror(errno)); ++ } ++ } + /* We still need to open file for operations like 'repquota' */ + if ((fd = open(qfname, QIO_RO(h) ? O_RDONLY : O_RDWR)) < 0) { + errstr(_("Cannot open quotafile %s: %s\n"), +diff -u quota/quotaio_v1.c quota-tools/quotaio_v1.c +--- quota/quotaio_v1.c 2010-07-26 18:48:24.000000000 +0200 ++++ quota-tools/quotaio_v1.c 2010-05-28 09:05:23.000000000 +0200 +@@ -348,11 +348,6 @@ + struct dquot *dquot = get_empty_dquot(); + qid_t id = 0; + +- if (QIO_ENABLED(h)) /* Kernel uses same file? */ +- if (quotactl(QCMD((kernel_iface == IFACE_GENERIC) ? Q_SYNC : Q_6_5_SYNC, h->qh_type), +- h->qh_quotadev, 0, NULL) < 0) +- die(4, _("Cannot sync quotas on device %s: %s\n"), h->qh_quotadev, +- strerror(errno)); + memset(dquot, 0, sizeof(*dquot)); + dquot->dq_h = h; + lseek(h->qh_fd, 0, SEEK_SET); +diff -u quota/quotaio_v2.c quota-tools/quotaio_v2.c +--- quota/quotaio_v2.c 2010-02-18 09:44:11.000000000 +0100 ++++ quota-tools/quotaio_v2.c 2010-05-28 09:05:23.000000000 +0200 +@@ -484,11 +484,6 @@ + + static int v2_scan_dquots(struct quota_handle *h, int (*process_dquot) (struct dquot *, char *)) + { +- if (QIO_ENABLED(h)) /* Kernel uses same file? */ +- if (quotactl(QCMD((kernel_iface == IFACE_GENERIC) ? Q_SYNC : Q_6_5_SYNC, h->qh_type), +- h->qh_quotadev, 0, NULL) < 0) +- die(4, _("Cannot sync quotas on device %s: %s\n"), h->qh_quotadev, +- strerror(errno)); + return qtree_scan_dquots(h, process_dquot); + } + +diff -u quota/quotasys.c quota-tools/quotasys.c +--- quota/quotasys.c 2010-07-28 11:14:02.000000000 +0200 ++++ quota-tools/quotasys.c 2010-06-15 10:11:30.000000000 +0200 +@@ -861,22 +861,23 @@ + if (kernel_iface == IFACE_GENERIC) { + int actfmt; + +- if (quotactl(QCMD(Q_GETFMT, type), dev, 0, (void *)&actfmt) < 0) +- return -1; +- actfmt = kern2utilfmt(actfmt); +- if (actfmt < 0) +- return -1; +- return actfmt; ++ if (quotactl(QCMD(Q_GETFMT, type), dev, 0, ++ (void *)&actfmt) >= 0) { ++ actfmt = kern2utilfmt(actfmt); ++ if (actfmt >= 0) ++ return actfmt; ++ } ++ } else { ++ if ((fmt == -1 || fmt == QF_VFSV0) && ++ v2_kern_quota_on(dev, type)) /* VFSv0 quota format */ ++ return QF_VFSV0; ++ if ((fmt == -1 || fmt == QF_VFSOLD) && ++ v1_kern_quota_on(dev, type)) /* Old quota format */ ++ return QF_VFSOLD; + } +- if ((fmt == -1 || fmt == QF_VFSV0) && +- v2_kern_quota_on(dev, type)) /* VFSv0 quota format */ +- return QF_VFSV0; + if ((fmt == -1 || fmt == QF_XFS) && + xfs_kern_quota_on(dev, type)) /* XFS quota format */ + return QF_XFS; +- if ((fmt == -1 || fmt == QF_VFSOLD) && +- v1_kern_quota_on(dev, type)) /* Old quota format */ +- return QF_VFSOLD; + return -1; + } + diff --git a/testing/quota-tools/system_inodes.diff b/testing/quota-tools/system_inodes.diff new file mode 100644 index 000000000..94f4d66da --- /dev/null +++ b/testing/quota-tools/system_inodes.diff @@ -0,0 +1,18 @@ +# Description: Do not count system inodes into quota for ext[234] +# Author: Jan Kara + +--- quota/quotacheck.c 2010-02-18 09:44:10.000000000 +0100 ++++ quota-tools//quotacheck.c 2010-05-22 16:47:53.000000000 +0200 +@@ -455,8 +455,10 @@ + return -1; + } + +- while ((long)i_num) { +- if (inode.i_links_count) { ++ while (i_num) { ++ if ((i_num == EXT2_ROOT_INO || ++ i_num >= EXT2_FIRST_INO(fs->super)) && ++ inode.i_links_count) { + debug(FL_DEBUG, _("Found i_num %ld, blocks %ld\n"), (long)i_num, (long)inode.i_blocks); + if (flags & FL_VERBOSE) + blit(NULL); diff --git a/testing/rrdtool/PKGBUILD b/testing/rrdtool/PKGBUILD new file mode 100644 index 000000000..2395df342 --- /dev/null +++ b/testing/rrdtool/PKGBUILD @@ -0,0 +1,37 @@ +# $Id: PKGBUILD 131818 2011-07-15 23:27:54Z dan $ +# Maintainer: Eric Bélanger + +pkgname=rrdtool +pkgver=1.4.5 +pkgrel=3 +pkgdesc="Data logging and graphing application" +arch=('i686' 'x86_64') +url="http://www.rrdtool.org" +license=('GPL' 'custom') +depends=('libpng' 'libxml2' 'pango') +makedepends=('intltool' 'ruby' 'python2' 'tcl' 'lua') +optdepends=('tcl: to use corresponding binding' \ + 'python2: to use corresponding binding' \ + 'ruby: to use corresponding binding' \ + 'lua: to use corresponding binding') +options=('!libtool' '!emptydirs' '!makeflags') +source=(http://oss.oetiker.ch/rrdtool/pub/rrdtool-${pkgver}.tar.gz) +md5sums=('4d116dba9a0888d8aaac179e35d3980a') +sha1sums=('56638e8aedd5d5522152e86746e382b75dc48c35') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + sed -i 's|-lrrd|-lrrd -L/usr/lib/perl5/core_perl/CORE/ -lperl -Wl,-E -Wl,-rpath,/usr/lib/perl5/core_perl/CORE |' \ + bindings/perl-shared/Makefile.PL + ./configure --prefix=/usr --localstatedir=/var --disable-rpath \ + --enable-perl --enable-perl-site-install --with-perl-options='INSTALLDIRS=vendor' \ + --enable-ruby --enable-ruby-site-install --enable-python \ + --enable-lua --enable-lua-site-install --enable-tcl --disable-libwrap + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + install -D -m644 COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/testing/socat/PKGBUILD b/testing/socat/PKGBUILD new file mode 100644 index 000000000..458009ce3 --- /dev/null +++ b/testing/socat/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 131647 2011-07-13 08:01:50Z bisson $ +# Maintainer: Gaetan Bisson +# Contributor: Juergen Hoetzel +# Contributor: John Proctor + +pkgname=socat +pkgver=1.7.1.3 +pkgrel=3 +pkgdesc='Multipurpose relay' +url='http://www.dest-unreach.org/socat/' +license=('GPL2') +arch=('i686' 'x86_64') +depends=('readline' 'openssl') +source=("http://www.dest-unreach.org/socat/download/${pkgname}-${pkgver}.tar.gz") +sha1sums=('5a42275da0d8a5182452b36535a74c3cdf21793b') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + ./configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --disable-libwrap # only required while base/base-devel uses tcp_wrappers + + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make DESTDIR="${pkgdir}" install +} diff --git a/testing/tftp-hpa/LICENSE b/testing/tftp-hpa/LICENSE new file mode 100644 index 000000000..6dade6984 --- /dev/null +++ b/testing/tftp-hpa/LICENSE @@ -0,0 +1,32 @@ +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * 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. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. + */ diff --git a/testing/tftp-hpa/PKGBUILD b/testing/tftp-hpa/PKGBUILD new file mode 100644 index 000000000..4ffee8765 --- /dev/null +++ b/testing/tftp-hpa/PKGBUILD @@ -0,0 +1,35 @@ +# $Id: PKGBUILD 131815 2011-07-15 23:11:48Z dan $ +# Contributor: Jose Javier +pkgname=tftp-hpa +pkgver=5.1 +pkgrel=0 +pkgdesc="Official tftp server" +arch=('i686' 'x86_64') +url="http://www.kernel.org/pub/software/network/tftp/" +license=('BSD') +depends=('readline>=6.0') +conflicts=('netkit-tftp') +backup=('etc/conf.d/tftpd') +source=(http://www.kernel.org/pub/software/network/tftp/$pkgname-$pkgver.tar.gz + tftpd.rc tftpd.conf LICENSE) +md5sums=('d086b1bd6e5ed6375ad407e273afccdf' + 'a974d02526f19222146c8e3d3b598871' + '414a79dc891bced056d99a9bb790fc9e' + '6ce21e27b6fdc1a1adf85c81e42aeecf') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --mandir=/usr/share/man --without-tcpwrappers + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make INSTALLROOT="${pkgdir}" install + install -d "${pkgdir}/etc/rc.d" + install -d "${pkgdir}/var/tftpboot" + install -m755 "${srcdir}/tftpd.rc" "${pkgdir}/etc/rc.d/tftpd" + install -D -m644 "${srcdir}/tftpd.conf" "${pkgdir}/etc/conf.d/tftpd" + rm "${pkgdir}/usr/share/man/man8/tftpd.8" + install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/testing/tftp-hpa/tftpd.conf b/testing/tftp-hpa/tftpd.conf new file mode 100644 index 000000000..4705cc3a9 --- /dev/null +++ b/testing/tftp-hpa/tftpd.conf @@ -0,0 +1,4 @@ +# +# Parameters to be passed to TFTPD +# +TFTPD_ARGS="-l -s /var/tftpboot" diff --git a/testing/tftp-hpa/tftpd.rc b/testing/tftp-hpa/tftpd.rc new file mode 100755 index 000000000..b21f87f5c --- /dev/null +++ b/testing/tftp-hpa/tftpd.rc @@ -0,0 +1,38 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +TFTPD_ARGS= +[ -f /etc/conf.d/tftpd ] && . /etc/conf.d/tftpd + +PID=$(pidof -o %PPID /usr/sbin/in.tftpd) +case "$1" in + start) + stat_busy "Starting TFTPD" + [ -z "$PID" ] && /usr/sbin/in.tftpd ${TFTPD_ARGS} + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon in.tftpd + stat_done + fi + ;; + stop) + stat_busy "Stopping TFTPD" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon in.tftpd + stat_done + fi + ;; + restart) + $0 stop + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/testing/vsftpd/PKGBUILD b/testing/vsftpd/PKGBUILD new file mode 100644 index 000000000..c35fe02de --- /dev/null +++ b/testing/vsftpd/PKGBUILD @@ -0,0 +1,43 @@ +# $Id: PKGBUILD 131827 2011-07-15 23:59:43Z dreisner $ +# Maintainer: Andreas Radke +# Contributor: judd + +pkgname=vsftpd +pkgver=2.3.4 +pkgrel=2 +pkgdesc="Very Secure FTP daemon" +arch=('i686' 'x86_64') +url="https://security.appspot.com/vsftpd.html" +license=('GPL2') +depends=('openssl') +backup=('etc/vsftpd.conf' 'etc/xinetd.d/vsftpd') +install=vsftpd.install +source=("https://security.appspot.com/downloads/${pkgname}-${pkgver}.tar.gz" + 'vsftpd.xinetd' 'vsftpd.d') +md5sums=('2ea5d19978710527bb7444d93b67767a' + 'b07fd4609c70063c1d6b20142910c1a6' + '60060a6c7db3b3b7baa1561a302e6923') +sha1sums=('b774cc6b4c50e20f4fe9ca7f6aa74169ce7fe5ea' + 'c87b4ce56dac15223694a6e86c01ea813b877596' + '24f268956c24e78be0c234c6d31f41487922eafe') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + # build-time config + sed \ + -e 's|^#undef VSF_BUILD_SSL$|#define VSF_BUILD_SSL|' \ + -i builddefs.h + make CFLAGS="${CFLAGS}" +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + install -D -m755 vsftpd "${pkgdir}/usr/sbin/vsftpd" + install -D -m644 vsftpd.conf "${pkgdir}/etc/vsftpd.conf" + install -D -m644 vsftpd.8 "${pkgdir}/usr/share/man/man8/vsftpd.8" + install -D -m644 vsftpd.conf.5 "${pkgdir}/usr/share/man/man5/vsftpd.conf.5" + install -D -m644 "${srcdir}/vsftpd.xinetd" "${pkgdir}/etc/xinetd.d/vsftpd" + install -D -m755 "${srcdir}/vsftpd.d" "${pkgdir}/etc/rc.d/vsftpd" + + install -d -m755 "${pkgdir}/usr/share/empty" +} diff --git a/testing/vsftpd/vsftpd.d b/testing/vsftpd/vsftpd.d new file mode 100644 index 000000000..27310855c --- /dev/null +++ b/testing/vsftpd/vsftpd.d @@ -0,0 +1,67 @@ +#!/bin/bash + +daemon_name=vsftpd + +. /etc/rc.conf +. /etc/rc.d/functions + +get_pid() { + pidof -o %PPID $daemon_name +} + +case "$1" in + start) + stat_busy "Starting $daemon_name daemon" + + PID=$(get_pid) + if [ -z "$PID" ]; then + [ -f /var/run/$daemon_name.pid ] && rm -f /var/run/$daemon_name.pid + # RUN + $daemon_name & + # + if [ $? -gt 0 ]; then + stat_fail + exit 1 + else + echo $(get_pid) > /var/run/$daemon_name.pid + add_daemon $daemon_name + stat_done + fi + else + stat_fail + exit 1 + fi + ;; + + stop) + stat_busy "Stopping $daemon_name daemon" + PID=$(get_pid) + # KILL + [ ! -z "$PID" ] && kill $PID &> /dev/null + # + if [ $? -gt 0 ]; then + stat_fail + exit 1 + else + rm -f /var/run/$daemon_name.pid &> /dev/null + rm_daemon $daemon_name + stat_done + fi + ;; + + restart) + $0 stop + sleep 3 + $0 start + ;; + + status) + stat_busy "Checking $daemon_name status"; + ck_status $daemon_name + ;; + + *) + echo "usage: $0 {start|stop|restart|status}" +esac + +exit 0 diff --git a/testing/vsftpd/vsftpd.install b/testing/vsftpd/vsftpd.install new file mode 100644 index 000000000..48f134e24 --- /dev/null +++ b/testing/vsftpd/vsftpd.install @@ -0,0 +1,17 @@ +# arg 1: the new package version +post_install() { + if [ -f lib/modules/`uname -r`/kernel/security/capability.ko ]; then + echo ">>> It appears that your current kernel has linux security" + echo ">>> capabilities built as a module. vsftpd requires this" + echo ">>> functionality to operate." + echo ">>>" + echo ">>> To activate the module, please load it now (modprobe capability)." + echo ">>> Also, you should add it to your MODULES array in rc.conf, so" + echo ">>> it will be activated automatically at boot-up." + fi +} + +post_upgrade() { + post_install $1 +} + diff --git a/testing/vsftpd/vsftpd.xinetd b/testing/vsftpd/vsftpd.xinetd new file mode 100644 index 000000000..eff2eb3db --- /dev/null +++ b/testing/vsftpd/vsftpd.xinetd @@ -0,0 +1,10 @@ +service ftp +{ + socket_type = stream + wait = no + user = root + server = /usr/sbin/vsftpd + log_on_success += HOST DURATION + log_on_failure += HOST + disable = yes +} diff --git a/testing/xinetd/PKGBUILD b/testing/xinetd/PKGBUILD new file mode 100644 index 000000000..27bf3b2a0 --- /dev/null +++ b/testing/xinetd/PKGBUILD @@ -0,0 +1,43 @@ +# $Id: PKGBUILD 131821 2011-07-15 23:50:00Z dan $ +# Maintainer: +# Contributor: Judd + +pkgname=xinetd +pkgver=2.3.14 +pkgrel=7 +pkgdesc="A secure replacement for inetd" +arch=('i686' 'x86_64') +url="http://www.xinetd.org/" +license=('custom') +optdepends=('perl: for xconv.pl script') +backup=('etc/xinetd.conf' 'etc/xinetd.d/servers' 'etc/xinetd.d/services') +source=(http://www.xinetd.org/xinetd-$pkgver.tar.gz + xinetd.conf + xinetd + servers + services) +md5sums=('567382d7972613090215c6c54f9b82d9' + 'f109f699a07bc8cfb5791060f5e87f9e' + 'ea37a2794f202e6b953d9b6956dad16a' + '21f47b4aa20921cfaddddd9f9a407f81' + '9fa2061dc7dd738c8424251deb86f81e') + +build() { + cd $srcdir/$pkgname-$pkgver + sed -i "s#${prefix}/man#${prefix}/share/man#" configure + ./configure --prefix=/usr --without-libwrap + make +} + +package() { + cd $srcdir/$pkgname-$pkgver + make prefix=$pkgdir/usr install + + install -Dm755 $srcdir/xinetd $pkgdir/etc/rc.d/xinetd + install -Dm644 $srcdir/xinetd.conf $pkgdir/etc/xinetd.conf + install -Dm644 $srcdir/servers $pkgdir/etc/xinetd.d/servers + install -Dm644 $srcdir/services $pkgdir/etc/xinetd.d/services + + # install license + install -Dm644 COPYRIGHT $pkgdir/usr/share/licenses/$pkgname/COPYRIGHT +} diff --git a/testing/xinetd/servers b/testing/xinetd/servers new file mode 100644 index 000000000..f064c8d7a --- /dev/null +++ b/testing/xinetd/servers @@ -0,0 +1,10 @@ +service servers +{ + type = INTERNAL UNLISTED + port = 9099 + socket_type = stream + protocol = tcp + wait = no + disable = yes + only_from = 127.0.0.1 +} diff --git a/testing/xinetd/services b/testing/xinetd/services new file mode 100644 index 000000000..4ea304c4f --- /dev/null +++ b/testing/xinetd/services @@ -0,0 +1,10 @@ +service services +{ + type = INTERNAL UNLISTED + port = 9098 + socket_type = stream + protocol = tcp + wait = no + disable = yes + only_from = 127.0.0.1 +} diff --git a/testing/xinetd/xinetd b/testing/xinetd/xinetd new file mode 100755 index 000000000..4b8fa369a --- /dev/null +++ b/testing/xinetd/xinetd @@ -0,0 +1,38 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/sbin/xinetd` +case "$1" in + start) + stat_busy "Starting xinetd" + [ -z "$PID" ] && /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid + if [ $? -gt 0 ]; then + stat_fail + else + echo $PID > /var/run/xinetd.pid + add_daemon xinetd + stat_done + fi + ;; + stop) + stat_busy "Stopping xinetd" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm -f /var/run/xinetd.pid + rm_daemon xinetd + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/testing/xinetd/xinetd.conf b/testing/xinetd/xinetd.conf new file mode 100644 index 000000000..b15d9f649 --- /dev/null +++ b/testing/xinetd/xinetd.conf @@ -0,0 +1,14 @@ +# +# /etc/xinetd.conf +# + +defaults +{ + instances = 60 + log_type = SYSLOG authpriv + log_on_success = HOST PID + log_on_failure = HOST + cps = 25 30 +} + +includedir /etc/xinetd.d -- cgit v1.2.3-54-g00ecf From ddddf9c453076a407bfdbf3e030e606f31ee2b86 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 17 Jul 2011 23:11:47 +0000 Subject: Sun Jul 17 23:11:47 UTC 2011 --- community/conkeror-git/PKGBUILD | 58 + community/conkeror-git/conkeror-git.install | 11 + community/conkeror-git/conkeror.sh | 4 + community/conkeror-git/conkeror_gimpfile.xpm | 2251 ++++++++++++++++++++++++++ community/gri/PKGBUILD | 8 +- community/gri/gri.install | 2 +- core/file/PKGBUILD | 12 +- core/file/file-5.07-zip-detect.patch | 45 +- core/lvm2/PKGBUILD | 14 +- extra/bzr/PKGBUILD | 8 +- extra/libmp3splt/PKGBUILD | 6 +- extra/libproxy/PKGBUILD | 23 +- extra/mp3splt/PKGBUILD | 8 +- extra/ocaml/PKGBUILD | 13 +- extra/vlc/PKGBUILD | 15 +- kde-unstable/calligra/PKGBUILD | 6 +- testing/tftp-hpa/PKGBUILD | 22 +- testing/tftp-hpa/tftpd.rc | 4 +- 18 files changed, 2424 insertions(+), 86 deletions(-) create mode 100644 community/conkeror-git/PKGBUILD create mode 100644 community/conkeror-git/conkeror-git.install create mode 100644 community/conkeror-git/conkeror.sh create mode 100644 community/conkeror-git/conkeror_gimpfile.xpm (limited to 'testing') diff --git a/community/conkeror-git/PKGBUILD b/community/conkeror-git/PKGBUILD new file mode 100644 index 000000000..4eeae1f71 --- /dev/null +++ b/community/conkeror-git/PKGBUILD @@ -0,0 +1,58 @@ +# Contributor: Heeru Kiyura +# Maintainer: Stefan Husmann + +_commit=5b74557e78bb16af6dabf72e9499e02ece5ae2be +pkgname=conkeror-git +pkgver=0.9.3 +pkgrel=8 +pkgdesc="A highly programmable web browser based on Mozilla XULRunner." +arch=('i686' 'x86_64') +url="http://conkeror.mozdev.org/" +license=('MPL' 'GPL' 'LGPL') +depends=('xulrunner' 'desktop-file-utils') +makedepends=('git' 'imagemagick') +provides=(conkeror) +source=(conkeror_gimpfile.xpm conkeror.sh) +md5sums=('b592582a5b923db1707615564a95737f' + 'c8c2a1e54312fc504cbf868d55446e35') +install=conkeror-git.install + +__gitroot="git://repo.or.cz/conkeror.git" +__gitname="conkeror" + +build() { + cd $srcdir + + ## Git checkout + if [ -d $srcdir/${__gitname} ] ; then + msg "Git checkout: Updating existing tree" + cd ${__gitname} && git checkout ${_commit} + msg "Git checkout: Tree has been updated" + else + msg "Git checkout: Retrieving sources" + git clone ${__gitroot} && cd ${__gitname} && git checkout ${_commit} + fi + msg "Checkout completed" + + ## Build + [ -d ${__gitname}-build ] || rm -rf $srcdir/${__gitname}-build + git clone $srcdir/${__gitname} $srcdir/${__gitname}-build + cd $srcdir/${__gitname}-build + make +} + +package() { + cd $srcdir/${__gitname}-build + install -d $pkgdir/usr/share/conkeror + install -d $pkgdir/usr/share/man/man1 + cp -a $srcdir/${__gitname}-build/* $pkgdir/usr/share/conkeror + install -Dm644 $pkgdir/usr/share/conkeror/contrib/man/conkeror.1 \ + $pkgdir/usr/share/man/man1/conkeror.1 + rm -r $pkgdir/usr/share/conkeror/contrib/man + install -Dm644 $srcdir/${__gitname}-build/debian/conkeror.desktop \ + $pkgdir/usr/share/applications/conkeror.desktop + rm -r $pkgdir/usr/share/conkeror/debian + install -d $pkgdir/usr/share/pixmaps + install -Dm644 $srcdir/conkeror_gimpfile.xpm $pkgdir/usr/share/pixmaps + install -Dm755 $srcdir/conkeror.sh $pkgdir/usr/bin/conkeror +} diff --git a/community/conkeror-git/conkeror-git.install b/community/conkeror-git/conkeror-git.install new file mode 100644 index 000000000..308f27d33 --- /dev/null +++ b/community/conkeror-git/conkeror-git.install @@ -0,0 +1,11 @@ +post_install() { + update-desktop-database -q +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + update-desktop-database -q +} diff --git a/community/conkeror-git/conkeror.sh b/community/conkeror-git/conkeror.sh new file mode 100644 index 000000000..7de1e7c02 --- /dev/null +++ b/community/conkeror-git/conkeror.sh @@ -0,0 +1,4 @@ +#!/bin/sh +cd /usr/share/conkeror/ +xulrunner application.ini $1 +cd - diff --git a/community/conkeror-git/conkeror_gimpfile.xpm b/community/conkeror-git/conkeror_gimpfile.xpm new file mode 100644 index 000000000..ee2dc0773 --- /dev/null +++ b/community/conkeror-git/conkeror_gimpfile.xpm @@ -0,0 +1,2251 @@ +/* XPM */ +static char * conkeror_gimpfile_xpm[] = { +"337 274 1974 2", +" c None", +". c #BD8A7A", +"+ c #F1D9A4", +"@ c #587533", +"# c #2F6B20", +"$ c #347028", +"% c #38732C", +"& c #3D7630", +"* c #437935", +"= c #487D3C", +"- c #4F8141", +"; c #558447", +"> c #558546", +", c #4C7F3D", +"' c #417935", +") c #5C7736", +"! c #9D9C64", +"~ c #29671B", +"{ c #2D6A1E", +"] c #2C6A1E", +"^ c #2D6A1F", +"/ c #2C6A1F", +"( c #2B6A1E", +"_ c #2D6B1F", +": c #326D25", +"< c #39732C", +"[ c #4B7E3E", +"} c #578546", +"| c #4C8040", +"1 c #427934", +"2 c #367129", +"3 c #2C691E", +"4 c #246314", +"5 c #EBD49F", +"6 c #266619", +"7 c #36712A", +"8 c #4E8040", +"9 c #538346", +"0 c #467B39", +"a c #38722B", +"b c #2B6A1D", +"c c #246414", +"d c #DAC691", +"e c #2A681C", +"f c #2C6A1D", +"g c #2D6B21", +"h c #39722A", +"i c #558346", +"j c #487D3B", +"k c #39722B", +"l c #2D6B20", +"m c #246417", +"n c #236415", +"o c #497C3C", +"p c #568246", +"q c #326F25", +"r c #256516", +"s c #2B681C", +"t c #336F25", +"u c #417733", +"v c #558147", +"w c #457B37", +"x c #336E25", +"y c #2C691D", +"z c #276618", +"A c #246415", +"B c #26631A", +"C c #276219", +"D c #266119", +"E c #2D6620", +"F c #437A36", +"G c #4D7F3F", +"H c #2B6A1F", +"I c #276619", +"J c #2D6B1E", +"K c #2B681D", +"L c #2A661C", +"M c #27641B", +"N c #256219", +"O c #316A25", +"P c #316D24", +"Q c #28681A", +"R c #246516", +"S c #2B691D", +"T c #2A671C", +"U c #28651C", +"V c #266219", +"W c #2A651E", +"X c #457A37", +"Y c #417834", +"Z c #2F6C20", +"` c #2C6B1E", +" . c #2B691B", +".. c #27641A", +"+. c #28641B", +"@. c #3D7430", +"#. c #2E6B20", +"$. c #2E6B1F", +"%. c #2D6C1F", +"&. c #2A691C", +"*. c #2A691B", +"=. c #2C6B1F", +"-. c #2B681E", +";. c #29651B", +">. c #27621A", +",. c #27631C", +"'. c #3F7631", +"). c #306C22", +"!. c #2D6C20", +"~. c #2E6C1F", +"{. c #2E6C20", +"]. c #29691B", +"^. c #27631A", +"/. c #2A641D", +"(. c #508042", +"_. c #357028", +":. c #2A691A", +"<. c #29671D", +"[. c #28631A", +"}. c #2F6821", +"|. c #4E8242", +"1. c #407733", +"2. c #2E6D20", +"3. c #2D6D21", +"4. c #26621A", +"5. c #3A722F", +"6. c #336F27", +"7. c #2D6D20", +"8. c #28691A", +"9. c #29661B", +"0. c #2D6720", +"a. c #508142", +"b. c #447B38", +"c. c #2E6D21", +"d. c #27681A", +"e. c #467B38", +"f. c #3C7630", +"g. c #2D6C21", +"h. c #2E6E21", +"i. c #2F6E21", +"j. c #2F6D21", +"k. c #276818", +"l. c #2E6C21", +"m. c #2B671C", +"n. c #266118", +"o. c #366E29", +"p. c #38712A", +"q. c #266718", +"r. c #2E6E20", +"s. c #316924", +"t. c #558347", +"u. c #347027", +"v. c #2E6E22", +"w. c #2F6E22", +"x. c #2F6F21", +"y. c #266818", +"z. c #2D6821", +"A. c #558547", +"B. c #548246", +"C. c #2F6D20", +"D. c #2F6F22", +"E. c #246617", +"F. c #2B691E", +"G. c #29651C", +"H. c #2C6720", +"I. c #538246", +"J. c #548347", +"K. c #2E6F21", +"L. c #256716", +"M. c #29671C", +"N. c #367027", +"O. c #2F6F23", +"P. c #306F22", +"Q. c #236615", +"R. c #2A681E", +"S. c #28631B", +"T. c #2F6921", +"U. c #3A742C", +"V. c #2E6F22", +"W. c #2F7022", +"X. c #2F7023", +"Y. c #216515", +"Z. c #336C26", +"`. c #417833", +" + c #307022", +".+ c #307023", +"++ c #216513", +"@+ c #3D742F", +"#+ c #497D3C", +"$+ c #2F7123", +"%+ c #226614", +"&+ c #4A7F3C", +"*+ c #578348", +"=+ c #306D24", +"-+ c #307123", +";+ c #2B6C1E", +">+ c #568248", +",+ c #3B752F", +"'+ c #307124", +")+ c #317123", +"!+ c #356D29", +"~+ c #4A7F3E", +"{+ c #306F23", +"]+ c #307224", +"^+ c #286B1B", +"/+ c #276B1A", +"(+ c #4C803E", +"_+ c #357027", +":+ c #317124", +"<+ c #317224", +"[+ c #477C3A", +"}+ c #307122", +"|+ c #2F7124", +"1+ c #307024", +"2+ c #317225", +"3+ c #256218", +"4+ c #2D7020", +"5+ c #2D6E20", +"6+ c #307225", +"7+ c #317325", +"8+ c #276C1A", +"9+ c #384E16", +"0+ c #2C681D", +"a+ c #27631B", +"b+ c #256118", +"c+ c #367128", +"d+ c #2D6D1F", +"e+ c #307325", +"f+ c #307324", +"g+ c #317324", +"h+ c #567834", +"i+ c #296C1D", +"j+ c #2F6923", +"k+ c #508243", +"l+ c #2F7024", +"m+ c #307223", +"n+ c #317326", +"o+ c #327326", +"p+ c #518244", +"q+ c #317426", +"r+ c #327425", +"s+ c #327426", +"t+ c #246917", +"u+ c #2A671D", +"v+ c #3B722F", +"w+ c #326E24", +"x+ c #327325", +"y+ c #317425", +"z+ c #2C7120", +"A+ c #2A661D", +"B+ c #2C661F", +"C+ c #327526", +"D+ c #327527", +"E+ c #266C19", +"F+ c #2D1616", +"G+ c #2E1717", +"H+ c #305716", +"I+ c #518245", +"J+ c #317526", +"K+ c #327427", +"L+ c #7B8B4D", +"M+ c #C0A880", +"N+ c #2B6E1E", +"O+ c #28641A", +"P+ c #427936", +"Q+ c #317527", +"R+ c #316C21", +"S+ c #327627", +"T+ c #266B19", +"U+ c #2A681D", +"V+ c #29641D", +"W+ c #327628", +"X+ c #337627", +"Y+ c #2B7120", +"Z+ c #317223", +"`+ c #266218", +" @ c #548547", +".@ c #4B7F3F", +"+@ c #337527", +"@@ c #337628", +"#@ c #246C18", +"$@ c #2A5315", +"%@ c #4B803F", +"&@ c #447B36", +"*@ c #327528", +"=@ c #337728", +"-@ c #327728", +";@ c #BAAD7B", +">@ c #2D6F1F", +",@ c #2F6E20", +"'@ c #437A35", +")@ c #3D7531", +"!@ c #312117", +"~@ c #2E6D22", +"{@ c #37702A", +"]@ c #38722C", +"^@ c #347729", +"/@ c #337729", +"(@ c #307525", +"_@ c #BCA47D", +":@ c #E4CC9B", +"<@ c #28681B", +"[@ c #2A661B", +"}@ c #326A26", +"|@ c #337829", +"1@ c #3E2723", +"2@ c #8A7359", +"3@ c #CDB68A", +"4@ c #2F7223", +"5@ c #307125", +"6@ c #337828", +"7@ c #347828", +"8@ c #246517", +"9@ c #432C26", +"0@ c #A68E6D", +"a@ c #226215", +"b@ c #317125", +"c@ c #2C6620", +"d@ c #316D23", +"e@ c #337526", +"f@ c #347829", +"g@ c #34782A", +"h@ c #EDD5A1", +"i@ c #78604C", +"j@ c #D8C092", +"k@ c #2E7121", +"l@ c #306D22", +"m@ c #584135", +"n@ c #C6AF85", +"o@ c #BEAA7E", +"p@ c #29651E", +"q@ c #2F6D23", +"r@ c #347728", +"s@ c #347929", +"t@ c #34792A", +"u@ c #4D362D", +"v@ c #2A6C1C", +"w@ c #2A651D", +"x@ c #337727", +"y@ c #35792A", +"z@ c #296D1E", +"A@ c #2F1818", +"B@ c #574034", +"C@ c #D4BC8F", +"D@ c #357929", +"E@ c #347A2A", +"F@ c #357A2A", +"G@ c #34792B", +"H@ c #236617", +"I@ c #61493C", +"J@ c #D0B98C", +"K@ c #2B651F", +"L@ c #35782A", +"M@ c #347A2B", +"N@ c #553E33", +"O@ c #2E7223", +"P@ c #38732A", +"Q@ c #357A2B", +"R@ c #316B24", +"S@ c #3D752F", +"T@ c #337528", +"U@ c #35792B", +"V@ c #357B2A", +"W@ c #357B2B", +"X@ c #307425", +"Y@ c #2C6F1F", +"Z@ c #427A36", +"`@ c #367B2C", +" # c #286D1E", +".# c #2D1717", +"+# c #77604C", +"@# c #E7CF9D", +"## c #4A7E3D", +"$# c #357B2C", +"%# c #226416", +"&# c #A38B6B", +"*# c #2E7022", +"=# c #528448", +"-# c #357C2C", +";# c #442D27", +"># c #718448", +",# c #28651B", +"'# c #548448", +")# c #367C2C", +"!# c #2E7425", +"~# c #2E1716", +"{# c #A99170", +"]# c #38732B", +"^# c #357C2D", +"/# c #367C2D", +"(# c #377C2C", +"_# c #276B1D", +":# c #DDC595", +"<# c #316B25", +"[# c #457A38", +"}# c #377C2D", +"|# c #9B9A65", +"1# c #2A6B1C", +"2# c #528546", +"3# c #377D2D", +"4# c #367D2D", +"5# c #367D2E", +"6# c #357C2B", +"7# c #377D2E", +"8# c #CCB489", +"9# c #2D7122", +"0# c #377E2D", +"a# c #367E2E", +"b# c #2E7424", +"c# c #6B5343", +"d# c #A78F6E", +"e# c #2E6821", +"f# c #377E2E", +"g# c #266B1B", +"h# c #988063", +"i# c #307526", +"j# c #29661C", +"k# c #56874A", +"l# c #367B2B", +"m# c #BAAE7B", +"n# c #2E1617", +"o# c #B8A07B", +"p# c #588749", +"q# c #337929", +"r# c #357A2C", +"s# c #367E2D", +"t# c #387F2E", +"u# c #387F2F", +"v# c #5B4438", +"w# c #29631B", +"x# c #3D7632", +"y# c #377E2F", +"z# c #347C2B", +"A# c #286D1D", +"B# c #37702D", +"C# c #538647", +"D# c #367D2C", +"E# c #377F2F", +"F# c #2E7423", +"G# c #528547", +"H# c #367A2B", +"I# c #387E2F", +"J# c #37802F", +"K# c #256B1A", +"L# c #2E7222", +"M# c #3F7732", +"N# c #387F30", +"O# c #38802F", +"P# c #D2BF8D", +"Q# c #38712D", +"R# c #33782A", +"S# c #357829", +"T# c #387E2E", +"U# c #388030", +"V# c #347628", +"W# c #266319", +"X# c #337B2C", +"Y# c #236717", +"Z# c #317427", +"`# c #497E3C", +" $ c #398030", +".$ c #388130", +"+$ c #388031", +"@$ c #398130", +"#$ c #2C7223", +"$$ c #276319", +"%$ c #2D691E", +"&$ c #388131", +"*$ c #246919", +"=$ c #2F1717", +"-$ c #2F1817", +";$ c #286C1C", +">$ c #337629", +",$ c #276118", +"'$ c #3D7530", +")$ c #377F2E", +"!$ c #398031", +"~$ c #398131", +"{$ c #301718", +"]$ c #2F1718", +"^$ c #2E1718", +"/$ c #366E2B", +"($ c #327727", +"_$ c #3A8232", +":$ c #301717", +"<$ c #311817", +"[$ c #301817", +"}$ c #301818", +"|$ c #2D7223", +"1$ c #28661B", +"2$ c #367028", +"3$ c #398232", +"4$ c #337B2A", +"5$ c #311818", +"6$ c #2E6822", +"7$ c #398231", +"8$ c #3A8231", +"9$ c #2B7222", +"0$ c #321918", +"a$ c #321818", +"b$ c #321718", +"c$ c #311718", +"d$ c #311717", +"e$ c #307527", +"f$ c #316E24", +"g$ c #2E6D1F", +"h$ c #398132", +"i$ c #236918", +"j$ c #331918", +"k$ c #331818", +"l$ c #321819", +"m$ c #2B661E", +"n$ c #508244", +"o$ c #398332", +"p$ c #341819", +"q$ c #331919", +"r$ c #341918", +"s$ c #331819", +"t$ c #2A691D", +"u$ c #3A8233", +"v$ c #351919", +"w$ c #341919", +"x$ c #351819", +"y$ c #286C1D", +"z$ c #4E8143", +"A$ c #3A8332", +"B$ c #31792A", +"C$ c #361919", +"D$ c #351818", +"E$ c #341818", +"F$ c #3A8333", +"G$ c #2A7121", +"H$ c #361A19", +"I$ c #36191A", +"J$ c #317727", +"K$ c #3B8433", +"L$ c #236818", +"M$ c #371A19", +"N$ c #37191A", +"O$ c #371919", +"P$ c #371A1A", +"Q$ c #351918", +"R$ c #2E1817", +"S$ c #2C7020", +"T$ c #2C691F", +"U$ c #336F26", +"V$ c #377F30", +"W$ c #3A8433", +"X$ c #3B8434", +"Y$ c #381A19", +"Z$ c #381919", +"`$ c #256919", +" % c #3A8434", +".% c #39191A", +"+% c #381A1A", +"@% c #391A1A", +"#% c #38191A", +"$% c #3A732D", +"%% c #378030", +"&% c #398333", +"*% c #3A8534", +"=% c #3A1B1A", +"-% c #3A1A1A", +";% c #3A191A", +">% c #391919", +",% c #351A19", +"'% c #27651B", +")% c #336B27", +"!% c #3B8333", +"~% c #378130", +"{% c #3A1A1B", +"]% c #3B1A1B", +"^% c #28651A", +"/% c #26641A", +"(% c #3A8432", +"_% c #3B8534", +":% c #327A2A", +"<% c #3B1B1A", +"[% c #3B1A1A", +"}% c #3B1B1B", +"|% c #391A19", +"1% c #2F7526", +"2% c #27651A", +"3% c #2E6A1F", +"4% c #3B8535", +"5% c #2D7524", +"6% c #3C1A1A", +"7% c #3C1B1B", +"8% c #3C1B1A", +"9% c #2A701F", +"0% c #28621A", +"a% c #347B2B", +"b% c #397F30", +"c% c #3B8533", +"d% c #286E1F", +"e% c #3D1B1B", +"f% c #3C1A1B", +"g% c #3D1A1B", +"h% c #391B1A", +"i% c #2B6B1E", +"j% c #518447", +"k% c #3C8534", +"l% c #236919", +"m% c #3E1B1B", +"n% c #3E1C1B", +"o% c #3A1B1B", +"p% c #276419", +"q% c #306A24", +"r% c #3C8635", +"s% c #E5CF9B", +"t% c #3E1C1C", +"u% c #321817", +"v% c #266419", +"w% c #497E3D", +"x% c #2F6D22", +"y% c #3A8131", +"z% c #3A8331", +"A% c #3C8535", +"B% c #3C8636", +"C% c #401C1C", +"D% c #3F1B1C", +"E% c #3F1B1B", +"F% c #3F1C1C", +"G% c #3F1C1B", +"H% c #3E1B1C", +"I% c #487E3E", +"J% c #336E24", +"K% c #3B8635", +"L% c #3B8636", +"M% c #401C1B", +"N% c #401B1B", +"O% c #401B1C", +"P% c #2F7424", +"Q% c #2C661E", +"R% c #3D8636", +"S% c #388331", +"T% c #411C1C", +"U% c #2A6E1E", +"V% c #367A2C", +"W% c #377D2C", +"X% c #3D8736", +"Y% c #327C2C", +"Z% c #411D1C", +"`% c #421C1C", +" & c #421D1C", +".& c #367B2D", +"+& c #28661C", +"@& c #3C8736", +"#& c #3D8637", +"$& c #2D7725", +"%& c #431C1C", +"&& c #431D1D", +"*& c #421C1D", +"=& c #411C1D", +"-& c #411C1B", +";& c #3B8634", +">& c #3C8637", +",& c #3D8737", +"'& c #286F1F", +")& c #431C1D", +"!& c #431D1C", +"~& c #421D1D", +"{& c #2A6A1E", +"]& c #27661B", +"^& c #49803F", +"/& c #3B8334", +"(& c #3C8837", +"_& c #441D1D", +":& c #3D1B1C", +"<& c #28661A", +"[& c #377229", +"}& c #3D8837", +"|& c #451D1D", +"1& c #451D1C", +"2& c #441D1C", +"3& c #441C1D", +"4& c #306A23", +"5& c #3D8836", +"6& c #461D1E", +"7& c #461E1D", +"8& c #441C1C", +"9& c #327626", +"0& c #3A8334", +"a& c #3A8533", +"b& c #3D8838", +"c& c #461D1D", +"d& c #461E1E", +"e& c #471D1E", +"f& c #471E1D", +"g& c #451E1D", +"h& c #3E6E29", +"i& c #388232", +"j& c #471E1E", +"k& c #337C2C", +"l& c #481E1E", +"m& c #481E1D", +"n& c #471D1D", +"o& c #27661A", +"p& c #3E8938", +"q& c #2D7726", +"r& c #491E1E", +"s& c #491E1F", +"t& c #481D1E", +"u& c #327929", +"v& c #367C2B", +"w& c #3D8938", +"x& c #28701F", +"y& c #4A1F1E", +"z& c #4A1E1E", +"A& c #477C39", +"B& c #3C8737", +"C& c #3E8838", +"D& c #236B19", +"E& c #4A1F1F", +"F& c #4B1E1E", +"G& c #4B1F1E", +"H& c #4A1E1F", +"I& c #491F1F", +"J& c #451C1D", +"K& c #266A1B", +"L& c #29681C", +"M& c #457B39", +"N& c #3C8836", +"O& c #D3BF8D", +"P& c #4B1F1F", +"Q& c #4C1F1E", +"R& c #4B1E1F", +"S& c #491F1E", +"T& c #718549", +"U& c #26651A", +"V& c #2F6A24", +"W& c #3D8937", +"X& c #3E8837", +"Y& c #3E8A39", +"Z& c #4C1F1F", +"`& c #3C8735", +" * c #4D1F1F", +".* c #4C1E1F", +"+* c #28671B", +"@* c #578748", +"#* c #4E201F", +"$* c #4D1F20", +"%* c #4E2020", +"&* c #4E1F1F", +"** c #451D1E", +"=* c #307728", +"-* c #27671B", +";* c #548649", +">* c #477C3B", +",* c #2F7122", +"'* c #377C2E", +")* c #337C2D", +"!* c #4F1F1F", +"~* c #4E1F20", +"{* c #411B1C", +"]* c #E5CC9B", +"^* c #2B7121", +"/* c #2B6B1F", +"(* c #477D3B", +"_* c #3C742D", +":* c #3E8939", +"<* c #3E8A38", +"[* c #2D7626", +"}* c #4F2020", +"|* c #4F1F20", +"1* c #4F201F", +"2* c #4D201F", +"3* c #4C1F20", +"4* c #CEB48A", +"5* c #246A19", +"6* c #336C27", +"7* c #502020", +"8* c #A4896A", +"9* c #33792A", +"0* c #3D8738", +"a* c #276E1E", +"b* c #512020", +"c* c #502021", +"d* c #502121", +"e* c #502120", +"f* c #512021", +"g* c #512120", +"h* c #451E1E", +"i* c #846752", +"j* c #28701D", +"k* c #512121", +"l* c #522020", +"m* c #522021", +"n* c #522120", +"o* c #4D2020", +"p* c #3D1C1B", +"q* c #6B4E3F", +"r* c #3E8937", +"s* c #3E8A3A", +"t* c #256C1C", +"u* c #532021", +"v* c #532120", +"w* c #532121", +"x* c #522121", +"y* c #441D1E", +"z* c #5D3F35", +"A* c #2F7626", +"B* c #29691D", +"C* c #548446", +"D* c #3C8634", +"E* c #3F8A39", +"F* c #3E8B39", +"G* c #542121", +"H* c #4B2C27", +"I* c #296E1F", +"J* c #28671C", +"K* c #518547", +"L* c #497F3D", +"M* c #3D8939", +"N* c #3F8A3A", +"O* c #246B1A", +"P* c #427835", +"Q* c #3F8B3A", +"R* c #226918", +"S* c #552121", +"T* c #552221", +"U* c #542122", +"V* c #ECD4A0", +"W* c #F0D8A3", +"X* c #3F7632", +"Y* c #3F8939", +"Z* c #226919", +"`* c #562122", +" = c #562121", +".= c #562221", +"+= c #552122", +"@= c #D5BC8F", +"#= c #356C27", +"$= c #3E7129", +"%= c #562222", +"&= c #572222", +"*= c #BBA07A", +"== c #572122", +"-= c #582222", +";= c #8B6E57", +">= c #2F7525", +",= c #582223", +"'= c #582322", +")= c #572221", +"!= c #80624D", +"~= c #29641B", +"{= c #3C8536", +"]= c #592222", +"^= c #582323", +"/= c #592223", +"(= c #69493C", +"_= c #4A7831", +":= c #388231", +"<= c #592323", +"[= c #5A2323", +"}= c #592322", +"|= c #5A2322", +"1= c #552222", +"2= c #715343", +"3= c #256119", +"4= c #5A2223", +"5= c #5B2322", +"6= c #5B2323", +"7= c #66463A", +"8= c #276218", +"9= c #3F8B3B", +"0= c #E4CD9A", +"a= c #5A2222", +"b= c #5B2222", +"c= c #745544", +"d= c #357D2C", +"e= c #408B3A", +"f= c #5C2323", +"g= c #5C2424", +"h= c #5B2223", +"i= c #481D1D", +"j= c #6A493C", +"k= c #347A29", +"l= c #408B3B", +"m= c #5C2324", +"n= c #5C2423", +"o= c #5D2323", +"p= c #5D2423", +"q= c #5D2324", +"r= c #5B2423", +"s= c #572121", +"t= c #3E8B3A", +"u= c #408C3B", +"v= c #5D2424", +"w= c #5E2423", +"x= c #532020", +"y= c #27671C", +"z= c #266519", +"A= c #5F2525", +"B= c #5F2424", +"C= c #5F2524", +"D= c #5F2425", +"E= c #602525", +"F= c #5E2424", +"G= c #5E2324", +"H= c #602524", +"I= c #E5CD9B", +"J= c #2E7224", +"K= c #612626", +"L= c #612526", +"M= c #622626", +"N= c #612525", +"O= c #602526", +"P= c #542222", +"Q= c #CFB58A", +"R= c #2C7122", +"S= c #632626", +"T= c #642727", +"U= c #632627", +"V= c #642627", +"W= c #642626", +"X= c #632726", +"Y= c #642726", +"Z= c #A08365", +"`= c #2B7020", +" - c #652827", +".- c #652828", +"+- c #662827", +"@- c #652727", +"#- c #652627", +"$- c #632727", +"%- c #572322", +"&- c #765746", +"*- c #397F2F", +"=- c #3D8635", +"-- c #408A3A", +";- c #642828", +">- c #652728", +",- c #662929", +"'- c #672929", +")- c #672928", +"!- c #682929", +"~- c #542120", +"{- c #56332D", +"]- c #266C1D", +"^- c #682A2A", +"/- c #6A2B2B", +"(- c #692A2A", +"_- c #682829", +":- c #672828", +"<- c #662828", +"[- c #542221", +"}- c #276B1B", +"|- c #27661C", +"1- c #3F8B39", +"2- c #682A29", +"3- c #692B2B", +"4- c #6B2B2B", +"5- c #6A2C2B", +"6- c #6B2C2C", +"7- c #6B2C2B", +"8- c #6A2A2A", +"9- c #5E2425", +"0- c #246A1A", +"a- c #2F6822", +"b- c #3A8132", +"c- c #6C2D2D", +"d- c #6C2D2E", +"e- c #6D2D2D", +"f- c #6D2E2D", +"g- c #6C2D2C", +"h- c #6C2C2C", +"i- c #662728", +"j- c #236618", +"k- c #3B8435", +"l- c #6D2E2F", +"m- c #6D2E2E", +"n- c #6F2F2F", +"o- c #6E2F2F", +"p- c #702F30", +"q- c #703030", +"r- c #6F302F", +"s- c #6F2F30", +"t- c #70302F", +"u- c #6E2F2E", +"v- c #6E2E2E", +"w- c #6B2D2C", +"x- c #6D2F2F", +"y- c #6E302F", +"z- c #6F3031", +"A- c #713131", +"B- c #713132", +"C- c #723231", +"D- c #723132", +"E- c #723232", +"F- c #733232", +"G- c #733132", +"H- c #713130", +"I- c #723131", +"J- c #5E2524", +"K- c #5E2525", +"L- c #4C1E1E", +"M- c #728549", +"N- c #497F3E", +"O- c #538446", +"P- c #378131", +"Q- c #6E3030", +"R- c #703131", +"S- c #703232", +"T- c #723233", +"U- c #743333", +"V- c #753333", +"W- c #753434", +"X- c #753435", +"Y- c #763434", +"Z- c #743232", +"`- c #4D1E1F", +" ; c #548546", +".; c #723333", +"+; c #733333", +"@; c #763534", +"#; c #773535", +"$; c #773635", +"%; c #783535", +"&; c #773435", +"*; c #692A29", +"=; c #662829", +"-; c #50201F", +";; c #E3CC9A", +">; c #763535", +",; c #783636", +"'; c #793636", +"); c #783737", +"!; c #793838", +"~; c #7A3838", +"{; c #793737", +"]; c #7A3737", +"^; c #7A3738", +"/; c #793637", +"(; c #783635", +"_; c #753334", +":; c #662928", +"<; c #642728", +"[; c #5D2524", +"}; c #357D2E", +"|; c #773636", +"1; c #793939", +"2; c #7A3839", +"3; c #7C3A3A", +"4; c #7D3A3B", +"5; c #7E3B3B", +"6; c #7D3A3A", +"7; c #7B3939", +"8; c #7B3839", +"9; c #793736", +"0; c #783736", +"a; c #733131", +"b; c #6E2E2F", +"c; c #642827", +"d; c #367C2E", +"e; c #7A3939", +"f; c #7B3B3A", +"g; c #7C3B3A", +"h; c #7D3B3B", +"i; c #7D3B3C", +"j; c #7F3C3D", +"k; c #803D3D", +"l; c #7F3C3C", +"m; c #7F3C3B", +"n; c #7E3A3B", +"o; c #7B3938", +"p; c #6D2F2E", +"q; c #6B2D2D", +"r; c #672A2A", +"s; c #4C2020", +"t; c #491D1E", +"u; c #2A691E", +"v; c #337B2B", +"w; c #7B3A3A", +"x; c #7F3D3D", +"y; c #803D3E", +"z; c #813E3E", +"A; c #823F3F", +"B; c #833F40", +"C; c #823E3F", +"D; c #823E3E", +"E; c #7A3837", +"F; c #602625", +"G; c #5C2524", +"H; c #501F20", +"I; c #7E3C3C", +"J; c #803E3E", +"K; c #834040", +"L; c #844141", +"M; c #854242", +"N; c #864242", +"O; c #864241", +"P; c #854241", +"Q; c #854142", +"R; c #843F3F", +"S; c #803C3C", +"T; c #7C3A39", +"U; c #783837", +"V; c #6C2E2E", +"W; c #67292A", +"X; c #632728", +"Y; c #327A29", +"Z; c #7F3E3E", +"`; c #813F3F", +" > c #874343", +".> c #874344", +"+> c #884444", +"@> c #894544", +"#> c #894444", +"$> c #894545", +"%> c #894445", +"&> c #884443", +"*> c #874242", +"=> c #833F3F", +"-> c #7B3A39", +";> c #6C2E2F", +">> c #6A2C2C", +",> c #682A2B", +"'> c #5D2425", +")> c #337626", +"!> c #568649", +"~> c #2F7827", +"{> c #824040", +"]> c #874443", +"^> c #894646", +"/> c #8A4646", +"(> c #8B4747", +"_> c #8B4646", +":> c #8C4646", +"<> c #874342", +"[> c #844041", +"}> c #763635", +"|> c #743334", +"1> c #5F2626", +"2> c #2E6B1E", +"3> c #317827", +"4> c #844242", +"5> c #864444", +"6> c #884545", +"7> c #8A4747", +"8> c #8D4847", +"9> c #8D4848", +"0> c #8D4948", +"a> c #8D4949", +"b> c #8C4647", +"c> c #864343", +"d> c #864342", +"e> c #763636", +"f> c #713232", +"g> c #692C2B", +"h> c #66292A", +"i> c #642928", +"j> c #602626", +"k> c #286319", +"l> c #398331", +"m> c #2F7625", +"n> c #874444", +"o> c #884645", +"p> c #8A4746", +"q> c #8B4848", +"r> c #8C4949", +"s> c #8E4A49", +"t> c #8F4B4B", +"u> c #904B4B", +"v> c #904B4C", +"w> c #904B4A", +"x> c #8F4A4A", +"y> c #8C4746", +"z> c #854342", +"A> c #743434", +"B> c #692C2C", +"C> c #672A2B", +"D> c #2F6A23", +"E> c #884546", +"F> c #8E4A4B", +"G> c #8F4C4C", +"H> c #914C4C", +"I> c #924C4C", +"J> c #914C4B", +"K> c #8E4A4A", +"L> c #763536", +"M> c #733433", +"N> c #6F3030", +"O> c #6C2F2E", +"P> c #682B2B", +"Q> c #622726", +"R> c #5B2424", +"S> c #327828", +"T> c #2E7523", +"U> c #8A4847", +"V> c #8B4849", +"W> c #8D494A", +"X> c #904C4C", +"Y> c #914D4D", +"Z> c #924E4E", +"`> c #934E4E", +" , c #944E4E", +"., c #944E4F", +"+, c #934D4E", +"@, c #904A4A", +"#, c #8D4747", +"$, c #7C3B3B", +"%, c #773637", +"&, c #743535", +"*, c #6F3131", +"=, c #6A2C2D", +"-, c #652929", +";, c #622727", +">, c #5B2324", +",, c #317627", +"', c #8B4949", +"), c #8E4B4B", +"!, c #904D4D", +"~, c #924E4F", +"{, c #934F4E", +"], c #944F4F", +"^, c #954F4F", +"/, c #955050", +"(, c #95504F", +"_, c #924D4E", +":, c #8B4748", +"<, c #7A3A3A", +"[, c #773737", +"}, c #6C2F2F", +"|, c #6B2E2E", +"1, c #672B2A", +"2, c #582221", +"3, c #307524", +"4, c #2B7220", +"5, c #8D4A4A", +"6, c #8F4C4B", +"7, c #914F4E", +"8, c #93504F", +"9, c #945150", +"0, c #945151", +"a, c #965151", +"b, c #965152", +"c, c #965251", +"d, c #965252", +"e, c #924D4D", +"f, c #8B4847", +"g, c #894645", +"h, c #7B3B3B", +"i, c #783939", +"j, c #733334", +"k, c #632828", +"l, c #5A2324", +"m, c #2D7123", +"n, c #2A651F", +"o, c #914E4E", +"p, c #975454", +"q, c #975352", +"r, c #975353", +"s, c #985353", +"t, c #975253", +"u, c #975252", +"v, c #975251", +"w, c #955150", +"x, c #945050", +"y, c #934F4F", +"z, c #8C4848", +"A, c #884445", +"B, c #823F40", +"C, c #793839", +"D, c #763736", +"E, c #753535", +"F, c #692D2D", +"G, c #904E4E", +"H, c #914F4F", +"I, c #945251", +"J, c #975554", +"K, c #985554", +"L, c #995555", +"M, c #995655", +"N, c #985454", +"O, c #935050", +"P, c #924F4E", +"Q, c #884646", +"R, c #854343", +"S, c #824142", +"T, c #803F3F", +"U, c #7D3C3C", +"V, c #773736", +"W, c #713333", +"X, c #6E3131", +"Y, c #6A2E2D", +"Z, c #662A2A", +"`, c #642929", +" ' c #2B6F1F", +".' c #28651D", +"+' c #91504E", +"@' c #995856", +"#' c #9B5A57", +"$' c #9B5C58", +"%' c #9C5C59", +"&' c #9C5A58", +"*' c #9A5756", +"=' c #9A5655", +"-' c #94504F", +";' c #914E4D", +">' c #834141", +",' c #7A3B3B", +"'' c #773838", +")' c #6D3030", +"!' c #612727", +"~' c #5A2424", +"{' c #296E1D", +"]' c #37722A", +"^' c #935251", +"/' c #995956", +"(' c #9F5F5B", +"_' c #9F605C", +":' c #A0605C", +"<' c #9E5F5A", +"[' c #9E5C5A", +"}' c #9B5856", +"|' c #9A5555", +"1' c #894647", +"2' c #834242", +"3' c #753637", +"4' c #733434", +"5' c #6B2F2F", +"6' c #682C2C", +"7' c #672B2B", +"8' c #5A2423", +"9' c #276A1B", +"0' c #2C6B20", +"a' c #4A803F", +"b' c #935452", +"c' c #985A56", +"d' c #9D5E5A", +"e' c #A0625D", +"f' c #A36560", +"g' c #A36660", +"h' c #A2635E", +"i' c #A05F5C", +"j' c #9A5857", +"k' c #995654", +"l' c #965353", +"m' c #955151", +"n' c #924F4F", +"o' c #8C4A49", +"p' c #894747", +"q' c #874545", +"r' c #7D3E3D", +"s' c #703231", +"t' c #642829", +"u' c #612627", +"v' c #27691A", +"w' c #2B691F", +"x' c #9B5D59", +"y' c #A0635D", +"z' c #A36761", +"A' c #A66A63", +"B' c #A76B64", +"C' c #A56762", +"D' c #A2635F", +"E' c #A05E5B", +"F' c #9B5A58", +"G' c #955152", +"H' c #814040", +"I' c #7E3E3E", +"J' c #723434", +"K' c #703132", +"L' c #6B2F2E", +"M' c #662B2B", +"N' c #622828", +"O' c #5E2626", +"P' c #256A18", +"Q' c #9D605B", +"R' c #A96E66", +"S' c #A96F66", +"T' c #A86C64", +"U' c #A1615E", +"V' c #9D5C59", +"W' c #9A5757", +"X' c #8D4B4B", +"Y' c #894748", +"Z' c #864545", +"`' c #7D3E3E", +" ) c #753636", +".) c #713434", +"+) c #6F3231", +"@) c #6D2F30", +"#) c #6A2E2E", +"$) c #226616", +"%) c #467C3A", +"&) c #9F615C", +"*) c #A46862", +"=) c #A86D65", +"-) c #AA7067", +";) c #AB7168", +">) c #AA7068", +",) c #A66963", +"') c #9D5D5A", +")) c #9A5957", +"!) c #8A4949", +"~) c #854545", +"{) c #824242", +"]) c #7C3D3D", +"^) c #753536", +"/) c #682B2C", +"() c #632928", +"_) c #226517", +":) c #398233", +"<) c #4D7932", +"[) c #9E625D", +"}) c #A46962", +"|) c #A86E66", +"1) c #AB7068", +"2) c #AB7269", +"3) c #A2645F", +"4) c #9E5E5B", +"5) c #975453", +"6) c #955353", +"7) c #955252", +"8) c #8F4D4D", +"9) c #8C4A4A", +"0) c #8A4848", +"a) c #854444", +"b) c #804040", +"c) c #743636", +"d) c #713433", +"e) c #672C2C", +"f) c #5E2625", +"g) c #9D615C", +"h) c #A76C64", +"i) c #A96F67", +"j) c #AA6F67", +"k) c #A76D65", +"l) c #A0625E", +"m) c #9B5C59", +"n) c #985756", +"o) c #965553", +"p) c #925050", +"q) c #904F4F", +"r) c #8E4C4C", +"s) c #864646", +"t) c #854445", +"u) c #793B3B", +"v) c #763838", +"w) c #743534", +"x) c #713334", +"y) c #6E3231", +"z) c #692D2C", +"A) c #652A2B", +"B) c #622929", +"C) c #592423", +"D) c #526F32", +"E) c #357B2D", +"F) c #A0645E", +"G) c #A76C65", +"H) c #A86C65", +"I) c #9F5F5C", +"J) c #975655", +"K) c #925151", +"L) c #8E4D4D", +"M) c #8C4B4B", +"N) c #8B4A4A", +"O) c #884747", +"P) c #844444", +"Q) c #814141", +"R) c #7E3F3F", +"S) c #7B3C3C", +"T) c #783A3A", +"U) c #753737", +"V) c #6F3232", +"W) c #6B2E2F", +"X) c #682D2C", +"Y) c #5D2526", +"Z) c #707B46", +"`) c #9D5F5A", +" ! c #A46861", +".! c #A46761", +"+! c #A16660", +"@! c #9F625D", +"#! c #985755", +"$! c #945252", +"%! c #935151", +"&! c #915050", +"*! c #8E4E4E", +"=! c #8D4C4C", +"-! c #8A4849", +";! c #874747", +">! c #834343", +",! c #7C3E3E", +"'! c #763939", +")! c #723435", +"!! c #682D2D", +"~! c #652A2A", +"{! c #602727", +"]! c #5D2626", +"^! c #5D2525", +"/! c #985A57", +"(! c #9D615B", +"_! c #9F615D", +":! c #9E615D", +"~ c #793A3A", +",~ c #763839", +"'~ c #6E3232", +")~ c #6C3030", +"!~ c #692F2F", +"~~ c #652B2B", +"{~ c #5C2526", +"]~ c #5A2524", +"^~ c #D7C091", +"/~ c #864847", +"(~ c #874748", +"_~ c #884948", +":~ c #884849", +"<~ c #894948", +"[~ c #89494A", +"}~ c #874646", +"|~ c #864746", +"1~ c #844544", +"2~ c #824342", +"3~ c #814142", +"4~ c #7F4141", +"5~ c #783A3B", +"6~ c #773939", +"7~ c #743737", +"8~ c #713435", +"9~ c #6A3030", +"0~ c #5B2525", +"a~ c #592424", +"b~ c #844646", +"c~ c #874848", +"d~ c #874949", +"e~ c #854647", +"f~ c #854646", +"g~ c #834544", +"h~ c #824343", +"i~ c #814342", +"j~ c #7E403F", +"k~ c #7A3C3C", +"l~ c #713535", +"m~ c #6B302F", +"n~ c #692E2E", +"o~ c #652B2C", +"p~ c #572323", +"q~ c #39802F", +"r~ c #824443", +"s~ c #834545", +"t~ c #844645", +"u~ c #824344", +"v~ c #773A3A", +"w~ c #6E3132", +"x~ c #692F30", +"y~ c #622829", +"z~ c #5E2727", +"A~ c #5B2526", +"B~ c #2C7322", +"C~ c #7F4241", +"D~ c #7D3F3F", +"E~ c #7C3E3F", +"F~ c #793C3C", +"G~ c #753838", +"H~ c #753837", +"I~ c #723635", +"J~ c #6D3132", +"K~ c #6C3130", +"L~ c #69302F", +"M~ c #612829", +"N~ c #602828", +"O~ c #326D23", +"P~ c #286E1C", +"Q~ c #7D3F40", +"R~ c #7E4040", +"S~ c #7C3F3F", +"T~ c #763A3A", +"U~ c #743837", +"V~ c #733636", +"W~ c #703534", +"X~ c #6F3434", +"Y~ c #6D3333", +"Z~ c #6B3030", +"`~ c #662C2C", +" { c #612928", +".{ c #5E2627", +"+{ c #B9B07B", +"@{ c #7A3D3D", +"#{ c #7B3E3E", +"${ c #7B3D3E", +"%{ c #793D3C", +"&{ c #773B3B", +"*{ c #76393A", +"={ c #753938", +"-{ c #713536", +";{ c #703535", +">{ c #6E3333", +",{ c #6D3232", +"'{ c #6B3130", +"){ c #662D2D", +"!{ c #5D2727", +"~{ c #5A2525", +"{{ c #582424", +"]{ c #773A3B", +"^{ c #783C3C", +"/{ c #773C3B", +"({ c #773B3A", +"_{ c #753939", +":{ c #733838", +"<{ c #723737", +"[{ c #703435", +"}{ c #6C3132", +"|{ c #682E2E", +"1{ c #672E2E", +"2{ c #632A2B", +"3{ c #632A2A", +"4{ c #5F2828", +"5{ c #5C2626", +"6{ c #562223", +"7{ c #29651D", +"8{ c #743939", +"9{ c #743839", +"0{ c #733737", +"a{ c #723837", +"b{ c #723736", +"c{ c #6C3232", +"d{ c #662E2E", +"e{ c #632B2A", +"f{ c #5C2627", +"g{ c #6F3535", +"h{ c #713636", +"i{ c #713637", +"j{ c #703635", +"k{ c #6B3131", +"l{ c #682F2F", +"m{ c #652C2B", +"n{ c #622A2A", +"o{ c #5A2425", +"p{ c #2A661E", +"q{ c #6E3434", +"r{ c #6E3433", +"s{ c #6B3031", +"t{ c #652C2C", +"u{ c #632C2C", +"v{ c #612929", +"w{ c #5E2828", +"x{ c #5C2727", +"y{ c #5B2626", +"z{ c #582324", +"A{ c #6B3132", +"B{ c #6C3231", +"C{ c #6B3232", +"D{ c #6A3130", +"E{ c #682E2F", +"F{ c #672E2F", +"G{ c #652D2C", +"H{ c #632B2B", +"I{ c #602929", +"J{ c #5D2828", +"K{ c #592324", +"L{ c #562323", +"M{ c #3D1B1A", +"N{ c #2E6823", +"O{ c #683030", +"P{ c #682F30", +"Q{ c #68302F", +"R{ c #672F2F", +"S{ c #672D2E", +"T{ c #652C2D", +"U{ c #642C2C", +"V{ c #61292A", +"W{ c #5A2526", +"X{ c #572423", +"Y{ c #3E7530", +"Z{ c #9D9B65", +"`{ c #642D2D", +" ] c #652E2D", +".] c #652E2E", +"+] c #642E2D", +"@] c #642C2D", +"#] c #612A2A", +"$] c #5F2929", +"%] c #572324", +"&] c #572424", +"*] c #481E1F", +"=] c #366D29", +"-] c #622B2B", +";] c #622B2C", +">] c #632C2B", +",] c #622B2A", +"'] c #5D2728", +")] c #5A2625", +"!] c #592525", +"~] c #562423", +"{] c #5F2A2A", +"]] c #602A2A", +"^] c #602A29", +"/] c #60292A", +"(] c #5E2928", +"_] c #5E2929", +":] c #5B2627", +"<] c #5D2829", +"[] c #5D2929", +"}] c #5E2827", +"|] c #5A2726", +"1] c #5A2727", +"2] c #552323", +"3] c #327525", +"4] c #2F7725", +"5] c #5A2626", +"6] c #5A2627", +"7] c #592625", +"8] c #592626", +"9] c #592524", +"0] c #592425", +"a] c #562322", +"b] c #A5976B", +"c] c #3E7732", +"d] c #2B701F", +"e] c #582425", +"f] c #562324", +"g] c #226314", +"h] c #26691A", +"i] c #562424", +"j] c #552322", +"k] c #266719", +"l] c #552223", +"m] c #532221", +"n] c #3E7632", +"o] c #532222", +"p] c #391A1B", +"q] c #2E6B21", +"r] c #C5A981", +"s] c #522122", +"t] c #522222", +"u] c #532122", +"v] c #29631C", +"w] c #307726", +"x] c #6D493D", +"y] c #614439", +"z] c #DBC193", +"A] c #46211F", +"B] c #391C1B", +"C] c #9A7F63", +"D] c #2A671E", +"E] c #256818", +"F] c #AE9170", +"G] c #4E312A", +"H] c #516E31", +"I] c #2D6822", +"J] c #C0AB7E", +"K] c #8D6F57", +"L] c #4D1F1E", +"M] c #765645", +"N] c #58372E", +"O] c #4C201F", +"P] c #E8D09D", +"Q] c #3D1C1C", +"R] c #361918", +"S] c #BBA07B", +"T] c #472824", +"U] c #326820", +"V] c #8C6E57", +"W] c #CCB1A1", +"X] c #DFC696", +"Y] c #412220", +"Z] c #371D1B", +"`] c #D8C091", +" ^ c #6F5041", +".^ c #C1A6A1", +"+^ c #B0958D", +"@^ c #4A2C28", +"#^ c #361C1B", +"$^ c #4F2F29", +"%^ c #5B4337", +"&^ c #4A7E3E", +"*^ c #947878", +"=^ c #3C221F", +"-^ c #407834", +";^ c #DAC192", +">^ c #BEA2A1", +",^ c #9D827F", +"'^ c #4A2F29", +")^ c #6A5141", +"!^ c #A38A6B", +"~^ c #37722B", +"{^ c #A08567", +"]^ c #967979", +"^^ c #BDA1A1", +"/^ c #31671F", +"(^ c #B69D78", +"_^ c #5B3D33", +":^ c #977979", +"<^ c #316D25", +"[^ c #432522", +"}^ c #40221F", +"|^ c #CDB489", +"1^ c #977C60", +"2^ c #402220", +"3^ c #411D1D", +"4^ c #C2A7A1", +"5^ c #C5A9A1", +"6^ c #C9AEA1", +"7^ c #CBB0A1", +"8^ c #CEB3A2", +"9^ c #D2B7A2", +"0^ c #D1B7A2", +"a^ c #D1B6A2", +"b^ c #CDB3A1", +"c^ c #D4B9A2", +"d^ c #CFB5A2", +"e^ c #CEB3A1", +"f^ c #316D22", +"g^ c #94795F", +"h^ c #442522", +"i^ c #C4A9A1", +"j^ c #DAC0A2", +"k^ c #E5CCA3", +"l^ c #EDD5A3", +"m^ c #EFD7A3", +"n^ c #E9D0A3", +"o^ c #DFC6A3", +"p^ c #D3B8A2", +"q^ c #CDB2A1", +"r^ c #2C6F20", +"s^ c #987D61", +"t^ c #553830", +"u^ c #3C1E1D", +"v^ c #C3A8A1", +"w^ c #CFB4A2", +"x^ c #E2C9A3", +"y^ c #EED6A3", +"z^ c #E6CDA3", +"A^ c #D8BEA2", +"B^ c #D0B5A2", +"C^ c #CCB288", +"D^ c #9D8265", +"E^ c #95795F", +"F^ c #BAA07A", +"G^ c #C8ADA1", +"H^ c #EAD1A3", +"I^ c #D9C0A2", +"J^ c #527031", +"K^ c #E7CFA3", +"L^ c #E3CAA3", +"M^ c #246718", +"N^ c #DCC3A2", +"O^ c #EBD2A3", +"P^ c #E7CEA3", +"Q^ c #E2C8A3", +"R^ c #DBC1A2", +"S^ c #39722C", +"T^ c #8B8758", +"U^ c #256718", +"V^ c #2D6F21", +"W^ c #967879", +"X^ c #3F7530", +"Y^ c #317626", +"Z^ c #927777", +"`^ c #376F2B", +" / c #447937", +"./ c #317525", +"+/ c #316C22", +"@/ c #2A641C", +"#/ c #326A25", +"$/ c #528243", +"%/ c #326E25", +"&/ c #2B6620", +"*/ c #3B732F", +"=/ c #346F25", +"-/ c #477B3A", +";/ c #4C7F3E", +">/ c #3C752F", +",/ c #2C681E", +"'/ c #2B651E", +")/ c #4A7D3C", +"!/ c #4A7F3D", +"~/ c #346C26", +"{/ c #568447", +"]/ c #558345", +"^/ c #356E29", +"// c #2D6A20", +"(/ c #518041", +"_/ c #346F26", +":/ c #3F7733", +" , ' ) . . . . . . + + ! ~ { { ] { ^ / ^ ( _ : < ' [ } ", +" | 1 2 # 3 ] / ] / 4 + . . . . . . . . . . + + 5 6 ^ ] / ] ] { ^ / / { ] ^ { 3 # 7 1 8 ", +" 9 0 a # b ] / ] { { { { ^ ] ^ c + + . . . . . . . . . . . . . + + + d e { / / / { ] { { { { { { { { ^ { { f g h 0 i ", +" j k l ] { { / ] { ] ] ] ] ^ ] ] { ] ] m + + . . . . . . . . . . . . . . . + + + + n { { ^ ] { / ^ ] { ] ] / ] ^ { { ] ^ { { ^ ^ l k o ", +" p * q ( { { { { / { { { ] { ^ { ] { { { ] ] ] { r + + + . . . . . . . . . . . . . . . . . + + + + s ^ { / { ^ ^ ] ^ / / { / ^ ^ ] / { { ^ { { { ] { f t u v ", +" w x y ] ^ ^ { { { ] ] ] ^ { / { { { { { / { ] / ^ / ^ z + + + . . . . . . . . . . . . . . . . . . + + + + A { ] ] ] { ^ ] ^ { / { { ^ { { { ] / ] / ^ / ] { { B C D E F ", +" G k H { { / { { ] { ^ { ^ { { ] { ] { { / ] ^ ] ^ { { { { ^ ^ I + + + . . . . . . . . . . . . . . . . . . . + + + + + + e ^ J { / ] ^ ^ ] ^ { { { { { / { ] { { ^ ] { { ^ K L M C C N O G ", +" w P ^ ] ^ ^ ] ^ { { ] ^ ^ ] ^ / / ^ ^ / { ^ ] ^ { { ] { { / ] / J _ Q + + + . . . . . . . . . . . . . . . . . . . . . + + + + + + + R J ^ { _ ] ^ / ] { ^ { / { { { { ] ^ / { ] ] ^ ] ^ ] S T U V C C W X ", +" Y Z ^ { ^ { / ] { ^ ^ { ] ] { { { ] { ^ / { ^ { ^ { ^ ^ { / ` _ J _ _ _ _ .+ + + . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + S _ _ _ _ J ^ _ ^ J / ^ ] { ^ { ] / ^ ] ^ / { ^ ^ ] { { S T ..C V V +.@. ", +" 1 #.{ { ] ^ ] ] ] { / { { { { { ] / ^ / { ] ] ] / ^ { ] ] _ _ ^ _ _ _ _ l $._ %.&.+ + + . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + *._ _ _ ^ _ ^ { ^ =.{ / ^ / ] { { ^ ^ { { { ] / { { { / ] { -.;.>.V >.V ,.'. ", +" 0 ).{ ] / ^ ^ { { { { ] { ^ { / ^ / ^ { ^ { / ] ] { { { ^ _ ^ _ _ _ _ _ _ _ !.~._ {.%.] + + + . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + ]._ %.l %.#._ _ _ ^ ^ J ` / { { ] ] { ] { { ] { { / { { / { ^ S L ^.C C C C /.0 ", +" (._.] ] ] ^ ^ ] { { { ] ] / / { ^ { ^ ] ] { ^ ^ ] { ] _ =.{ J _ ^ _ $._ %.!._ l {.%._ %.{.!.` + + + . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + :.l l !.!.l _ _ _ _ ^ _ ^ ^ ` { ^ ` ] ] ] { { ^ { { ] ] ^ ] ^ { { <.[.V >.C >.C }.|. ", +" 1.] ] / { { ] ] { / ] ^ ^ ] ] { { { ^ / ] { { ^ { / ] ` ^ ^ ^ _ $.l _ _ $.{.{.{.{.!.~.!.!.{.{.2.3.+ + + . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + Q ~.~.%.{.!.~.~._ %._ $._ J _ _ / _ ^ { { / ] / ] ] / { / / ^ ] ] ] L ^.V 4.C C V 4.5. ", +" (.6./ ] { / / / { / / { ] ] ] ^ ] { { / / ] { { ] { ] ^ ^ =.J ^ _ l _ $.$.l #.!.!.!.{.!.2.7.{.{.2.2.2.2.+ + + . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + 8.!.{.{.{.{.!.%.#._ _ l _ _ _ _ _ ^ / { ] ^ / / ^ { ] / { { ^ { ^ { { 9.C >.V C C V C 0.a. ", +" b.=./ ] { { ^ ^ { ^ ] ^ { / ^ { { / ] / ] { / ] / ^ { { =.^ _ _ _ _ _ _ {.l !.%.%.{.!.2.!.2.2.2.2.2.c.2.c.c.+ + + . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + d.2.{.!.!.2.{.!.{.~.l _ $._ _ _ _ ^ _ J ^ ^ ] { { / { { ] { { ] ^ ^ { S U V V >.V C V 4.B e. ", +" f.y / / / ^ ] { ] { ] ] ^ / / / ] ^ { / { ] ] ] ] ^ _ ] J J _ _ #._ $.~.{.{.%.{.!.{.g.!.7.{.c.2.2.2.c.h.c.c.i.j.+ + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + k.l.2.c.{.{.2.!.{.#.$.$.!.l _ %._ J _ ^ =.J ^ / { ^ { ] { { { ^ ] ^ ^ ] m.[.C >.C C >.C V n.o. ", +" p.] ^ ] ] / { { / { ] / ^ { ] { { { { ^ { ] ] ] { ^ { ] _ ^ _ _ _ _ #.%.l {.{.!.!.7.3.{.{.c.c.2.2.i.h.j.h.h.h.i.i.h.+ + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + q.r.2.2.!.2.2.2.{.!.{.{.%.%.l _ _ %._ _ _ _ / { ^ { ] ] ] / { { { { ^ / / ;.C C >.C 4.>.C 4.C s. ", +" t.u.{ ] ] { { { ^ ] { ^ / ] { ] ^ ] ] ] ] { ] { ] ] ^ ^ =._ _ _ _ #.~.!.{.~.!.{.{.{.2.2.2.c.c.c.c.c.h.h.h.c.c.v.h.w.h.i.x.+ + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + y.j.2.2.c.c.c.{.{.{.{.7.{.{.~.!.#.l _ _ _ _ _ J ^ { { / { { / { ^ / { / { s [.V V C V V V >.>.C z.A. ", +" B.t ] ^ ^ { ^ ] ] { ] ^ { ] ^ ] { { ^ ] { { ^ ] ^ ] { { _ _ _ %._ %.{.%.%.!.!.%.{.{.{.2.3.2.r.C.c.r.c.h.j.i.w.h.D.i.i.i.x.x.D.+ + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + E.c.2.c.c.c.c.2.2.2.2.{.7.{.!.~.{.#.!._ _ _ _ _ / { { { ^ { ] ] ] { { / ] F.G.C C >.C V C >.V C 4.H.I. ", +" J.t ] { ^ ^ ^ / / / / { / ] ^ ] / ] ] ] { ^ { { ^ / { / _ ^ _ _ $.!.%._ ~.{.2.!.c.{.c.2.c.c.2.c.h.h.h.h.i.i.K.i.v.v.w.w.D.D.D.D.D.+ + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + L.i.c.i.h.c.r.2.c.{.3.!.c.2.{.{.%.{.!._ _ _ ^ _ ^ ` { ] ^ { ^ ] { ] ] ] / / M.C V >.C 4.C C 4.C C C H.J. ", +" N.{ { / { / { ^ { ] { { { ^ { ^ { ^ ] / { { / { ^ ^ { J ^ _ _ _ _ $.#.!.{.{.{.2.!.{.c.c.2.2.c.c.c.i.c.h.x.x.D.D.D.w.w.D.D.O.D.P.D.+ + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + Q.h.h.h.i.j.h.j.c.2.2.c.2.2.{.{.{.!.%.%.!._ _ _ _ ] _ / { ] { ] { ] ] ^ { / R.S.V 4.C C 4.C C V 4.>.>.T. ", +" U.] ] ^ { ^ { / ^ ] ] / ^ { ] ] / { { ^ / / ] ] ^ { _ ^ _ ^ $.$.$.$.{.{.!.!.{.{.c.c.c.c.c.h.c.c.c.h.i.h.w.V.D.w.D.D.D.D.D.D.D.W.O.D.X.+ + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + Y.i.i.i.i.h.i.h.c.C.2.c.l.7.!.2.!.{.#.!.~._ _ _ _ _ { / ^ ^ ^ { { { ] { { / y ;.>.>.C 4.>.4.V C V 4.C >.Z. ", +" `.{ { ] ^ ] / ^ ^ ] { / ] { { { { ] { ] / { { { / { ^ _ =.^ ^ _ _ $.#.!.{.~.{.2.7.7.2.h.c.i.j.i.h.i.h.w.x.v.K.w.D.D.D.D.D.D.W.P.O. + +W..++ + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + ++h.i.w.x.i.w.h.h.c.c.2.c.2.7.l.7.%.!.#.!.!.l _ _ _ ^ ^ / ] ] / ] { ] / / { ^ L C C C 4.C V C C C >.>.>.>.@+ ", +" #+] { ^ / { ^ ] { ^ / ] ] { { / { / ^ ] { { ^ { ] / ^ { J J _ _ %.!.{.!.{.!.2.2.2.l.2.c.c.j.c.i.h.h.i.V.v.D.D.D.D.D.D.D.X.W.X.X. +X..+$+X.X..++ + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + %+D.w.V.i.D.h.h.c.j.c.r.2.c.2.{.{.{.{.{.{.%.!.$._ _ _ { _ J { ^ { { ^ ^ ] / / T >.V 4.C V C C C 4.V V 4.C C &+ ", +" *+=+{ ^ ] { { ] { / ^ / { ] { / ] ] ] ^ ^ ^ / ] ^ { { ] ^ ^ _ $.%._ %._ {.{.!.{.2.l.2.C.c.i.c.i.i.w.i.i.w.x.D.D.D.O.D. +D.X.X.W.X..+$+$+.+.+.+-+.++ + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + ;+D.x.x.D.x.i.x.h.i.h.c.j.2.c.2.2.!.!.{.{.!.{.%.$._ _ ^ ` ` { ^ { / { ] ^ ] ^ T C V C C C C V 4.C V V >.C V W >+ ", +" ,+] / / ] ^ ^ { { / / ] ^ / { / ^ { { { { / { { ^ ] ` ^ ^ ^ $.%.l !.!.!.{.{.2.2.2.2.c.c.h.v.i.h.i.i.i.V.D.D.D.D.D.W..+D.X. +W.X..+.+-+.+.+.+-+'+)+'++ + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + D.O.D.D.D.D.i.w.i.w.i.c.h.j.c.2.2.7.{.{.!.!.!.!.#._ _ _ ] _ / { ^ { { { { / / K ^.>.V V >.C C V V V 4.4.>.>.V !+ ", +" ~+b ^ ] ^ ^ / ] / ] { ] ^ ] { ] ] { { { ^ ^ ] ^ ] ] J ] _ =._ _ l _ {.{.{.{.7.7.c.2.c.r.c.h.i.i.w.w.i.i.w.D.W.P.W.{+O.X..+ +.+.+-+.+-+$+-+-+-+'+'+'+]+^++ + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + /+X.P.D.P.D.D.x.V.V.x.h.h.h.h.2.2.c.2.c.2.2.!.#.{.%.%._ _ { =.^ { ] ] { ] ^ ] { K ^.C C C C >.>.C >.>.V V C 4.V V (+ ", +" _+/ { ] ] ] { / { { { ^ { / ^ { ] { ] ] ] / ^ ] { ] ] _ _ ^ _ ~.%.%.!.{.!.{.{.2.2.c.j.h.c.h.h.i.D.i.v.x.D.D.X.D.W.O.X..+.+X.-+X..+'+'+'+-+:+-+]+<+]+'+]++ + + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + V.X.X.O.W.D.D.D.w.h.v.v.i.i.i.i.c.c.c.2.3.{.{.~.!._ $.%._ _ ^ ^ { / ] ^ / ] ^ ^ y ^.V C 4.>.V C 4.C >.C C V C C >.z. ", +" [+( / ] ^ ] { { / { { ] / / { / { ] ] ] ^ ^ { { ] ^ ^ _ ^ _ _ _ %.!.!.!.!.!.l.{.2.c.c.h.c.i.i.i.w.w.w.D.D.O.D.X.D. +W.}+.+.+.+|+|+1+-+'+-+]+'+'+]+]+]+<+<+2++ + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + %+ + +W.W.D.D.D.D.D.w.i.D.h.v.j.h.j.c.c.{.2.2.!.!.{._ _ l l _ J ] / ^ / ^ ] { { ^ 3 S.C C C C V >.C C C C C V V 4.C 3+[+ ", +" t { ] { ^ ] ^ ] ^ ^ ] ] / { ] { ^ / ^ { / ] { ^ / { / ] ] _ _ _ %.%.{.!.{.{.2.c.c.c.j.c.h.h.w.w.i.i.D.D.D.D.W.X.W.W.W.-+X.$+-+-+-+-+:+-+]+:+]+<+'+<+2+2+]+]+4++ + + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + 5+X..+.+O.{+O.O.D.D.D.D.K.K.i.h.v.c.h.c.2.2.2.!.{.!.~.%.$._ _ _ _ J ^ / ] ^ ^ / ] S [.C C >.V >.4.C V V C C 4.C C V C H. ", +" j y { / ^ ^ ] { ] ] { ] ] { { ] { ] ^ { ] { { { / { { =.J _ _ _ %.%.%.{.2.2.{.c.c.2.c.h.h.i.h.h.w.D.x.D.O..+D.D..+.+X..+-+1+|+.+'+'+'+:+<+]+]+]+6+6+<+2+2+2+2+7+8++ + + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + 9+-+.+X.X..+ +O..+W.P.D.D.D.D.v.w.c.h.h.c.c.2.l.{.!.!.%.{.l _ _ _ / { =.^ { { ] ^ ] 0+a+C C C C C 4.>.V C >.>.C >.>.>.V b+o ", +" c+/ ^ ] { ] { / / ^ ^ { { { / ^ ] ^ ^ { { ] / ] / { ] { ^ J _ _ _ #.!.d+{.2.7.c.c.c.i.h.h.i.w.D.w.w.D.D.D.D.W.X.X..+$+-+$+-+'+-+'+'+]+]+<+<+2+2+e+7+7+f+g+7+7+7+7+h++ + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + i+-+-+'+.+.+X.X.W.D.P.D.D.V.v.D.h.w.c.h.h.h.c.c.2.2.{.{.{.!.l l _ _ J ^ ^ ^ ^ ^ / { K >.V C C >.>.>.4.4.V 4.C C V V >.>.C j+ ", +" k+{ ] ^ / ] { { ] { { / / { { ^ ] { ] ] { { ] ] ] ^ { { J _ _ _ #.#.l !.!.2.!.{.2.h.c.c.h.h.i.K.x.D.D.W.W.W. +.+X.W.-+l+-+-+-+'+)+'+m+]+6+<+]+2+2+2+7+g+7+7+7+n+n+7+o++ + + + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + m+'+-+'+-+.+.+X..+.+ +D.D.D.V.x.w.w.h.h.h.2.c.c.2.2.7.%.%.%.$.%._ _ _ ` { / ] { ] { s C V >.C C 4.V V C >.V >.C V C 4.4.4.V p+ ", +" `.^ { / { { { ^ / / ^ ^ { { ] ^ { ^ ] ] ^ { ^ ^ { ^ ] { _ ^ _ _ ~.%.{.{.2.2.2.{.c.j.h.h.h.h.w.w.x.D.O.W.X.W.X..+.+X..+1+-+'+'+<+]+]+]+]+f+<+]+<+7+7+7+7+n+7+7+q+r+r+s+q++ + + + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + t+'+'+-+'+X.-+$+.+X. +.+W.W.D.D.w.K.D.i.j.c.h.2.c.2.3.!.!.!.~.!.%._ _ _ J ^ { ] { ^ ] u+V C >.V C V C C 4.C 4.V C C >.C C C V v+ ", +" w+{ / ] / ] / ^ ^ { ] / ^ { ] ] ] / ^ ^ ^ ^ ] { { / { { _ / _ _ %.!.!.{.{.2.{.l.2.2.h.h.i.x.i.D.D.D.D..+W.W..+.+-+.+'+'+-+-+<+]+]+'+6+]+]+2+7+f+7+7+7+n+q+x+x+r+o+y+q+q+z++ + + + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + + D.]+m+'+'+1+.+$+$+$+X..+X.D.D.D.D.D.D.i.h.v.i.c.2.c.l.{.{.{.{.!.l _ _ ^ { ^ ^ ^ { { ] A+C V V C C >.C V C >.C C C C 4.C C V C B+ ", +" p+F.^ { { { ^ ] ] { ^ { ] ] / { ] ^ { { ] ] / { { ] { ^ ^ ^ J _ $.$.{.!.!.{.c.2.C.c.j.h.v.i.v.i.V.D.D.D.D.X.X..+.+.+'+-+'+'+'+'+]+<+]+<+<+7+g+7+7+7+7+y+r+y+s+n+q+C+s+s+D+C+E++ + + + + + + + . . . . . F+F+F+F+F+G+G+G+G+. . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + + H+'+:+-+'+-+-+.+-+.+-+.+O.X.W.D.D.D.D.D.h.w.i.h.h.2.c.{.2.{.{.{.!.~._ _ J _ _ { ] ] ] / ;.>.C C C C >.V C C V V 4.V 4.V >.V >.V n.I+ ", +" F ^ ] { { { / { / { { ] ] ] { ] ] ] { { / ^ ] { ^ ] ] ^ / _ _ _ _ %.!.{.2.2.2.{.C.j.i.h.i.i.w.D.D.D.P.D.W.O..+X.X.X.'+'+-+:+]+]+2+6+]+f+2+7+7+7+x+7+s+q+n+s+q+s+J+J+s+D+s+C+K+L++ + + + + + + + . . . F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+M+. . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + N+6+<+<+:+)+-+'+'+.+.+X..+X.W.O.D.D.D.D.i.i.i.i.c.c.c.2.g.{.!.!.%.$.$._ _ ^ { { ^ ^ { { O+C C C >.C 4.V >.V C 4.V C >.4.>.4.4.C 4.P+ ", +" a { / { ^ ^ ] { ^ ^ ] { { { ] { { ^ ] ] ^ ] ^ ^ ^ { ] ^ J / _ !._ #.!.%.{.!.l.{.c.h.h.i.w.w.w.D.D.D.{+P.{+ +.+.+X.-+-+'+<+'+]+<+2+2+2+e+7+2+7+7+r+7+o+7+s+s+s+q+q+s+Q+s+C+C+D+D++ + + + + + + + + . . F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+. . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + 2+6+<+]+]+<+'+-+'+-+.+.+.+X.O.X.W.W.D.D.w.h.i.h.j.c.c.c.2.{.{.!.{.l $._ _ _ J ^ ] { { y [.V C 4.4.>.C >.C >.C C 4.V C C C V >.C 4.O ", +" R+^ ] { / ] { ^ ] / ] ^ / { / { ] ] ] { { { ] { { / { ] ^ _ ^ _ #._ ~.~.{.3.2.2.j.c.h.w.h.w.D.D.D.D.D.D.W.X. +.+-+-+'+-+]+<+<+]+]+6+7+g+7+7+7+7+r+o+s+s+q+q+s+K+D+D+D+D+D+C+D+S+J++ + + + + + + + + G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+. . . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + T+7+2+]+]+]+]+m+:+'+'+-+-+.+.+.+O.W.D.D.D.K.D.x.i.h.h.2.c.2.2.2.{.!.!._ $.^ { J / / { / U+>.C C 4.C >.>.>.C C C C C C C C C C C V C V+ ", +" ; ( ] ^ ^ { ] ^ { ^ ^ { ^ ] ^ { { ^ / { ] { ] { { / ^ { _ =._ _ _ !._ {.7.{.c.2.2.j.i.i.h.h.D.w.x.W.W.W.X. +X.$+-+$+'+'+:+<+'+6+2+<+7+7+2+7+n+n+y+s+s+q+C+s+s+K+s+D+D+D+C+S+S+S+W+X+Y++ + + + + + + + G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+. . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + ]+7+7+2+2+<+:+:+Z+'+'+-+-+.+.+.+O.X.W..+D.D.i.v.w.i.h.2.2.c.2.!.{.!.!.%._ _ ` J / / ] ^ A+V C C C C C V V 4.>.4.>.C C 4.V >.C C C 4.`+ @ ", +" .@] / ] / ^ ^ ^ ] { ^ / ^ / / ] { ^ { { / { ] ] { { ^ { { =._ _ _ _ _ {.{.{.2.2.c.h.c.i.w.K.i.D.D.D.D.{+X.X..+-+$+-+]+-+-+6+]+<+<+<+7+7+7+7+x+o+y+s+s+q+K+K+K+D+D++@C+D+D+S+X++@@@X+S+#@+ + + + + + + G+G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+. . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + $@7+e+6+7+2+g+6+'+'+:+'+-+-+-+W..+X.X.W.D.D.x.D.v.v.h.c.r.j.7.2.2.{.!.#._ _ _ ^ ^ ^ { { / ;.4.V V V C C >.C C C 4.>.C >.V C C 4.4.V >.V %@ ", +" &@^ ] { / ^ ^ ] ^ { { { ] ] / ^ ] ^ ] ] / ] ] ] ] { { ] { ^ _ _ _ $.%.%.{.!.2.2.2.c.j.h.w.D.D.i.D.P.D. +{+X..+-+$+-+'+]+'+<+2+2+e+7+2+7+7+y+y+7+x+s+s+s+C+C+D+D+C+C+D+S+@@*@@@@@@@@@=@-@;@+ + + + + + + G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+. . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + >@7+7+6+g+2+<+<+:+:+'+'+'+-+-+X.X..+D. +D.W.D.x.D.i.i.h.,@c.2.2.l.!.{.{.#._ _ ^ { ] { { y S.C >.V C >.>.C V C C V >.>.C 4.V C C C C >.V '@ ", +" )@{ ^ ] ^ { / { { ] ^ { { { / / ^ ^ { ] / { { { ] { ] / ^ J ^ _ $._ {.~.!.2.2.2.c.j.h.h.v.i.w.w.D.P.P.W..+X.-+-+.+'+:+]+]+:+<+]+f+7+7+7+y+n+y+y+s+C+K+q+K+C+C+D+D+D+D+X+S+@@S+@@@@-@=@=@=@+ + + + + + + + G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+. . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + !@n+7+7+7+7+2+<+g+<+]+<+-+-+'+.+.+X.W.O.P.D.D.x.D.x.i.~@h.C.2.2.{.{.!.{.~.%.%._ J ^ =.] ] e V C >.C C C C 4.V C 4.4.4.V C >.V C 4.V C C >.{@ ", +" ]@/ { ^ { ] { ] ] { ^ ] ] { ] / ] { / ] ] / { ] ^ ] ] ] { ^ ^ ^ ~.$._ ~.!.!.c.2.c.c.h.i.i.h.x.D.W.O.D..+X..+X.-+'+'+'+]+<+<+2+g+2+7+7+n+7+q+s+s+q+s+C+C+K+D+C++@S+X+S+@@W+X+@@@@=@^@=@=@/@(@+ + + + + + + + G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+. _@:@+ + + + + + + + + + + + + + + + + + + + + + + + + + + <@n+n+x+7+7+7+f+]+2+2+]+]+'+'+'+'+.+.+W.W.O.D.D.D.D.i.i.h.h.2.2.{.l.!.~.%.$.l ^ ^ _ / { ] [@C V C V V C C >.V C C V >.C >.C V V V V V C >.}@ ", +" _+/ { { / ] { ^ { { { ^ { ^ { / { { ] ] ] ] ^ { / / ] ] ^ J { _ _ l {.#.!.2.c.2.c.j.c.h.v.w.D.D.D.W.X.X.X.$+'+'+]+'+<+<+]+]+6+e+7+2+7+x+n+r+q+s+K+D+D+C+C+D+S+D+S+X+X+-@W+@@=@=@=@/@=@|@/@|@N++ + + + + + + G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+1@2@3@+ + + + + + + + + + + + + + + + + + + + + + + + + G+4@y+s+n+7+7+7+7+<+]+6+<+Z+]+-+-+X..+X.X.O.D.D.D.V.w.v.v.h.j.h.c.2.2.2.!.~.!.%._ _ =.^ ^ ] ..>.V 4.>.V C C 4.V 4.>.C C 4.C >.C V >.C V V V z. ", +" w+/ ^ / { ^ ] ] / ^ { ] ] { ] ] { ^ { ] { ^ { { { { { { _ ^ ^ _ %.%.%.%.7.{.c.2.h.j.i.i.i.D.D.D.D.{+X..+X.$+.+-+]+<+'+5@<+7+2+7+7+7+q+y+r+n+q+C+s+s+D+D+D+S+X+S+X+@@@@-@=@=@=@=@=@=@6@/@7@7@6@8@+ + + + + + G+G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+9@0@+ + + + + + + + + + + + + + + + + + + + + + + + + a@q+s+y+s+7+7+7+<+g+<+<+b@'+'+'+'+|+X.X.P.X.P.D.D.i.v.i.w.h.r.C.c.2.!.!.!._ %.%._ ^ J ] { K C >.V >.V V >.C C V C C 4.4.>.4.V V V V V >.4.C c@ ", +" d@^ ^ { / ] ] ^ / ] { ^ { { ] / { / ^ { ] { { / ^ ^ ^ / { ^ ^ _ _ %.{.{.{.{.2.2.c.c.h.w.w.i.w.D.D.X.X..+.+.+.+-+'+'+'+<+e+2+2+7+7+n+y+n+y+q+s+D+D+D+D+D+e@S+D+X+W+S+@@=@@@=@=@^@/@=@=@|@7@f@f@g@h@+ + + + + + G+G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+i@j@+ + + + + + + + + + + + + + + + + + + + + + + G+k@q+y+y+o+7+7+n+7+g+2+]+<+]+]+]+'+-+$+.+W.X.P.X.D.D.K.x.h.j.j.r.c.2.c.!.%.{.%.%._ { { ] ^ L >.4.>.>.V 4.>.V V 4.C V C V C 4.>.V >.C C >.V C W ", +" l@{ ^ { ^ ^ { ] ] { / ] ^ ] { ^ ] ] / { ^ { ^ ] { ] ^ { ^ _ _ _ _ $.{.{.2.{.c.2.r.i.i.h.x.x.D.D.O. +.+.+-+.+-+-+'+:+]+]+6+e+<+g+7+o+n+y+y+q+q+K+D+D+C+D+S+X+X+X+S+@@=@W+=@=@=@f@/@6@|@f@f@f@g@f@f@+ + + + + + G+G+G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+m@n@+ + + + + + + + + + + + + + + + + + + + + + + o@C+s+q+s+n+7+y+7+7+7+e+<+<+'+]+-+-+'+-+-+.+{+ +O.D.D.K.i.i.h.h.2.2.c.l.{.{.!.!._ _ _ { J { O+>.V C >.>.4.C 4.C C C C C C V C C 4.V V V >.C C p@ ", +" q@] { ^ { ^ ^ { ] ] ^ { { ] { ^ { ] { { { / { ] ] ] ^ ^ ] ] ^ _ l l l ~.7.3.c.i.c.j.h.i.i.D.D.D.D.D.X..+-+-+'+:+'+]+]+2+2+2+7+2+n+7+y+q+y+s+s+s+K+D+S++@X+X+X+S+W+=@@@=@r@=@/@f@|@f@f@f@s@g@t@f@t@(@+ + + + + + G+G+G+G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+u@M++ + + + + + + + + + + + + + + + + + + + + + + v@s+C+q+s+n+7+y+7+7+e+7+7+]+<+:+'+'+$+-+.+X.X.P.D.D.D.w.v.i.i.h.j.c.c.!.2.%.!.%._ _ _ { ] -.C C 4.V C V C 4.C 4.V 4.4.C >.C C V V V >.C C C 4.w@ ", +" d@] { / { { { ] ^ ] { ] { ] ^ ] { { { { ^ { { / ^ ] { / { ` _ ^ _ _ l {.{.{.c.c.h.i.h.h.v.x.x.P.{+.+W..+-+-+'+-+:+'+:+<+6+e+7+7+n+7+y+r+q+q+C+D+C+D+D+S+X+X+@@@@x@=@@@/@/@=@|@/@/@f@|@f@s@g@g@t@y@t@z@+ + + + + + G+G+G+G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+A@B@C@+ + + + + + + + + + + + + + + + + + + + + + + q+C+J+s+s+o+q+n+y+7+2+2+g+]+]+]+'+'+'+-+.+$+X.X.O.O.D.V.w.i.h.h.r.c.2.{.7.!.!._ $.^ =.{ { ;.V V >.V C V >.4.4.>.C V 4.C V C V >.C >.>.>.C >.>.W ", +" : { { { ] ^ { ] ^ { ^ ] { { ^ { / { ^ { ] / / { ] { ] { / J ] _ _ %.~.!.2.2.{.c.C.c.w.K.v.D.D.O.X.W.W..+.+.+-+'+'+]+6+2+]+]+7+n+7+q+y+q+J+s+D+C+C+D++@W+S+@@X+@@@@/@=@^@/@7@f@f@f@f@f@f@D@t@t@t@E@F@G@H@+ + + + + + G+G+G+G+G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+I@J@+ + + + + + + + + + + + + + + + + + + + + + 8@C+K+C+K+s+s+x+y+7+7+7+7+6+<+]+]+'+'+-+-+.+X. +D.D.D.D.w.i.i.h.c.i.c.2.3.!.%.!.l %._ ^ _ S ^.V 4.>.C 4.C C V C 4.>.>.4.C 4.4.C 4.V V V C 4.V C K@ ", +" u.{ ^ { / ^ { ^ / / ] ^ { { ^ ^ { ] ^ { { ] { ] ] ] ] { ] _ ^ _ _ l !.%.!.2.2.2.c.c.h.h.i.x.D.D.X.X.X..+.+-+-+Z+m+]+6+7+f+2+7+7+x+q+q+s+C+s+C+D+C+D+D+@@@@W+@@=@=@=@=@=@f@=@f@f@f@s@f@s@L@t@E@t@F@M@M@F@+ + + + + + + G+G+G+G+G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+N@n@+ + + + + + + + + + + + + + + + + + + + + + O@D+C+K+s+K+q+q+s+y+7+7+2+2+<+2+:+'+-+-+-+.+$+O.X..+W.w.w.D.i.v.h.2.C.2.7.!.!.$._ _ _ _ ^ T V C C C C >.C C C C 4.>.>.V >.C C 4.V V >.4.V V 4.C z. ", +" P@/ / { ] / { ^ ^ { ] ] { ] { ] / ] { ^ { / / ] { ] ] { ^ ^ { J _ $.!.%.{.{.{.2.c.h.i.h.w.V.w. +D.X.X.-+.+-+-+'+'+<+]+6+7+7+7+y+q+7+s+s+s+Q+C+D+D+S+X+S+X+@@=@=@@@/@7@/@|@f@f@s@t@g@f@t@s@y@t@E@Q@F@Q@Q@M@+ + + + + + + G+G+G+G+G+G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+u@M++ + + + + + + + + + + + + + + + + + + + + ;@D++@D+C+C+s+q+q+s+r+7+n+7+g+2+<+<+'+'+'+.+'+.+ + +D.D.D.x.w.h.j.h.r.c.l.{.{.%.~.%._ _ { ^ +.V 4.C 4.C V C V >.C 4.V C C V V >.C C >.4.C C C V V R@ ", +" S@{ { ^ { / { ^ { / { { { { / / / / ] { { { { ^ ] { { ^ ^ ] { ^ _ _ ~.~.~.{.c.c.h.h.h.i.D.w.x.D.O. +O..+X.-+'+-+'+'+<+e+7+g+7+7+o+q+s+s+J+D+K+D+S+X+S+T@X+@@=@=@=@^@r@f@f@f@f@f@f@t@t@t@t@G@E@U@M@Q@V@W@W@X@+ + + + + + + G+G+G+G+G+G+G+G+G+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+A@B@C@+ + + + + + + + + + + + + + + + + + + + + Y@T@C+D+C+K+K+s+s+q+q+7+n+7+6+2+:+]+]+'+'+$+X.$+ +D.P.D.x.w.i.h.i.h.r.2.{.2.!.#._ l _ _ J s V C V C C V 4.C V >.V V V V V 4.C V C 4.V C >.>.C C V !+ ", +" Z@{ ] ] ] ^ ] { { ] / / / / { ^ ] ] { ^ / { ] { / ^ ^ { ] ] { _ _ %._ %.{.!.2.2.2.j.h.h.i.K.D.O.D.D. +X.|+.+'+'+:+'+<+g+7+g+7+7+x+y+q+q+D+K+D+C+S++@X+S+=@@@@@@@/@6@^@^@|@g@s@t@t@t@D@y@t@y@Q@F@F@V@Q@W@W@`@ #+ + + + + + + G+G+G+G+G+G+G+G+G+G+G+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+.#G+G+G+G+G+G+G++#@#+ + + + + + + + + + + + + + + + + + + + + @@X+D+D+C+C+C+q+q+q+q+n+7+<+2+2+e+<+'+-+-+-+.+X. +W.O.D.w.D.x.i.c.c.c.2.2.{.!.#.!.l _ ^ J G.C C C V C V V V >.V 4.V >.V >.>.C V 4.>.C C >.4.>.V V Y ", +" ##^ ] ^ { { ] { { { ] ] { { ] { ^ ] { ^ / { { ] ^ { ^ { ^ ] ^ _ ^ $.!.#.{.2.2.3.j.2.h.v.i.V.D.W.D.W.X..+.+.+-+-+]+<+]+2+<+7+7+7+s+r+r+s+D+s+D+D+S++@W+x@=@=@@@=@/@^@|@^@f@s@t@s@g@t@t@t@F@Q@E@Q@Q@Q@Q@W@$#W@$#%#+ + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+&#+ + + + + + + + + + + + + + + + + + + + + *#W+T@+@D++@D+C+q+q+s+n+n+7+7+f+<+2+<+]+:+-+-+$+.+ +O.D.D.D.w.K.i.h.c.2.l.2.{.!.{.!._ J =.F.C V V C V V C 4.V C V >.C C C C V >.V V V 4.C 4.C C >.4.## ", +" =#/ { { { / ] / { ] { ] { { ^ / { { { { ] ^ ] { { { { { { { ^ { _ _ l %.~.{.7.2.c.h.i.w.D.v.D.D.X.O.{+.+X.-+-+-+<+<+2+g+7+7+7+7+q+r+s+s+C+D+D+C++@T@@@=@=@@@=@r@6@f@|@|@f@f@f@t@D@t@t@t@U@Q@Q@Q@Q@Q@Q@$#`@-#-#`@+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+;#C@+ + + + + + + + + + + + + + + + + + + + >#@@S++@D+D+D+D+C+J+s+s+n+7+7+7+7+<+2+]+:+]+'+.+$+X.X.X.O.W.D.x.w.w.i.h.c.c.c.!.~.{._ _ _ { ,#C 4.>.V 4.>.C 4.C C >.C >.4.>.C 4.V >.C 4.V C >.V C >.V '# ", +" y / { / { { { ^ ^ { ^ ^ ] ^ { ] ^ ] { / ] { ] / { ] ] ] { { ^ J _ $.$.!.{.{.c.c.2.c.i.v.x.D.D.W..+X..+X.-+-+:+]+<+]+2+<+7+7+q+n+o+q+q+s+D+D+D+X+X+@@@@@@=@/@/@=@|@f@|@f@s@t@g@y@t@y@F@Q@Q@F@Q@Q@Q@W@W@$#`@)#)#W@+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++#@#+ + + + + + + + + + + + + + + + + + + + X@X+@@X+D++@D+D+C+s+q+r+s+y+7+7+6+2+<+'+'+'+'+'+.+ +W.W.W.P.x.i.h.h.h.h.2.g.2.{.{.~.#._ _ F.V C 4.V 4.V C C C >.C C 4.>.4.C C C >.V >.>.V >.>.C V V b+ ", +" ).^ ] ^ ] { ] / ] / ] { / ^ ] { { { ^ ^ { ^ { ] / ] / ^ / { { J _ _ ~.!.!.{.{.c.h.c.w.w.D.x.D.D.D.X.W.-+$+-+'+<+]+]+<+2+7+7+n+q+r+s+s+C+C+C+D+S+X+@@S+@@=@/@6@/@|@f@g@f@t@t@t@t@t@y@F@F@M@Q@W@W@$#W@$#)#`@)#-#)#!#+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+~#G+G+G+G+G+G+G+{#+ + + + + + + + + + + + + + + + + + + + E.@@@@@@W+D+D+D+C+C+s+s+7+s+7+7+2+2+6+2+<+'+-+-+-+-+.+.+D.{+D.w.D.x.c.i.c.2.3.{.%.!.#.l _ J L C C 4.>.4.V C V C V V >.V C V C >.V 4.>.V 4.C C 4.>.>.>./. ", +" ]#/ / { / / ^ ^ ] { { ] { ] { ] ] ^ / { ^ ^ ^ { { { ] / { { =._ _ _ {.~.{.{.{.2.c.h.h.v.h.h.D.O.D..+.+.+-+'+'+<+]+<+2+7+7+7+q+y+q+s+C+J+D+C+D+S+@@@@@@W+@@/@/@r@/@f@f@s@D@t@t@y@y@E@Q@Q@W@W@Q@W@$#$#)#`@^#)#/#/#(#_#+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+~#G+G+G+G+:#+ + + + + + + + + + + + + + + + + + + + =@@@X+x@S+D+D+X+C+s+C+s+y+n+n+y+2+g+g+]+<+]+'+'+|+-+W.W.X.D.D.w.i.i.c.h.2.c.l.{.{.%.%._ ^ y 4.V 4.V C V V C V C C C C V C C V C C C 4.V V V C 4.4.C V <# ", +" [#{ ] { / ] { ] ] ^ { { { { { { ] { ^ / ] ] ] ] { { { ] { / ^ ] { _ l {.{.{.7.2.c.c.i.i.i.V.D.W.D.X.-+.+'+-+]+:+]+<+<+7+7+7+s+r+s+s+s+J+C+D+S+@@W+X+S+@@r@r@r@r@f@|@g@t@t@t@t@F@y@U@E@Q@Q@$#`@W@$#`@$#)#$#)#/#/#/#}#|#+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+:@+ + + + + + + + + + + + + + + + + + + 1#=@=@=@=@X+X+S+S+D+C+q+J+y+s+q+x+7+7+]+]+]+:+'+-+-+.+X.W.X.D.D.i.h.h.h.c.r.c.l.{.!.!._ _ _ T ^.C V V 4.C C >.C V >.4.V 4.C 4.C V C C C >.C 4.V C V C >.[# ", +" 2#/ / { ^ / ^ ] { ] ^ / { { / ] / { ] ^ ^ { ] { / ] ] { { { ^ { _ _ _ l {.2.{.c.j.c.h.i.K.v.D.D.O. +X.X..+-+-+:+]+<+<+<+7+7+n+n+r+s+s+C+C+S+D+X+W+W+S+=@=@/@/@=@f@f@f@t@g@y@t@F@Q@Q@Q@W@Q@W@$#$#W@-#)#/#)#/#)#/#3#4#5#+ + + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+M++ + + + + + + + + + + + + + + + + + + + =@/@=@=@W+S+W+X++@D+K+D+s+y+7+7+7+e+2+e+]+]+<+-+-+-+.+.+D.D.D.D.w.D.i.c.c.c.l.!.{.~.l %._ ] >.>.4.>.V 4.>.4.V V V >.4.V C C 4.V V 4.4.V C C V C C V >.C 2# ", +" ] { { ] / ^ ] ] { / { ^ ] / ] ^ ] ^ ] ] { / ] { { { { ^ { { { _ _ %.~.$.!.{.2.2.h.j.w.h.V.D.D.P.O.W..+$+$+'+'+]+]+7+f+g+7+7+q+q+q+s+s+D++@+@X+X+x@W+@@=@6@6@/@|@|@f@s@t@t@y@y@t@Q@Q@Q@Q@W@$#6#)#`@-#)#)#/#4#3#4#4#7#W@+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+8#:@+ + + + + + + + + + + + + + + + + 9#=@=@=@=@x@X+D+S+D+D+K+K+q+o+r+7+7+g+2+7+]+<+'+'+-+.+$+X.X.D.D.V.x.h.i.j.c.2.l.7.{.!.!._ _ 9.>.4.V V C >.V >.V V V V C C C 4.V 4.V C V V 4.4.V C >.4.C C ", +" _+{ ^ ] { ^ { { ] { { { { ] ] { ] { ] { { / / / ] ] { { / { =.^ _ l %._ !.!.{.2.h.h.c.i.D.D.D.D.W..+.+$+-+-+]+]+]+f+f+2+7+n+y+y+y+K+Q+C+D+S+X+W+=@=@=@r@/@f@|@f@f@f@t@t@t@E@M@F@Q@W@Q@`@$#$#)#)#)#)#/#/#/#4#/#4#0#7#a#b#+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+~#G+G+G+G+G+G+c#d#:@+ + + + + + + + + + + + + + + + ;@^@=@/@=@@@=@X+X+X+D+D+D+s+J+y+n+7+7+7+7+<+<+'+'+-+-+.+.+P.D.W.D.D.i.w.i.j.h.2.{.{.!.$.~._ y ^.V C V C 4.C >.V C V V >.V V V 4.C C V C C V >.4.V V >.>.C e# ", +" b.{ { ^ ] / { { { ^ { { ^ ] { { ] ^ ^ { { ] ] ] ^ / ^ { { ^ { ^ ^ _ _ _ #.{.2.2.2.h.c.w.h.D.D.D.{+P.-+X.$+-+'+'+<+<+7+7+7+n+n+y+s+s+K+D+D+D+X+X+@@=@@@/@/@f@^@f@f@s@y@t@U@t@Q@M@Q@W@$#$#`@6#`@`@`@/#/#/#4#4#4#a#0#0#7#f#g#+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+;#h#:@+ + + + + + + + + + + + + + + + i#r@r@=@/@=@W+X+D+S++@D+D+s+s+s+7+7+7+7+7+<+]+'+]+-+|+.+.+W.W.D.D.x.i.w.j.c.c.2.2.2.!.~._ _ j#V V V C 4.C 4.V >.V V >.C V V V V >.C C 4.C 4.4.V V 4.C C 4.b. ", +" k#{ / / { { { / ] / / { { { { ^ ] / ^ ] ^ { ] { ] { { { { ] { { _ ^ _ $.l {.7.c.c.c.c.h.D.V.D.D.D.O.X.$+-+'+]+]+2+6+f+f+7+n+s+s+q+s+J+C++@D+S+W+-@X+@@/@=@/@f@s@f@t@s@t@y@E@U@Q@Q@Q@$#$#l#$#`@)#/#/#4#4#4#3#3#7#7#7#f#f#f#m#+ + + + + + + + G+n#G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+;#o#+ + + + + + + + + + + + + + + + H@/@f@f@=@/@=@@@S+*@D+D+D+D+s+s+r+n+7+7+f+g+7+]+'+-+'+-+$+X.X.D.D.x.w.i.w.h.r.c.2.{.{.!._ %.F.^.>.4.4.4.C >.4.4.C 4.C >.C C C C C V >.V C >.>.C 4.V 4.C C V p# ", +" # ] { ] / ] { { ^ ] { ] { ] ] { { { ] { ^ ] ] { ] ] { / ^ { ^ _ _ _ %.$.!.!.l.c.c.h.h.v.i.D.D.O.X.X..+-+-+'+:+]+2+g+2+7+7+7+s+s+s+C+D+C+D+X+W+W+=@=@r@f@^@f@f@q#t@t@t@G@F@Q@Q@Q@r#$#`@W@`@-#`@)#/#)#/#3#4#7#f#s#f#f#f#t#u#+ + + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+v#j@+ + + + + + + + + + + + + + + + -@f@f@|@r@=@W+X+@@W+S+S+C+C+q+s+s+n+n+7+7+<+6+6+]+'+l+'+-+X.X.W.D.x.V.h.h.c.c.c.c.7.!.!.%._ G.4.>.>.C >.>.4.C >.C >.C C V V >.V V V 4.V C V V 4.C V >.>.V w# ", +" x#] ^ ^ / ] / { ] { ^ ] / { { ^ ] ^ ^ / ^ / / / { ^ { / ^ ^ / ] ^ _ l _ ~.!.!.{.c.j.j.v.h.x.D.O.W.X.X.-+$+-+'+<+<+7+7+7+7+7+q+q+q+C+D+D+D+S+@@@@=@=@=@=@/@^@f@s@s@y@y@t@E@G@F@W@W@$#W@$#)#)#)#/#/#4#4#5#a#3#5#f#f#f#f#y#t#z#+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+M++ + + + + + + + + + + + + + + + A#|@f@f@/@/@=@X+=@X+X+D+D+K+K+s+q+r+n+7+7+<+g+]+'+'+-+-+.+X.W.X.O.D.D.V.h.j.2.c.c.7.~.{.l %.K ^.>.C >.V V C V C >.>.C C >.>.>.V 4.C 4.V C C C C >.C V 4.V 4.B# ", +" C#^ / { { { { { { ^ ^ ] { ] ^ { ^ { { ^ { { { ^ ] ] / { ] { { { ^ _ _ ~.!.%.7.3.c.h.h.i.K.x.D.D.W. +X.$+.+'+'+<+]+]+7+7+7+y+y+q+C+q+C+D+D+S+@@S+=@/@6@^@|@f@|@s@f@s@y@t@E@Q@Q@Q@r#l#`@`@)#-#/#)#D#4#4#a#7#7#f#f#f#y#f#E#y#E#F#+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++#+ + + + + + + + + + + + + + + + + t@|@r@^@6@=@=@@@W+@@D+X+D+K+C+s+s+s+y+7+2+g+2+:+:+]+'+-+1+W.D.O.D.x.v.i.i.h.c.2.2.!.{._ _ _ +.4.C V C C 4.4.>.>.>.C >.C >.>.>.>.>.V V >.V V V C V V C C V C G# ", +" #./ { ^ ] { ^ ] { ^ / ^ ] { / ^ { { ^ { ^ { { ^ ] ] { { ^ ^ { ^ _ _ !.l {.{.!.c.2.j.j.w.h.i.D.D.D..+X.1+-+m+]+<+6+6+g+7+7+q+y+q+s+C+D+D+W+@@@@@@=@=@=@^@f@|@t@t@s@y@t@Q@M@Q@W@H#W@`@6#`@)#/#/#}#4#3#5#7#f#7#f#f#I#E#u#I#J#u#K#+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + + L#s@|@|@|@f@=@=@W+@@S+D+D+D+C+q+q+y+r+7+n+7+g+<+:+'+-+'+1+-+.+ +D.D.D.x.h.i.c.2.{.2.{.!.!._ u+C >.4.V V C >.4.C C C V C V V C V >.V >.V V C V C V C 4.C V >.,. ", +" M#] { ] / { ] { ^ { { / / { ] ^ { ^ { { ] { ] { ] { { ^ ] ] { ^ ^ _ l !.l !.c.2.c.c.h.i.w.D.i.D..+{+X.-+'+'+m+]+]+]+2+7+y+x+r+s+s+Q+C+S+X+S+S+=@@@=@=@6@f@f@|@s@t@E@U@G@Q@Q@Q@r#W@W@$#`@`@)#4#D#4#3#3#f#3#f#y#t#y#y#u#E#N#u#O#P#+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + + |#t@g@f@/@f@|@=@=@=@W+X+X+D+D+s+s+s+7+7+7+7+7+2+6+<+'+:+-+.+.+X.X.W.D.i.x.i.c.c.c.c.2.{.$._ ] ^.>.B V >.4.4.>.V C V >.V C C C C 4.V 4.>.C 4.V C V C >.4.V C C Q# ", +" / / ] { ^ ^ / { { { ] ] / ^ / { ^ / { ] { ] { { { / / ] { ^ { ] J _ _ !.{.{.2.2.,@h.h.w.v.D.D.W..+W.-+-+'+-+<+2+6+7+2+7+7+q+q+J+s+D+D+X+W+@@=@x@r@=@=@|@R#R#S#t@F@M@F@F@Q@Q@W@W@)#-#-#`@/#4#4#5#3#7#7#f#f#T#f#E#E#u#N#N#u#U#U#+ + + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + + i#f@g@s@f@f@/@V#=@=@W+X+D++@C+Q+C+s+x+s+7+7+6+e+]+]+-+-+-+.+X.X.W.D.D.v.D.w.i.r.c.c.2.{.$.%.j#^.W#C 4.C V >.C C C C C 4.C V 4.V C >.V C >.V C C V V C C >.V C ", +" P / ] { { { ] { { ] { { ] ^ { ] ^ { ^ / ] ^ ^ ] ] { ^ { { ^ ] =.^ _ _ $._ 7.2.2.c.i.c.i.v.w.D.W.W.X..+-+-+:+<+<+6+2+7+7+y+q+q+q+C+D++@S+S+W+X+=@=@r@7@f@f@s@t@s@y@U@y@Q@Q@Q@Q@H#`@$#)#/#/#/#3#5#7#5#5#f#f#f#y#E#u#u#u#N#N#U#U#X#+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+~#G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + + Y#t@g@f@f@|@=@|@=@=@@@@@W+S+D+D+Z#s+q+o+7+x+e+7+2+<+<+'+-+-+.+X.O.W.D.w.i.K.i.h.c.c.{.{.%._ b ^.B C >.V C C 4.V V C 4.C 4.V V >.V >.C V C V >.>.V >.4.4.>.>.4.W ", +" `#^ { { { ] / { { { ] { { { ] { ^ ^ ] { ^ ] ] { { ] { { { / ^ / =._ _ %.~.{.!.2.2.c.h.h.x.D.D.W.D.X. +.+'+'+]+]+]+g+<+7+7+n+q+s+C+D+D+S+@@@@-@-@=@r@6@|@R#g@t@y@E@y@F@Q@W@W@`@$#`@`@)#/#)#/#4#3#7#4#7#f#f#y#E#t#u#u#u#U# $.$+$@$#$+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + + f@y@g@g@f@^@^@/@=@x@S+@@W++@+@C+s+q+q+r+y+7+7+2+2+<+'+]+'+-+ + +O.D.D.D.w.i.c.h.2.c.2.!.%.~.+.$$$$>.C C C C V V V 4.C >.>.>.C C C C >.V V C C C C 4.V C C C V `# ", +" %$] { { ] ] ] { { ] { ^ { { ] ] ^ { { / / ] { ] { { / ] / { { ^ J _ _ l {.{.!.{.h.i.i.w.w.w.D.D.P..+X.'+-+'+<+2+7+g+7+7+q+s+s+C+C+D+D+S+X+@@W+=@/@6@|@|@g@f@s@y@E@E@Q@Q@W@l#W@-#`@)#/#4#4#3#4#3#5#f#f#f#T#E#I#E#J#U#U#U#U# $ $&$*$+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+=$=$=$-$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + + ;$t@t@s@s@f@r@^@=@>$W+x@@@S+S+C+K+C+s+s+x+7+7+7+f+<+<+-+-+-+.+X.{+D.P.D.i.h.i.r.j.2.!.{.l {.e ^.^.C >.>.>.>.C C C 4.>.C >.V 4.C C 4.C 4.4.4.4.>.C C V >.C V >.,$ ", +" '$^ ] ] ^ / ^ / { ] ] { ] { ^ ^ ^ { ] ] ] { ^ { ] ] { { ] ] ^ ] ^ _ $.%.l !.2.l.c.h.c.h.D.V.D.D.O..+-+$+-+]+'+b@<+g+7+7+7+r+s+s+s+s+D+S+@@=@@@=@=@/@/@^@|@g@s@t@t@y@U@Q@W@`@$#l#-#)#/#/#/#4#3#3#7#7#f#)$I#y#u#N#N#U#U# $U#!$@$.$~$+ + + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+{$]$-$=$=$=$A@^$=$=$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + + E@t@t@|@f@/@f@=@r@@@S+W+*@S++@D+J+s+q+s+7+7+7+<+]+]+<+-+-+-+$+X.W.D.D.D.i.i.c.c.c.c.!.{.~.] ^.$$>.C V 4.V 4.C V C V C V V 4.V V >.4.>.>.>.C 4.V >.C 4.4.V C V /$ ", +" ] / ^ ^ / { { { ] / { ] ] / ] ^ { { ^ { ^ ] { ^ { ] { { { / ] ^ _ $.l ~.!.{.l.c.c.h.c.h.w.D.D.D.X.X.X..+-+:+]+]+<+2+7+n+y+s+s+D+D+D+D+X+@@($@@/@r@7@f@f@s@s@t@E@E@Q@Q@$#$#W@-#)#/#/#/#4#3#3#a#7#f#y#f#y#u#E#N#u#U#U#.$+$+$~$~$~$_$+ + + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+:${$<$[$}$:$}$-$[$=$A@=$=$]$=$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + + |$E@y@t@s@f@f@/@=@=@@@X+@@X++@C+D+s+q+y+q+y+7+2+6+]+6+]+-+-+.+.+W. +D.D.h.x.v.h.h.l.{.{.{.%.1$^.$$^.C C C C C >.V V C C C V V 4.>.C 4.C >.4.>.V C >.C 4.C V >.>. ", +" 2$^ { { ^ ^ { { ] ] ] { ] ^ ] ] / { { ] ] ] ^ { ^ ] ^ / { ] { =.^ _ %.l _ {.{.2.c.c.h.v.D.D.D.W.D.X.$+-+'+-+'+<+]+e+7+y+7+s+q+D+C+e@D+D+X+X+x@@@/@r@/@|@f@t@t@U@t@M@Q@Q@$#W@W@$#)#)#4#3#5#0#3#f#f#f#E#y#u#E#u#O#O#U# $.$~$&$~$~$3$4$+ + + + + + + + + G+G+=$]$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+5$5$<$5$5${$}$:${$[$[$-$=$:$=$=$=$-$=$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + ;@E@t@t@s@f@g@f@/@^@=@=@X+S+S+S+D+D+s+s+r+q+7+7+e+6+]+'+'+-+.+X.W.X.P.W.D.v.x.i.r.2.c.{.{.{.K ^.^.$$C V >.>.C C >.C >.V C V V >.C C >.C C V C C >.>.>.V >.>.C V 6$ ", +" =#] { / ^ { ^ / / { ^ { ] { { { { { ] { / / / ] ^ ] { ] ^ ] / { ] ^ _ _ ~.!.7.{.2.h.h.h.w.w.D.W.W.X..+X.-+m+'+6+6+]+2+7+y+s+y+s+Z#C+D+D+S+W+-@r@r@6@|@f@s@t@D@G@F@F@Q@Q@W@$#l#)#`@)#/#4#4#3#3#7#f#f#f#E#u#u#N#U#U#U#U#+$!$~$~$7$3$8$9$+ + + + + + + + + =$G+=$=$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+0$a$a$a$a$5$a$b$5$5$c$c$5$d$}${$=$:$-$=$=$=$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + + e$E@t@f@t@R#f@r@/@=@=@=@X+S+S+e@C+D+s+q+n+7+7+2+e+<+2+]+'+-+.+.+.+.+X.D.i.v.h.j.c.2.2.{.{.=...^.^.V C C C V C >.>.>.C 4.V V >.C 4.4.V C >.C >.4.C 4.C >.V C 4.4.'# ", +" f$] { ^ ^ ] { { / ^ ^ ] { { / ] ^ { / ] { ] / ] ] ^ { { ^ ] { ] / _ _ #.{.g${.c.2.h.c.w.w.x.D.W. +W.X.'+-+-+<+6+7+2+7+7+q+q+s+C+C+D++@T@-@X+=@=@|@|@f@t@f@s@t@t@G@Q@W@Q@W@`@-#-#/#/#4#4#7#0#3#f#T#)$E#u#u#J#u#U#U#U#!$~$~$~$3$h$7$3$i$+ + + + + + + + =$=$-$]$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+j$k$k$k$k$a$l$0$a$a$a$a$5$a$5$5$5$<$[$}$A@:$[$-$=$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + H@Q@E@t@t@s@q#f@/@/@/@@@-@S+W+D+C+D+C+s+n+n+7+7+g+7+<+<+:+'+-+-+.+.+X.D.V.D.w.i.j.c.7.2.{.~.9.^.>.C 4.4.C V >.C C C >.V C 4.V V V >.C >.>.>.C C V V C C V >.>.>.m$ ", +" n$^ { ] { { ^ { ] { / ] { { { ] ] ] ] ] { { ^ ] { / ] { ] ^ ] ^ { / ^ _ !.%.{.3.c.h.h.h.i.i.D.D.W..+-+-+'+'+]+:+7+2+g+7+q+q+s+C+J+D+S+X+@@@@=@=@r@f@f@f@|@f@t@E@E@E@W@W@Q@$#$#^#)#/#4#5#s#7#7#f#T#y#t#u#O#u#U#U# $@$&$@$~$7$7$_$_$3$o$+ + + + + + + + + [$}${$c$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+p$q$r$s$s$j$p$k$s$a$q$a$l$l$a$a$5$a$5$}$}$}$A@[$-$=$G+G+G+G+G+G+G+G+G+G+G+G+G+G+n#G+G+G++ + + + + + + + + + + + + + + + |@M@M@t@s@s@f@f@f@=@=@@@@@W+D++@C+D+s+s+s+7+7+2+6+2+]+'+]+-+1+$+W.O.W.D.D.w.h.i.h.c.{.{.{.t$^.^.^.4.>.C V C >.4.4.4.C C >.C >.V C V C >.>.C V C V >.V >.>.C C C n$ ", +" l@{ ^ { / { ^ { ] { { / { { ^ ^ { ] ^ ^ ^ ^ ] ] ] ] { { { ] ^ / / _ _ _ %.{.{.2.2.c.h.h.V.D.D.X. +.+.+'+-+'+]+<+2+2+7+7+7+q+s+C+D+D+S+W+@@-@/@/@/@^@s@g@g@y@t@M@Q@M@W@W@`@-#)#)#D#D#3#4#3#f#f#f#E#E#u#u#O#U# $ $@$!$~$7$~$7$7$3$_$u$.$+ + + + + + + + + {$}$5$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+v$w$w$x$w$p$p$r$w$s$p$s$k$j$k$a$k$a$a$a$b$a$5$}$}$[$}$-$=$=$=$G+G+G+G+G+G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + + y$Q@F@y@t@t@s@g@f@f@=@r@=@@@W+S++@e@s+s+q+q+7+7+7+2+<+<+'+-+$+X.-+X.X.D.D.i.i.c.c.c.2.7.{._ ..a+^.>.C V 4.C C V V C >.C C C C V 4.C C >.C C >.V C 4.V V V C V >.w@ ", +" z$] ] / ^ ] ^ ] ] { { { ] ] { { { { { ] / ^ { ^ / ^ / { { { ^ ^ ^ / _ l %.{.{.!.c.c.c.c.i.w.D.W.P. +.+.+'+'+:+]+<+7+7+7+n+s+s+s+C+D+D+S+X+@@=@=@/@|@f@f@t@t@t@M@y@W@Q@`@W@$#)#/#/#}#}#4#5#7#7#I#)$u#u#O#O#N#U#U#+$+$~$~$7$~$_$3$3$o$A$B$+ + + + + + + + 5$5$5$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+C$C$C$v$C$v$r$w$v$D$E$E$w$w$j$k$j$j$k$k$a$l$a$a$5$c$:$[$[$=$A@=$=$G+G+G+G+G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + + Q@Q@F@E@t@f@f@|@|@6@/@=@=@S+W++@C+C+C+s+r+y+n+7+g+7+]+]+'+-+-+X.X. +D.D.w.v.i.h.j.l.2.{.!.G...>.B C C V V C >.C C 4.C C C 4.C >.V >.>.C C V >.C C V >.V C C V 4.z$ ", +" d@/ ] { { ^ ] { / { { ] { { / ^ { { ] ^ { ] ] { ^ ] ] / ] { ] { { _ _ l %.!.!.{.c.i.v.i.i.x.D.D..+ +-+-+-+]+]+]+<+7+7+y+q+s+s+D+C+C+X+@@W+@@r@/@7@|@f@t@s@t@y@F@Q@W@W@Q@`@-#/#)#/#/#3#4#0#f#f#T#y#u#E#u#U#U#U#+$~$~$~$7$_$3$3$3$F$F$F$G$+ + + + + + + + 5$a$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+C$H$C$C$C$C$I$C$C$v$v$v$v$w$D$w$p$E$k$k$j$k$a$a$a$a$5$5${$:$[$=$-$=$G+G+G+G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + + J$Q@E@t@t@t@t@f@|@|@/@/@=@-@X+X+X+C+s+s+y+q+y+7+7+<+f+]+]+m+-+X..+.+D.D.D.x.i.h.c.c.2.{.{.K M ^.>.>.V V C >.C C V 4.C 4.C C C V C C 4.C C V >.>.>.C >.V 4.C V C W ", +" 2#{ ] / / ] { ] { / { { ] { / { ^ / ] ] ] ^ ] ] ^ ] { ] ] ] ] ] { _ _ _ !.{.{.c.c.c.h.i.D.D.D.O.P. +.+.+-+:+<+<+7+2+7+x+y+y+s+J+s++@W+X+W+@@=@6@^@f@f@f@g@t@F@t@Q@W@W@$#`@-#/#)#/#/#4#3#f#f#f#f#E#E#u#O#U#U#U# $&$~$~$7$3$3$A$_$_$A$F$K$L$+ + + + + + + a$a$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+M$N$O$P$H$O$O$O$C$C$C$v$C$v$v$v$v$Q$p$r$q$s$s$q$k$l$a$c$5$d$5$}$:$:$A@R$=$G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + + S$W@Q@U@t@y@t@g@|@|@7@/@=@=@S++@D+D+C+D+C+n+q+7+7+2+<+'+]+:+'+.+X.X. +D.D.w.v.i.h.h.c.2.{.T$[.a+^.B 4.C >.C V V >.C V >.C V C V 4.C C V >.V >.C C C C 4.V C C 4.>.2# ", +" U$] ] { / ] { / ^ ] ^ { { ] / { / ] { ] ^ { { ^ ] ^ { ^ { ^ { / { { _ _ #.!.2.7.c.c.i.i.V.D.D.{+W.-+.+-+-+-+6+g+<+7+7+o+y+s+q+D+D+S+S+W+@@=@=@6@/@f@|@t@s@y@y@Q@W@W@$#W@$#$#^#4#/#4#7#a#f#y#y#f#u#V$O#N#U#.$@$@$&$7$_$7$3$o$A$F$A$W$W$X$m#+ + + + + + + a$k$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+Y$P$M$Z$M$M$M$P$O$M$I$C$C$H$C$C$v$v$v$r$w$r$p$r$k$j$k$a$a$5$a$5$d${$[$:$=$G+]$G+G+G+G+G+G+G++ + + + + + + + + + + + + + + + `$W@Q@E@E@E@t@g@s@|@f@|@=@=@S+W+@@S+C+s+C+s+x+q+7+7+2+6+<+'+]+-+.+.+D.W.D.D.w.i.i.2.c.2.{.{.j#^.^.W#>.W#>.4.V C V V C >.C V C >.>.V C >.V >.>.V V V C C V V >.C >.0. ", +" { ^ ] ^ { { / ^ / { / ] { ^ / ] ] ] ] { ^ { / { { { / ] / ] ] / J _ _ _ !.!.{.c.2.h.i.v.i.D.X.X. +.+$+$+'+'+]+2+7+2+n+n+s+J+D+D+D+X+@@@@=@=@/@|@|@f@f@s@t@y@y@Q@W@W@l#l#`@)#/#4#/#3#7#7#f#f#E#E#E#U#O#U#.$U#.$~$7$7$3$3$3$A$F$A$F$W$W$ %+ + + + + + + + s$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+.%+%@%+%+%#%+%Y$N$Y$+%O$M$H$C$I$O$C$C$v$v$v$Q$w$v$p$k$q$j$a$a$a$a$5$}$[$:$]$=$=$G+G+G+G+G+G+G++ + + + + + + + + + + + + + + |#Q@Q@Q@Q@y@t@t@g@|@f@^@/@=@@@=@S+S+X+D+s+s+s+s+7+7+7+f+<+]+]+.+.+X.W.W.D.D.w.i.v.h.2.c.7.{.U+O+......^.$$$$$$4.C C C C C V C C V >.C V C >.C >.>.V C C C C C V C >. ", +" $%{ ^ ^ { { ] { ^ ^ { ] ^ { / ] { { ^ ^ { / / ] ] ] ] { { { ^ { ^ ^ _ !.{.~.!.{.c.c.i.w.w.i.D.D. +.+1+-+'+'+'+2+e+7+7+y+s+r+J+K+D+D++@X+=@@@=@6@|@f@f@s@t@G@F@Q@Q@W@$#`@-#-#/#4#4#3#3#f#7#t#f#E#%%E#N#U# $@$@$~$h$7$3$3$_$&%A$A$K$W$K$ %*%+ + + + + + + s$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+=%@%-%;%@%@%Y$>%Y$Y$#%+%Y$N$Y$Z$M$O$C$C$,%v$v$C$Q$w$r$p$q$k$k$l$a$a$5$[$}${$[$-$=$=$G+G+G+G+G++ + + + + + + + + + + + + + + + l#Q@W@M@M@t@y@t@t@f@f@^@/@=@@@@@X+X+C+C+q+s+s+y+7+7+7+]+<+<+'+'+.+ +.+W.D.D.w.h.h.c.2.{.!.b '%......$$W#$$$$W#C $$>.4.V >.V C 4.V C C V C C C C 4.C V C C V 4.C C )% ", +" { / { ] ] ] ^ ] { ] ] / ^ ^ { / { ^ { { ] ^ { { { { ^ / ^ ^ { ] ^ _ _ ~.$.{.2.7.c.c.h.w.D.x.D.X.D..+.+'+]+:+]+2+2+7+7+r+q+s+s+C+X+S+S+@@=@=@/@/@f@f@s@t@t@F@M@Q@W@W@)#$#`@)#D#/#7#7#5#f#f#y#E#u#E#U#U#U#!$&$~$~$7$7$_$_$_$A$!%W$F$W$ %X$~%+ + + + + + p$Q$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+{%]%-%{%{%{%-%-%@%@%@%@%.%Y$@%+%+%+%N$O$M$P$C$C$C$C$v$v$w$p$s$j$q$a$a$5$5$c$5$}$[$=$=$=$G+G+G+G++ + + + + + + + + + + + + + + + l#Q@Q@Q@U@E@G@t@f@f@|@r@=@=@@@W+X+X+D+C+J+s+r+r+7+7+7+6+<+:+'+'+-+.+ +W. +x.V.w.h.c.c.{.!.=.^%....../%$$W#W#$$^.W#$$$$C >.C V >.V 4.V C >.C >.>.>.C V V 4.C V V C >. ", +" b.^ / { { { ] ^ { ] ^ ] / ] ] ] { { { ] { / ^ / { ] ] { ] ] ] ] ] _ _ $.l ~.d+2.c.h.i.i.V.D.D.W..+ +-+.+-+]+<+<+6+7+7+7+n+s+q+K+C++@S+@@X+@@/@/@f@|@f@s@y@M@y@Q@Q@W@$#$#-#/#/#/#4#7#5#f#f#E#u#E#E#O#O#U#.$~$@$7$~$_$_$3$A$_$(%K$ %W$X$ %_%:%+ + + + + + v$v$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+<%]%[%[%}%[%{%-%[%-%-%-%=%@%@%@%|%+%Z$#%+%M$#%I$M$C$C$C$C$Q$w$r$r$q$j$k$a$a$a$}$d$[$-$-$=$-$G+~#G++ + + + + + + + + + + + + + + 1%W@$#Q@Q@y@Q@t@t@f@|@|@|@^@=@=@@@W+S+C+C+C+q+y+o+7+7+]+<+]+]+'+-+-+X.X.W.D.V.i.h.h.r.2.{.2.~ 2%O+..^.B B W#B B ^.^.$$W#W#B V 4.>.C C 4.C V 4.4.4.C C >.V 4.>.C C C b. ", +" 3%{ / / ] ] / ^ ] { { { ] { { { { ^ { ^ / / ] ] ] { / ^ { { { { { { _ _ !.{.!.2.2.c.i.h.w.D.D.O.W..+-+'+-+:+<+<+2+7+7+y+s+s+C+C+S+X+W+-@W+=@=@|@|@s@t@t@t@y@Q@M@W@Q@W@$#`@)#/#4#4#0#f#f#)$)$y#u#O#U# $@$.$~$~$h$~$3$3$_$A$W$W$K$ %X$X$_%4%5%+ + + + + + v$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+6%6%7%<%}%<%}%8%[%}%}%[%=%-%-%-%@%@%@%@%Y$+%+%+%N$O$O$H$C$C$v$v$w$E$E$q$q$k$a$5$c$d$[${$=$=$G+G+G++ + + + + + + + + + + + + + + 9%`@W@Q@Q@F@E@y@t@f@R#|@r@r@=@=@x@W+D+D+D+C+s+q+n+y+7+e+2+<+:+:+-+-+.+X.O.D.D.V.h.h.r.r.2.{.K M ..../%^.W#W#W#W#B B W#W#W#B $$C 4.>.4.V >.4.V C C V >.4.4.V C C V 4.0% ", +" 2#] { ] { ] { { { { ] { { { { / ^ ] ^ ] { ^ { { { ^ ^ ] { ] ^ ] ^ =._ _ !.#.{.2.c.C.c.h.h.w.D.P.D.X.X.-+'+)+6+2+f+e+n+r+x+s+K+D+D+S++@@@W+=@r@|@=@f@s@s@t@E@Q@a%Q@Q@l#$#)#/#/#4#3#5#0#f#f#y#E#E#E#b% $@$.$~$~$~$7$3$A$A$A$F$W$!%W$c%X$_%4%_%d%+ + + + + C$M$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+e%7%f%g%6%e%7%f%8%8%6%f%8%[%]%-%}%-%=%h%@%@%@%+%Y$#%P$N$O$C$C$v$v$v$w$r$k$j$s$l$a$a$}$:${$]$=$G+n#+ + + + + + + + + + + + + + + L$$#$#Q@W@M@y@E@t@t@g@q#/@|@=@@@X+X+S+S+D+D+s+J+n+y+7+e+f+<+'+'+'+-+$+W.X.{+V.D.v.i.c.2.c.l.i%,#,#......^.^.W#W#$$$$$$W#W#^.^.W#$$C >.C C 4.4.>.C >.C V V >.>.4.C V C j% ", +" a / { { { / { ] / ^ { { ] ] / ^ ] ] { { { ] { { ] ] ^ { { ] ] { J ^ _ _ %.{.{.2.c.h.h.h.v.D.D.D.W.-+.+'+:+]+<+6+6+7+n+q+s+C+K+C+D+D+D+@@@@=@/@|@f@|@s@t@y@F@M@W@Q@W@$#`@/#)#3#4#5#3#f#f#t#u#u#E#O#U# $~$.$~$~$_$_$A$A$A$W$F$F$K$X$X$_%k%4%4%l%+ + + + + H$M$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+m%n%e%m%e%m%e%e%7%e%e%e%f%8%<%]%}%[%]%o%=%-%-%@%@%+%@%#%N$Z$O$I$C$H$v$v$w$r$p$k$j$a$a$5$<$[$}$}$]$=$+ + + + + + + + + + + + + + + ;@)#$#r#l#Q@Q@t@E@y@L@s@f@|@r@@@x@@@W+S+D+C+D+q+r+y+7+7+g+]+6+]+'+-+-+X.X.D.D.D.i.i.c.c.2.l.{.2%^%..p%..^.B $$B $$^.^.$$B $$W#$$^.W#C V C >.C >.>.V >.C >.C >.>.4.>.C q% ", +" ] ^ ^ { / ^ ] ] { ^ { ] { { ^ { { ^ { / { { { / ] { / ^ ^ ] ] { ^ _ _ l {.!.l.2.h.r.i.K.V.D.D.O..+X.-+-+:+]+]+7+6+x+n+q+q+C+D+D+X+S+S+W+=@^@7@f@f@g@t@y@t@Q@W@W@W@W@`@^#)#)#/#7#7#0#f#y#y#u#u#O#U#U#U#!$7$~$~$7$_$A$A$F$F$W$W$ %X$X$4%4%r%r%s%+ + + + + O$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+m%t%m%m%m%m%n%m%e%e%e%e%g%e%g%7%7%6%8%f%]%[%-%<%@%-%@%@%+%#%#%+%N$N$C$C$x$D$v$E$w$k$a$l$a$u%c$[$=$]$+ + + + + + + + + + + + + + + + -#$#`@Q@Q@Q@y@F@y@t@s@g@f@7@r@V#X+=@S++@D+K+s+q+q+y+7+7+2+]+]+]+-+$+X.X.X.D.D.h.w.c.h.c.2.!.M.2%....v%^.$$$$B W#$$W#^.W#$$^.W#W#$$$$V >.C C C V C C V V 4.>.4.>.4.C C ", +" w%] { ^ { ^ { ^ ] ^ / ^ / { { { { ] ] { ] ] ^ ] { { { ^ ] ^ { { =.^ _ _ %.%.{.c.2.2.r.x%i.w.D.D.X..+.+-+'+Z+'+6+<+7+7+r+y+q+K+C+S+X+W+@@=@=@=@/@f@t@s@t@t@Q@Q@W@Q@l#$#`@^#4#4#/#4#7#7#T#I#E#N#u#u#U#U#+$&$~$y%7$z%_$F$A$F$!%X$X$_%_%A%A%r%r%B%+ + + + + + #%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+C%D%D%E%F%G%m%H%m%m%m%m%n%e%e%e%e%e%7%8%7%6%[%]%=%]%-%@%@%@%#%Y$M$M$N$C$I$v$v$p$w$r$w$k$a$5$a$}$c$A@:$+ + + + + + + + + + + + + + + a%$#$#$#Q@W@E@Q@t@L@s@g@f@/@|@>$=@@@X+D+S+C+s+q+s+n+n+7+7+f+'+m+-+-+-+X.W.D.D.D.v.h.j.c.c.{.U+'%....p%..W#W#$$^.B W#$$^.W#$$W#$$^.$$^.B >.C V C C C >.C C >.>.C C 4.4.I% ", +" J%^ { ] ^ { { / ] { ^ { / { ^ / { { ] ] { ] ^ ^ { ] { ] { { ^ ] ^ ^ _ %.$.#.{.c.2.2.h.h.w.D.D.O.W. +.+'+:+:+b@e+2+7+x+r+y+J+C+C+D++@@@x@=@=@=@|@f@t@f@t@F@F@Q@W@$#W@)#-#D#)#4#3#7#f#y#I#I#u#N#U#U#@$.$ $~$~$3$_$A$_$F$F$W$X$X$X$X$4%K%K%r%L%r%+ + + + + |%@%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+C%M%G%N%F%M%O%G%F%G%E%E%E%m%E%H%m%e%e%e%e%e%7%6%8%<%[%[%{%-%@%@%@%+%+%M$M$O$H$C$v$v$E$w$j$s$0$a$5$<$:$:$+ + + + + + + + + + + + + + + P%/#-#$#$#Q@W@F@y@t@t@f@f@f@7@=@@@x@@@W+D++@C+q+s+n+o+7+2+2+]+'+'+'+.+-+D.X.D.D.i.w.i.c.2.!.] ,#......^.v%^.^.^.$$^.$$$$^.B $$W#B ^.$$B V C C >.4.C 4.>.4.C V V >.C 4.Q% ", +" { ] / ^ ] { / ^ ] ^ { { ^ / { ] ^ { / / ] { ] ^ ^ ] { { ] ^ ] ^ ^ / ^ ~.l !.2.c.c.c.h.i.D.D.D.O..+X.$+-+]+2+]+6+e+7+x+q+q+q+D++@+@D+@@=@=@=@^@/@f@t@t@t@F@Q@W@W@$#l#`@)#/#4#5#0#f#f#T#y#E#O#E#U#U# $&$@$~$7$3$_$A$A$W$F$!%K$X$_%_%4%r%r%r%R%S%+ + + + + .%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+C%T%C%T%T%C%T%M%N%O%C%N%F%D%F%E%m%m%H%n%e%e%e%7%f%6%f%6%{%{%-%-%@%@%+%@%+%Y$M$I$C$v$v$r$r$E$s$k$0$a$5$}$+ + + + + + + + + + + + + + + U%^#$#6#W@W@Q@Q@E@t@s@s@f@^@=@=@=@=@@@S+S++@C+C+q+s+y+7+<+2+<+]+'+-+X..+O.W.W.x.D.v.h.h.C.c._ '%'%2%..^.B B ^.$$W#^.W#$$$$W#^.W#$$$$W#W#B ^.V >.C V C 4.4.4.V C V V C V ", +" [+{ ^ ] { ^ / ^ { { ^ ] ^ ] ^ ] ^ { ] ^ / { { ^ ^ ^ / / { ^ / ] { / ^ _ !.!.7.{.2.c.c.i.i.h.D.W.X..+-+$+)+]+]+2+]+2+n+y+s+J+C+C++@T@@@W+=@=@6@f@f@s@s@t@E@M@E@V%$#W@-#)#/#W%5#3#7#f#f#y#I#N#U#O#U#.$&$~$~$~$3$A$A$F$F$F$F$X$_%X$4%k%4%r%r%r%X%Y%+ + + + + {%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+T%Z%`% &T%T%T%T%T%T%T%T%C%O%O%F%G%D%G%G%E%m%m%e%e%e%7%7%7%7%<%[%-%h%-%@%@%+%P$P$N$C$v$v$v$w$r$s$j$a$a$5$+ + + + + + + + + + + + + + + Y#)#.&)#`@W@r#Q@F@F@E@t@s@f@|@/@=@@@=@W++@D+C+D+s+q+n+x+7+g+<+]+:+-+-+.+X.X.W.D.x.D.h.h.c.2.7.+&..2%..../%$$$$^.W#$$W#W#W#W#W#$$$$$$W#W#$$B 4.C >.4.V C V 4.C C C V C V [+ ", +" w+^ { { { ] / ] / ^ ] { ] ] ] ] ^ ] ] { / { { ^ / ] ^ ^ ] ^ { { ^ J ^ _ !.{.!.2.2.2.i.i.v.w.D.{+X.X..+'+'+]+]+7+e+7+7+y+s+s+C+D+D+@@@@=@@@/@^@|@f@R#s@t@t@Q@Q@`@$#6#`@-#/#W%}#3#5#f#y#I#E#O#U#N#U# $~$@$h$3$3$3$u$F$F$F$X$X$X$_%A%4%A%r%r%@&#&$&+ + + + + [%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+%&&&`% &*&`%`%`%`%Z%`%=&T%-&C%T%O%D%F%C%E%E%m%t%m%n%e%e%e%7%8%<%o%{%-%-%@%@%Z$O$N$N$H$I$v$x$w$w$E$k$s$5$5$+ + + + + + + + + + + + + + h@/#)#-#`@$#Q@W@y@F@t@t@t@f@f@/@=@=@@@X+D+S+C+C+s+s+s+7+7+7+]+'+'+'+-+1+X.W. +D.D.w.i.h.h.2.2.U+'%2%......B W#$$$$$$$$^.$$W#W#^.$$^.^.W#^.^.$$$$4.4.V V >.4.>.>.>.C V C m$ ", +" ] { { / ] { { { { { ^ / { ] { ] { { / ^ ^ { / / ^ / / ^ { ^ { ] ] =._ $.%.!.{.{.c.i.h.D.x.D.P.W.W..+X.'+)+'+]+2+7+n+n+s+q+C+C+D+S+*@@@=@=@/@f@f@f@t@t@E@U@W@Q@$#`@`@-#)#/#4#5#7#f#y#u#E#u#N#U#U# $&$@$~$h$_$A$_$F$F$!% %X$X$_%;&K%K%r%B%B%>&,&'&+ + + + <%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+)&%&)&!&%&&&%&&& &~&*&*&`%`%T%T%T%C%C%C%M%M%F%G%m%n%n%e%e%7%7%6%[%}%<%<%-%@%@%|%Y$+%H$O$I$v$v$p$q$s$q$k$a$+ + + + + + + + + + + + + + + /#/#`@-#`@W@Q@Q@y@t@t@t@f@f@^@r@/@=@X+W++@+@K+q+q+y+o+7+7+f+]+]+]+-+$+.+.+.+D.D.w.i.i.h.c.{.{&]&+.......$$$$$$^.W#W#^.$$^.W#W#W#^.B $$$$^.^.B ^.V C >.C V C V >.>.C >.>. ", +" ^&^ ^ { { { { ] / ] { ] { { / ] / { { { / { { ] ] { ] / ^ ] ] { { _ / _ %.l {.c.2.r.h.h.v.w.D.W.X.X..+-+-+<+:+2+2+7+7+n+q+s+D+D+C+W+X+x@=@=@|@f@|@f@f@t@U@U@W@l#`@`@)#)#/#3#3#a#a#f#y#T#y#u#U#U# $!$~$~$7$8$_$_$_$F$F$/&*%X$X$4%A%4%r%r%@&,&,&(&*$+ + + + 8%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+_&_&&&_&_&&&&&)&)&&&%&%&)&*&~&~&T%T%T%T%C%M%M%F%G%G%m%m%:&m%e%g%f%7%}%[%{%{%-%@%|%#%N$M$I$C$C$v$w$p$r$l$k$+ + + + + + + + + + + + + + + 4$4#-#/#6#$#W@Q@F@E@y@t@g@f@f@=@=@=@-@@@D++@+@D+C+s+q+7+7+7+]+]+]+:+.+.+ +O.W.D.V.h.i.h.c.c.` 1$<&'%..^.$$^.^.W#W#W#$$W#^.B ^.^.W#$$$$$$$$B B C C >.V 4.C V V C C C V C %@ ", +" [&/ { { ^ ^ { ^ ^ { { { ] ^ ^ { ^ { ^ { { ] / { { ] { { ] { { / { ^ _ _ _ !.2.{.c.j.h.i.x.w.D.D..+X..+-+]+:+'+]+7+7+x+s+q+q+s+D+D++@X+@@=@=@6@/@f@s@y@F@F@F@W@l#l#-#)#/#/#4#7#3#f#f#E#E#u#u#U#U#U#@$~$7$3$8$_$A$!%F$K$ %X$4%4%_%A%B%B%B%R%X%,&}&s%+ + + <%7%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+|&_&|&|&|&1&_&_&2&3&&&!&!&&&)&`%!&`%Z%T%`%T%T%T%C%N%M%H%t%m%m%e%e%e%6%f%[%[%o%-%@%+%>%+%O$O$C$v$v$v$r$q$k$+ + + + + + + + + + + + + + + b#/#)#)#$#`@`@Q@M@y@t@t@s@f@f@|@/@=@@@@@X+D+C+D+C+q+n+y+7+6+6+]+:+]+-+1+X.O.O.D.D.h.i.c.i.c.!.]&2%M ......^.$$$$$$B $$W#B W#^.W#B W#W#$$W#$$$$W#C C >.>.V V C C C >.>.V 4& ", +" f ^ { / { ^ / { ^ ^ / { ] { { ^ ^ / ^ ] { / { ] ^ ] / ] { ^ ] ] / ^ _ $.l !.{.2.2.h.h.i.i.D.W.O.X.-+l+-+'+'+<+2+g+7+y+s+s+s+D+D+S+X+@@=@=@=@^@f@g@t@t@t@F@Q@Q@$#$#-#-#/#4#3#3#f#f#u#)$u#u#N#U# $~$&$~$3$_$z%_$A$F$!%W$X$_%X$4%_%A%r%@&B%,&@&5&}&+ + + + e%8%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+6&7&|&|&|&|&|&|&|&_&|&|&_&2&&&8&3&&&%&`% &`%`%`%=&C%O%M%G%G%m%n%m%m%e%7%7%7%[%}%-%-%@%@%@%#%+%O$H$v$v$p$w$r$+ + + + + + + + + + + + + + + y$/#/#$#`@$#W@W@Q@U@y@t@f@g@|@f@r@=@=@X+S+S+C+C+C+s+n+q+7+2+g+<+6+]+'+X..+W. +W.D.w.i.h.h.c.{.+&1$1$2%2%....$$p%W#^.$$$$W#$$W#^.W#^.^.W#$$B ^.^.W#V C C V >.C V C 4.C C `+ ", +" { ^ / { { ] { / { ] { { { ] / ] { / / / ] / ] ^ ^ ] ] / ^ ^ { { { / _ _ !.{.l.{.2.i.h.x.x.w.D..+.+-+'+-+:+]+7+<+7+r+s+q+s+D+D+9&X+X+@@=@=@7@f@s@s@S#t@y@Q@Q@l#`@`@`@^#4#3#4#7#f#f#T#)$E#O#U#U#&$&$~$~$~$3$_$F$F$W$0&a&X$_%4%r%A%r%r%@&R%,&5&}&b&+ + + + g%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+c&d&d&e&f&c&6&c&c&|&c&c&g&|&|&|&_&_&!&&&_&!&)&`%`%T%T%T%T%C%C%C%E%G%m%e%e%e%7%8%7%]%=%-%-%@%#%Z$P$O$O$C$Q$r$w$j$+ + + + + + + + + + + + + + h&}#4#)#`@$#r#W@F@Q@y@F@s@f@s@|@/@/@=@@@@@T@D+D+C+C+q+q+x+7+2+2+]+'+]+.+-+X.D.D.x.x.x.c.c.2.c.t$1$2%2%2%......v%^.B W#$$$$$$B $$$$$$^.$$W#^.$$$$W#W#C V 4.4.C >.V C V C C ", +" F ^ ^ { ] { ^ { ] { ^ { { ] ^ { / ] ] / { { ] ] / ] { ] { { ] ^ ^ / ^ _ _ ~.{.l.2.2.h.h.h.D.D.W.P..+-+1+'+'+<+2+2+7+n+q+s+C+D+C+D+X+@@=@V#6@f@/@f@t@t@G@t@a%W@`@-#)#-#/#}#3#3#3#f#E#)$E#u#O#U#U#@$@$~$7$7$8$A$A$F$W$K$ %_%4%4%r%r%r%@&@&X%(&,&}&i&+ + + e%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+j&j&f&j&e&f&j&6&6&7&6&7&7&|&|&g&|&|&|&2&_&)&8&_&~&%&`%*&T%T%C%C%F%O%F%m%n%m%e%8%7%8%[%-%o%-%|%+%#%P$O$O$C$v$x$r$+ + + + + + + + + + + + + + + 4#D#/#)#`@W@W@Q@E@t@t@t@t@f@f@7@^@/@=@X+S++@S+D+C+s+q+n+7+2+g+<+]+'+$+-+$+X.O.P.w.x.i.h.2.7.b 1$^%'%2%2%/%v%....^.B W#B B ^.B $$$$W#$$^.B ^.W#$$$$V >.>.>.C >.>.V V 4.4.Y ", +" : / ^ { ] / / ] ^ ] { ] ] / ^ / ^ { { ^ { { ^ { { { ] ] { ^ ^ { ] _ J $.%.{.!.{.c.c.h.i.v.V.D.D.X..+|+-+<+'+2+6+<+x+y+q+q+s+C+D+D+W+X+=@=@^@^@s@s@s@t@E@E@Q@W@W@`@-#/#)#/#5#3#0#f#f#u#u#O#u#U#!$&$~$~$7$_$3$A$!%K$ %X$X$_%_%4%A%r%B%R%B%,&X%}&}&k&+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+l&l&l&l&l&l&m&f&j&j&l&n&f&e&e&n&6&7&|&c&|&|&_&_&&&&&)&)&*&`%`%T%T%C%C%C%D%G%m%n%e%e%8%<%<%o%-%@%@%.%+%M$O$O$C$D$w$+ + + + + + + + + + + + + + + 7#/#/#/#$#l#$#Q@Q@F@F@y@t@g@f@|@^@/@=@=@W+S+C+C+C+q+q+n+7+6+g+6+'+'+-+.+-+X.X.D.x.K.i.h.j.c.] 1$1$o&2%2%2%../%p%/%$$$$$$W#^.$$$$^.W#^.W#$$$$$$^.^.V V C >.4.V C >.V C 4.K@ ", +" S ] / { { { { / { { { ] / ] { ^ ] ^ ^ { { ^ { { { ] { ] ^ ] { ^ / ^ _ _ %.%.2.2.2.c.h.v.D.D.D.D.X.$+.+-+]+'+]+2+7+7+n+y+s+K+e@+@+@W+x@=@/@/@|@s@t@f@t@G@F@Q@$#$#`@-#)#/#4#3#f#f#)$E#u#O#U#U# $U#&$~$7$_$_$A$F$F$!%W$X$X$_%4%r%A%r%B%X%}&}&}&}&p&q&+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+l&l&r&r&r&s&r&r&l&l&t&l&t&n&j&j&e&j&7&d&c&c&|&g&_&_&_&&&&&%&)&`%T%T%C%C%M%F%E%E%m%e%7%8%8%8%<%{%@%@%@%Z$Y$N$C$C$Q$+ + + + + + + + + + + + + + + u&4#/#)#$#v&`@W@W@Q@M@t@L@f@f@f@/@6@=@@@W+S+D++@C+q+s+n+7+2+7+g+<+)+-+.+.+.+O.D.D.D.x.h.i.c.%.1$<&'%o&2%../%/%p%/%p%p%^.$$$$$$$$$$$$^.^.^.W#$$$$$$W#>.V C >.>.V V C 4.C D ", +" { ] { ^ / { / ] ] ^ / ] ] ^ ^ ] ^ { ] ] { ] { / ] { ^ { { / ] ^ { ^ _ #.!.!.2.3.c.j.c.w.D.w. +X.X.1+-+-+<+]+<+6+7+n+n+s+q+J+D+D+W+X+W+@@/@|@f@f@g@t@E@y@F@Q@W@$#`@)#/#4#4#4#7#f#)$I#E#u#U#U#.$@$~$~$_$_$o$_$F$F$F$X$X$_%_%4%4%r%B%,&X%}&}&}&}&w&x&+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+y&z&z&r&z&z&s&s&z&r&l&r&l&r&l&m&t&j&j&e&j&6&c&c&|&|&_&|&2&&&!&`%%&`%Z%C%C%C%G%E%n%n%m%e%e%7%}%]%=%-%@%@%+%N$O$C$v$+ + + + + + + + + + + + + + + #$4#4#/#)#)#$#`@W@Q@E@t@y@t@g@|@|@=@=@=@=@X++@C+D+q+s+q+x+7+7+7+]+m+-+X..+X.X.O.D.i.i.h.c.C.%.]&<&<&2%2%2%/%/%/%v%....p%$$B W#W#$$$$^.^.W#^.^.$$^.$$$$C 4.V C 4.>.C C V C ", +" A&] / ^ ] ^ ] { { ] { / { { ] / ] { ] { ] ^ ^ ] / / / ] { ] ] ^ { ] _ _ l _ {.2.{.C.h.j.i.w.D.W.O.X..+-+'+]+<+7+g+7+y+q+s+C+D+D+X+D+X+=@=@^@/@g@f@f@t@t@Q@W@W@W@l#)#)#4#/#4#f#f#f#I#)$V$O#U#.$@$@$~$~$_$3$A$_$F$K$X$ %_%_%_%r%r%B%X%,&B&(&}&}&C&p&D&+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+y&E&F&G&F&z&y&H&z&z&y&z&s&r&I&r&r&r&f&j&j&j&j&6&c&c&c&|&J&|&!&_&%&&&T%T%T%M%C%E%D%F%m%e%e%e%8%8%[%[%h%@%+%Y$O$N$C$+ + + + + + + + + + + + + + + K&3#/#/#)#-#`@H#`@Q@Q@Q@t@t@f@|@|@/@=@W+x@W+D+D+D+C+s+s+r+7+2+6+]+'+'+'+.+.+.+W.O.x.i.i.i.c.2.L&<&o&2%2%/%/%../%/%..v%p%^.^.^.$$B $$$$B W#W#^.W#W#W#^.C C >.4.4.C C C >.C M& ", +" [&{ { { ] ^ / / ] ] ^ ^ ^ ^ { / / ] { { { { ] ] / ] { { { / { ] ^ { ^ %.l {.{.7.2.c.c.i.h.D.O.D. +X.-+.+:+]+g+2+7+7+y+q+q+C+D+S+*@W+@@=@^@6@f@f@t@t@M@F@F@Q@W@W@-#`@4#}#3#4#7#f#y#E#E#N#N#U#U#@$&$7$7$3$3$A$F$!%/&K$X$_%A%r%r%r%B%B%@&N&}&w&b&p&p&O&+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+P&P&G&Q&P&F&P&F&P&G&F&R&y&z&H&z&z&r&S&l&r&l&f&l&f&e&c&c&c&c&|&_&3&)&&&!&~&`%T%T%C%G%F%G%m%e%e%7%8%6%<%-%-%@%@%Z$N$I$C$+ + + + + + + + + + + + + + T&3#3#4#D#)#)#$#Q@W@Q@M@F@t@g@g@|@=@=@@@=@X++@D+C+C+s+r+q+r+2+]+6+]+:+-+1+.+.+O.P.x.D.i.i.j.2.U+]&]&]&o&2%U&/%/%../%/%..$$B B ^.^.^.B ^.$$$$^.B $$W#$$$$V V 4.V >.C >.C V V& ", +" _ ] { / / { { { { ] { { / { / / ] { ] ] { / ] ^ ] ] ^ { { { { ^ ^ ^ _ _ #.%.2.2.2.i.c.w.x.x.D.X. +$+-+'+-+2+]+2+7+7+q+s+C+C+D+S+S+W+@@@@=@|@|@f@s@y@E@Q@M@Q@W@W@`@-#)#/#3#0#7#f#E#E#E#U#O# $!$~$~$7$3$_$o$A$F$F$X$c%X$_%A%A%r%@&B%B&,&}&}&W&X&p&Y&+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+Z&Z&Z&Z&Z&P&Z&R&Z&G&Z&P&P&F&R&F&F&z&r&r&s&S&l&l&t&l&j&f&n&|&|&|&|&3&_&%&&&`%`%T%T%C%F%C%m%m%m%e%e%7%[%<%{%-%@%#%+%Y$H$+ + + + + + + + + + + + + + + 4#3#4#/#)#`@W@Q@W@M@Q@t@t@t@f@f@f@|@r@X+X+X+D+C+C+Z#s+r+7+7+7+]+]+'+-+-+-+X.W.D.D.v.i.c.2.c.U+1$<&1$2%2%2%/%../%p%v%../%$$$$W#$$$$^.W#$$W#$$$$^.B $$V C V 4.C >.C 4.C 4.B ", +" { ^ / { ] ] { { ^ ] { { ] ^ ^ ] ^ { ^ ^ { ] { ^ ] { { { / / { / ] ^ ^ _ _ {.!.l.c.h.h.h.w.D.D.O..+-+.+'+'+'+<+2+7+n+o+s+J+s++@S+W+X+@@=@^@^@f@s@t@t@t@Q@M@$#$#v&`@-#D#3#4#7#f#f#t#E#O#U#U#.$!$@$~$h$7$_$u$!%K$ %X$X$_%k%r%r%r%`&B&@&,&}&b&}&p&p&p&+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+ * * * * * *Z&Z&Z& *Z&Z&Z&.*Z&P&G&H&H&z&E&z&s&r&l&l&l&t&n&d&f&|&g&|&_&_&2&%&~& &=&T%C%F%D%E%n%m%e%7%f%]%[%=%@%@%@%N$M$+ + + + + + + + + + + + + + + 7#5#4#)#/#/#`@W@Q@F@Q@t@t@t@R#|@^@/@=@@@@@S+D+C+D+C+s+q+n+7+g+f+'+]+'+'+.+.+W.D.D.w.w.h.c.2.( +*o&o&^%2%2%/%/%..v%v%p%../%W#$$$$^.^.B W#W#$$$$B W#B $$4.V >.C C C C 4.4.C ", +" @*] / ] { { ^ ^ ] ] ^ { { { ] / { { ^ ] ^ ] / ] { { / { { ^ / { ] { ^ _ $.{.{.{.{.2.h.j.x.w.D.O..+X.-+-+m+<+]+2+2+7+x+q+q+s+K+D+S+T@W+@@=@/@/@f@g@t@y@M@Q@Q@l#l#-#-#)#)#4#5#a#f#)$E#I#u#U# $U#~$~$7$8$7$o$u$F$W$X$X$_%_%A%K%r%@&B%@&,&B&}&C&p&p&p&W$+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+#*$*%*%*&*%*$*#*$* * * *$* * *Z&Z&Z&P&P&R&R&R&H&r&r&r&l&l&j&j&7&n&c&**|&_&_&2&%&*&`%T%T%C%O%O%E%m%t%e%e%8%}%{%{%-%@%Y$Y$+ + + + + + + + + + + + + + + =*3#4#/#/#-#)#$#l#Q@F@U@y@g@f@f@f@r@=@=@S+X+@@S+D+Z#s+q+q+7+2+2+6+]+'+-+-+X.O.O.D.i.h.i.i.r.=.-*]&]&2%2%..../%/%..v%p%/%..$$B ^.$$B ^.^.W#W#^.^.$$$$B C C C V C C C C C 4.;* ", +" >*^ ] { { { ^ ] { / ^ { ^ ] ] { ^ ] { ^ ] { { ] { ^ { ] / { { ] ^ _ _ _ ~.%.{.2.2.c.j.i.h.D.P.X.W.,*.+'+]+'+<+6+7+r+y+s+q+s+D+D+D+X+x@=@=@f@f@g@g@y@F@U@F@Q@$#W@$#)#/#3#'*4#5#f#f#u#E#u#U# $.$!$~$7$8$3$A$A$W$!%W$_%X$_%r%r%r%B%B&@&}&,&}&C&b&p&Y&)*+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+%*!*#*&*%*%*~*%*&*~*#*&*~*&* *$* * *.*Z&.*P&z&P&z&s&z&r&s&r&l&e&j&f&7&6&|&_&_&!&&&)&~&T%T%{*C%G%G%m%m%e%7%f%<%[%-%@%@%Y$]*+ + + + + + + + + + + + + + ^*3#4#/#)#)#-#$#$#Q@E@E@E@t@f@|@f@r@/@=@@@@@X+D+D+C+q+y+7+n+7+]+]+]+m+-+-+X.W.D.O.x.w.i.h.h./*+*-*]&'%2%U&U&/%/%....p%v%v%B $$$$^.$$^.$$^.$$W#$$^.^.$$V >.C 4.V >.4.>.4.V (* ", +" _*{ ] ] { ] { ^ ] { ] / { / ^ { ^ ] { { ] ^ { { ] { ^ { ^ { { ^ { / ^ _ l {.{.2.c.c.c.i.w.v.D.W.X.-+-+'+'+]+]+<+7+7+7+y+C+C+D+e@X+W+@@=@=@/@|@f@t@t@y@E@F@W@$#$#$#)#/#4#4#3#0#y#f#t#u#U#U#@$U#@$~$h$y%o$u$F$W$W$X$c%4%_%A%A%B%B%X%X%}&b&p&w&p&:*<*[*+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+}*}*!*}*|*|*1*|*%*1*!*%*#*#*$* *2* * *3*Z&Z&Z&Q&G&F&R&z&s&s&r&r&j&e&j&n&c&c&|&|&&&&&!&`%T%T%C%C%G%H%m%m%e%7%7%<%-%-%@%+%4*+ + + + + + + + + + + + + + 5*f#5#4#4#)#)#$#W@Q@F@E@t@y@f@s@f@=@/@=@@@X+W+D+D+D+C+r+o+7+7+7+2+]+'+-+.+.+.+O.D.V.x.i.c.c.!.+*1$1$<&'%2%....../%/%../%v%p%..$$^.$$B ^.W#W#^.W#$$B B W#V >.C 4.C V V C C 6* ", +" P { { { { ] { ^ / / ^ { { { { { / / { ] { ] ^ ^ ] ] ^ ^ / { ] { { J { _ {.!.{.2.2.c.c.h.D.D.O.X.X.-+.+'+)+:+<+7+7+7+q+s+s+K+D+D+@@=@=@=@=@|@f@|@g@t@G@F@Q@W@$#$#`@)#/#/#4#a#f#)$u#I#J#U#U# $+$~$~$7$3$3$&%W$W$W$X$X$_%K%r%r%B%@&X%5&}&}&X&C&p&:*Y&x&+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+7*}*7*7*7*7*7*7*}*7*|*|*}*1*!*%*%*~*2*&*#* * * *Z&.*Q&R&F&G&y&r&l&l&l&e&f&c&c&|&|&|&&&2& &*&`%T%C%C%G%H%t%m%e%e%6%[%{%-%@%8*+ + + + + + + + + + + + + + ;@3#5#3#/#)#`@$#V%r#Q@Q@t@t@s@g@f@=@=@=@=@x@D+S+D+D+J+s+s+7+7+2+]+<+'+-+-+.+.+X.O.D.D.v.i.r.c.+&]&1$2%2%..2%../%/%v%..p%..v%W#W#$$W#^.W#$$W#$$^.B $$$$$$$$V C C V V C C >.W ", +" ] { ^ ] { { { { { { { { / ^ { / ] { { { { { ^ ^ ] ^ { { ] ] ^ / { / _ $.%.!.{.{.2.i.h.i.K.D.O.X.X.X.-+-+]+<+6+7+7+x+y+q+C+s++@D+W+@@@@=@r@/@f@9*s@y@F@F@W@$#W@)#^#/#4#4#7#0#y#E#I#u#u#O#U#~$~$~$7$7$8$o$A$F$K$ %X$_%4%r%r%K%B%X%@&X%0*W&b&w&p&<*Y&a*+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+b*c*b*d*e*b*f*b*b*b*g*7*7*7*7*7*}*}*1*~*%* * * * * *Z&P&Q&P&z&H&s&r&r&l&l&j&n&c&h*|&2&!&!&%& &`%T%T%N%F%G%H%m%7%7%]%]%<%-%i*+ + + + + + + + + + + + + + + 7#3#4#D#)#-#v&$#`@F@E@F@t@s@s@|@|@f@/@X+@@S+D+C+K+s+q+7+n+7+2+2+'+'+'+$+.+.+X. +w.D.i.h.c.c.L&]&]&'%<&2%/%../%....p%..v%..p%W#$$^.B ^.^.$$^.^.^.$$$$^.>.C C C 4.>.C C V V ", +" { ] ^ ^ { { { ^ ] ^ { { ^ / { ] / { ^ { ] ] { { ] ] { { ] ] { ] J ^ J _ %.!.!.c.2.c.h.i.D.D.D. +X..+|+-+:+:+2+7+7+7+s+s+Z#D+D+X+W+@@-@^@=@f@f@g@t@t@F@Q@Q@$#W@)#-#D#4#4#4#a#y#y#f#E#N#U#U#~$@$~$3$7$A$A$A$F$W$K$X$k%4%K%r%`&X%X%,&}&}&w&w&p&Y&<*Y&j*+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+k*l*f*b*l*m*n*l*b*l*b*b*b*b*7*7*7*}*7*}*}*%*~*&*#*o* * *Z&R&P&z&z&y&r&r&l&l&n&c&c&**_&2&&&&&*&`%Z%T%C%C%D%m%p*e%f%6%}%{%-%q*+ + + + + + + + + + + + + + + -#7#5#3#/#)#)#`@W@Q@Q@E@t@t@g@s@=@/@=@x@W+W+D+D+K+C+s+7+q+7+7+7+]+'+'+-+X..+ +D.D.D.h.h.j.c.M.]&o&]&2%2%2%..../%..../%/%p%$$$$B $$$$W#^.B ^.^.W#W#^.$$4.C 4.>.C V >.C >.V ", +" ] { ] { { ] { ^ { ^ { { { { { ^ / ] { { ] { { ^ ^ { { / { ] ^ ] J { _ %.#.{.!.2.2.c.w.i.D.D.D.X.X.|+-+'+:+]+7+7+7+q+r+s+C+D+S+W+X+=@=@/@^@f@s@g@t@y@E@Q@Q@`@$#`@)#)#4#4#4#f#y#y#u#%%O# $U#@$&$~$7$3$_$F$F$W$W$X$X$_%k%4%r%B%B%X%}&}&C&r*p&p&Y&s*s*t*+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+u*l*u*n*v*n*w*l*x*m*n*k*m*k*b*b*7*7*7*7*}*1*%*#*%*~* *2* * *Z&R&G&E&H&r&r&l&l&j&f&6&c&y*|&_&_&~&`%`%T%C%G%E%E%p*e%7%}%]%<%z*+ + + + + + + + + + + + + + + A*3#4#4#D#)#)#`@W@Q@F@t@t@t@s@f@f@=@=@@@S+W+D+D+C+K+s+n+q+7+7+<+2+'+'+-+$+.+P.D.D.D.h.h.h.c.B*1$]&]&2%2%..../%........v%../%$$B ^.$$B $$$$W#W#$$B ^.W#B 4.V C C C V C C C ", +" C*{ { { / / ^ ^ { ^ { ] { / { ] ] ^ ^ ^ { { ] ] ^ ^ { ] ] ] ] ] { { _ 3%_ !.!.2.3.2.h.h.w.D.D.D.D..+.+-+'+]+2+2+<+q+x+q+q+K+s+S+S+@@@@>$r@r@f@f@f@t@E@M@F@W@W@`@-#)#/#4#5#5#3#f#y#E#O#u#U#U#@$~$~$7$3$A$F$F$W$X$X$X$4%D*r%r%B%R%5&X%}&C&r*C&p&Y&E*F*t*+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+w*w*w*G*w*w*w*u*w*v*w*v*x*w*l*n*l*m*l*f*b*b*7*7*}*|*%*~*#* * *Z&.*P&P&R&H&s&r&l&l&t&d&6&|&|&|&&&)&!&`%T%C%C%F%G%n%n%e%7%8%]%H*+ + + + + + + + + + + + + + + I*7#4#/#/#)#`@-#l#W@Q@F@M@t@f@q#f@^@=@@@W+@@S+S+C+s+s+s+y+7+7+<+<+]+'+-+.+.+ + +D.x.w.w.h.2.t$J*]&1$'%2%......../%....v%/%..$$$$$$^.$$W#^.$$W#W#W#$$B B >.C C C C V V C >.K* ", +" L*{ ] { ^ { { { { ] ] ^ ^ / ^ { { { ] { ] ^ ] / / ^ ^ ] ] ] { ^ ] J _ _ _ $.{.{.c.c.i.i.K.D.D.D.W.-+$+-+'+6+<+2+7+7+y+r+C+C+C+D+X+@@@@/@=@/@f@g@t@y@G@Q@V@Q@`@-#)#/#D#3#3#4#f#f#f#E#N#u#U#@$~$7$8$7$_$_$A$K$X$W$X$4%_%A%K%B%@&@&,&}&}&}&W&M*Y&Y&N*N*O*+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G*G*G*G*G*G*G*G*w*G*G*G*w*w*w*v*x*u*u*n*l*f*b*b*7*7*}*!*}*!*&*2* *Z&Z&G&P&y&E&r&r&r&l&f&6&c&7&|&_&&&)&`%Z%T%C%C%M%m%n%e%e%f%<%<%+ + + + + + + + + + + + + + + L$0#4#/#/#)#)#`@`@r#Q@M@t@t@L@f@|@=@=@@@X+=@X+D+D+C+s+q+n+7+7+2+]+]+]+-+|+$+W.P.D.D.D.h.c.h.S 1$1$o&o&2%....../%....p%....p%B $$^.^.$$W#^.$$$$W#^.B B B V C V >.4.C C C V L* ", +" P*{ { { { / { ] { ] { ^ { { / { ] / { { ^ ] { ^ { { { ] { ^ { ^ / ^ ^ _ !.%.2.!.2.c.i.i.v.v.D.{+D..+X.'+-+]+6+2+g+7+n+r+C+K+C+X+@@S+=@=@=@f@|@R#t@y@E@Q@Q@W@$#-#`@/#4#3#4#f#f#E#u#u#O#U#U#+$&$~$7$_$o$_$F$F$W$X$*%_%4%A%r%B%B%X%,&,&b&}&b&:*Y&:*E*Q*R*+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+S*T*G*U*S*S*S*S*S*G*T*G*S*G*G*w*w*w*w*x*v*x*l*b*b*e*b*7*}*|*~*}*~* * *Z&Z&F&z&E&r&l&l&l&t&f&c&c&_&_&&&&&`%T%T%M%F%G%H%e%m%f%}%[%V*+ + + + + + + + + + + + + + W*7#4#4#W%)#)#)#l#W@W@Q@M@t@t@s@f@|@=@=@@@S+S+D+D+s+C+q+q+r+7+g+<+<+-+-+-+X.O.X.D.D.V.h.h.j.H J*1$o&2%2%../%../%/%/%/%/%p%p%..$$^.$$W#$$$$B ^.W#^.^.B C C V >.C V C V C C X* ", +" _*{ { ] { ] ^ ] ^ ] { ^ { ^ ] / { / ^ { ] ^ { ^ ] / { ] { { { { ^ ^ _ _ %.{.2.2.2.i.c.i.w.D.D. +.+W.X.'+]+:+]+<+7+o+y+s+s+K+D+D+S+X+@@=@6@r@|@s@s@t@F@M@Q@W@$#$#`@/#/#3#s#f#f#u#y#u#u# $.$~$~$~$y%7$A$3$F$W$K$a&X$4%4%K%4%B%#&,&5&}&}&w&w&:*Y&Y*s*Q*Z*+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+`*S*`*S* =`*`*.= =.=`*+= =S*S*S*+=G*G*G*G*u*u*v*x*x*k*b*b*7*7*}*}*}* *&* * *Z&P&R&H&S&l&l&m&j&d&6&|&_&8&_&&& &T%T%C%O%t%m%e%f%7%}%@=+ + + + + + + + + + + + + + + 3#a#4#3#/#)#$#$#W@Q@G@y@E@g@s@g@/@/@=@-@@@S+D+D+C+C+q+s+7+7+7+<+'+]+'+$+.+X.P.W.D.D.v.c.c./*-*1$<&'%2%/%..../%../%/%/%..p%^.^.B $$$$W#$$$$W#$$W#B W#^.>.>.4.C >.V V >.>.#= ", +" _.^ { ^ / { ] / { { { ^ ] ] ] / { ^ ] { ] { ^ ] ] { { { ] ] / { / { ^ _ $.{.!.l.2.C.i.h.w.D.D.D.W..+.+]+]+6+f+<+7+7+q+q+C+C+S++@S+@@=@/@|@^@|@f@D@t@U@M@Q@Q@$#$#/#/#4#4#a#0#y#f#E#E#u#U#U#U#~$7$~$_$A$A$W$F$ %W$_%_%A%4%B%B%@&X%X%b&X&C&w&Y&:*N*s*N*$=+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++=`*%=&=`*`*&=%=.=.=%=.=%=`*.= = =S*S*G*G*G*G*w*w*m*n*l*b*b*7*7*}*1*%* *o* *Z&Q&G&G&z&r&r&l&j&n&c&7&|&1&3&&&!&T%T%C%N%D%t%H%e%8%7%*=+ + + + + + + + + + + + + + + a%7#4#/#/#/#l#$#W@W@Q@t@y@t@f@g@f@/@=@=@@@X+X+D+D+C+s+o+n+7+2+7+<+]+-+$+.+ +X.D.D.x.v.c.r.` +*1$1$2%o&2%../%..../%....../%W#^.$$^.$$B ^.B $$^.$$W#W#W#>.C C 4.C >.C >.4.6$ ", +" P ] ^ { / { { { ^ / ] { ] ] { ] { { { ^ ] { / ] ] ^ { { ] { ] ^ ^ J =._ %.!.{.2.c.j.j.i.D.w.D.W.X.$+-+'+<+<+]+g+7+y+q+q+s+D+D++@X+X+@@/@^@|@s@s@t@F@F@F@W@Q@`@$#)#)#}#4#3#7#f#I#u#E#N#b%+$.$~$~$8$7$&%F$F$W$W$X$4%4%r%L%B%B%X%B&,&}&b&p&p&:*Y&Y&Q*Q*+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+.===&=&=&=&=-=&=&=&=&===%=%=%=.=%=%=.=S*T*U*G*G*w*w*w*l*l*b*f*c*}*7*!*&*&*&* * *R&F&F&r&r&r&l&l&n&c&7&**|&)&)&%&T%T%C%N%F%m%m%g%7%;=+ + + + + + + + + + + + + + + >=7#3#4#/#)#v&l#H#Q@Q@M@U@g@s@f@f@/@=@=@@@W+X+D+C+s+q+y+r+7+g+]+'+-+m+.+X.X..+D.D.x.h.h.j.` +&]&,#,#o&2%/%/%/%v%/%v%p%....B W#^.^.$$W#B ^.$$W#$$$$$$$$4.4.4.4.4.C C 4.C W ", +" {.] { ] { ] / ] ^ { ^ ] ^ { ] { / ] ] { ^ / { ^ { / ^ { / ^ / ^ ] { ^ $.%.{.{.3.c.h.j.i.v.D.D.W. +X.'+'+:+2+]+g+7+7+q+s+D+s+D+D+W+=@=@=@|@f@|@g@s@E@F@Q@W@$#$#`@)#/#}#3#a#f#f#y#E#E#u# $U#U#&$7$7$3$_$A$W$/&X$_%_%4%K%r%B%B%@&}&}&}&C&p&p&<*E*Y&Q*Q*+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+-=&=-=-=-=-=,='=-=-=,=-=&=)=&=&=)=%=`* =S*S*T*S*S*G*G*w*x*n*b*b*7*7*7*1*#*%*~* * *.*Q&R&z&z&r&m&j&n&7&c&_&3&&&!&~&`%T%C%C%G%m%e%7%!=+ + + + + + + + + + + + + + + A#f#4#4#)#-#)#$#`@Q@F@y@y@t@g@R#f@/@=@=@W+X+D+D+D+J+s+x+x+7+2+2+2+]+-+.+.+W.W.W.D.w.i.i.h.=.1$+*<&^%2%2%....../%v%../%p%W#B B B W#W#W#^.B W#$$W#$$^.C V C C V C V >.C C ~= ", +" / / ] / { ] ] ] { ] { ^ { / / { { { ^ ] { ] ^ / ^ / ^ ] { ] { ^ ] _ ^ _ !.!.{.3.c.h.j.i.K.D.W.W..+$+1+)+'+<+]+7+7+7+n+C+q+D+C+S+X+-@@@=@7@f@|@s@y@U@G@Q@Q@$#)#)#/#)#3#4#7#f#f#u#u#E#O#U# $&$~$3$7$A$A$F$F$W$X$X$_%A%K%{=r%@&,&(&}&}&p&p&p&Y&E*F*N*Q*+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+-=-=]=]=]=]=,=,='=^=/=]=]=-=,=-=-=-=&=)=== =%=S* =T*G*G*G*w*w*w*n*b*7*7*7*}*}*#*o*$*Z&Q&R&y&y&r&l&j&f&6&c&|&_&_&!&%& &T%C%C%G%m%m%g%(=+ + + + + + + + + + + + + + + _=0#5#4#4#)#)#$#$#H#F@U@t@y@s@f@f@^@/@=@=@X+X+D+D+D+s+s+r+7+7+<+6+]+'+-+X..+P.D.D.w.w.h.h.!.+*1$]&o&2%2%../%......p%../%p%W#B $$^.$$^.^.$$$$^.B W#B >.>.>.>.>.C 4.C 4.C 4. ", +" y { { ^ ] ] ] ] ^ { { { { ] / ] ^ { { ^ / ] { ] ^ ] / ] ] { { { / _ _ l !.{.7.2.c.h.h.D.v.D.W.D..+-+X.'+]+2+2+g+7+n+s+J+K+K+D+X+@@@@=@=@/@|@q#t@t@y@U@Q@W@`@l#)#-#/#7#s#f#f#f#)$u#E#O#U#!$!$:=8$h$3$A$F$F$/&W$X$_%A%4%r%r%R%B&,&,&X&p&p&p&E*Y&N*N*Q*+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+]=<=/=]=[=}=/=[=]=}=<=|=]=]=/=}=-=-=-=&=&=&=)=%=%=`*1=S*G*G*w*w*n*m*f*b*7*7*|*#*~*2*Z&Z&P&F&R&y&l&r&l&j&j&6&|&_&&&!& &=&T%C%C%D%H%e%2=+ + + + + + + + + + + + + + + + 7#5#4#}#)#-#v&$#Q@Q@Q@F@t@g@g@f@6@r@=@W+@@W+S+K+K+s+q+x+7+7+g+<+:+-+-+.+X..+D.D.i.h.c.c.%.+*+*1$'%o&2%........p%....p%$$^.B ^.^.W#$$$$W#^.W#B ^.B V >.C C C >.C 4.V V 3= ", +" f / { { ^ ] ^ ] { ^ { { { ^ ^ { ] { { ] { { { { / / ^ ] ] { ] ] / ` _ %.!.{.!.c.2.c.i.i.v.D.W.O.X..+-+'+-+<+2+7+7+n+s+J+Z#D+D+D+W+@@@@/@^@f@g@t@y@t@M@a%Q@W@)#)#/#4#3#7#a#f#y#I#u#u#u#U#&$@$~$h$3$3$o$F$F$W$ %X$4%;&A%r%r%>&@&5&}&}&X&p&:*E*E*E*N*Q*+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+<=<=[=[=4=5=4=[=|=6=[=[=4=[=4=]=<=]=]='=-=-=-=)=%=)=%=S*S*G*G*w*w*l*l*g*b*7*7*}*|*#* * *Q&P&G&z&r&l&l&f&7&6&|&|&2&_&`%`%`%C%N%G%m%m%7=+ + + + + + + + + + + + + + + + 3#f#4#4#)#$#$#W@Q@M@E@y@t@s@s@f@7@=@=@@@X+X++@D+C+C+q+y+7+7+2+2+'+'+'+.+.+W.O.D.v.w.w.i.!.+&]&]&]&2%2%../%p%..p%v%v%$$$$W#W#^.^.$$$$$$W#^.B B $$W#4.V V C V C C V V C 8= ", +" y { / ] { { ] / ^ ^ { / ^ { { ^ / ^ ] ^ { ] { { ^ ^ ] ] { ] { { J ^ _ l ~.~.l.c.c.j.i.i.D.D.D.X..+.+.+m+]+6+6+7+7+7+q+s+s+D+X+X+X+@@=@^@|@f@g@g@t@G@E@M@Q@W@`@)#)#4#4#7#3#f#f#I#E#u#U#U# $~$~$_$_$_$_$F$F$/& %X$_%k%4%r%r%X%X%,&}&r*b&p&Y&:*Y&E*Q*9=0=+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+a=6=5=6=b=6=6=6=6=6=6=6=6=4=6=b=4=[=<=[=<=,=]=]=-=-=&=&=%=`*+=S*G*G*w*u*m*b*k*7*7*|*!*~* *Z&P&P&P&H&z&l&l&m&n&7&**|&_&&&`%`%Z%C%O%n%m%c=+ + + + + + + + + + + + + + + + d=0#4#4#/#)#`@W@l#F@y@G@t@s@g@|@f@=@r@@@X+@@D+D+s+s+s+y+7+e+g+<+:+]+'+-+W.W.D.D.v.x.x%r.%.+&+*1$'%'%2%2%../%....v%..^.W#^.^.B W#$$$$^.^.$$^.$$W#V V >.V >.4.4.C V C C n. ", +" ^ ^ ] ^ / ] ^ ] ^ ] ^ ] / ] / / { { { / ] ^ ] { / ] { ] ^ ] { ] ] ^ _ _ !.!.!.c.h.r.h.h.x.D.W.W.X.$+-+'+'+]+f+7+y+7+s+s+K+D+D+S+X+x@=@r@^@|@f@f@y@t@M@M@W@r#W@)#/#/#4#3#f#f#E#y#u#u#O#.$@$~$~$y%3$_$o$F$F$K$X$X$_%A%A%B%X%@&N&N&X&b&W&:*<*Y&E*s*Q*e=0=+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+6=f=f=f=f=g=f=f=f=f=f=f=f=f=6=6=b=[=h=[=|=]=/=-=]=]=-=&=)= =`*.=G*G*G*w*u*l*l*b*7*7*1*&*#* *Z&Z&P&z&r&S&l&i=e&j&d&|&|&)&%& &*&C%C%G%D%j=+ + + + + + + + + + + + + + + + M@5#4#4#)#/#`@`@W@Q@M@U@E@f@f@f@=@r@=@@@@@+@D+C+C+q+q+y+x+7+]+<+]+]+-+.+-+O.D.D.D.v.c.c.%.+*1$o&^%^%2%/%..p%p%v%p%p%$$W#B $$^.$$B ^.$$^.$$^.$$^.4.4.C C V C >.>.4.4.C C ", +" ] { ] { { ] { { / / { ^ ^ { ] { ] ^ { { ] ] ] { { ^ { / / ^ ] / { ] _ $.l !.2.{.j.h.~@i.x.D.D..+X.|+'+m+'+2+7+7+n+o+s+s+K+C+D++@S+=@=@=@=@f@R#t@k=t@E@Q@W@W@$#.&/#4#4#7#f#f#I#E#E#O#O#U#&$~$&$7$3$A$&%F$K$W$_%_%4%A%A%r%@&R%B&(&}&w&C&p&Y&E*Y&Q*Q*l=+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+f=m=f=n=o=o=o=f=p=o=q=n=p=f=n=n=r=6=6=6=6=[=|=/=}=/=-=-=-===s=%=1=S*S*G*w*n*g*l*e*7*}*~*#*&* *Z&Z&F&H&z&r&l&j&e&d&|&_&&&2&%&`%T%C%N%E%H%+ + + + + + + + + + + + + + + + u&3#4#/#)#)#)#$#W@F@U@Q@t@g@f@f@f@6@=@S+X+X+D+e@C+C+q+y+n+7+6+6+]+-+'+.+W.W.D.D.w.i.h.h.!.J*1$1$o&2%2%2%..p%/%p%/%^.W#$$^.^.$$$$W#$$W#^.$$W#$$W#^.V V C V >.V C V C 4.C ", +" ] { { / ^ / ] ^ ^ ^ / ] ^ ] ] { / ^ ] ^ { ^ ] ] ^ ] ^ { ^ ^ { { ] _ _ _ %.!.{.c.2.h.c.w.w.D.D.O..+.+-+'+'+]+e+7+7+q+q+C+C+D++@S+X+@@=@6@|@f@f@t@t@G@Q@Q@H#`@-#)#/#D#3#0#a#f#E#E#u#u#b%U#@$~$~$h$_$A$A$F$K$X$X$k%4%r%B%B%B%@&,&,&}&b&w&p&p&E*s*t=Q*u=+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+q=p=q=o=v=v=w=w=v=q=q=v=o=q=q=o=n=f=f=6=f=6=[=[=]=a=]=-=-=&=%=%=.=1=S*G*w*w*x=n*g*f*7*}*!*~* * *Z&R&G&s&s&r&m&j&6&|&|&J&)&)&~&T%C%N%F%m%+ + + + + + + + + + + + + + + + S+4#3#4#)#)#$#$#Q@Q@y@t@t@t@|@R#r@r@=@=@X+T@D+D+Z#s+s+7+7+7+6+]+]+:+-+.+X.X.D.D.D.i.i.2.%.y=1$o&1$'%2%2%z=..../%p%B W#B $$$$W#W#B B W#$$B W#$$^.V C >.C C 4.>.V V V C 4. ", +" { { ] ] ^ ] ^ / ] ^ ^ ^ / { { / / ] ^ / { ^ / ^ { { { ] { ] ] { / { ^ _ l {.{.2.j.j.w.x.D.P. + +X.$+-+]+<+]+g+g+7+n+r+s+C+D+C+@@@@@@=@=@f@|@f@s@y@t@F@Q@W@$#l#`@/#)#4#5#7#f#)$y#E#U#N# $~$~$~$8$8$A$o$F$ % %_%X$A%k%r%r%R%B%,&}&}&r*p&:*Y*Y&N*N*Q*9=+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+o=o=w=A=B=C=D=E=A=A=A=A=C=F=G=w=o=p=p=p=m=p=f=6=6=5=6=4=a=/='=-=&= =.=S*S*G*u*w*x*b*b*7*7*}*|*%*o*Z&Z&y&y&H&r&l&l&f&7&**|&&&2&)&`%T%C%G%H%+ + + + + + + + + + + + + + + + 1%3#4#4#/#-#l#$#Q@M@U@E@y@g@g@|@^@r@/@@@@@*@D+C+s+s+s+n+7+7+7+6+<+'+'+-+.+X.W.D.w.K.h.h.c.+&1$1$2%2%2%../%/%p%/%B $$W#B ^.$$B $$W#$$B $$W#W#W#C V C 4.V V C 4.4.>.4.V C ", +" y { ] ^ ^ { { { { ] ] { / ] ^ { ] ] / ] ^ { { { / { ] ] { ^ ^ ^ ^ J _ $.~.!.!.c.C.j.h.x.D.D.W..+.+.+'+]+:+<+7+2+n+n+y+s+C++@S+D+x@=@=@/@/@f@s@t@y@E@M@W@l#`@`@-#)#)#3#3#f#f#)$u#%%U#O#U# $!$7$~$3$A$o$F$W$W$ %_%k%4%B%r%@&@&,&}&}&X&p&p&E*E*E*N*Q*Q*+ + + + `%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+A=C=E=E=A=E=E=E=E=E=E=E=E=H=A=A=E=C=w=w=v=n=f=n=f=6=[=[=<=]=/=-=&=&=)= =S*+=G*w*u*m*g*e*7*7*!*&*$*$*Z&Z&R&z&r&r&l&e&6&6&|&_&)&&&*&T%T%E%F%I=+ + + + + + + + + + + + + + + J=f#4#4#)#`@$#`@Q@M@Q@t@y@g@s@|@/@/@=@=@@@S+S+D+C+K+y+q+7+2+g+<+'+m+-+$+X.W.D.O.D.V.h.c.c.J*+&]&2%]&2%2%../%p%$$W#W#B ^.W#$$^.$$W#^.B B $$B W#C C >.C 4.C >.C C 4.V C n. ", +" f { { ] { { { { ^ ] { ^ ] ^ ] ] ^ ^ { / { { { { ] { ^ { ] { ] / ^ J _ ~.%.!.l.2.c.c.h.K.x.{+W.W.X.'+-+'+]+<+<+7+7+s+q+C+q+C+D+@@@@@@=@^@|@f@f@t@F@M@F@Q@W@W@`@$#)#/#4#7#0#7#f#y#u#O#U#U#!$~$~$~$7$3$F$F$X$W$X$4%4%A%r%B%`&@&,&}&b&b&p&p&:*Y&E*N*Q*u=+ + + + G%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+K=K=L=K=K=K=M=M=M=M=M=M=M=N=O=E=E=H=A=A=w=w=o=g=m=6=6=6=4=]=}=]=-=-=&=.=`*S*P=G*w*x*m*k*b*7*}*&*#*#* *Z&F&E&z&r&t&j&6&7&g&_&3&&&`%T%T%C%N%Q=+ + + + + + + + + + + + + + + R=5#4#3#)#^#$#$#W@Q@M@U@t@g@s@f@|@/@=@W+@@S+S++@q+q+y+7+7+7+6+2+:+]+-+$+$+W.W.D.D.x.h.j.c.+*]&<&<&'%'%2%..v%v%^.W#$$B $$W#$$W#^.^.$$W#$$W#B V C C C 4.C C 4.V C >.V C V ", +" y { { ] ] { ^ ] ^ { { ] { / { ] ] { ^ ] { ^ { { ] { { ] ] { ] ^ { =._ _ ~.{.{.c.2.,@h.i.x.D.O.W.X.'+-+]+<+<+<+7+7+q+s+s+Q+D++@S+X+($=@=@^@f@f@f@t@t@F@Q@W@$#)#)#)#/#3#0#0#f#f#I#u#O#u#U#!$~$~$h$3$_$u$A$W$K$X$X$k%4%L%B%@&X%5&}&}&b&w&p&:*Y&N*Q*N*e=+ + + + 6%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+K=K=M=S=S=T=U=V=W=X=W=V=Y=S=U=M=M=N=E=N=E=A=A=B=v=p=q=f=f=5=5=}=a=^='=&=%=%=S*S*+=G*u*u*b*f*b*7*|*}*~* *Z&R&F&z&r&l&t&f&c&g&|&_&&&!&`%Z%C%O%Z=+ + + + + + + + + + + + + + + `=4#3#/#)#)#`@W@W@Q@Q@y@t@s@g@f@^@^@=@X+X+S+D+C+C+s+n+q+7+7+g+2+]+'+-+-+.+X..+D.D.v.i.h.!.+*1$]&^%2%2%2%/%/%p%B B $$^.W#W#W#W#$$^.B W#W#^.W#V V >.C C 4.C 4.4.>.>.C V b+ ", +" ^ { / ] ] ] { { / ] { ^ ] { { / { { { ^ ] ^ { / ^ ] ] / { ] { / { ^ _ %.{.!.7.{.c.j.i.i.V.D.W.X..+-+'+:+]+<+2+7+7+s+r+s+s+D+D+@@@@@@@@=@f@f@s@s@t@F@F@Q@W@$#`@`@)#}#5#f#f#f#f#E#E#N#N#@$ $.$7$7$3$_$F$!%!% %X$_%_%_%K%r%B%@&X%5&X&}&C&M*p&Y&E*Q*Q*l=+ + + 2*>%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+S=X=U=W= -.-+-@-.-@-W=#-T=T=Y=V=S=$-S=M=E=N=E=E=D=F=v=o=q=6=6=4=a=a=]=%--=)=.=`*S*G*w*u*n*x*f*7*}*}*$* * *Z&P&y&z&l&t&e&c&c&|&2&3&)&*&`%T%C%&-+ + + + + + + + + + + + + + + d%3#3#4#/#`@$#`@W@Q@F@t@y@g@g@f@f@6@>$W+@@D+D++@s+q+q+o+7+7+2+<+'+-+-+-+X.W. +D.D.v.v.h.!.+*]&]&]&'%2%../%$$$$$$B ^.$$W#$$W#$$$$$$^.^.$$B >.>.4.>.C 4.C V C V V >.C V >. ", +" Z ] { / ] { ^ ] { / / ^ { ] { ] { ^ ] { { ] ] { { { ] / ^ { { { / ^ _ %.%.!.!.2.j.h.w.w.w.D.W.W..+l+X.'+:+<+]+7+7+y+r+q+C+D+X+S+-@@@=@|@f@f@f@s@t@E@Q@Q@Q@Q@$#)#4#3#3#4#0#f#I#t#u#N#*-.$+$&$~$7$_$o$A$F$K$X$X$X$A%K%A%B%=-B&@&}&}&w&b&p&:*Y&E*N*Q*--+ + + 3&E$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+;->-.-,-'-)-'-'-)-'-'-'-)-!-'->-@-W=T=V=X=M=N=E=E=B=D=p=g=f=f=5=4=a=]=^=-=&=&=.=S*S*G*~-x*l*b*7*7*#*!* * *Z&P&y&y&r&l&l&f&6&c&_&_&&&*&T%{*M%{-+ + + + + + + + + + + + + + + ]-4#4#/#/#`@$#l#Q@Q@E@G@y@t@s@f@=@/@=@=@@@S+D+C+J+s+q+q+7+7+7+<+'+-+'+-+.+ +{+D.w.i.h.C.%.+*+*1$]&]&2%..v%$$^.^.B W#B W#^.B W#B W#$$^.^.$$V V C >.C >.>.V V >.C C V 4.+. ", +" P { ^ / ] / { / { ^ { / ] ] ^ { / / ] / ^ ] { ] ] { ] ^ { { ^ ^ ^ _ _ %.%.{.g.2.h.2.h.v.h.D.D.W.W.-+.+-+]+6+g+7+7+7+q+s+s+C+D+W+X+@@r@=@6@f@s@t@t@y@Q@Q@H#$#$#)#)#)#4#7#3#f#t#t#u#N#N# $~$&$~$7$_$_$_$F$F$W$X$X$k%A%r%L%B%X%,&}&}&p&C&p&<*Y&E*Q*Q*@&+ + + 8%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+,-'-!-^-^-^-/-/-/-/-/-(-!-!-!-_-:-<-.-Y=V=Y=X=N=E=E=C=C=q=o=f=6=6=[=]=<=^=-===&=%=+=[-w*w*n*b*b*7*}*|*#* * *P&P&E&s&l&l&j&c&|&|&_&)&!&*&T%T%C%+ + + + + + + + + + + + + + + }-3#/#/#)#)#-#l#$#F@M@t@t@t@f@f@/@=@=@-@@@X++@C+J+s+q+y+7+7+]+<+m+'+-+|+ +.+W.D.w.i.h.j.!.|-]&1$]&o&..^.p%$$W#B B $$$$$$B $$$$$$B W#B W#^.C V V C C >.V C >.4.4.C >.V W ", +" 2${ ] ^ { { { ] ] ] / / { ^ ] ^ / { ] ^ { ] { { ] ^ / ^ ^ { { / ] _ _ l ~.{.!.{.2.h.h.h.D.D.W.O..+$+'+)+]+]+<+7+7+n+s+q+K+D++@X+X+=@=@=@7@f@f@g@t@F@M@F@Q@W@`@`@^#3#4#5#f#7#)$)$I#O#N#U#U#@$~$7$_$3$o$F$F$ % %X$_%A%K%B%B%X%@&}&b&p&p&M*Y&Y&Y&1-Q*,&+ + + E$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+2-3-3-/-4-5-/-6-6-6-6-6-4-4-7-(-8-!-'-'-+-.-W=W=X=O=E=E=B=9-o=f=6=6=[=]='=-=&=%=.=S*[-G*G*x*m*g*7*}*1*%*2*Z&.*P&H&H&r&l&e&e&****|&!&)&*&`%T%M%+ + + + + + + + + + + + + + + 0-4#3#3#)#$#$#$#W@F@Q@y@y@f@s@|@f@=@=@@@X+X+S+D+C+s+q+q+7+e+g+]+'+'+-+.+.+.+{+D.D.v.h.c.!.+*-*<&'%..../%..$$$$W#^.$$W#^.B B $$B $$W#$$$$$$V C >.>.V V V V 4.4.>.>.C C a- ", +" _*^ { / ] ] { / { { { { { / ] { { ^ ^ ^ ^ ^ ^ { { { / { { / ^ { J _ _ l !.!.{.2.r.h.i.i.x.D.D.X..+X.-+'+]+<+g+2+7+7+x+s+C+D+D+X+S+=@/@=@/@f@g@t@t@t@F@Q@$#$#)#)#)#4#7#7#7#f#y#t#u#u#U#U#U#&$~$h$b-_$o$F$!%K$X$X$4%4%A%r%@&X%,&,&,&}&C&p&p&:*E*Y&1-4%+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+7-6-c-c-d-c-d-e-e-f-e-e-d-g-h-6-6-/-(-(-!-<-i-V=U=S=M=E=D=A=9-f=f=6=[=[=a=/=-=-=.=1=S*G*G*u*l*n*c*7*}*|* *$*Z&R&P&z&r&l&l&f&6&c&_&_&!& &`%C%O%+ + + + + + + + + + + + + + + j-4#/#4#)#)#$#r#W@Q@U@t@t@g@s@f@=@/@=@@@X+X+X+C+s+q+n+q+x+g+6+<+'+-+-+.+-+.+{+D.w.i.h.j.d+]&+*]&M M ..^.$$$$$$^.$$^.$$^.B $$$$$$B W#$$C C C >.>.>.V V 4.>.C C >.C C >.#= ", +" 1 ^ ] ^ / ] { ] ] { { ] ] ] { ^ ] / ] { / ^ ] ^ / { / ] { ] / ] ] _ ^ ~.l !.!.2.2.r.c.x.x.D.D.{+W.$+'+'+]+2+2+7+7+r+q+s+Q+D+S+S+X+W+=@/@=@|@g@t@t@t@M@Q@W@$#W@-#/#/#/#4#7#f#f#E#E#N#U#U#.$&$7$~$3$_$_$F$F$ %X$X$k-A%A%B%B%@&X%}&,&b&r*C&p&<*E*N*Q**%+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+c-l-m-n-o-n-p-q-r-s-t-r-n-u-o-v-w-g-6-4-(-^-!-+- -Y=U=K=E=A=D=9-p=f=5=[=4=]=-=&=%=.=.=T*G*v*v*f*b*7*}*}*&*&*Z&Z&z&z&r&l&l&j&n&g&|&_&8&*&=&T%T%+ + + + + + + + + + + + + + + $=7#4#4#)#)#`@W@Q@Q@M@t@t@s@f@f@/@=@=@=@S+X+D+D+s+C+y+x+7+7+6+2+]+-+-+.+X.P.D.D.D.w.h.,@$.1$1$,#O+2%..W#p%^.$$B W#^.$$B W#W#B W#B W#V C C >.C V V V V 4.4.C 4.V >.V >.X* ", +" L*^ ] ] / { ] ^ { ] / { { / ] / { { ^ { { { { ] { { ] ] / { { ] =.{ _ ~._ l {.2.c.i.h.i.V.D.D.W..+.+-+-+]+]+7+7+7+y+q+s+K+D+D+W+W+@@=@=@^@|@f@f@t@G@F@W@W@l#l#)#^#4#4#7#7#f#T#)$u#N#u# $@$&$7$~$7$7$o$F$F$!% %X$_%D*A%A%r%@&,&5&}&W&C&p&p&:*N*E*t=*%+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+m-x-y-z-A-B-C-D-E-F-G-F-H-I-A-A-n-u-o-c-h-6-8-^-)-@-.-W=S=S=E=D=J-K-n=5=[=a=]=]=&===%=.=T*G*G*u*n*g*7*7*1*}* * *Z&L-y&y&r&t&f&6&c&|&_&)&)&*&T%T%+ + + + + + + + + + + + + + + M-7#3#D#/#-#)#W@Q@F@G@t@s@t@f@|@^@=@=@=@S++@e@s+C+q+y+7+7+7+g+:+<+'+-+.+.+W..+D.D.w.h.c.=.,#,#,#......p%^.B $$B B $$^.$$^.W#^.W#$$$$$$>.C 4.>.C >.C V >.4.C C V 4.V >.N- ", +" O-] ^ ] / ] ] ] / { { / ^ { / / { { { ] { / ^ ] ] { { ] / ^ ^ ] / ^ ^ _ !.{.{.c.2.h.h.h.D.D.D.X.X.-+'+'+'+]+e+<+7+n+7+q+D+D+D+D+@@=@=@=@|@f@f@t@g@y@Q@Q@$#H#-#$#)#)#}#3#f#f#T#I#f#%%O#U# $U#@$7$y%o$A$A$!%F$W$ %4%K%A%A%B%@&@&,&,&}&p&p&:*E*:*s*N*P-+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+Q-R-S-E-T-U-U-V-W-X-Y-Y-U-Z-Z-I-I-A-R-n-u-e-w-6-(-^-'-i-S=U=M=A=J-K-F=6=6=[=4=]=-=&=&= =T*S*G*w*x*n*g*7*}*&*2* *`-Z&H&y&S&l&j&7&c&|&_&2&)&~&T%C%F%+ + + + + + + + + + + + + + m#7#D#/#)#/#W@$#Q@F@y@t@t@t@|@f@/@r@=@X+S++@D+K+C+s+o+q+7+<+g+]+'+'+-+-+ +X.D.D.D.h.i.r.=.1$'%..'%2%..$$W#$$$$W#$$W#$$^.$$$$$$W#$$4.V V V >.C >.4.V V V C V C V V >.V ; ", +" ] ^ { { ] ^ { ] ] { ^ { ] ] ] ] ] ^ / ^ { ^ ] ] ] { ] ^ { ^ ] ] ^ _ #.#.{.{.2.c.j.c.i.i.x.D.O. +.+l+-+<+'+<+7+7+7+r+s+q+C+D+S+X+x@=@^@/@/@|@t@y@Q@U@F@Q@Q@$#$#/#/#/#7#3#f#f#t#E#u#N#O#.$.$~$7$7$3$_$A$A$F$X$X$X$k%4%4%B%@&,&}&,&}&b&p&M*Y*:*N*Q*P-+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+.;T-+;U-Y-Y-@;#;$;$;%;%;%;#;&;V-U-Z-I-A-s-o-m-6-6-(-*;=; - -M=K=A=K-v=m=6=h=<=/=-=-=)=`*+=S*G*w*x*l*b*7*-;1*%*2*Z&Z&G&E&S&r&l&f&7&c&|&_&%&%&`%C%C%+ + + + + + + + + + + + + + ;;3#4#D#)#)#$#l#W@Q@t@y@t@g@f@f@6@=@@@@@W+D++@D+C+r+y+y+7+7+6+6+'+-+.+.+X.D.D.V.D.w.j.2./ '%]&'%..2%^.^.$$$$$$$$B W#B W#B $$W#^.C C V C C >.4.C C 4.C 4.C 4.C V C V V ", +" { { { { ^ { ] / ^ { { ^ { { / ] / ] { ] / { / ] { ^ ^ ] / ^ ^ / =.^ _ _ !.!.2.2.h.i.h.x.D.D..+W.$+'+-+'+6+<+7+7+n+s+q+s+C+D+S+X+@@@@=@/@f@R#f@t@t@y@E@Q@l#l#-#^#/#4#/#7#0#f#f#u#u#u#U#U#.$&$7$~$_$A$A$A$K$!%_%_%4%_%4%B%@&R%B&,&b&b&W&:*p&Y*E*s*J#+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+U-W->;,;';,;);!;~;{;];~;^;';/;(;%;&;_;U-I-H-n-l-c-6-/-!-:;<;U=M=L=B=K-[;f=6=[=<=}=-===&=%=+=G*w*l*n*f*b*7*1*&* * *Z&F&H&z&l&m&j&f&|&|&_&)&!&`%T%C%+ + + + + + + + + + + + + + + 4#4#4#)#)#`@Q@Q@Q@F@t@g@s@s@f@r@/@@@@@*@S+D+D+s+s+r+x+7+2+]+<+'+-+$+.+X.O.D.D.i.h.c.c.( +&,#^%O+M v%B $$B B $$^.$$^.W#$$W#$$>.V V V 4.C 4.C V 4.C >.>.V >.V C C V >. ", +" ] / ] { ] / ^ { { / ^ ^ ^ { ^ ] ^ / { { / ^ ^ / / ^ ^ { { / { { J _ l ~.!.!.{.l.j.h.i.V.D.D.D.W..+-+-+]+<+<+2+7+n+o+r+s+D+D+S+T@X+=@=@=@|@f@f@t@E@y@M@Q@H#`@)#)#/#4#3#5#7#f#I#u#E#J#O#+$U#@$~$_$3$_$A$F$W$X$ %_%X$A%A%r%@&@&@&}&}&b&p&:*:*Y&Y&E*};+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+>;|;{;1;2;3;4;5;5;5;6;5;5;7;7;8;9;0;%;W-V-a;A-r-b;c-6-3-^-<-c;S=M=E=D=v=v=6=[=a=}=-=&=)=%=+=U*u*w*l*f*e*7*}*}*&* *Q&P&z&r&r&l&j&e&c&|&|&!&`% &T%O%+ + + + + + + + + + + + + + + 4#/#/#`@v&l#W@Q@E@t@t@t@s@f@^@|@r@=@@@S++@+@C+C+s+q+y+7+<+<+'+-+'+'+ +X.W.X.D.w.w.h.2.( U ,#'%^%....p%W#$$W#$$$$$$^.^.$$^.^.V C >.4.C 4.C C C V C C >.>.4.>.>.C C 4. ", +" P ] ^ ^ ^ / ^ { ] { ] ] / ] { { { { { / ] ^ ] ] ^ ] { ^ { ^ { { _ _ l $.%.{.c.c.2.h.i.i.w.W.X.X..+.+'+:+:+2+2+7+7+q+q+s+s+D++@X+@@-@=@=@/@f@g@t@F@G@Q@Q@r#`@l#/#)#4#d;f#7#f#y#u#E#u#*- $U#~$~$7$3$o$A$F$F$F$X$*%_%4%A%B%@&@&,&}&}&X&p&w&p&E*Y&1-};+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+);e;f;g;h;i;j;k;k;k;k;l;l;m;n;5;3;o;';,;%;U-E-A-r-p;q;6-3-r;;-<;M=K=C=9-v=6=[=[=a=}=-=&=.=+=S*G*u*u*f*g*7*1*}*&*s;Z&R&G&H&r&t;j&n&7&|&_&%&`%`%T%M%D%+ + + + + + + + + + + + + + 4#4#/#-#)#l#Q@Q@Q@y@y@t@s@f@6@7@=@=@=@X+X+D+D+C+q+7+7+2+2+]+]+'+'+$+$+X.X.D.D.i.i.h.c.u;1$,#2%......^.W#$$$$W#$$$$^.$$$$W#4.V >.4.4.V >.V >.V 4.C C >.V >.V C >.V W ", +" _*] ^ ] { ^ ] { / { { { { ] ] / { { ] ] ] ] ^ { { ^ { ^ { ^ ] / _ ^ $.~.{.{.2.c.2.r.h.w.w.W.P.O..+'+'+'+]+2+2+g+n+y+s+s+K+D++@X+W+@@=@^@|@|@f@g@s@M@Q@Q@Q@l#v&`@-#/#4#3#0#7#E#f#u#E#N#U# $!$~$7$7$_$o$A$F$W$W$X$k-4%A%r%B%@&@&N&B&X&}&p&p&:*Y&E*v;+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+w;3;i;x;y;z;z;A;A;B;A;A;C;D;l;l;5;h;3;E;,;%;W-U-I-o-m-q;6-^-r;<;$-M=F;D=J-G;h=|=a=-='=&=)=T*1=G*w*u*x*b*b*H;|*~* *Z&P&E&r&s&r&f&n&c&|&_&2&&&~&T%O%C%+ + + + + + + + + + + + + + /#3#/#-#`@$#Q@Q@M@t@t@s@g@f@|@=@=@=@W+X+S+D+C+D+q+q+q+2+2+<+:+]+'+l+$+.+X.D.x.v.i.h.c.U+1$^%M ......^.B B $$$$$$B W#W#^.4.C V 4.>.>.C >.C C >.V C V 4.4.C 4.>.4.V #= ", +" >*/ ^ { { ] { { ] / { { ^ ^ { { ^ ^ / { { ^ ] ] ] ^ { / { { { / { _ _ %.{.7.{.2.c.c.h.x.x.D.P.X..+.+-+:+]+]+e+7+x+r+y+s+C+D+S+X+=@X+/@r@6@|@f@t@y@E@E@F@Q@$#`@`@)#4#4#3#3#f#f#y#E#u#u#U#.$.$~$7$~$o$u$F$W$W$ %X$_%A%4%A%r%B%@&@&5&,&w&C&p&:*<*E*4$+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+I;J;z;z;K;L;L;M;M;N;N;O;P;Q;R;D;z;S;5;T;8;U;|;W-+;A-o-V;q;5-W;'-X;M=M=J-9-v=g=6=<=]=,=&=&=.=S*G*v*w*m*g*7*}*1*~* * *P&E&H&S&r&f&e&d&|&_&3&%&`%`%T%C%E%+ + + + + + + + + + + + + 3#)#-#)#$#`@W@F@F@F@t@f@f@f@/@^@=@@@W++@D+D+C+q+q+o+7+]+<+]+]+m+-+-+ +D.W.W.D.h.h.h.c.e 1$,#,#2%../%$$$$$$W#$$$$W#$$4.>.V V >.C C >.>.C C V V V 4.4.C V V V V V 4.j ", +" ;*/ ] ] { { { { ^ { { { { ^ / ] { ^ / ^ ] { / ] / / / { { { ] / ] ^ _ $.{.!.{.c.c.c.c.i.x.D.W.W.-+.+1+]+:+2+2+g+n+q+n+J+s+D++@S+@@($@@=@=@f@g@g@s@E@Q@Q@Q@l#`@`@/#)#/#4#0#f#I#f#I#V$O#u#.$+$&$7$3$_$_$o$W$W$K$X$_%_%D*r%r%B%X%@&,&}&b&C&b&p&Y&Y&Y;+ + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+Z;`;L;M; >.>+>@>#>$>%>+>&> >*>N;=>D;k;5;5;->);|;W-E-A-o-;>>>,>'-T=$-K=K=J-'>g=6=<=]=-=-=%=.=.=S*~-u*m*k*b*}*#*#*#*Z&Z&P&z&S&r&j&f&6&|&|&_&%&%& &T%C%D%+ + + + + + + + + + + + + /#D#/#`@l#l#Q@Q@U@y@t@f@s@f@r@|@=@W+@@+@)>D+C+s+y+n+7+7+<+]+m+-+'+|+X.D.D.w.x.i.i.h.c.J*1$'%M ....B ^.$$W#B $$$$>.4.>.C >.>.C 4.V 4.V C 4.C V V C 4.>.C C V V 4.4.!> ", +" ] { { ] / ^ ] ] { ^ ] { / { { ] ] ] ] ] ^ { ^ { / { ^ / / ] { { ^ _ _ {.!.7.2.h.c.h.w.V.w.D.O. +.+.+'+]+<+]+6+7+y+q+q+C+K+C+X+X+@@=@/@/@^@|@s@t@t@E@G@W@W@$#-#/#)#4#}#4#f#f#)$I#u#U#O# $ $~$~$h$3$A$o$F$W$0&K$_%4%A%r%A%B%B%@&,&}&}&b&p&p&:*Y*~>+ + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+{>L;M;]>$>^>/>(>(>_>_>:>_>_>@><><>[>A;k;l;h;7;{;}>|>B-q-o-q;5-r;W;$-U=K=1>[;g=n=[=}=]=&=&=`*S*T*G*w*m*k*b*7*|*&* *Z&P&P&z&E&l&l&j&c&g&|&3&&&!&T%C%M%G%+ + + + + + + + + + + + + 3#/#`@)#W@H#Q@Q@Q@F@t@g@f@f@^@=@=@X+S+D+D+s+C+s+n+7+7+7+]+]+<+]+-+-+.+X.X.D.D.i.h.h.c.M.'%,#^%M ......^.W#^.V >.V V V C C C C V >.>.C V V >.>.V C C V C C V C 4.C ", +" 2>{ ^ ^ ^ ^ { / { { { { { / / ] { ] ^ ] { ^ / ] / ] { { ] { { / ^ _ ~._ !.2.2.c.h.h.i.x.D.D.W..+.+1+)+:+]+f+7+2+r+o+s+J+Q+C+D+S+=@@@=@^@^@f@s@t@t@y@E@Q@W@W@$#)#/#4#4#7#f#f#)$y#u#E#O#U#+$U#~$7$7$A$A$A$W$F$X$_%_%4%4%A%`&@&@&,&X%}&}&b&w&:*Y*3>+ + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+4>5>6>7>7>(>8>9>0>a>a>a>9>b>_>/>@>c>d>A;k;l;h;e;);e>+;f>x-x-q;g>h>i>$-K=j>F=G;g=[=]=]=-=&= =S*G*G*w*x*x*k*7*}*#*~*3*Q&P&F&z&l&l&e&d&c&|&_&&&`%=&T%C%F%+ + + + + + + + + + + + + V@/#`@$#l#W@Q@Q@Q@y@t@|@|@|@6@=@=@=@S+D+D+s+J+s+y+n+7+7+]+]+:+-+-+.+X.W.D.x.D.v.v.C.c.1$,#^%M O+..^.B ^.$$V C >.>.C V V >.V >.>.V >.C >.V C V V V C V C C C V V k> ", +" [&^ ] / { ^ / { ] { { ^ ] / ^ { ^ ] { ] / ] ] ^ ] ^ ^ { ] ] { / ^ _ _ {.!.!.2.c.c.j.w.w.V.D.W.X..+.+-+]+]+6+7+2+7+q+q+J+C+D+D+D+@@x@=@=@/@f@f@t@t@E@Q@Q@$#W@$#`@/#/#/#5#a#f#y#y#f#u#O#u#U#&$~$7$7$l>o$A$F$W$/&X$_%4%4%A%B%R%B%X%N&}&X&w&p&p&:*m>+ + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+n>o>p>q>r>s>s>t>t>u>v>w>x>s>9>y>_>$> >z>A;k;5;3;!;e>A>.;R-x-q;B>C>,-$-$-j>v=g=g=|=}=,=-=&=`*`*[-G*w*u*b*7*7*|*1* * *Z&F&F&E&l&m&f&c&|&g&_&)&&&T%C%C%F%+ + + + + + + + + + + + + t@)#$#)#$#r#Q@Q@F@E@t@f@f@f@|@=@@@=@W+X++@D+q+s+o+7+7+f+<+<+]+m+X.-+ +O.D.D.x.h.h.c.%.1$'%2%O++...B C V C V C C V V C V C V C >.4.C V V >.V 4.C 4.4.C >.>.V V V D> ", +" 0 ^ ] ^ { ^ ] ] { { ^ ^ ] { ^ { ] ] ] ] { ] { ] { { ^ ] ^ ^ { ^ ^ _ _ $.{.{.2.2.c.i.v.i.w.D.D. +$+.+-+]+<+]+<+7+7+x+n+C+D+C+D+S+X+@@=@=@6@f@|@t@t@t@M@Q@r#r#-#)#)#)#4#7#5#f#f#y#E#u#O#O#U#+$!$~$~$3$_$F$A$W$/& %X$_%_%K%A%r%B%#&B&}&b&b&X&p&<*5%+ + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+E>7>r>r>F>G>H>H>I>I>I>I>J>w>x>K>9>/>6> >M;A;k;h;e;);L>M>A-N>O>w-P>,-$-Q>j>A=g=g=R>}=]=-=-=.=`*U*G*w*n*g*7*7*1*~*$* *Z&Z&R&H&r&l&f&n&**|&_&_&`%`%C%C%E%+ + + + + + + + + + + + + S>/#$#`@$#$#W@F@M@y@t@q#|@f@=@=@=@S++@D+D+C+s+y+q+7+7+<+<+]+'+-+-+.+X.D.D.D.D.i.h.c.=.1$o&+...^.^.$$V C >.C V >.V V V V 4.C C C C >.V 4.C 4.>.4.C V >.V >.V V C 0 ", +" { { ] ^ / { { / ] ] { ] { { ] ] { ] { { ] { ] / / { { ^ / { ] ^ J l _ %.!.7.2.c.h.i.i.v.D. +.+.+-+'+'+<+2+7+e+7+q+q+s+C++@D+*@T@x@=@/@^@|@f@f@t@t@y@F@W@W@$#-#)#)#4#7#3#7#f#)$y#E#O#O# $ $~$~$~$7$3$A$F$F$X$W$K$_%4%4%K%r%`&X%X%(&,&b&b&W&:*T>+ + }*G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+U>V>W>G>X>Y>Z>`>`> ,., ,+,H>H>@,K>#,/>6>c>[>`;j;$,e;%,&,.;*,O>=,3-,--,;,K=j>v=g=>,[=<=-=)=%=+=T*U*w*m*m*b*7*}*#*&* *.*R&E&s&r&l&j&d&c&|&_&&&&&T%C%C%E%+ + + + + + + + + + + + + ,,)#)#l#r#Q@F@M@U@s@s@g@f@/@=@@@@@@@D+e@C+K+s+s+o+7+7+2+]+<+]+|+-+X..+D.D.K.h.c.2.2.( ,#M M O+^.C ^.V V >.V C >.V C >.C V C C C V V C 4.C C C >.C C C C C V >.4. ", +" y ] ] { { { ] { { { ^ ] { ] { / / ] ] { ^ { ^ ^ ^ { { { { ] { { =._ _ {.{.2.2.C.i.i.w.x.D. +O..+.+1+]+:+<+<+7+7+7+y+q+C+D+D+D+@@@@=@/@^@|@f@t@t@y@Q@U@Q@W@W@)#)#)#}#4#7#3#f#)$)$u#N#N# $@$~$~$7$3$3$A$u$A$W$X$c%_%_%_%K%B%r%@&@&N&(&X&b&w&p&^*+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+',),G>!,Z>~,{,],^,^,/,(,/,],_,X>@,W>:,^>n>M;A;`;h;<,[,L>.;R-},|,3-1,-,X=;,j>K-g=g=4=]=-=2,%=+=G*G*w*x*l*e*7*1*#* * *L-R&y&r&r&l&m&j&g&|&_&%&*&=&T%M%M%+ + + + + + + + + + + + + 3,/#$#l#Q@Q@M@F@t@s@s@|@|@=@/@@@@@S+X+D+D+C+q+y+x+7+2+<+2+<+m+'+.+ + +{+D.D.w.c.i.h.F.+.O++...^.>.>.V C 4.V V V C 4.C 4.V C C C V C 4.V C >.C V V C >.>.4.C V 3= ", +" : ] { ^ { { / ] ^ ] ^ { { { / / { { { { ] { ] { { ] / / { ^ { ] ^ _ l !.!.!.3.2.j.h.i.i.D.W..+X..+-+-+]+<+6+2+7+7+y+s+K+D+D+S+S+X+@@@@/@^@f@f@f@t@F@F@Q@Q@V%W@)#)#)#/#4#a#7#f#)$E#E#O#N#U#@$~$~$8$3$3$A$A$!%F$X$X$_%_%K%K%r%@&@&@&N&}&}&r*p&4,+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+5,6,!,7,8,9,0,a,b,c,d,a,/,/,],e,X>x>a>f,g,c>L;`;l;h,i,}>j,R-N>},B>P>-,k,Q>j>K-v=R>l,^=-===%= =S*G*w*v*g*g*7*7*~*&*$*Z&Z&H&s&r&t&m&6&7&|&2&&&`%T%T%C%D%+ + + + + + + + + + + + + m,)#`@Q@W@Q@Q@M@t@g@s@f@|@/@=@W+@@X+D+D+K+q+s+s+y+7+g+2+]+'+'+-+X.X.X.D.D.D.i.v.C.2.U++.M M ^.^.B >.V >.V >.V C C C >.C 4.>.V >.C 4.C V >.C C V C >.V >.4.>.>.n, ", +" F ^ { / { ^ { { ] ^ { { / { ] ^ / ^ { { { / ] / { ] ] { ] { / ^ / ^ %.l !.{.2.c.i.w.h.x.D.{+W.X.X.-+'+]+<+]+2+7+7+y+o+s+s+D+D+S+X+@@=@/@6@f@f@t@y@E@M@Q@Q@W@$#)#)#)#/#}#a#a#f#u#E#u#E#U#U#.$@$@$~$3$3$3$&%F$W$W$_%_%_%K%r%r%`&@&@&}&,&}&X&p&9%+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+),o,8,9,d,p,q,r,q,s,t,u,v,w,x,y,Y>G>5,z,^>A,4>B,Z;h;C,D,E,f>Q-;>F,P>-,k,M=1>1>g=g=R>]=-=&=&=%=T*G*w*v*k*e*7*}*}*$* *Z&R&z&E&r&l&j&e&c&|&_&_&!&`%T%O%N%+ + + + + + + + + + + + + Y+$#$#$#W@Q@F@E@t@t@f@f@r@/@>$=@@@@@S+S+D+C+s+x+7+7+<+<+<+'+'+|+.+X.D.D.w.D.v.h.c.2.j#+.M ^.[.^.W#V C C >.V V >.C 4.>.>.4.C C 4.C C 4.C V C >.C C >.C >.C 4.C Y ", +" { ] ^ ] ^ ^ ] ] ] ] { ] { { { ] ] ] ^ { { { { ^ ^ ^ { { ^ { ] J _ _ %.~.2.7.c.2.c.h.x.D.W.X.X..+X.'+m+'+]+2+g+y+7+s+s+C+D+D++@X+W+=@=@^@f@f@f@s@t@F@F@Q@l#$#v&)#/#4#4#a#f#f#y#T#u#E#N#O#U#U#@$h$~$_$_$3$F$W$K$K$_%_%k%K%K%B%`&X%X%(&}&}&b&i$+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G,H,I,J,K,L,M,M,K,N,s,s,u,u,/,O,P,X>x>5,7>Q,R,S,T,U,<,V,E,W,X,},Y,P>Z,`,K=j>1>g=r=R>]=,===)=+=S*G*v*n*m*7*7*}*|*#* *Z&Z&F&z&r&l&f&e&6&|&_&&&*&T%T%C%F%+ + + + + + + + + + + + + '$#`@l#M@F@F@t@t@s@f@f@f@^@@@X+@@W+S+C+s+s+s+x+y+e+e+<+<+-+-+.+.+W.X.D.V.i.w.h.2.c..',#+.M ^.^.>.>.>.4.C C V C 4.C V >.4.4.V V V 4.>.V C C V C C C V C C >.C ", +" f { ^ { { ] { ] ^ ] ^ / { ^ / { / ^ ^ ] ] { ^ / ^ { ] / ] { { { _ _ _ !.{.{.c.,@c.i.i.w.D.W. +X..+'+]+<+<+2+7+7+x+q+s+D+D++@S+W+=@($/@6@=@f@g@f@y@t@F@Q@W@`@`@`@)#/#/#4#0#7#f#T#E#u#N#U#U#@$~$~$~$7$3$A$A$F$F$X$X$_%4%r%r%r%r%B%B&X%}&0*b&h@+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++'I,J,@'#'$'%'&'*'='K,s,s,d,c,-'y,;'G>5,q>^>n>>'T,I;,'''E,.;*,)'V;B>Z,`,!'1>1>g=>,~'-=-=&=&=.=T*G*v*m*b*b*|*}*}*#*Z&Z&G&E&H&l&t&e&c&c&|&3&&&)&`%C%C%D%+ + + + + + + + + + + + + {'-#$#r#Q@M@F@y@s@9*f@7@|@/@@@=@X+D+D+C+C+C+y+7+y+2+7+2+:+'+-+.+X.W.X.D.x.x.h.r.c.!.U M ....^.^.4.V C V C >.C C >.4.>.C 4.V >.>.C 4.V V 4.C V >.V >.C C V 4.3+ ", +" ]'{ ] ] / / ] ] { / { { / ^ / { ^ { ] { / ] ] ] ^ / { { ^ { ^ / ^ ^ %.!.{.2.2.j.r.i.w.w.D.W.{+.+1+'+'+'+]+<+g+7+y+y+s+s+D+S++@S+W+X+r@=@f@|@f@g@t@F@Q@Q@W@$#$#)#)#4#4#5#3#f#f#I#E#u#u#N#U# $@$~$7$7$l>A$A$F$F$W$K$*%_%4%A%r%r%r%@&@&X%(&X&+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+^'J,/'%'('_':'<'['}'|'N,s,r,b,x,8,Z>G>5,',1'5>2'`;I;,'''3'4'R-x-5'6'7';-!'j>1>g=R>8',=&===%=T*G*w*w*m*b*7*}*1*&*&* *Z&P&H&S&l&m&j&c&6&|&&&!& &~&T%O%G%+ + + + + + + + + + + + + 9'l#Q@r#F@U@t@t@t@f@f@f@=@@@@@S+X+D+D+Q+C+q+s+7+7+]+]+<+]+-+.+.+X.W.D.D.D.w.h.C.c.0'+.+.M ..^.B C >.C V >.C C C V V V C C V V V V V V C V 4.4.>.C V 4.>.C >.D> ", +" a'/ { ^ { ] { / / { ] ^ { ] { ] { / ] ] ] { { { ] ^ { { ^ ^ ] { J _ _ %.{.2.{.c.j.~@x.x.x.D.W.{+-+-+-+m+<+]+2+7+7+q+r+s+D+D+S+S+S+=@@@=@r@f@g@s@t@t@F@F@Q@$#`@`@)#/#/#3#4#f#7#f#)$u#u#U#U#.$@$@$~$_$3$o$3$A$A$K$ %c%_%4%A%A%B%B%B%R%5&,&W$+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+b'c'd'e'f'f'g'h'i'%'j'k'N,r,l'm'8,n'G>),o'p'q'4>`;r'h,''e>4's'x-|,6'7't'u'K=1>>,R>~']=&=)=%=S*U*u*u*m*b*7*7*}*&* *Z&R&P&y&S&l&m&f&n&h*|&2&&&)&`%T%C%E%+ + + + + + + + + + + + + v'`@W@Q@M@Q@E@t@g@q#f@^@r@@@=@@@X+S+C+s+s+q+q+7+7+<+]+<+'+-+'+.+X.X.W.D.D.h.h.c.2.w'+...M ..^.4.V C V >.>.>.C 4.C V C V C V V 4.>.C 4.V V >.4.C >.4.V V C C %@ ", +" / ] ] ] { ] ] { ] ] { / / { { { ] { / ] { ] ] ^ { ^ / ] { ] ] ^ _ _ %.%.{.2.c.i.i.h.w.i.D.D.X..+-+-+-+:+6+2+e+y+7+y+s+C+K+X+*@S+W+W+/@=@r@f@s@s@t@y@M@Q@Q@H#`@.&)#/#4#7#3#7#y#E#u#E#O#O#U#@$@$~$~$7$3$_$A$F$F$!%X$c%X$_%_%A%B%@&@&@&X%d=+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+x'y'z'A'B'B'C'D'E'F'='N,p,l'G'y,n'G>),r>^>q'4>H'I'$,''e>J'K'x-L'6'M't'N'j>O'R>6=l,-=-=)=%=+=G*w*w*m*b*7*7*%*#* *Z&Z&P&H&r&l&l&e&6&c&|&_&!&*&`%C%C%n%+ + + + + + + + + + + + + P'`@$#Q@F@y@t@t@f@|@/@=@=@=@X+W+D++@C+s+C+s+y+7+2+g+<+'+-+'+.+.+X.W.P.V.x.h.j.j.2.S +...^.^.^.^.W#C C >.V >.C C C C C 4.C C C >.C C C C >.4.C 4.V 4.C >.V >. ", +" w+] ] ^ / / / ^ { / { ] ] { { ^ ] { ] ^ { ^ { / ] ^ / { ^ ] ^ { _ _ l %.{.3.c.2.h.v.w.D.D.{+O..+X.-+'+]+]+2+7+n+7+s+q+s+C+D+D+S+S+=@/@6@6@f@t@t@y@y@F@E@Q@l#`@6#)#/#)#'*7#7#f#f#t#E#%%u# $ $@$~$~$~$_$7$A$F$F$ %W$X$X$k-k%A%r%@&@&R%X%>=+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+Q'g'B'R'S'R'T'C'U'V'W'p,r,l'm'n'H,!,X'',Y'Z'2'H'`'h,'' ).)+)@)#)6'M'`,!'j>O'r=r=l,,=&=)=.=S*G*v*n*n*g*7*}*|*~* * *P&H&z&I&l&l&7&7&|&_&_&~&*&T%T%C%F%+ + + + + + + + + + + + + $)W@Q@Q@t@F@t@t@f@f@f@=@/@-@X++@X+C+C+q+q+x+x+7+2+2+'+]+-+-+-+.+.+P.D.D.K.v.h.c.2.e M O+^.^.^.W#C C C V C V V >.V C C C C C C C >.V >.4.V V >.4.C V C 4.V m$ ", +" %){ { / ] { / { ^ { { ^ ] { ] { { / ^ ] { { / { / ^ { ^ ^ / { { J _ {.$.{.{.2.j.c.i.h.D.D.O.X.X.X.-+:+]+<+]+7+7+n+7+s+C+C+D+D+X+X+W+=@=@^@r@f@g@y@y@M@Q@Q@W@l#l#)#-#/#3#7#3#f#y#f#u#u#N#u# $~$~$&$~$7$8$o$F$A$F$X$*%X$X$A%4%r%r%r%R%@&'&+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+&)*)=)-);)>)R',)D'')))J,l'l'0,n'H,!,X'!)p'~){)H']),'''^)W,+)x-#)/)M'()!'1>O'R>[=[=-=&=.= =G*G*w*x*g*f*7*7*}*~* * *P&G&y&r&t;e&n&7&|&_&&&)&*&T%C%N%m%+ + + + + + + + + + + + + _)$#W@M@F@y@t@s@|@|@^@/@/@x@W+S+S+C+D+Z#q+s+r+7+2+<+<+'+-+l+.+.+X. +D.w.x.i.h.2.7.+&+.a+^.^.^.W#C V C V C C >.C V 4.C >.4.>.4.V C V 4.V >.>.>.V V C C 4.C [+ ", +" { { / ] ] { ^ { { { ^ { ] / / ] / { { { ] { / ^ { ^ ^ / { { / ^ _ _ $.!.2.{.c.j.h.h.x.D.P.D.O..+-+'+-+<+<+<+<+7+s+r+J+K+C++@+@X+X+=@=@/@f@s@f@t@E@y@Q@Q@Q@$#W@-#)#4#3#4#5#7#7#I#E#u#%%O#U#@$U#&$~$~$_$o$:)F$F$W$K$_%X$_%4%r%B%L%`&R%<)+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+[)})|)1)2)1)R',)3)4)@'5)6)7)0,n'o,8)9)0)p'a){)b)]),'''c)d)X,@)#)e)Z,k,!'1>f)~'[=<=&===`* =[-G*w*n*f*e*7*|*&* * *Z&P&E&r&l&l&f&6&7&|&_&&&)&Z%T%C%E%E%+ + + + + + + + + + + + + _)Q@W@F@F@t@g@t@f@|@^@=@@@@@@@D++@D+J+q+n+y+7+7+7+6+]+]+-+-+.+X.D.D.i.v.h.i.c.c._ ,#+.^.a+^.4.V C C C 4.C C 4.V C C 4.V C V C >.V V V C >.>.>.4.V >.C C 4. ", +" : ] ] { ^ ] / / ] { { { ^ { ] ] { { ] ^ / / ^ / / { { ^ ] / { ^ _ %.%.{.{.2.2.c.h.w.w.x.D.P.W.X.-+-+'+]+]+]+7+7+n+n+s+q+C+D+D+S+@@-@/@/@|@f@t@g@t@G@U@Q@W@$#l#`@`@/#/#3#3#0#7#f#y#I#u#N#U# $!$@$&$~$y%3$3$A$F$F$K$K$ %4%_%A%k%B%B%B%+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+g)z'h)i)1)j)k)*)l)m)n)o)7)0,p)q)G,r)9)0)s)t){)T,])u)v)w)x)y)},z)C>A)B)!'O'K-l,C)<=)=&= =+=G*G*w*m*b*7*}*~*~*$*2*Z&P&H&s&l&l&n&6&6&y*_&&& &`%T%C%D%D%+ + + + + + + + + + + + + D)Q@Q@F@E@t@f@f@f@=@/@=@X+=@@@S++@D+C+q+s+n+7+2+g+<+]+'+.+.+,*X.P.D.D.V.i.i.c.2.` +.M O+^.C ^.4.>.C C C >.V C V 4.C V >.C C V C C 4.V C C C C >.V C V V Q% ", +" w%{ ] ^ ^ ] ^ ^ ^ ] { ] { { / { / / ] { ^ { / ] ^ / ] / ] / { ^ J %._ !.{.7.l.2.i.i.v.i.D.W.D.W.X..+-+'+2+6+<+7+y+s+r+C+C+C++@D+W+x@=@=@^@|@g@f@t@t@F@M@Q@r#W@`@E))#/#/#4#3#f#f#t#y#u#u#N#U#U#U#@$~$7$h$7$3$F$F$W$F$K$X$X$4%4%4%r%B%+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+x'F)})G)|)H)A'g'I)F'J)I,0,K)n'G,L)M)N)O)s)P)Q)R)S)T)U)4'V)Q-W)X)Z,-,N'1>O'Y)[=[=<=&=%=+=+=G*v*u*k*b*b*}*#*&*2* *Z&P&y&r&l&l&j&f&|&_&_&!&*&=&T%M%D%H%+ + + + + + + + + + + + + Z)Q@M@Q@y@s@s@s@|@^@r@@@@@@@X+D+C+J+s+s+x+7+7+g+7+]+:+:+'+.+.+X.D.D.i.i.j.i.h.2.F.M M a+^.^.>.4.C C C V V >.C 4.V C >.4.C V C >.4.C >.4.>.C C >.C >.4.V w% ", +" ] { ] { / ] { ] ^ { ] ^ { ^ { ] ^ ] ] ^ { { { ] { ^ ] ] / ^ / { _ _ !.!.2.!.2.2.h.v.V.D.D. +X..+.+'+'+]+<+e+7+n+n+y+q+C+C+D+X+S+-@@@/@|@/@f@g@s@t@t@F@M@Q@$#W@$#)#)#}#4#3#7#7#I#y#y#V$u#O#U#!$@$~$7$_$3$o$A$F$(%!%K$K$_%_%4%4%A%3$+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+c'`)F)z' !.!+!@!m)#!$!0,%!&!G,*!=!9)-!;!~)>!b),!u)'! ))!V))'W)!!~!`,{!1>]!^!8'<=<=&=.=T*G*G*u*l*f*b*7*7*!*&* * *P&E&E&r&l&l&n&6&7&_&8&!&`%T%C%C%G%m%+ + + + + + + + + + + + + Z)F@y@y@y@t@f@|@=@6@=@=@W+@@W+D+C+K+J+7+y+7+2+2+]+:+'+-+-+.+X.O.D.x.D.i.i.c.r.{.u++.+.^.^.>.>.C V C C C >.>.4.>.>.4.4.V >.C 4.V V >.4.>.V >.4.>.4.C V V ", +" ]'{ / { { ] / { { ^ ^ ] ^ { { { { ] ^ ] ^ { / / ^ ^ ^ ^ ^ { ^ _ ^ _ %.%.{.l.c.c.c.w.w.D.D.D..+-+-+-+-+]+2+g+7+x+s+n+r+K+K+C+D+X+S+=@@@=@^@f@|@f@t@t@F@Q@W@W@$#)#$#/#/#/#4#a#f#f#T#y#u#E#u#U#+$ $+$~$h$7$A$_$A$F$W$!%W$X$_%4%4%A%4$+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+/!x'(!_!:!b!c!<=^=&= =%=S*G*w*x*x*b*7*-;}*#*~*o*Z&R&H&I&s&m&j&n&|&|&2&_&`%`%*&O%F%E%n%+ + + + + + + + + + + + + d!F@U@E@t@f@g@7@f@r@=@@@W+S++@D+C+s+y+y+7+7+7+<+<+'+'+-+-+.+ +P.D.x.x.i.j.c.c.{.U +.M ^.^.^.>.4.>.C 4.4.C V V V C 4.4.V 4.C >.V C C C >.V C C C C 4.C e! ", +" j%] ^ ] { ] { { { { / { / ^ { / { ] { ^ { ] / ] { ] ^ { { ^ { ^ _ _ ~._ {.{.c.2.h.h.w.D.D.W.D. +X.-+'+:+<+<+2+2+o+o+q+s+q++@D+S+@@@@@@r@=@f@f@f@t@t@F@U@F@W@`@`@)#-#/#/#4#3#s#f#f#)$u#V$O#N#O#@$ $@$~$h$_$_$o$o$A$K$K$X$X$X$_%4%b#+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+f!g!h!/!i!}!j!f!&!&!H,q)L)r)k!!)l!s)~)>!b)`'m!n!o!J'p!X,q!r!s!t!u!{!O'c!v!<=<=&=`*+=1=G*x=x=k*k*7*}*|*%* *Z&Z&R&y&r&r&m&j&6&c&_&2&_&*& &T%T%O%E%m%+ + + + + + + + + + + + + d!E@F@t@t@s@|@f@^@=@=@@@S++@D+e@C+s+s+q+7+7+2+]+'+:+-+'+-+.+X.D.D.x.i.i.c.c.c._ +.M ^.[.^.V V C C 4.V C V >.C C >.4.>.C >.V V V C C C V V >.4.>.C >.V 2# ", +" 3%^ { ] { ] { ] { ] / ] ^ / ^ ] ^ ^ ] / ^ ^ { ] / ] ] { ^ { ^ ^ ^ _ _ {.{.2.2.c.h.w.D.D.D.D..+$+$+'+<+:+<+<+e+7+7+s+q+C+C+C+D+X+@@=@=@=@/@|@f@f@t@y@Q@Q@Q@Q@W@-#`@/#/#/#4#3#7#7#y#y#I#O#U#U#U# $~$~$7$7$8$3$o$F$K$W$X$_%c%_%A% #+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+w!x!y!b'b'z!K)x!2!2!2!A!=!B!C!l!s)~)>!D!R)E!F!v)c)W,V))'G!0!A)H!!'{!Y)Y)~'<=^=`*.=T*S*G*u*v*b*7*7*}*%*2* *Z&P&R&y&r&l&l&e&d&|&_&&&%&~&=&C%C%G%n%e%+ + + + + + + + + + + + + I!E@t@t@t@9*f@|@6@=@@@@@*@D+C+s+C+q+r+q+7+2+e+<+<+-+'+$+X.X..+D.D.i.h.v.c.C.c.3 M [.^.^.C V V 4.C V C >.V 4.V V V V >.V C C C 4.4.C V 4.C 4.>.C C >.0% ", +" J!] / { ^ { { { { { { { ^ ^ ^ { { / { / ] ^ ] ] ^ { { ] { ^ { ^ _ _ {.{.{.l.c.c.h.i.w.D.D..+W.-+.+-+'+]+]+f+g+7+7+y+y+C+C+D++@X+X+X+@@r@=@f@q#q#s@y@M@Q@Q@Q@W@`@`@)#/#4#4#3#7#f#f#f#u#E#O#N#O# $ $~$~$3$7$3$_$F$F$F$!%!%W$X$_%K!+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+N)L!w!M!N!O!L)L)A!=!k!B!P!Q!R!s)P){)S!T!U!V!U)W!X!Y!G!Z!`! ~B).~.~c!+~<=<=%-%=T*S*G*w*v*n*b*c*}*|*~*$* *Z&P&G&S&r&l&t&j&c&|&_&)&&&`%T%C%M%F%n%m%+ + + + + + + + + + + + + + F@t@f@9*f@7@6@|@=@@@@@X+S+D+D+C+s+7+y+7+g+6+]+'+]+-+.+X.X.X.D.x.w.i.h.2.c.c.S O+[.^.^.^.C >.C C >.>.C C 4.4.>.C C C V C C C C C V >.C V V 4.C V V b. ", +" ^ { ] ] ^ / ] { ^ / { { { ] ] ] { { / ] ^ { ] { ^ { ] { { { { ^ _ !.~.!.2.2.2.h.w.h.K.D.D.X..+.+-+-+:+]+6+f+2+7+x+n+s+K+D+D+D+X+W+=@=@/@^@f@s@g@s@y@F@M@F@l#W@`@`@`@)#4#4#7#f#f#f#u#u#E#N#N#U#U#U#&$7$~$3$3$_$A$F$F$W$/&X$_%+ + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+@~C!C!C!#~#~#~#~#~#~C!$~;!%~s)&~*~=~-~;~>~,~W!8!'~)~!~e)~~`,{!.~O'{~]~<=^=== =+=G*u*v*m*b*7*7*-;~*~* * *Q&P&z&z&r&l&e&d&6&**_&!&!&*&T%M%M%D%m%e%+ + + + + + + + + + + + + ^~y@s@s@f@f@|@=@=@@@@@X+S+X+D+D+s+n+7+x+7+2+6+]+'+-+'+.+.+X.D.D.D.x.i.h.c.c.c.J*......^.>.C C >.>.>.C C C 4.>.>.V 4.V 4.C C >.4.V V 4.V >.V >.C 4.V ", +" $%] { ^ / ] / / { ^ { { { / ] { ] ^ ^ ] { ] / { / ] / { ^ ] J =._ _ !.!.{.c.2.h.h.x.w.x.W.X.W.X..+-+'+'+<+<+7+7+7+s+s+C+K+D+9&+@X+W+=@=@6@|@|@t@f@t@F@E@Q@W@Q@`@)#)#/#)#4#3#7#a#f#)$)$u#U#u# $U#!$!$~$~$h$_$3$o$F$A$W$!%X$X$+ + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+/~(~_~:~<~[~C!$~$~Q!}~s)|~1~2~3~4~-~u)5~6~7~8~'~'~9~F,s! ~B).~.~^!0~a~^=,=%=S*S*w*w*w*m*b*7*}*|*~* *3*.*G&H&z&r&r&j&e&6&g&|&3&&&~&Z%T%C%D%D%m%e%+ + + + + + + + + + + + + + t@g@g@f@|@6@r@@@@@X+*@X+D+K+K+q+o+q+7+7+<+6+:+Z+'+-+.+X.D.W.D.w.v.i.h.j.c.2.M +.[.^.>.V C C >.V C V V C C C >.V >.V C C V V C V V V >.V 4.>.V 4.)% ", +" / ^ ] ] ^ { ^ { { { ^ / ] / { { ] { ^ { { { { ] { { ] ] / { _ _ l !.{.2.2.j.j.h.h.w.w.D.W.D.-+.+-+'+'+]+6+]+7+7+7+q+q+D+K+e@X+S+-@=@=@r@/@|@s@t@t@t@M@Q@Q@Q@l#$#$#/#)#}#4#3#5#f#f#f#I#u#N#U#U# $&$~$~$~$7$_$o$_$A$F$F$K$J#+ + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+&~b~s)/~c~d~R!(~e~R!f~g~h~i~=~j~-~k~T)6~7~l~p!y)m~n~0!o~B)N'.~]!+~~'<=p~%= =T*G*G*w*l*b*b*7*1*1*%* *Z&P&P&E&z&r&l&t&f&7&|&|&_&%&~&T%C%C%D%H%m%g%+ + + + + + + + + + + + + + t@f@q#|@|@=@=@=@x@X+D+D+C+D+s+y+7+7+7+6+]+<+]+'+|+.+$+W.D.D.D.x.i.j.,@c.2.` ..[.^.^.>.C C 4.C >.C V C 4.V C C C V V C C 4.V V V C C 4.>.>.V V V ", +" U$] ] ] { { ] { ] ] { ] ^ ^ { ] ^ ] ] ^ / { / / ] / ^ ] / { ] _ !._ !.{.2.{.2.i.j.x.w.D.D.{+.+-+.+-+]+]+2+2+7+7+r+s+s+Z#D+D+D+S+S+X+@@/@f@|@|@q#t@t@t@M@M@W@Q@`@`@$#)#/#4#7#3#f#7#E#y#u#u#u#N#q~ $~$&$~$7$8$8$_$o$u$A$F$u&+ + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+r~&~s~s~b~t~b~g~u~r~h~*~4~`'T!k~v~'!7~l~p!w~5'x~0!t!y~a!.~z~A~0~~'^=p~S*S*G*w*w*n*n*b*7*H;}*#*$*Z&Z&P&E&H&s&l&l&e&f&c&|&_&&&%&`%T%T%M%t%m%m%e%+ + + + + + + + + + + + + + s@t@|@f@6@r@=@x@@@X++@C+C+K+s+y+x+7+7+6+2+5@<+'+'+-+ +{+D.D.w.w.h.h.c.2.2.U+^.O+^.^.C C C C C >.C C C V >.4.>.V V C 4.C >.C 4.>.C C V V 4.C 4.H. ", +" 2#] / { / / ] ] { { { ] ] { ] { { ] { ] / { ] { / ] ^ { / / ^ _ _ _ %.~.{.c.c.h.h.h.h.D.D.W.X.$+.+-+'+Z+<+e+2+7+x+y+q+C+q+D+C+X+W+X+=@=@/@^@|@|@t@D@y@F@Q@Q@Q@l#`@)#)#)#/#4#5#s#f#f#t#)$u#u#N#O#U# $~$~$~$~$3$_$o$u$u$F$B~+ + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+4~D!*~*~i~h~h~h~=~C~S!D~E~k~F~'!G~H~I~8!J~K~L~0!~~t!M~N~z~]!0~a~a~'=.=S*[-w*u*n*l*b*b*7*}*~*&* * *Z&R&E&r&r&l&e&6&d&|&|&)&!&*&`%C%C%D%E%p*e%7%+ + + + + + + + + + + + + + t@q#f@/@=@=@@@@@@@D++@D+C+s+s+s+q+7+7+]+]+:+m+'+l+X. +D.O.D.w.w.h.j.c.7.g.j#+.^.^.>.W#V >.C C 4.V >.C V >.C 4.C V C V V >.C V 4.C V C 4.V V 4.2# ", +" O~^ ^ ] ^ { { ] { { ^ / ] ] { ^ ^ ] ] ] { ^ { ] ^ ^ ] ^ { ^ _ _ _ _ !.!.{.2.2.h.h.K.V.D.W.X. +-+'+'+'+<+<+6+7+n+y+y+C+q+C+D++@X+X+=@=@=@|@^@f@s@g@t@t@F@Q@W@r#`@l#)#/#W%)#4#s#3#7#f#E#y#u#N#U#u#U# $@$~$~$~$3$_$3$F$A$P~+ + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+D~D~Q~S!S!R~R~R~D~S~E!E!F~T~'!U~V~W~X~Y~Z~!~0!`~t! {u!.~.{0~0~C)^=&=S*S*G*w*w*l*f*b*7*}*}*%*&*$*Z&R&H&z&r&r&l&f&c&7&|&2&3&%& &`%O%G%F%m%m%e%f%+ + + + + + + + + + + + + + t@|@|@/@/@=@@@W+X+S+D+K+s+s+r+y+7+2+<+6+]+Z+'+$+.+X..+{+D.V.V.x%i.2.c.2.=.+...[.^.C ^.>.V C C V C C 4.>.V V 4.V 4.C 4.C V V C C 4.V C >.>.V W ", +" z$^ ] { ] { { ^ ] / ] ] ^ ^ / { / { / ^ ] ^ ^ ] ] / / ] ] ] { _ _ _ {.{.{.2.2.c.c.h.i.x.D.{+X.$+1+.+'+]+<+6+2+7+y+q+q+s+K+D+S+X+S+W+($r@r@f@|@f@g@t@F@U@Q@Q@W@$#W@)#-#/#/#4#d;7#7#f#y#)$f#u#U#u#U#U#&$~$~$~$h$3$_$_$A$+{+ + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+@{E!#{${#{#{@{E!%{&{v~*{={V~-{;{>{,{'{!~){`~t!H!N~z~!{A~~{a~{{p~`*S*G*w*v*x*l*b*7*7*1*|*&*$*Z&Z&P&z&z&l&l&j&j&d&c&|&&&!&*&`%T%C%C%F%m%e%e%<%+ + + + + + + + + + + + + + f@f@^@r@=@=@X+W++@X+D+s+J+s+q+n+7+7+]+]+'+<+-+$+-+X.D.P.D.D.i.i.h.2.2.7.F.O+M ^.C ^.V V >.4.>.C 4.C >.>.4.>.>.>.4.C V C C 4.>.>.V C V C >.C z$ ", +" l@] ^ { / ] ] ] / { { ^ ^ ] { ] { ] { { ^ / ] { ^ ] ] ] { ] J _ l #.!.7.c.c.h.i.v.v.V.D.W.{+W.-+-+'+'+<+]+]+7+7+y+q+s+s+D+D+S++@X+-@=@=@6@|@f@g@t@s@t@y@F@Q@Q@$#W@)#)#)#/#4#4#5#s#a#T#f#E#u#E#N#O#.$U#+$~$7$7$8$_$_$+ + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+T~&{]{^{&{/{({]{6~_{G~:{<{[{X~>{}{Z~|{1{`~2{3{u!4{!{5{0~8'a~%=6{S*G*w*w*m*k*g*b*7*}*}*~* *Z&Z&G&H&s&r&l&l&j&c&|&|&2&2&!&`%T%M%N%C%H%H%e%7%8%+ + + + + + + + + + + + + + |@|@/@r@@@@@X+W++@D+Q+C+C+y+r+7+7+g+e+<+'+'+-+'+X.X.O.D.x.w.K.h.c.2.{.!.u+a+S.^.4.C V C >.V >.C C C V C C V >.>.C C V 4.C 4.C >.4.V V >.>.7{ ", +" n${ { { { / { { ] { ^ ^ ] { / { { ] { ] / ] ^ { ] ^ ] ] ^ _ { _ _ l $.!.l.2.c.r.c.h.V.D.D.X.P.X.-+-+-+'+<+g+f+7+7+s+s+s+K+D++@S+@@S+=@=@=@^@^@f@f@t@t@y@M@F@W@W@$#-#)#`@/#4#'*5#7#7#y#I#t#u#%%N#N#U#.$+$!$&$~$7$8$3$+ + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+:{_{8{_{_{9{9{0{a{b{;{X~p!Y~c{Z~9~1{d{`~e{3{N~4{!{f{~{8'{{p~6{T*G*w*w*n*n*g*7*7*7*1*&*$*Z&Z&P&G&F&z&r&r&f&j&6&|&_&_&&&&&`%T%M%F%G%H%p*7%7%]%+ + + + + + + + + + + + + + |@7@f@=@=@S+@@S+D++@C+s+s+r+7+7+2+<+]+]+:+-+-+$+ +X.W.D.w.D.i.c.C.{.{.!.G.[.^.>.B 4.C C C C 4.C 4.V 4.C C V V >.V V C V C V C V C C V V 4.n$ ", +" w+{ ^ ] { { ] ^ ] / ] ^ { ] ] ] { ] { ] ] { ^ { ] { ] ] { { _ _ %.!.{.2.2.2.c.i.h.w.D.D.D. +.+-+-+:+]+]+]+e+7+7+q+y+s+s+D+D+D+S+W+=@@@=@=@/@|@f@t@t@t@y@F@W@Q@W@$#`@)#)#)#4#4#f#4#f#f#T#E#u#E#N#u#U#U#+$~$&$7$7$f#+ + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+g{h{h{h{i{j{j{;{p!p!Y~c{k{9~l{d{m{t!H!n{N~4{!{]!o{~'{{{{%=S*G*G*w*n*m*f*7*7*7*}*1*#*Z& *Z&P&E&S&r&l&t&f&n&g&|&|&&& &`%T%T%O%M%H%:&e%7%6%[%+ + + + + + + + + + + + + + ^@=@/@@@@@X+X+9&C+s+C+s+x+n+7+2+2+<+'+'+'+1+X.X.P.O.P.x.x.v.i.h.2.c.2./ a+^.^.^.^.>.4.>.4.V C V 4.C V C >.>.>.C C C >.C V >.C C >.C >.V p{ ", +" =#{ ] { { / { / ] / ] { { / ^ ^ / / ^ { ^ ^ { ] { { { ] ^ ] _ ^ l _ %.{.2.2.2.i.v.V.D.D.D.X.{+-+$+-+]+]+<+e+2+7+n+y+s+q+C+D+D+*@+@X+@@=@=@/@7@f@f@t@y@E@F@M@W@Q@r#$#-#/#/#4#4#4#a#7#7#f#f#I#E#N#N#N# $U#@$~$~$~$J$+ + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+q{r{X~X~>{>{>{c{c{c{s{!~!~1{){t{u{n{v{4{w{x{y{y{a~{{z{%=+=S*w*w*u*n*f*b*7*7*|*}* *$*Z&Z&Z&G&E&r&r&t&e&d&7&**_&3&2&*& &T%C%F%E%H%e%g%f%<%-%+ + + + + + + + + + + + + + =@/@r@@@X+@@S+D+C+q+s+s+o+n+7+g+g+]+]+m+'+-+$+.+W.D.D.D.x.v.j.r.c.2.!.U+..^.>.^.V C V C 4.C >.C V C V C V >.V V V >.C V C C >.C >.V C >.'# ", +" _.] { ] ^ { / { { ^ ^ ^ { { / / ] ] ] ^ ^ { ] ^ ] { { { / ^ ^ _ %.l !.{.c.,@j.h.i.i.x.O.D.D.X.-+.+'+'+<+<+<+2+y+7+x+s+s+C+C+D+S+X+@@=@=@/@/@/@f@f@t@t@F@t@F@Q@Q@W@`@-#)#-#/#4#4#4#5#f#f#E#E#I#O#O#U#U#!$ $@$&$^*+ + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+k{A{B{C{C{C{C{D{x~E{E{F{`~G{H{3{I{v{w{J{]!y{y{K{z{z{L{1=G*v*u*v*n*b*7*b*7*-;}*~* *3*.*P&H&y&r&s&t&l&e&c&7&|&_&_&)&~&*&{*C%F%D%e%e%M{f%[%-%+ + + + + + + + + + + + + + /@=@@@@@@@S+D+C+D+D+y+q+q+x+7+<+]+]+'+'+'+.+.+X. +W.w.h.i.h.c.c.{.{.!.,#O+^.>.^.C 4.C V C V C C C C 4.C >.4.C C >.V V >.C C >.C >.C >.N{ ", +" ^ { ] / ] / ] { { ] { ] ] { { ] ] { / / ] / ] { ^ / ^ { ^ { _ _ _ #.g$l.2.i.i.h.x.x.D.O.W. +$+-+'+:+<+5@<+<+7+x+y+r+s+C+C+S+D+D+@@W+@@=@^@|@f@f@t@y@t@E@Q@F@Q@Q@$#W@)#)#)#)#4#7#5#7#7#f#u#t#u#u#N#N#O#U#@$ $g#+ + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+O{l{P{Q{O{R{R{F{S{t{T{U{u{3{V{I{I{w{J{5{W{W{C)z{X{%=1=w*G*w*n*m*g*g*e*H;7*&*%* * *Z&R&G&H&H&r&r&j&f&f&c&|&_&&&&&)&`%T%C%F%G%m%e%7%8%<%[%-%+ + + + + + + + + + + + + + /@@@S+S+W+S+D+C+C+s+n+q+s+7+g+2+<+:+'+-+$+X.W.X.D.D.w.v.i.h.i.c.{.{.=.O+[.^.$$C 4.4.C >.4.V V C C >.C 4.C C V C C V >.C C V V V >.V V ", +" Y{{ / / { ] ^ { { ^ ^ ^ { ^ / { ] { ^ ] { / { { { { { ] ] J _ _ _ #.%.{.c.2.j.h.h.D.x.D.P.X.X.$+-+'+]+<+<+f+7+7+o+r+s+q+s+D+D+S+S+X+=@^@|@f@f@|@f@g@t@G@y@M@Q@W@Q@$#`@`@`@4#/#}#5#f#7#f#f#u#u#E#u#E#U#U# $+$Z{+ + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+`{ ].]+] ].]u{@]U{3{n{n{#]I{$]J{J{!{y{W{W{z{%]&]p~G*w*w*u*x*m*l*f*7*}*}*%*~*2*$*Z&Z&R&H&y&r&*]l&m&c&7&**|&_&&&%&*&`%T%C%G%n%H%e%7%6%]%[%+ + + + + + + + + + + + + + + =@=@W+X+T@D+D+Q+q+s+q+y+7+g+g+6+]+]+'+-+1+.+{+O.D.D.x.h.i.2.c.c.2.!.-.^.^.^.C C >.C C >.V C V C 4.C V 4.>.C >.V C 4.C V V V >.V C >.=] ", +" 3 / ] / { { { { { ] { ] { ^ ] / ^ { ^ ^ / { ] ^ { ] { { { _ _ #.%.!.2.2.2.c.c.i.i.D.w.D..+X.-+-+'+'+<+]+]+6+e+7+y+s+q+s+C+D+S+W+X+=@=@/@6@|@|@|@f@t@t@t@y@Q@Q@Q@W@l#$#)#)#)#4#3#3#s#0#7#y#y#E#E#J#u#U#U#U#+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+-];]H{H{-]>],]#]#]#]$]I{$]']J{!{y{)]!]<=^=%]~]L{G*w*w*l*n*n*f*f*7*}*|*#*~* * *Z&Q&Z&H&S&r&l&l&j&f&7&|&|&|&2&&& &`%C%C%D%F%n%m%e%f%[%[%-%+ + + + + + + + + + + + + + + =@=@@@S+D+D+C+s+q+q+r+7+7+<+7+<+'+'+'+.+$+W.D.W.D.i.i.h.h.,@2.2.{.!.+&^.^.>.>.>.4.4.C V >.V V >.4.>.V 4.V V V 4.C >.V C C V C C C ,$ ", +" `#^ ^ { ] / ] { / ^ / ^ ^ { { ] { ^ { { { / ^ / { { ] ] ^ ^ ^ ~.%.!.{.2.2.c.C.h.i.i.D.D.X.D.X.-+.+'+]+:+<+g+7+7+7+y+q+J+C+C+C+S+@@X+x@=@=@=@^@f@f@t@t@t@t@y@Q@W@W@Q@$#`@.&)#/#/#4#4#5#7#f#f#y#E#E#u#u#O#*-+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+{]]]^]]]/]/]]](]_](]_]J{f{!{:]W{W{!]%]p~L{L{P=w*w*x*x*g*b*b*d*7*}*}*!*~* *Z& *Z&F&R&y&r&r&t&j&e&6&c&|&_&3&)&*&`%T%T%M%F%H%e%e%7%[%<%-%-%+ + + + + + + + + + + + + + + @@=@*@T@D+D+s+s+y+s+n+7+7+2+]+'+:+'+1+.+W.X.X.D.D.V.x.h.j.c.2.{.!._ a+^.C C 4.V C >.C >.C C V 4.>.V 4.4.>.C C C C V V >.C C C C 4.= ", +" =+] { ] ^ ] ] ] { ^ ^ ] ] ] { { { ^ ] ] { { ] ] ] { / { / ^ _ $.!.!.~.{.c.2.c.i.x.i.D.W.X..+.+-+1+-+<+<+]+]+7+7+n+q+q+s+K+D+S+S+@@@@@@=@=@|@f@|@f@g@s@t@U@G@Q@$#Q@W@-#`@)#)#/#4#5#5#7#3#f#y#I#y#u#E#u#-#+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+']']<][][][][]}]x{!{x{|]1]!]W{a~X{%]L{~]2]G*w*w*n*n*l*g*e*b*H;}*}*|*~* * *Z&Q&G&y&z&s&r&m&t&e&f&c&|&_&_&!&%& &`%T%O%E%G%H%e%7%8%]%[%{%@%+ + + + + + + + + + + + + + + x@S+D++@D+C+J+q+r+x+7+7+7+2+<+'+'+'+-+-+X.X.X.D.D.i.w.i.2.c.c.!.!.K a+>.^.>.V V C V V C >.4.>.4.C 4.V 4.>.4.>.V C >.V C 4.C C 4.W ", +" { { { ^ { { ] / { { { / ^ ] { ^ { { { / { ] { { / ] ^ { ^ _ ~.%.!.!.7.2.h.,@h.w.i.D.D.D.O.X.X.'+-+<+'+6+<+2+7+7+q+s+3]C+J+D+D+X+W+=@=@r@r@7@^@f@f@t@D@y@t@y@Q@Q@Q@W@$#`@-#/#/#/#4#5#4#f#7#f#)$u#E#u#4]+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+5]:]6]5]:]6]5]5]|]5]7]8]9]0]&]~]p~L{a]P=w*w*m*x*k*l*b*b*7*1*-;#*#*%* * *Z&Q&P&P&y&r&r&l&l&j&7&6&|&_&_&&&%&`%~&T%C%E%m%H%e%e%7%]%[%-%-%@%+ + + + + + + + + + + + + + b]X+S+9&D+D+C+q+y+n+n+7+2+6+'+'+]+-+.+.+.+.+O.D.D.i.h.i.i.2.g.g.{.~.;.^.^.^.C C V C >.V C C 4.>.V C V 4.C >.V C C V 4.>.V V >.>.V ", +" c]{ ] ] ] { { { ] { / ^ ] ] { { ] / ^ ] { / { ] { { { { / _ _ _ {.{.!.7.2.r.j.i.i.w.D.D.W.X.W.-+-+'+'+]+<+6+g+7+y+o+q+C+s+D+D++@S+X+@@=@=@=@|@f@f@f@t@y@t@E@M@Q@r#l#$#`@)#)#)#)#3#5#s#7#3#f#f#)$)$u#d]+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+!]~{!]W{~{W{0]a~0]a~&]e]f]L{L{L{L{P=w*v*x*m*l*f*f*7*7*7*}*|*%*&*~* *$*Z&P&P&H&y&r&l&l&t&m&6&c&c&_&2&&&!&`% &T%C%M%D%t%n%e%7%6%]%[%-%.%+ + + + + + + + + + + + + + + g]S+S++@s+D+s+q+7+7+7+7+7+6+5@'+:+.+.+.+X.O.P.w.V.i.h.c.h.c.2.2.{.=.^.[.>.>.V >.C V 4.C C >.C C C V C V V 4.V C C C V 4.C 4.>.C Q# ", +" #.^ { { { ^ { ^ / { ] ] { { ] { ] { ] ] ] ^ ^ ^ / { { ^ J { l _ !.{.2.7.c.c.i.D.w.D.W.W.W..+.+.+-+-+'+2+<+2+7+7+y+n+q+J+C+s+D+X+X+@@X+V#=@=@f@|@f@t@t@t@E@t@Q@Q@W@W@$#$#`@)#)#}#4#4#5#3#a#f#y#I#T#h]+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+&]&]&]&]&]&]i]&]&]&]L{L{2]2]j]P=P=x*x*l*n*g*g*e*b*7*}*H;|*%*~*%* *Z&.*G&F&z&r&I&r&r&j&t&j&7&|&|&_&_&!&~&T% &C%N%C%G%m%e%7%7%f%=%-%-%Z$+ + + + + + + + + + + + + + + k]S+D+D+C+Z#r+s+q+7+2+]+]+:+'+m+'+X.X..+D.{+D.w.v.i.h.i.2.2.2.{.!.T ^.^.W#C V C V V C C >.C C >.>.V V C V C 4.>.C >.C 4.C V V a+ ", +" C#{ ] ^ / ^ ] / ] / / { ] { { ] / ] { / ^ { ] ] { ] ] / / _ _ _ $.!.{.2.2.j.c.v.w.D.D.D.{+.+W.-+-+'+]+<+2+<+7+2+7+r+s+q+C+C+C+S+S+X+-@=@=@=@7@f@f@f@t@t@t@E@F@Q@Q@W@`@`@$#)#)#)#)#/#4#4#7#3#f#f#E#O&+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+~]i]~]i]2]l]2]2]2]2]2]P=[-U*m]l*x*l*g*b*b*f*g*7*}*1*!*~*%*%* * *Z&Z&P&P&y&z&z&S&r&m&j&f&7&c&g&_&_&)&!&`%Z%C%O%O%D%m%e%7%e%7%]%=%@%@%+ + + + + + + + + + + + + + + + /*+@D+C+s+q+n+r+x+7+6+6+6+:+m+-+'+.+W.W.D.D.D.D.i.i.c.c.2.2.7.!.l ~=^.^.C V V C C >.>.C C C C C C V >.>.>.V C V C V C C V C C G# ", +" n]^ ^ / { ] { ^ / / { / { / { ] ] ] ^ ^ ] { ] ^ { { ] ] ^ _ _ %.!.~.!.2.2.c.i.w.v.x.D.D.D. +X.1+-+-+]+]+<+2+7+7+7+o+x+s+K+C+S+D+X+S+X+X+/@^@|@|@f@s@s@y@t@t@F@F@a%l#Q@$#)#-#/#)#/#4#4#4#7#0#7#7#+ + + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+w*G*U*o]w*o]U*o]o]o]o]w*m*m*m*f*b*b*b*7*7*7*-;}*1*|*#*&* * *2*Z&L-R&F&y&S&r&l&l&l&e&d&c&**|&_&_&%&!&*&T%T%M%M%E%t%m%e%8%7%[%[%p]|%#%+ + + + + + + + + + + + + + + + L#+@C+s+q+r+x+o+7+7+7+2+<+'+'+1+-+.+.+{+P.D.D.i.h.h.c.c.2.2.~.~.( ^.^.>.>.C V C >.4.>.C >.>.>.>.V V >.>.C V C C 4.>.C V V V B# ", +" q]{ / ] ^ { { / ] { ^ ] { { ^ ] { ^ { / { / { ^ { / ] _ _ _ _ %.!.{.3.2.c.h.h.x.v.V.D.X. + +$+$+'+-+:+<+]+7+7+7+7+s+q+s+K+D+D++@X+@@@@@@=@=@7@^@f@g@f@t@t@t@F@Q@Q@Q@W@$#-#-#)#)#/#/#/#7#4#a#)#+ + + + + + + + r]G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+s]x*t]u]t]s]o]t]s]b*k*b*b*k*7*b*7*7*7*|*H;H;|*%*&*&*&*2* *Z&Z&G&P&z&E&H&r&r&m&l&j&7&6&c&|&_&)&)&`%&& &T%C%O%F%F%m%e%e%8%8%<%-%@%+%Y$+ + + + + + + + + + + + + + + + D+C+C+C+s+o+n+7+7+6+<+2+<+m+1+-+X..+ +O.D.x.V.v.h.h.c.{.{.!.l %.j#^.V >.4.V C C >.4.C C C 4.>.V V 4.C C C V V C C V V V 4.v] ", +" p#] ] { { / ] / ^ ^ ] { / ] ^ { ^ { ] ^ ^ { { { { { ^ { / ^ l !._ ~.!.7.c.r.h.h.w.x.D.W.X..+.+.+-+'+'+:+<+<+7+7+x+y+s+J+s+D+D+D+S+X+X+@@=@/@/@|@f@|@g@t@y@t@E@F@M@Q@W@$#$#l#`@)#/#)#/#3#3#7#w]+ + + + + + + + x]G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+b*b*7*b*b*f*b*b*b*b*c*7*f*b*7*|*}*}*}*}*%*|*%*#*~* *2*Z&Z&Z&P&R&z&z&r&r&l&r&i=j&n&7&g&|&_&3&_&&& &=&T%C%G%C%E%m%m%M{7%6%-%{%@%@%#%y]+ + + + + + + + + + + + + + + + K+s+C+s+n+x+7+7+7+<+<+]+'+'+'+.+.+X.D.P.x.V.h.v.j.j.c.{.{.%.~.=.^.^.>.$$4.C C 4.>.V V C C V C 4.4.V 4.4.C V 4.C V 4.4.V >.k# ", +" b.{ ^ ] { { ] { ^ { { ^ ^ / { ^ ] / ] { / ^ { ^ ^ { { ] _ _ _ !.{.!.7.c.c.h.j.i.D.D.D.P.W.O.X.$+|+'+'+2+]+g+e+7+7+7+q+s+s+D+C++@X+W+S+x@=@=@7@7@/@f@g@g@s@t@F@E@F@F@Q@W@$#$#)#`@-#/#/#4#4#U%+ + + + + + + z]A]G+G+G+G+G+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+7*7*7*7*7*7*7*7*7*7*}*}*7*|*1*1*~*1*1*&*&* *&*2* *Z&Z&.*G&P&E&H&E&S&r&l&l&j&f&n&6&d&|&1&_&%&)&`%T%Z%C%C%M%E%m%e%e%7%8%]%[%-%|%#%Z$B]C]+ + + + + + + + + + + + + + ^~D+C+C+q+y+x+7+2+<+]+'+]+'+-+-+.+X.W.D.D.D.v.i.h.,@2.l.{.!.%.l D]^.^.4.4.>.V C >.>.V V C C C >.C V C C 4.C C C >.C V V C b. ", +" $ ] ] { ] { ] ] ] / { { ] ] { ] { ] ] ^ { / ^ { ] { { { _ ^ _ ~.{.{.2.l.2.h.h.h.w.w.D.D.W.X.$+-+-+'+'+<+]+]+e+7+n+s+q+s+s+K++@+@S+W+W+@@=@/@^@/@r@g@t@t@t@t@F@F@Q@Q@Q@$#$#$#6#)#^#/#)#D#E]+ + + + + + + F]`%G+G+G+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+}*|*|*!*}*}*}*|*|*}*}*}*}*|*~*&*#*%*~*&*2* *Z&Z&Z&Z&P&P&H&z&z&I&S&r&t&m&e&7&f&****|&J&&&)&&&`%T%T%C%M%M%G%E%e%e%8%8%[%-%-%@%.%Y$M$P$G]+ + + + + + + + + + + + + + H]K+q+q+s+7+y+<+6+2+<+]+-+'+1+.+X.{+D.D.D.i.h.i.c.i.c.2.{.{.!.#.+.^.>.C C C >.4.C C C V C V V C C 4.>.C 4.C V V V C 4.V I] ", +" { ^ ] { ^ ] { ] { ] ^ { { { ^ / { { ^ { ^ ^ ] / / ] { J _ _ l $.{.2.2.c.j.j.i.x.w.w.D.P.X..+.+'+-+-+'+<+2+2+7+n+x+o+s+s+Z#D+D++@D+W+x@X+=@/@=@/@f@|@s@g@g@t@t@U@Q@Q@Q@Q@$#W@$#`@/#)#/#J]+ + + + + + + K]T%G+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+&*#*~*#*#*1*&*~*#*}*~*1*&*~*~*$*&* * * *$*Z&L]Z&Z&G&P&F&E&z&z&S&l&r&l&l&f&7&d&c&|&|&_&2&!&)&`%*&T%C%C%G%F%m%H%e%M{7%}%-%-%@%@%+%Z$H$I$P$+ + + + + + + + + + + + + + + q+s+s+q+7+7+g+<+6+:+<+'+.+$+X. +X.P.x.D.w.v.r.i.c.2.{.{.~.%.K >.^.C V C C >.C V 4.C >.C C V V 4.V C V V 4.C 4.V >.C V ", +" 2#{ / { ^ ] { { { / ^ / { / / { { ^ ] { ] { ^ / ] { ] { J _ _ _ l {.7.7.2.c.h.h.K.K.D.W.W.W..+.+$+-+'+]+]+2+7+7+7+n+s+s+C+s+C+S+S++@@@-@-@=@=@r@^@|@f@s@t@t@y@U@E@M@Q@W@W@Q@$#W@`@-#/#+ + + + + + + + M]T%F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+ *2*~*~*o* *2*2*~*&* * * * *2* *$*Z& *Z&Z&G&G&R&P&R&P&H&H&r&r&r&l&m&j&e&7&c&c&|&_&_&&&%&!&`%=&T%T%D%E%F%H%m%e%7%}%f%<%-%-%+%.%Y$O$C$C$Q$+ + + + + + + + + + + + + + + + s+n+x+7+7+<+6+]+-+-+1+.+X..+O.W.D.w.x.h.j.r.c.2.l.{.l !.l G.>.4.4.4.C 4.C C C V C C C >.V V V >.>.V V V V 4.>.>.C 2# ", +" [#{ ^ { / ^ ] ] ] / { ^ { / ] ] { ^ / ] / ] ^ { ^ { =.^ _ _ %.l {.{.2.c.c.c.v.h.K.D.D.X. + +.+X.-+'+'+]+2+2+<+7+y+x+s+q+C+D+D+e@X+S+@@=@X+=@r@r@/@f@R#s@g@g@t@y@F@M@Q@Q@r#r#$#`@`@y@+ + + + + + + + N]N%F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+Z&$*Z&Z&O] *Z& *2* * *Z&Z&Z&Z&Q&P&Z&.*.*P&P&R&H&z&y&H&r&r&r&m&l&m&j&7&6&c&|&|&2&2&_&)&*&*&T%T%C%F%O%H%E%H%e%7%}%}%[%-%@%@%+%+%M$O$C$C$v$+ + + + + + + + + + + + + + + + + 7+7+e+<+]+:+-+]+1+-+X..+O.W.D.D.x.h.i.c.C.2.{.{.%.{.l F.^.$$C V C 4.C 4.V C >.C C V C V C >.V C V V C C C V C [# ", +" ]#^ { ^ / { ^ { ] { ^ / { { ] { ^ ] ^ { ] ^ / { ^ / { J _ $.#.%.%.2.c.C.h.i.h.h.v.x.D.W.W.W..+-+'+Z+]+]+]+2+6+7+7+o+q+s+s+C++@D++@S+X+@@=@=@=@/@|@f@f@g@g@s@t@t@F@Q@F@F@Q@H#W@W@4@+ + + + + + + P]t%F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+P&L-Q&Z&Z&Z&Z&Z&.*Z&Z&Z&Z&Z&Z&Z&Z&P&F&R&P&y&z&H&r&z&I&l&l&l&m&e&j&j&6&d&g&|&_&2&!&!&)&`%T%T%T%O%C%F%E%m%Q]e%7%7%}%<%=%@%@%.%#%M$C$C$R]v$r$+ + + + + + + + + + + + + + + + + + 2+2+]+<+'+'+-+.+.+.+X.D.D.v.x.i.h.h.2.c.2.{.!.%.$._ j#>.>.>.C V C 4.C >.V >.C >.C C >.C V >.>.C >.C C V C <# ", +" )./ ^ ] { ] { ] { ^ ] ] ^ { / { ] { { { ] ] { ] { { =._ _ _ l l !.2.7.c.h.i.h.i.D.D.D.{+X.X.X..+'+-+]+6+2+7+7+7+n+q+s+s+s+s+C++@S+D+@@=@=@@@=@/@f@|@f@f@s@g@t@t@E@y@E@Q@Q@W@Q@i++ + + + + + + S]m%F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+y&P&R&P&F&G&P&Z&Z&G&G&L-P&F&F&P&G&F&E&y&E&H&S&z&r&S&l&r&l&l&j&e&e&n&6&|&**_&_&_&_&&&~& &=&T%T%O%M%F%m%n%m%e%g%7%<%<%T]@%@%+%+%O$I$I$C$v$w$E$+ + + + + + + + + + + + + + + + + + 2+<+]+]+]+-+1+X..+ +W.D.D.D.i.w.i.i.c.2.{.7.%.%._ ] B B C C >.>.4.C >.C C 4.>.C V V >.V V >.C 4.C V >.C /. ", +" y { ] ] ] { ^ { / ] { { { { { ] / { { / { / { ] / / { _ _ l !.~.2.2.2.c.j.h.h.x.D.D.D.D.X.X..+1+'+'+'+6+]+7+7+7+7+y+q+J+C+K+C+9&D+X+X+S+=@=@/@r@|@/@f@f@g@s@y@t@t@F@U@Q@W@$#U]+ + + + + + + V]F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+H&H&H&H&R&y&y&z&F&y&H&E&H&E&F&y&z&H&H&H&r&S&S&l&r&l&l&l&l&t&e&f&c&c&**|&_&_&_&2&&&)&`%*&`%T%C%C%N%D%H%H%e%e%e%7%W]W]W]X]Y]+%M$+%O$C$v$Q$v$w$w$Z]+ + + + + + + + + + + + + + + + + <+]+'+)+-+-+.+.+.+D.P.D.D.x.i.i.h.C.c.2.2.{.l _ _ M.>.C C C V C 4.V V C >.>.V >.4.V V 4.>.V V V 4.V C b+ ", +" =#/ { { { ^ { { { / { ] / ] / { ] { ^ ^ ] ] { { ^ / ^ { _ _ ~.%.!.2.{.2.h.h.w.x.D.w.D.W.D..+X.$+$+-+'+'+<+2+g+7+7+7+q+r+s+C+s+D+C+X+D+W+@@X+@@=@6@=@|@g@f@f@g@t@t@E@y@E@E@Q@`]+ + + + + + + ^F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+r&r&S&r&r&S&r&z&z&z&s&E&z&y&E&r&z&s&r&r&r&r&l&l&l&l&l&l&f&j&f&7&6&**|&|&|&|&3&&&)&!&`%`%T%M%C%M%G%G%m%m%e%e%M{W]W].^.^.^.^+^@^M$O$C$v$v$x$E$j$k$#^+ + + + + + + + + + + + + + + + + ]+]+m+'+'+-+X. +P.W.D.D.v.K.h.j.c.2.{.2.!.#._ _ ] 4.C C 4.V 4.V C V C >.C >.C C 4.V 4.C C >.C >.V C C '# ", +" ##/ { ^ { ^ ^ ] ^ { ^ ] { ] { { { ^ { { { / { / { { ^ _ _ _ _ {.{.{.c.c.c.i.i.v.i.D.D.D..+.+.+.+-+]+<+6+6+<+g+7+7+7+o+r+s+s+C+D+D+S+@@X+@@=@@@=@^@/@f@f@f@f@t@t@t@t@t@F@Q@+ + + + + + + + $^F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+t&m&l&r&r&r&l&l&l&S&S&r&r&r&l&r&l&l&r&l&m&l&l&j&l&e&j&f&6&j&7&**h*c&|&_&_&_&!&&&%&`%*&Z%T%T%{*F%D%G%m%:&m%e%W]W]W]W].^.^.^.^.^W]W]W]W]v$w$w$k$a$a$%^+ + + + + + + + + + + + + + + + + + '+'+'+-+.+.+P.{+W.x.x.v.v.i.h.2.2.2.!.{.%._ _ T >.C V C C >.C C 4.C >.V C C 4.C 4.V V 4.V >.4.C 4.&^ ", +" Z@/ { ] { ^ { ^ ^ ^ ] / { { { ^ ^ { ] ] { ] ^ ^ ] ^ ^ _ _ $.!.!.{.l.c.2.j.h.h.h.D.D.W.W..+X.X..+'+'+'+]+]+6+7+7+7+r+q+y+s+C+s+C+C++@X+X+@@X+@@@@/@r@=@f@f@g@f@s@s@E@t@S>+ + + + + + + + ]%F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+j&j&j&t&t&m&t&t&l&l&l&l&l&l&l&m&t&j&m&l&j&l&e&e&j&j&f&d&7&|&c&h*|&**_&_&_&&&)&!&%&*&`%T%T%C%C%E%G%G%H%m%e%W]W]W]W]W].^.^.^.^.^.^.^W]W]W]W]*^s$a$a$=^&#+ + + + + + + + + + + + + + + + + + '+'+'+$+X.O.W.D.D.w.K.h.h.i.h.2.7.%.%.%.~._ ] >.>.C >.V 4.V V C >.C C V C C C 4.V V C C 4.C C C -^ ", +" '$^ ] { ] { { / ] / { ] / { ^ { ] ] { / ^ ] ^ / ^ / ^ _ $._ _ ~.7.!.c.c.i.h.i.x.i.D.W.O.X..+.+.+'+'+<+:+2+7+7+7+7+7+7+s+s+s+C+C+9&X+@@W+W+@@=@/@=@|@^@|@f@|@f@t@s@t@R=+ + + + + + + ;^-%F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+c&n&6&j&n&7&f&f&n&n&f&t&f&j&m&f&j&f&j&e&f&7&e&c&d&c&g&6&|&|&|&|&|&_&_&_&3&%&*&%&`%T%=&T%T%M%M%E%D%G%m%e%W]W]W]W]W]W].^.^.^.^.^.^>^>^>^W]W]W]W],^'^)^!^+ + + + + + + + + + + + + + + + + + + + .+.+.+X. +D.D.x.i.i.i.i.h.2.{.{.{.#.l #.=.T C >.C V >.C 4.C C 4.C >.V C V C 4.>.C V C C C V !+ ", +" ~^] / { ^ { { ^ ] ] ] { / { ^ ] { ^ ] ^ ] / { ] ] { _ _ _ %.!.2.7.l.2.c.c.h.i.i.D.D.D.D.X.X..+'+.+<+]+<+2+g+<+7+7+y+s+7+s+s+K+D+D+D+X+W+@@@@=@=@=@7@/@f@f@t@f@g@g@K&+ + + + + + I={^=%G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+|&|&|&c&|&**|&c&j&c&6&n&7&j&j&e&6&f&c&c&6&d&6&c&c&g&c&|&c&g&|&|&|&2&&&!&%&)&)&`%`%`%T%T%T%C%O%F%E%H%n%]^W]W]W]W]W]W]W].^.^.^.^.^>^>^>^^^>^.^W]W]W].^W]W]+ + + + + + + + + + + + + + + + + + + + + .+.+W.O.D.D.D.i.i.v.c.i.2.2.{.d+{.!.%._ ] 4.>.V C >.C C V V V >.4.V C V >.4.>.V V C C C 4.O ", +" u.{ ] ] ^ ] ^ ^ ] { { { ^ / ] ] ^ { ] / / { ] / ` J J _ _ !.$.7.2.2.2.h.h.w.i.V.D.D.D.X..+X.-+-+-+'+]+<+6+2+<+7+7+n+o+s+q+J+q+C+D+D+X+X+@@@@=@=@=@/@6@^@f@f@f@t@/^+ + + + + + (^_^@%G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+_&2&_&J&|&|&|&g&|&**|&|&|&6&g&c&7&c&c&**g&6&c&**|&|&|&|&|&|&J&2&_&3&2&&&&&)&`%=&`% &T%C%{*C%F%G%G%H%:^W]W]W]W]W]W]W]W]W]W].^.^>^>^>^>^>^.^>^.^.^W]>^.^W]W]+ + + + + + + + + + + + + + + + + + + + + $+X.D.W.D.w.D.h.c.h.c.c.2.l.!.!.!._ _ =.G.>.>.>.>.4.4.>.>.V V >.>.>.C V C C V >.4.C V C z. ", +" <^] { ] { { ] ] / ^ { { { ] ] { ^ ^ / { ^ { ] ] { { ^ _ _ !.{.{.2.c.2.c.h.h.w.x.w.O.P.X.W..+-+'+'+'+]+]+]+2+2+2+7+7+7+q+s+s+s+D+D+D+S+X+@@X+@@@@=@=@|@|@/@f@|@+ + + + + + + {^[^}^G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+%&&&!&_&&&3&_&2&_&3&|&_&|&_&|&_&|&|&_&|&|&|&_&_&|&|&J&_&|&_&_&2&&&&&!&&&!&~& &T%`%=&T%T%C%C%C%F%G%n%H%W]W]W]W]W]W]W]W].^.^.^W]W]>^>^>^>^>^.^W].^.^>^>^>^.^.^W]W]+ + + + + + + + + + + + + + + + + + + + .+P.D.D.D.D.V.h.h.j.c.2.2.2.~.{.l _ _ f >.>.>.4.>.>.C V >.4.C >.C 4.C C V C >.C >.>.V n, ", +" d@^ ] { ] { { ] ] / / ^ ] { ^ ^ / { ] ^ { { { ^ { _ _ _ #.%.!.2.2.2.c.c.h.i.i.D.w.D.W.X.X.X.-+'+-+'+'+'+2+2+<+7+7+y+7+q+s+q+s+C+D+e@X+W+W+=@@@=@>$r@r@|@7@f@+ + + + + + + |^{^1^2^G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+`%~&`%%&`%%&)&)&!&!&&&2&_&_&_&_&_&_&3&2&_&_&_&_&2&_&&&3&&&)&!&`%`%)&)&`%`%3^T%T%T%M%T%M%M%D%D%E%n%W]W]W]W]W].^.^.^.^.^4^5^6^7^8^9^0^a^b^c^d^e^W]W].^.^.^.^.^.^W]+ + + + + + + + + + + + + + + + + + + + P.O.D.D.w.w.h.h.h.c.c.2.{.!.#._ _ _ _ j#V V V C V V C 4.>.>.>.V V 4.4.V C C 4.V 4.4.W ", +" f^/ { { ] / { ] ^ { { ] ^ ^ / ^ / ] ] { { { { ^ ^ _ _ l #.{.%.!.{.2.r.c.h.h.V.D.V.P.W.W.O.X.X.-+'+:+-+'+<+6+g+2+7+n+s+r+s+q+s+K+D+D+S+S++@@@=@@@@@=@=@6@s++ + + + + + + + + + g^h^G+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+T%Z%*&`%~&`%*&!&)&)&)&)&)&&&%&)&&&3&%&&&!&)&!&!&&&!&)&!&)&%&`%*&`%Z%T%T%T%T%T%T%C%C%C%E%E%E%m%:^]^W]W]W].^.^.^.^.^i^7^j^k^l^+ + + + + + m^n^o^p^q^W].^.^.^.^.^W]W]W]+ + + + + + + + + + + + + + + + + + O.D.D.V.h.h.i.c.2.2.{.7.{.{.l _ _ ^ K V C C V V 4.V V V V 4.C C C 4.4.V >.C C V V p@ ", +" l@{ ] ] ] ^ { { ^ { / / ^ { { { ^ ^ ] ] / / ] { ^ _ _ _ %.!.{.7.2.c.r.c.c.h.h.V.w.D.W.O.X..+-+l+-+-+'+]+]+2+2+<+7+n+n+r+s+s+s+C+K+D++@X+X+W+S+x@@@=@=@r^+ + + + + + + + + + + s^t^u^@%F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+`%`%`%`%~&&&`%)&!&`%`%`%%&!&!&`%`%T%`%T%`%`%T%T%T%T%O%O%C%C%D%G%H%m%m%m%]^]^W]W]W]W].^.^.^v^w^x^y^W*+ + + + + + + + + + W*m^z^A^B^W].^W]W]W]W]W]W]W]+ + + + + + + + + + + + + + + + + x.w.v.h.c.c.c.2.{.2.~.l _ _ _ { =.O+V V V V C 4.V V C V C V C >.C >.>.V >.C 4.p@ ", +" O~{ / { ^ ^ { ] ] ^ ] ] { ] { ^ ^ { ] ] ] { { ] { ^ _ %.{.!.%.{.c.2.c.h.h.i.h.D.D.D.W.W. +.+-+-+-+'+'+6+<+2+2+7+7+7+y+s+s+q+s+J+C+D+X+S+X+X+@@@@x@@@E]+ + + + + + + + + + + + C^D^g^E^F^F+F+F+F+F+8%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+T%T%T%*&`%T%=&T%`%=&=& &T%`%Z%T%C%C%T%T%C%O%C%N%F%E%F%H%t%H%e%e%]^W]W]W]W]W].^.^.^G^j^y^W*+ + + + + + + + + + + + + + + + H^I^e^W]W]W]W]W]W]W]W]W]+ + + + + + + + + + + + + + + w.V.v.h.j.c.c.c.{.{.%.!._ _ _ / T V V C 4.>.C C C C C C C V C V >.C >.C V >.W ", +" x { ] ^ / ] { / { ^ ^ ^ / ] { { { { ] ] { ] ^ ^ _ _ _ %.l !.{.2.2.2.c.c.i.w.x.D.x.D.P.X.O..+-+-+-+'+'+<+]+g+<+2+7+7+x+7+q+s+C+C+D+C+9&+@D+S+@@S+=@J^+ + + + + + + + + ;@+ + + + + + W]W]W]W]W]W]W][%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+T%T%T%T%T%C%-&T%T%T%T%C%C%C%M%C%N%N%O%E%D%E%E%D%m%n%Q]m%W]W]W]W]W]W]W]W]W]W]i^d^K^W*+ + + + + + + + + + + + + + + + + + + + L^0^W]W]W]W]W]W]W]W]W]+ + + + + + + + + + + + + + w.h.i.i.c.2.l.{.{.!.l %._ _ J S ^.C V V 4.C C 4.C V V >.C >.V V >.V V C C B+ ", +" _+^ ] / { { { ] { ^ ^ { ^ ] { ] { / ] { ] / { ^ ` _ $._ %.#.{.!.2.2.r.i.h.h.x.x.D.D.D.X..+X.l+'+-+'+]+:+2+<+2+2+7+7+q+y+r+n+J+K+C+D+D++@X++@S+@@+ + + + + + M^5+@@|@f@i++ + + + + W]W]W]W]W]W]W]W]W]G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+M%C%M%O%N%M%C%C%C%C%D%G%O%G%F%G%F%D%n%n%n%m%H%e%:^]^]^W]W]W]W]W]W]W]W]W]W]9^N^y^W*+ + + + + + + + + + + + + + + + + + + + + + m^O^K^P^k^Q^R^W]W]W]W]W]+ + + + + + + + + + + + i.h.r.c.c.2.{.{.!.$._ _ ^ ] _ G.V C V C C C V >.>.V >.V 4.4.C V >.>.C 4.z. ", +" S^] ] { { { ] { { / { ^ ] / ^ { ] / ] ^ ] ^ { J J _ _ %.~.{.!.{.c.c.c.h.h.K.K.w.D.D.D.X.X..+-+-+'+'+'+-+2+6+e+2+2+7+x+q+o+y+q+C+D+C+D++@D++@X++ T^U^V^@@=@^@/@/@6@^@f@O@+ + + + + W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G%G%G%F%E%E%C%G%E%D%D%D%F%G%D%E%D%E%n%:^:^:^:^]^]^W^W]W]W]W]W]W]W]W]W]W]9^+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + W*y^W]W]W]W]W]+ + + + + + + + + + + + h.c.2.2.c.!.!.{.%._ _ ^ / U+C C C C >.V C V >.>.C 4.V V >.V C V >.V }@ ", +" X^/ ] ] ^ ^ ] { ] { ] ] { { / { { { ^ ^ ^ ] ^ / J _ _ _ $.!.2.7.c.2.c.c.v.i.i.D.D.D.P.D. +-+.+X.-+-+'+:+]+2+2+2+7+7+x+7+n+r+s+s+C+s+D+D++@X+X+X+@@@@W+x@@@=@/@=@|@7@7@Y^+ + + + W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]Z^G+G+G+G+G+m%E%t%H%m%m%m%m%n%D%H%H%m%m%m%:^]^]^W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]B^+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + W]W]W]W]W]+ + + + + + + + + + + c.c.2.2.{.!.!._ _ _ _ _ ] M 4.4.4.V V C 4.C V 4.>.V >.>.C C >.C C `^ ", +" /{ ^ { { ^ / ] ^ ^ { ^ { ] { { ^ ] { ^ { / { ^ _ _ _ #.%.~.2.2.2.c.h.h.w.h.v.D.D.D.W.P..+W.-+X.-+'+-+m+<+]+<+6+<+7+7+7+n+x+s+./s+s+C+K+D+X+X++@X+X+@@@@=@=@=@=@=@/@/@+ + + + + W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]j^+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + W]W]+ + + + + + + + + + + + + l.2.{.~.~._ %.^ _ ^ / j#V C 4.>.C C >.4.4.>.C C >.>.V 4.4.C C '@ ", +" .@{ / ^ { { / { ^ { ^ ] ] ^ { ^ { ^ { / ] { ` J _ _ _ !.$.%.{.2.{.2.c.j.h.v.x.w.x.D.W.W..+.+$+.+'+'+'+]+]+:+2+g+<+7+7+y+7+n+q+s+s+C+D+Q+C+D+D++@X+W+X+x@=@=@=@@@=@|@+ + + + + + W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 7.!.!.~.l l _ ^ _ / K V V V C >.>.C >.V C >.V V V C C V V V a' ", +" J.f ^ / ^ / ^ ] { ^ / { / ^ ] { ^ ] ] / ^ { ^ ^ { ^ _ %.{.%.{.{.{.C.j.c.h.h.h.D.D.W.D.O.X.W..+.+.+$+-+'+]+]+2+7+e+2+7+7+7+s+q+y+s+s+s+D+D+D+D+D+D+S+X+W+S+x@=@@@=@=@+ + + + + W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {.%.$.%._ _ _ ` ^ / ..V C >.V 4.V V 4.C C C C V C V V C V G# ", +" +/] { { ^ ] { ^ ] / ] { ^ / ] / ^ ] { { ] ] J _ _ l {.#.$.{.c.2.c.c.h.i.w.v.i.D.D.D.W.W.O..+$+$+1+'+'+:+]+]+<+]+7+e+7+7+7+q+q+q+s+C+C+s+D+D+D+S++@D+W+X+x@=@@@=@@@+ + + + + + W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {.!._ _ _ _ ] { j#V C V 4.V 4.V >.C C >.C >.C V 4.>.@/ ", +" a { ^ / { { ] ] ^ ^ ] / ] { { { { { ^ / ^ ^ ] ^ _ !.l $.{.2.{.2.2.c.c.c.i.D.w.D.D.D. +X.X. +.+-+-+'+m+:+]+]+2+7+<+e+7+7+7+7+q+s+q+q+C+K+C+K+D+C+D+X+*@S+W+W+X+=@W++ + + + + + + + W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ~._ _ ^ ^ ] / s C V V >.4.>.>.V >.V >.V V V 4.V >.#/ ", +" F / { ] ] { ^ ] ^ { { ^ / / ] ] / ] ] { ^ J { _ _ $.%.l !.7.{.l.2.c.h.i.h.w.w.i.D.D.P.{+ +W.X.X.$+1+'+<+'+'+]+<+2+]+7+7+7+7+7+y+n+q+s+J+s+K+s+C+D+X+D+S+T@S+S+@@@@x@+ + + + + + + + + + + + W]W]W]W]W]W]W]W]W]W]+ W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + %._ ^ _ J ^ y S.V >.>.V V C >.4.C >.C V C V C >.Y ", +" $/F.{ { { { ] / ] { { { / ] { { / ] ^ { / { J _ _ _ ~.l {.!.2.2.2.c.c.i.i.v.x.w.x.D.D.X.X..+.+X.-+-+-+-+]+<+<+2+]+2+<+7+7+7+7+r+o+q+q+s+C+C+D+D+D+9&D+D++@W+X+S+W+@@+ + + + + + + + + + + + + + + + + + + + + + + + W]W]W]W]W]W]+ W]W]W]W]W]W]W]+ W]W]W]W]W]+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ^ J { { / { G.C >.V 4.>.C C C >.V C C >.V C ,$I+ ", +" %// ] { / ] { / ] { { { { { ^ { ] { ] ] ^ _ _ _ _ !.~.%.{.l.2.2.,@c.i.i.i.i.D.D.D.D.W.X.X.X.$+.+-+.+-+-+:+<+<+6+2+7+7+7+7+7+q+n+n+r+s+J+q+C+K+D+D+D+C+D++@X+@@@@@@W+@@+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + _ ^ J { / { L >.V C C C V >.V C >.V V V V 4.&/ ", +" `.] / / ] ^ { / { ^ ] { { { / ] ] ] ^ ] ^ ^ J _ _ #.l %.{.{.2.2.2.2.j.h.i.V.x.i.D.D.D.W. +X.X..+$+-+'+m+]+'+]+]+f+<+<+7+2+7+7+x+7+7+s+s+s+s+C+q+K+D+D+D+D+D+D+S+T@+@S++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + _ ^ _ ] ^ ^ s V V C V C V >.>.V C C 4.C 4.4.*/ ", +" k+^ ] { { { ] { ] { { { { ] { / { { { / { { J _ _ !.!.~.!.!.!.7.2.2.h.v.v.v.K.V.D.D.W.D.O. +.+.+1+$+-+-+-+'+]+<+<+]+e+g+<+7+7+7+n+o+n+s+s+q+q+C+K+s+C+C+D+D+C++@S+S+@@+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + J J ] _ ^ { F.a+C >.C V V V V >.V V V C C C p+ ", +" 2 ] / { ] / ^ ] ] ] { { { ] { { ^ ^ ^ { ^ ^ _ _ %.!.$.{.2.2.l.2.2.,@h.c.w.h.w.D.w.D.P.X.X..+ +X..+'+'+'+]+]+<+'+<+6+2+7+g+7+7+7+y+7+r+y+s+s+q+s+J+C+D+s+D+D+D+D+D+X+T@+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + j.r.2.c.l.2.!.!._ $.%.$._ _ ^ ] ] ^ ] +.V V C 4.V C C >.C V C C C j+ ", +" j S ^ ] ^ ^ ] / { ] { { ] { ] ] { / { / ^ / _ _ _ $.{.{.{.{.l.c.c.c.c.h.i.i.w.w.D.D.D.O.O.O.X.W.$+.+$+-+'+-+'+<+]+<+]+g+6+7+7+7+n+n+7+r+o+r+q+s+s+s+q+C+s+C+D+K++@D+D++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .+{+P. +D.D.D.K.D.i.i.c.c.c.r.c.{.{.{.{.%.!._ _ _ _ J { ] { / G.V 4.C C C C 4.C C >.>.C 3=j ", +" =/{ ^ ^ ^ / ] ^ ^ { { { { / { / ] { / / J _ _ _ {.l !.~.{.2.c.c.h.h.h.i.i.w.D.D.x.D.D.O.W. + +.+.+.+.+'+-+<+'+'+<+<+2+2+g+2+7+7+7+n+7+n+n+n+r+q+q+q+s+J+J+C+D+D+D+C++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + W.X.W.P.D.x.w.D.V.h.v.i.c.c.c.2.2.{.7.%.%.%.$._ _ / ^ { ] { { L >.>.C V C C V V V >.C C c@ ", +" -/( / { { ^ { ^ ] { ] { { ] { { ^ ^ { J { / _ _ %.%.!.g${.{.{.2.c.h.h.v.h.h.i.D.V.D.D.W.W.P..+.+-+.+.+-+'+'+<+]+<+]+]+]+f+<+7+2+7+7+7+y+o+q+q+q+q+s+s+q+C+q+q+C+C+J+C++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +X.D.D.D.D.i.v.w.h.j.2.c.c.2.c.7.{.!.~.!._ _ _ _ / { { ] { { T C V C V C >.4.C 4.>.C `+[+ ", +" u./ / { { ] / { ^ ] / / ^ { ^ ] / ] ` { ^ _ _ _ _ %.!.{.l.{.2.c.h.i.h.i.V.x.h.D.D.D.D.P.W.X.W..+-+$+'+.+-+'+'+'+<+<+6+<+<+<+<+7+7+2+7+n+r+n+o+y+y+y+o+q+r+q+s+s+q+C+C++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +X.D.P.D.w.D.i.w.v.j.i.i.c.2.2.{.7.!.!.{.%._ _ _ ^ ^ / { / / / s C V >.V V 4.>.>.C C V z. ", +" ;/] ] { ^ { { ] ] { { { { { ] / { / ^ { J _ _ _ ~.!.!.!.!.{.2.c.c.i.h.i.h.i.h.w.D.D.O.D.W..+X.X.X.-+$+-+.+-+m+'+'+'+<+'+]+<+e+<+2+2+7+7+7+7+n+n+y+r+o+s+s+s+s+y+C+s+s+s++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + X.X.P.W.{+D.D.w.x.h.h.i.h.h.2.2.2.{.2.!.#.%.l _ _ _ ^ ^ { { { ] ] R.4.C V 4.C 4.C >.4.V `+[ ", +" >/^ { ^ { / ] ^ { { ] { { { ] { ^ ] _ J _ _ _ ~.%.!.{.%.{.2.c.c.2.c.i.c.v.h.w.w.w.D.P.{+P. +.+.+X.-+.+-+1+-+)+'+'+]+]+b@]+]+2+2+2+f+e+2+7+7+n+n+n+y+7+o+r+s+q+q+n+r+q+s+s++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .+.+P.W.O.D.D.D.D.D.w.i.i.h.c.h.r.c.2.{.7.!.{.!.!._ _ J { =./ { { { ^ ,/^.C C >.C V 4.>.V C !+ ", +" *+d@] ^ ] ^ ] ] ^ ] { { / ^ ] { ] / { ^ ^ _ _ _ {.%.~.{.!.c.l.2.h.c.h.i.~@v.h.v.x.w.D.D.O.X.W..+.+-+$+.+.+-+'+-+'+'+]+'+:+]+]+2+<+2+f+2+7+2+7+7+7+7+7+y+n+x+7+s+y+y+q+q+y+q+q++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + X.W.X.W.W.D.D.D.w.w.h.w.h.h.,@c.c.2.{.{.7.!.~.{._ l _ _ J { ^ / { { ] y [.C >.C C C C >.C '/>+ ", +" )/] ^ { ] ] / { ] { { { / / / { ] ] ] ^ J _ l l !.~.{.{.!.2.2.2.i.c.c.h.v.i.i.w.w.w.D.D.W.W. +W. +X..+.+.+-+-+'+-+Z+]+'+'+<+'+<+]+6+<+e+g+e+e+7+g+7+7+7+7+y+7+n+7+n+n+x+s+q+s++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .+.+W..+ +D.D.W.D.D.D.K.V.D.i.i.c.h.h.c.2.c.2.7.!.~.!.!.!.#._ _ _ _ ^ ^ ] ^ { ] 3 ^.C V >.V >.V >.V !/ ", +" `.{ ^ { { { ^ { ] ^ ] ] ] { / { ] =.^ _ _ _ l %.%.{.{.{.{.2.c.c.c.i.h.v.i.K.x.h.w.w.D.D.W.W.P. +.+.+$+-+-+-+-+-+-+-+m+'+'+'+<+<+<+<+6+2+7+<+2+e+<+7+7+7+7+7+7+7+7+n+7+y+7+7+q+y+y+x+r++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -+X..+X.X..+X.X.X.W.W.D.w.D.w.i.i.i.h.c.j.c.j.c.l.{.2.{.!.{.%._ _ _ _ =.^ ^ ^ ^ ] { ^ S [.>.V C C 4.V V @+ ", +" U.] { ^ / { ] { / { / { { { / ] / { ^ J _ _ _ !.!.{.{.{.{.c.c.c.h.c.c.c.i.i.i.V.x.D.D.D.D.{+D..+ +X..+$+-+.+.+-+'+'+]+:+'+'+m+<+]+]+]+2+]+]+g+<+f+e+<+2+f+7+7+e+7+7+7+7+2+7+7+7+7+7+7+7+7+7+7+7+7+7++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + -+.+1+.+.+ +.+W.W.{+O.P.P.D.D.w.x.i.K.h.h.v.i.h.c.c.c.c.7.!.%.{.%.~.!.l _ ^ J { { ] ] { ^ ] K ^.C C C >.>.V ~/ ", +" N.] ] ] / ^ / { { / { / { { ^ { _ { ^ _ _ _ _ ~.{.!.{.!.l.!.c.c.h.c.i.h.h.h.h.w.w.D.D.D.P.O.D.D.W..+.+-+$+.+-+.+'+-+-+'+m+]+m+]+:+'+'+6+<+]+6+<+<+<+g+2+2+2+<+2+g+2+g+2+2+e+7+7+g+7+2+<+e+7+2+7+6+f+2+2+<+]+<+g+2+<+<+6+]+]+]+<+'+'+]+'+'+'+-+-+'+-+.+X.1+.+.+.+X. +{+{+ +D.D.D.D.x.w.i.x.v.w.h.h.c.c.c.c.2.7.2.{.{.{.~.$.%.$._ J ^ ` { ^ / ] { / ] R.a+C V 4.V >.}. ", +" {/t { ^ ] { { ^ / ^ / / ] ] { { ^ { _ _ _ _ l %.!.!.!.2.{.{.2.2.2.h.i.h.~@i.h.w.w.D.K.D.D.D..+X.O.D..+.+ + +$+X..+-+$+-+-+-+-+-+'+-+'+<+'+]+'+'+]+6+]+<+<+<+]+6+<+g+<+2+f+<+2+]+g+6+e+g+]+2+6+<+2+6+]+]+2+<+]+:+'+6+]+]+]+'+:+'+-+'+]+'+-+-+1+.+.+.+.+.+-+X..+W.W.D.W.D.D.D.V.D.h.w.h.w.~@h.i.h.c.r.!.2.!.{.2.!.{.{.~.l _ ^ { / { / ] ^ ] { { { m.>.C >.V 4.H.{/ ", +" ]/t / ] { ] ] ] ] { ^ { / / ] { J ^ _ _ _ l #.%.%.{.2.{.2.c.c.c.c.h.c.i.i.i.i.i.D.v.w.K.D.D.D.X.D.O.W.X..+.+X..+.+.+X.-+-+-+'+'+'+-+'+'+]+:+-+m+'+]+Z+]+'+'+'+]+:+]+]+<+]+]+:+<+'+<+]+b@'+:+]+<+]+'+]+:+:+'+]+]+-+m+]+'+'+'+-+-+-+1+.+-+.+-+X.W. +X.W.D.O.D.P.W.D.D.V.D.x.V.i.i.i.h.c.2.c.c.2.2.7.2.%.!.{.{.l %._ _ ^ { J ] ^ { { ^ { ] ^ M.>.C V >.H.I. ", +" t.u.^ { / { ^ ] / ] { { ^ { { =.^ ^ J _ _ {.~.!.l !.{.!.{.2.c.2.i.h.h.h.c.i.h.i.h.V.D.D.w.D.W.D.D.P.X.O.X.X.W.X..+.+.+-+.+'+-+'+-+'+-+'+-+-+'+]+'+]+m+'+:+'+:+m+'+'+:+]+'+]+'+-+'+]+]+'+-+'+'+-+]+'+'+'+-+-+-+-+'+-+-+.+.+-+X.$+X..+X. +.+.+X.O.X.W.W.D.D.D.w.x.K.D.v.i.v.i.c.j.h.2.c.7.2.{.{.{.!.{.{._ _ _ ` ^ ^ ^ ] { { { ] { / / L >.V 4.z.A. ", +" p.{ { ] { { ] ^ { ^ { / { ] { _ _ _ _ _ !._ !.!.!.{.!.7.{.c.c.c.c.h.j.j.i.h.h.w.w.V.V.D.w.D.D.D.D.O..+W.X.W.W..+X.X..+.+X.$+-+-+.+$+|+-+'+.+-+'+'+-+-+'+'+-+'+-+'+-+'+-+'+'+-+'+-+-+'+'+-+|+-+$+-+1+.+.+.+X..+$+.+$+W..+.+D.W.{+P.O.D.D.W.D.D.D.D.w.D.i.w.h.i.i.c.h.c.c.2.l.2.2.{.2.{.$.!.{._ %._ _ ^ { ^ ^ { ] ^ ] ] { ^ y ,#>.C s. ", +" f.S { { / { ^ { ] ^ ] ] ] { ] J _ _ _ _ $.~._ ~.d+{.!.{.2.2.2.C.c.i.h.c.i.i.h.i.i.h.i.D.D.D.D.D.D.O.W. +O.W.X.X.W.W..+X.$+W.$+.+.+.+$+.+X..+.+'+$+-+.+'+-+-+1+.+'+'+'+.+-+'+-+-+.+.+X.$+X.X..+.+-+.+.+X.W.X..+X..+.+{+X.D.D.D.D.D.D.w.w.h.D.i.h.h.i.h.c.,@c.c.2.c.c.c.7.{.!.!.!.!.l l _ _ _ _ / { ] { ] { ^ { ] ] ^ K [.b+^/ ", +" e.//] / { ^ ] { ^ { / { ] _ / J { _ _ %._ ~.{.!.~.~.{.{.2.c.c.c.c.c.c.c.c.h.h.h.h.D.w.x.x.D.w.D.D.W.D.D.O.W.W.O.W.X.D. + +X.X..+X.X.X.X.X..+.+X..+-+X.-+X.X.-+-+.+X..+.+X..+.+W.X..+X..+ +X.X.O.X.W.P.W.P.D.D.W.D.D.D.D.x.K.x.D.K.i.x.h.i.c.j.h.h.c.,@c.c.c.l.7.2.{.{.~.$.%.%.%.$.^ _ ^ ^ { { / { { ^ ] ^ { { M.^.e. ", +" (/_// ] ] ^ { ] ^ ^ { ^ ] ^ J =._ _ l _ _ _ {.{.%.!.{.2.{.2.c.2.,@j.c.c.j.h.i.w.h.i.i.V.w.i.D.D.w.D.D.W.D.D.D.{+P.W.W.P.W.W.W.W.W.X. +X.X.X.{+X..+W.X..+.+W.W..+W..+ +W..+W.P.D.X.{+X..+D.W.D.W.D.W.D.D.D.D.D.x.w.D.D.i.w.h.w.i.i.c.j.c.j.2.h.2.{.{.{.g.!.{.$.#.!._ _ _ _ _ _ ^ { J { ^ ^ ^ ] { / { / S 4&a. ", +" M#] ^ { / ] / { / / { ] ^ ^ _ _ _ _ $._ ~.!.%.!.{.{.2.!.2.c.2.2.2.c.c.c.h.h.h.i.i.h.i.v.x.v.w.i.D.i.V.D.D.D.D.D.D.O.O.P.W.P.W.W.D.X.W.O.X.W.O.P.X.D.W.D.X.X.O.W.O.{+D.W.W.D.{+D.O.D.D.D.D.D.D.D.D.w.i.D.h.w.i.v.w.i.i.h.h.c.c.c.h.c.{.{.2.7.2.{.!.!.!.l l l _ _ _ J { ^ J ^ ] ^ ] / ] ] ^ { { :/ ", +" - _+] / / ^ { ^ ^ ] { / { ] ^ _ _ _ _ !.%.!.!.!.!.~.{.!.{.l.{.7.c.r.2.c.c.r.c.v.h.i.i.v.x.w.i.i.i.h.x.i.V.D.x.D.x.D.D.D.D.D.D.D.D. +D.X.O. +O.W.D.D.O.W.D.D.D.D.D.D.D.D.D.D.V.i.D.i.w.v.V.x.D.i.K.v.w.i.i.i.h.h.r.2.2.c.2.2.2.c.{.2.2.{.{.!._ ~.!._ _ _ =.^ _ J { / { { ] / / ^ ] ^ 2$(. ", +" 0 ).] ] { { ] ] / ^ / ^ / ^ =._ _ _ _ _ l %.%.{.~.{.{.!.{.7.2.c.2.2.h.2.c.c.2.i.h.i.h.i.v.w.i.x.i.w.h.V.w.w.x.w.w.D.w.D.i.D.w.D.D.D.x.D.D.D.D.D.x.V.D.i.D.D.V.i.w.i.h.x.w.h.K.x.h.i.h.v.j.h.i.c.C.j.j.c.c.c.l.c.3.2.7.{.2.7.!.~.!.{.~.~.l _ ^ _ ^ / ^ ^ { { ^ / ] ^ ^ ^ ).0 ", +" 1 #./ { { { ] / / ^ J =.^ J { _ _ _ _ %.l %.{.!.!.7.2.l.c.{.l.c.2.c.r.c.c.2.j.h.h.c.h.c.h.h.v.h.i.h.h.i.v.h.x.v.x.i.x.v.D.D.w.w.D.x.D.w.K.w.w.D.i.w.i.K.v.v.h.i.v.i.w.h.w.i.h.i.h.i.j.c.c.c.2.c.c.2.2.c.7.{.2.{.~.!.{.!.l _ #._ _ _ _ ^ J =./ / / ] ] { { { g ", +" 0/a/6/* b/< c/%/x%q]^ J ` ] ] _ ^ _ _ _ _ 3 { ` / ^ {.x%%/_.< b/* #+a/> ", +" ", +" ", +" ", +" ", +" ", +" "}; diff --git a/community/gri/PKGBUILD b/community/gri/PKGBUILD index be8bc2276..19ba1e79a 100644 --- a/community/gri/PKGBUILD +++ b/community/gri/PKGBUILD @@ -3,17 +3,17 @@ # Maintainer: Stefan Husmann pkgname=gri -pkgver=2.12.22 +pkgver=2.12.23 pkgrel=1 pkgdesc="A script-based language for scientific graphics programming." arch=('i686' 'x86_64') license=('GPL') url="http://gri.sourceforge.net/" -depends=('imagemagick' 'texlive-core' 'perl') -makedepends=('ghostscript' 'gzip') +depends=('perl') +makedepends=('ghostscript' 'gzip' 'imagemagick') source=(http://downloads.sourceforge.net/gri/$pkgname-$pkgver.tar.gz) -md5sums=('e719475161761fa9c7d2e2c2e94c2e76') install=gri.install +md5sums=('eabd37f80ac51f7aef83a89234fb6522') build() { cd $srcdir/$pkgname-$pkgver diff --git a/community/gri/gri.install b/community/gri/gri.install index 066fc98c7..9252cc494 100644 --- a/community/gri/gri.install +++ b/community/gri/gri.install @@ -1,5 +1,5 @@ infodir=/usr/share/info -filelist=(gri.info) +filelist=(gri.info.gz) post_install() { for file in ${filelist[@]}; do diff --git a/core/file/PKGBUILD b/core/file/PKGBUILD index 9869a976c..2a5489e9d 100644 --- a/core/file/PKGBUILD +++ b/core/file/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 123963 2011-05-15 08:19:29Z tpowa $ +# $Id: PKGBUILD 131726 2011-07-14 01:54:47Z allan $ # Maintainer: Allan McRae # Contributor: Andreas Radke pkgname=file pkgver=5.07 -pkgrel=3 +pkgrel=4 pkgdesc="File type identification utility" arch=('i686' 'x86_64') license=('custom') @@ -13,19 +13,17 @@ url="http://www.darwinsys.com/file/" depends=('glibc' 'zlib') options=('!libtool') source=(ftp://ftp.astron.com/pub/${pkgname}/${pkgname}-${pkgver}.tar.gz - file-5.05-zip64.patch file-5.07-zip-detect.patch) md5sums=('b8d1f9a8a644067bd0a703cebf3f4858' - '385f020467debd98bd2d8df6143f93d0' - 'bcbf2e152f38003a2736298bbd0f37f8') + 'ac155cf89af6665dfee76738c27366d8') build() { cd "${srcdir}/${pkgname}-${pkgver}" sed -i 's#\$(datadir)/misc#\$(datadir)#' configure - # identify zip64 files - patch -Np1 -i ${srcdir}/file-5.05-zip64.patch + # combined upstream patches to fix zip file detection patch -Np1 -i ${srcdir}/file-5.07-zip-detect.patch + ./configure --prefix=/usr --datadir=/usr/share/file make } diff --git a/core/file/file-5.07-zip-detect.patch b/core/file/file-5.07-zip-detect.patch index 3e8f128d8..ce433bb90 100644 --- a/core/file/file-5.07-zip-detect.patch +++ b/core/file/file-5.07-zip-detect.patch @@ -1,13 +1,40 @@ ---- file-5.07/magic/Magdir/archive.old 2011-04-23 17:02:48.000000000 +0200 -+++ file-5.07/magic/Magdir/archive 2011-05-15 10:14:44.509271579 +0200 -@@ -654,6 +654,10 @@ +diff -Naur file-5.07-orig//magic/Magdir/archive file-5.07/magic/Magdir/archive +--- file-5.07-orig//magic/Magdir/archive 2011-04-24 01:02:48.000000000 +1000 ++++ file-5.07/magic/Magdir/archive 2011-07-14 11:55:11.821178049 +1000 +@@ -1,5 +1,5 @@ + #------------------------------------------------------------------------------ +-# $File: archive,v 1.63 2011/04/23 15:02:48 christos Exp $ ++# $File: archive,v 1.66 2011/05/25 17:45:54 christos Exp $ + # archive: file(1) magic for archive formats (see also "msdos" for self- + # extracting compressed archives) + # +@@ -654,12 +654,6 @@ >>>>78 string -template Template !:mime application/vnd.oasis.opendocument.image-template -+>26 byte x Zip archive data +-# StarView Metafile +-# From Pierre Ducroquet +-0 string VCLMTF StarView MetaFile +->6 beshort x \b, version %d +->8 belong x \b, size %d +- + # EPUB (OEBPS) books using OCF (OEBPS Container Format) + # From: Adam Buchbinder + # http://www.idpf.org/ocf/ocf1.0/download/ocf10.htm, section 4. +@@ -692,8 +686,15 @@ + >>4 byte 0x09 \b, at least v0.9 to extract + >>4 byte 0x0a \b, at least v1.0 to extract + >>4 byte 0x0b \b, at least v1.1 to extract +->>0x161 string WINZIP \b, WinZIP self-extracting + >>4 byte 0x14 \b, at least v2.0 to extract ++>>4 byte 0x2d \b, at least v3.0 to extract ++>>0x161 string WINZIP \b, WinZIP self-extracting + -+ -+ - # StarView Metafile - # From Pierre Ducroquet - 0 string VCLMTF StarView MetaFile ++# StarView Metafile ++# From Pierre Ducroquet ++0 string VCLMTF StarView MetaFile ++>6 beshort x \b, version %d ++>8 belong x \b, size %d + + # Zoo archiver + 20 lelong 0xfdc4a7dc Zoo archive data diff --git a/core/lvm2/PKGBUILD b/core/lvm2/PKGBUILD index 0e13adba9..a2f1e5010 100644 --- a/core/lvm2/PKGBUILD +++ b/core/lvm2/PKGBUILD @@ -1,12 +1,12 @@ -# $Id: PKGBUILD 129975 2011-06-30 17:54:05Z thomas $ +# $Id: PKGBUILD 131232 2011-07-12 03:27:34Z eric $ # Maintainer: Eric Bélanger # Maintainer: Thomas Bächler pkgbase=lvm2 pkgname=('lvm2' 'device-mapper') -pkgver=2.02.85 +pkgver=2.02.86 _pkgverlvm=${pkgver} -pkgrel=3 +pkgrel=1 arch=('i686' 'x86_64') url="http://sourceware.org/lvm2/" license=('GPL2' 'LGPL2.1') @@ -14,23 +14,19 @@ groups=('base') source=(ftp://sources.redhat.com/pub/lvm2/LVM2.${_pkgverlvm}.tgz lvm2_install lvm2_hook - Be-quiet-on-removing-cache-on-read-only-fs.diff 11-dm-initramfs.rules) -md5sums=('91785ca438e5ce679dd3a386b183d552' +md5sums=('3b42dec4d15ad106302a35149082a20e' 'dcb82506d732cc7b10159a89b579dba8' '8d613b84a175cd85f752a75198e40e15' - '6db89da27928d2415a8e26cd0a842712' '69e40679cd8b3658bfc619e48baae125') -sha1sums=('43ba2a3be84b2e897ae6b47b0b0be7e212216be7' +sha1sums=('f435b389cc11c8f415244fe382f3839d1676770c' '7f108b2f2056eb050fc898bf5190ecf9145aed8a' 'a0e0513c2efb183006e57e595d93ce18be297928' - '6d7dd04be291d7537235704c816a701fd5beacc0' 'f6a554eea9557c3c236df2943bb6e7e723945c41') build() { cd "${srcdir}/LVM2.${_pkgverlvm}" sed -i 's|/usr/bin/tr|/bin/tr|' scripts/lvmdump.sh - patch -p1 -i ../Be-quiet-on-removing-cache-on-read-only-fs.diff unset LDFLAGS ./configure --prefix= --sysconfdir=/etc --localstatedir=/var --datarootdir=/usr/share \ --includedir=/usr/include --with-usrlibdir=/usr/lib \ diff --git a/extra/bzr/PKGBUILD b/extra/bzr/PKGBUILD index 7ae96eb77..942251939 100644 --- a/extra/bzr/PKGBUILD +++ b/extra/bzr/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 124960 2011-05-25 12:48:29Z andrea $ +# $Id: PKGBUILD 131892 2011-07-16 22:47:18Z eric $ # Maintainer : # Contributor: Hugo Doria pkgname=bzr -pkgver=2.3.3 +pkgver=2.3.4 pkgrel=1 pkgdesc="A decentralized revision control system (bazaar)" arch=('i686' 'x86_64') @@ -12,11 +12,13 @@ license=('GPL') depends=('python2') optdepends=('python-paramiko: for sftp support') source=("http://launchpad.net/${pkgname}/${pkgver%.*}/${pkgver}/+download/${pkgname}-${pkgver}.tar.gz") -md5sums=('a8ca30af0431c691ce7e71a74497e31d') +md5sums=('2efb1350c69abd4d5bf7437f06f1fdb9') build() { cd "${srcdir}/${pkgname}-${pkgver}" sed -i 's|man/man1|share/man/man1|' setup.py + sed -i 's|/usr/bin/env python|/usr/bin/env python2|' \ + bzrlib/{plugins/bash_completion/bashcomp.py,tests/ssl_certs/create_ssls.py,patiencediff.py,_patiencediff_py.py} python2 setup.py build } diff --git a/extra/libmp3splt/PKGBUILD b/extra/libmp3splt/PKGBUILD index fefb3827c..f374e413d 100644 --- a/extra/libmp3splt/PKGBUILD +++ b/extra/libmp3splt/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 117351 2011-03-31 07:10:06Z tpowa $ +# $Id: PKGBUILD 131866 2011-07-16 10:20:18Z tpowa $ # Maintainer: Tobias Powalowski pkgname=libmp3splt -pkgver=0.6.1a +pkgver=0.7 pkgrel=1 arch=('i686' 'x86_64') pkgdesc="Library for splitting mp3 and ogg files without decoding" @@ -24,4 +24,4 @@ package() { cd $srcdir/$pkgname-$pkgver make DESTDIR=$pkgdir/ install } -md5sums=('a6a00d83e49adf27abb7a0cb0ea384a4') +md5sums=('dadb166361e2a28955032a1b9f10ed38') diff --git a/extra/libproxy/PKGBUILD b/extra/libproxy/PKGBUILD index 7fde7ae6d..5b1367bd5 100644 --- a/extra/libproxy/PKGBUILD +++ b/extra/libproxy/PKGBUILD @@ -2,40 +2,39 @@ # Maintainer: Jan de Groot pkgname=libproxy -pkgver=0.4.6 -pkgrel=7 +pkgver=0.4.7 +pkgrel=1 pkgdesc="A library that provides automatic proxy configuration management" arch=(i686 x86_64) license=('LGPL') depends=('gcc-libs') -optdepends=('gconf: GNOME configuration module' - 'kdelibs: KDE configuration module' +optdepends=('kdelibs: KDE configuration module' 'networkmanager: NetworkManager configuration module' 'perl: Perl bindings' 'python2: Python bindings') -makedepends=('gconf' 'cmake' 'networkmanager' 'automoc4' 'python2' 'kdelibs' 'perl') +makedepends=('cmake' 'networkmanager' 'automoc4' 'python2' 'kdelibs' 'perl') url="http://libproxy.googlecode.com" source=(http://libproxy.googlecode.com/files/${pkgname}-${pkgver}.tar.gz) options=('!libtool') -md5sums=('199c6b120baf1f7258a55f38d5ec74f5') +md5sums=('509e03a488a61cd62bfbaf3ab6a2a7a5') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd "${srcdir}" mkdir build cd build - cmake -DCMAKE_INSTALL_PREFIX=/usr \ + cmake ../${pkgname}-${pkgver} \ + -DCMAKE_INSTALL_PREFIX=/usr \ -DLIBEXEC_INSTALL_DIR=/usr/lib/libproxy \ -DCMAKE_SKIP_RPATH=ON \ -DPERL_VENDORINSTALL=yes \ - -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_BUILD_TYPE=Release \ -DWITH_WEBKIT=OFF \ -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ - -DCMAKE_C_FLAGS="${CFLAGS}" \ - .. + -DCMAKE_C_FLAGS="${CFLAGS}" make } package() { - cd "${srcdir}/${pkgname}-${pkgver}/build" + cd "${srcdir}/build" make DESTDIR="${pkgdir}" install } diff --git a/extra/mp3splt/PKGBUILD b/extra/mp3splt/PKGBUILD index 9e1769c6f..3d03d5b62 100644 --- a/extra/mp3splt/PKGBUILD +++ b/extra/mp3splt/PKGBUILD @@ -1,14 +1,14 @@ -# $Id: PKGBUILD 116963 2011-03-26 16:55:54Z tpowa $ +# $Id: PKGBUILD 131861 2011-07-16 10:18:13Z tpowa $ # Maintainer: Tobias Powalowski pkgname=mp3splt -pkgver=2.3a +pkgver=2.4 pkgrel=1 arch=('i686' 'x86_64') pkgdesc="Comandline tool for splitting mp3 and ogg files without decoding" license=('GPL') url="http://mp3splt.sourceforge.net" -depends=('libmp3splt>=0.6.1a') +depends=('libmp3splt') source=(http://downloads.sourceforge.net/sourceforge/mp3splt/$pkgname-$pkgver.tar.gz) options=(!libtool) @@ -22,4 +22,4 @@ package() { cd $srcdir/$pkgname-$pkgver make DESTDIR=$pkgdir/ install } -md5sums=('1fe663f7de5a6949bbe5b6aa78fea79f') +md5sums=('aa4dc3de6e789961c71d8b3daaac0623') diff --git a/extra/ocaml/PKGBUILD b/extra/ocaml/PKGBUILD index f460befbc..5f0a24b79 100644 --- a/extra/ocaml/PKGBUILD +++ b/extra/ocaml/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 123206 2011-05-09 09:44:39Z jgc $ +# $Id: PKGBUILD 131871 2011-07-16 10:36:29Z tpowa $ # Maintainer: Tobias Powalowski pkgname=ocaml -pkgver=3.12.0 -pkgrel=2 +pkgver=3.12.1 +pkgrel=1 pkgdesc="A functional language with OO extensions" arch=('i686' 'x86_64') license=('LGPL2' 'custom: QPL-1.0') @@ -11,15 +11,11 @@ url="http://caml.inria.fr/" depends=('gdbm') makedepends=('tk' 'ncurses>=5.6-7' 'libx11') optdepends=('ncurses: advanced ncurses features' 'tk: advanced tk features') -source=(http://caml.inria.fr/distrib/ocaml-3.12/${pkgname}-${pkgver}.tar.gz - fix-ocaml-binutils-2.21.patch) +source=(http://caml.inria.fr/distrib/ocaml-3.12/${pkgname}-${pkgver}.tar.gz) options=('!makeflags' '!emptydirs') -md5sums=('3ba7cc65123c3579f14e7c726d3ee782' - '8c664a0a346424ea2ec6fc6f713170c6') build() { cd "${srcdir}/${pkgname}-${pkgver}" - patch -Np1 -i "${srcdir}/fix-ocaml-binutils-2.21.patch" ./configure -prefix /usr make world.opt make PREFIX="${pkgdir}/usr" MANDIR="${pkgdir}/usr/share/man" install @@ -31,3 +27,4 @@ build() { install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/" } +md5sums=('814a047085f0f901ab7d8e3a4b7a9e65') diff --git a/extra/vlc/PKGBUILD b/extra/vlc/PKGBUILD index 43d28f429..654c7d390 100644 --- a/extra/vlc/PKGBUILD +++ b/extra/vlc/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 129958 2011-06-30 16:26:39Z giovanni $ +# $Id: PKGBUILD 131876 2011-07-16 10:50:22Z giovanni $ # Maintainer: Giovanni Scafora # Contributor: Sarah Hay # Contributor: Martin Sandsmark pkgname=vlc -pkgver=1.1.10 -pkgrel=6 +pkgver=1.1.11 +pkgrel=1 pkgdesc="A multi-platform MPEG, VCD/DVD, and DivX player" arch=('i686' 'x86_64') url="http://www.videolan.org/vlc/" @@ -34,19 +34,14 @@ conflicts=('vlc-plugin') replaces=('vlc-plugin') options=('!libtool') install=vlc.install -source=("http://download.videolan.org/pub/videolan/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.bz2" - vlc-1.1.10-libavformat.patch) -md5sums=('066cb94b1e3aa848d828121354d6be4d' - '9b82571a594e08e67fbae9c96c3f3ed7') +source=("http://download.videolan.org/pub/videolan/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.bz2") +md5sums=('a64846d6f21ea179ae8e8bfb6f9447fe') build() { cd "${srcdir}/${pkgname}-${pkgver}" sed -i -e 's:truetype/freefont:TTF:g' modules/misc/freetype.c - # FS#24872 - patch -Np1 -i ${srcdir}/vlc-1.1.10-libavformat.patch - ./configure --prefix=/usr \ --disable-rpath \ --enable-faad \ diff --git a/kde-unstable/calligra/PKGBUILD b/kde-unstable/calligra/PKGBUILD index 985eb44db..0329e3566 100644 --- a/kde-unstable/calligra/PKGBUILD +++ b/kde-unstable/calligra/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 127250 2011-06-11 13:55:04Z andrea $ +# $Id: PKGBUILD 131881 2011-07-16 15:46:51Z andrea $ # Maintainer: Ronald van Haren # Contributor: Andrea Scarpino @@ -29,7 +29,7 @@ pkgname=('calligra-filters' 'calligra-thesaurus-doc' 'calligra-braindump' 'calligra-flow') -pkgver=2.3.72 +pkgver=2.3.73 pkgrel=1 arch=('i686' 'x86_64') url='http://www.calligra-suite.org' @@ -39,7 +39,7 @@ makedepends=('kdelibs' 'kdepimlibs' 'eigen2' 'freetds' 'kdegraphics-okular' 'boost' 'libkdcraw' 'libpqxx' 'fftw' 'opengtl') groups=('calligra') source=("http://download.kde.org/unstable/${pkgbase}-${pkgver}/${pkgbase}-${pkgver}.tar.bz2") -md5sums=('3825e9b2d2fd2f161d4bb7242203e697') +md5sums=('bed6d1d2f8fcef2dc5da4ceede1f0839') build() { cd "${srcdir}" diff --git a/testing/tftp-hpa/PKGBUILD b/testing/tftp-hpa/PKGBUILD index 4ffee8765..72034141e 100644 --- a/testing/tftp-hpa/PKGBUILD +++ b/testing/tftp-hpa/PKGBUILD @@ -1,30 +1,26 @@ -# $Id: PKGBUILD 131815 2011-07-15 23:11:48Z dan $ +# $Id: PKGBUILD 131856 2011-07-16 06:36:05Z tpowa $ +# Maintainer: dorphell # Contributor: Jose Javier pkgname=tftp-hpa pkgver=5.1 -pkgrel=0 +pkgrel=1 pkgdesc="Official tftp server" arch=('i686' 'x86_64') url="http://www.kernel.org/pub/software/network/tftp/" license=('BSD') -depends=('readline>=6.0') +depends=('readline>=6.0.00') conflicts=('netkit-tftp') backup=('etc/conf.d/tftpd') -source=(http://www.kernel.org/pub/software/network/tftp/$pkgname-$pkgver.tar.gz - tftpd.rc tftpd.conf LICENSE) -md5sums=('d086b1bd6e5ed6375ad407e273afccdf' - 'a974d02526f19222146c8e3d3b598871' - '414a79dc891bced056d99a9bb790fc9e' - '6ce21e27b6fdc1a1adf85c81e42aeecf') +source=(http://www.kernel.org/pub/software/network/tftp/$pkgname-$pkgver.tar.gz tftpd.rc tftpd.conf LICENSE) build() { cd "${srcdir}/${pkgname}-${pkgver}" - ./configure --prefix=/usr --mandir=/usr/share/man --without-tcpwrappers + ./configure --prefix=/usr --mandir=/usr/share/man --without-tcpwrappers make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd "${srcdir}/${pkgname}-${pkgver}" make INSTALLROOT="${pkgdir}" install install -d "${pkgdir}/etc/rc.d" install -d "${pkgdir}/var/tftpboot" @@ -33,3 +29,7 @@ package() { rm "${pkgdir}/usr/share/man/man8/tftpd.8" install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" } +md5sums=('d086b1bd6e5ed6375ad407e273afccdf' + '83fbb6f52205d95951a3c059e5351ca2' + '414a79dc891bced056d99a9bb790fc9e' + '6ce21e27b6fdc1a1adf85c81e42aeecf') diff --git a/testing/tftp-hpa/tftpd.rc b/testing/tftp-hpa/tftpd.rc index b21f87f5c..0222d1693 100755 --- a/testing/tftp-hpa/tftpd.rc +++ b/testing/tftp-hpa/tftpd.rc @@ -14,7 +14,7 @@ case "$1" in if [ $? -gt 0 ]; then stat_fail else - add_daemon in.tftpd + add_daemon tftpd stat_done fi ;; @@ -24,7 +24,7 @@ case "$1" in if [ $? -gt 0 ]; then stat_fail else - rm_daemon in.tftpd + rm_daemon tftpd stat_done fi ;; -- cgit v1.2.3-54-g00ecf