diff options
author | Michał Masłowski <mtjm@mtjm.eu> | 2012-03-14 10:24:35 +0100 |
---|---|---|
committer | Michał Masłowski <mtjm@mtjm.eu> | 2012-03-14 10:24:35 +0100 |
commit | a4f3ca8891e50241ac2ca144949e92b26920ffaf (patch) | |
tree | d31841075429e437c4908580e8ec074f2fe40aa5 | |
parent | 3156702a5deccd61451be9f7d8ba0fd212a3043b (diff) | |
parent | 01a0c4bc740842efa3bf1a7e1d6c8be5656e4e2a (diff) |
Merge branch 'master' of ssh://parabolagnulinux.org:1863/home/parabola/abslibre-pre-mips64el
Conflicts:
community/aspell-ca/PKGBUILD
community/corkscrew/PKGBUILD
cross/mips64el-unknown-linux-gnu-binutils/PKGBUILD
extra/gstreamer0.10-base/PKGBUILD
extra/gstreamer0.10-good/PKGBUILD
extra/gstreamer0.10-ugly/PKGBUILD
extra/libxi/PKGBUILD
extra/mesa/PKGBUILD
extra/mkvtoolnix/PKGBUILD
extra/mpc/PKGBUILD
extra/poppler/PKGBUILD
extra/xf86-video-siliconmotion/PKGBUILD
extra/xorg-server/PKGBUILD
gnome-unstable/gconf/PKGBUILD
gnome-unstable/gnome-desktop/PKGBUILD
gnome-unstable/network-manager-applet/PKGBUILD
gnome-unstable/vte3/PKGBUILD
multilib/chuck/PKGBUILD
multilib/lib32-libpciaccess/PKGBUILD
multilib/lib32-libx11/PKGBUILD
multilib/lib32-libxcb/PKGBUILD
multilib/lib32-libxcb/libxcb-1.1-no-pthread-stubs.patch
multilib/lib32-libxft/PKGBUILD
multilib/lib32-libxi/PKGBUILD
multilib/lib32-llvm/PKGBUILD
multilib/lib32-mesa/PKGBUILD
testing/grep/PKGBUILD
testing/sudo/PKGBUILD
testing/xf86-input-joystick/PKGBUILD
testing/xf86-input-wacom/PKGBUILD
299 files changed, 88770 insertions, 1089 deletions
diff --git a/community/aspell-ca/PKGBUILD b/community/aspell-ca/PKGBUILD index 70fafa27d..87800c619 100644 --- a/community/aspell-ca/PKGBUILD +++ b/community/aspell-ca/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 43272 2011-03-24 13:19:14Z andrea $ +# $Id: PKGBUILD 67433 2012-03-11 19:08:53Z lcarlier $ #Maintainer: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve> pkgname=aspell-ca pkgver=2.1.5 -pkgrel=3 +pkgrel=4 arch=('i686' 'x86_64' 'mips64el') pkgdesc="Catalan dictionary for aspell" depends=('aspell') diff --git a/community/barrage/PKGBUILD b/community/barrage/PKGBUILD index f0b9f4fc1..2daf716e6 100644 --- a/community/barrage/PKGBUILD +++ b/community/barrage/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 54560 2011-08-20 17:29:58Z jlichtblau $ +# $Id: PKGBUILD 67443 2012-03-11 20:00:53Z lcarlier $ # Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org> # Contributor: Allan McRae <mcrae_allan@hotmail.com> # Contributor: Angelo Theodorou <encelo@users.sourceforge.net> pkgname=barrage pkgver=1.0.4 -pkgrel=1 +pkgrel=2 pkgdesc="A violent point-and-click shooting game with nice effects" arch=('i686' 'x86_64' 'mips64el') url="http://lgames.sourceforge.net/index.php?project=Barrage" diff --git a/community/bbpager/PKGBUILD b/community/bbpager/PKGBUILD index 9440101d6..69b459b6b 100644 --- a/community/bbpager/PKGBUILD +++ b/community/bbpager/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 21749 2010-07-17 08:54:37Z lcarlier $ +# $Id: PKGBUILD 67447 2012-03-11 20:35:17Z lcarlier $ # Maintainer: Thayer Williams <jason@archlinux.org> # Contributor: Tom Newsom <Jeepster@gmx.co.uk> pkgname=bbpager pkgver=0.4.7 -pkgrel=3 +pkgrel=4 pkgdesc="A dockable pager for Blackbox and other window managers" arch=(i686 x86_64 'mips64el') url="http://bbtools.sourceforge.net/download.php?file=6" @@ -13,16 +13,16 @@ depends=('gcc-libs' 'libxft' 'libxext') makedepends=('gcc' 'blackbox') source=(http://downloads.sourceforge.net/bbtools/$pkgname-$pkgver.tar.gz \ 02_gcc43.dpatch \ - fix-shm-linking-ugly.diff) + fix-linking-ugly.diff) md5sums=('4eaa91a4d66130af2f7a09c25f917386' 'e985ef893f2080b3b2d47f900f861352' - '6e0b3915ff2f61ac3bab7434c93f37b3') + 'd2258a0cfb580e20869574f373fe7ed4') build() { cd ${srcdir}/$pkgname-$pkgver patch -Np1 -i ../02_gcc43.dpatch - patch -Np1 -i ../fix-shm-linking-ugly.diff + patch -Np1 -i ../fix-linking-ugly.diff autoreconf ./configure --prefix=/usr diff --git a/community/bbpager/fix-linking-ugly.diff b/community/bbpager/fix-linking-ugly.diff new file mode 100644 index 000000000..ff0a5dcf7 --- /dev/null +++ b/community/bbpager/fix-linking-ugly.diff @@ -0,0 +1,12 @@ +diff -U 3 -d -r -N -- bbpager-0.4.7/configure.ac bbpager-0.4.7b/configure.ac +--- bbpager-0.4.7/configure.ac 2008-01-14 18:03:50.000000000 +0100 ++++ bbpager-0.4.7b/configure.ac 2010-07-17 10:36:04.042040059 +0200 +@@ -68,7 +68,7 @@ + dnl pkgconfig checks for blackbox library + PKG_CHECK_MODULES(LIBBT, libbt) + CXXFLAGS="$CXXFLAGS $LIBBT_CFLAGS" +-LIBS="$LIBS $LIBBT_LIBS" ++LIBS="$LIBS $LIBBT_LIBS -lXext -lX11" + + dnl generate the config header + AM_CONFIG_HEADER(config.h) diff --git a/community/bchunk/PKGBUILD b/community/bchunk/PKGBUILD index 61493b795..1cbafecce 100644 --- a/community/bchunk/PKGBUILD +++ b/community/bchunk/PKGBUILD @@ -4,7 +4,7 @@ pkgname=bchunk pkgver=1.2.0 -pkgrel=2 +pkgrel=3 pkgdesc="A Tool to Convert *.raw *.bin files to an ISO file" url="http://hes.iki.fi/bchunk/" arch=('i686' 'x86_64' 'mips64el') @@ -14,10 +14,17 @@ source=(http://hes.iki.fi/$pkgname/$pkgname-$pkgver.tar.gz) md5sums=('6a613da3f34f9a303f202d2e9731d231') build() { - cd $srcdir/$pkgname-$pkgver - /bin/mkdir -p $pkgdir/usr/bin $pkgdir/usr/share/man/man1 - /usr/bin/make || return 1 - /usr/bin/make PREFIX=$pkgdir/usr MAN_DIR=$pkgdir/usr/share/man install - /bin/chown root.root $pkgdir/usr/share/man/man1/bchunk.1 + cd ${srcdir}/${pkgname}-${pkgver} + + make +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + + mkdir -p ${pkgdir}/usr/bin ${pkgdir}/usr/share/man/man1 + + make PREFIX=${pkgdir}/usr MAN_DIR=${pkgdir}/usr/share/man install + chown root.root ${pkgdir}/usr/share/man/man1/bchunk.1 } # vim: ts=2 sw=2 et ft=sh diff --git a/community/beaver/PKGBUILD b/community/beaver/PKGBUILD index b0d67aaad..924b6ea0f 100644 --- a/community/beaver/PKGBUILD +++ b/community/beaver/PKGBUILD @@ -7,12 +7,12 @@ pkgname=beaver pkgver=0.4.1 -pkgrel=1 +pkgrel=2 pkgdesc='Beaver is an Early AdVanced EditoR.' arch=('i686' 'x86_64' 'mips64el') url='http://beaver-editor.sourceforge.net/' license=('GPL2') -depends=('gtk2>=2.0.0' 'hicolor-icon-theme') +depends=('gtk2' 'hicolor-icon-theme') makedepends=('intltool') install=${pkgname}.install options=('!libtool') diff --git a/community/bonnie++/PKGBUILD b/community/bonnie++/PKGBUILD index c271e0e28..9b7d990f4 100644 --- a/community/bonnie++/PKGBUILD +++ b/community/bonnie++/PKGBUILD @@ -14,16 +14,19 @@ source=(http://www.coker.com.au/bonnie++/$pkgname-$pkgver.tgz) sha256sums=('cb3866116634bf65760b6806be4afa7e24a1cad6f145c876df8721f01ba2e2cb') build() { - cd $srcdir/${pkgname}-${pkgver} - ./configure --prefix=/usr - sed -i "s:CFLAGS=-O2 -DNDEBUG \$(WFLAGS) \$(MORECFLAGS):CFLAGS=${CFLAGS}:" Makefile - make + cd $srcdir/${pkgname}-${pkgver} + + ./configure --prefix=/usr + sed -i "s:CFLAGS=-O2 -DNDEBUG \$(WFLAGS) \$(MORECFLAGS):CFLAGS=${CFLAGS}:" Makefile + make } package() { - cd $srcdir/${pkgname}-${pkgver} - make prefix="${pkgdir}/usr" install - install -d $pkgdir/usr/share/doc/bonnie++ - install -Dm644 $srcdir/$pkgname-$pkgver/readme.html $pkgdir/usr/share/doc/bonnie++/readme.html + cd $srcdir/${pkgname}-${pkgver} + + make prefix="${pkgdir}/usr" install + + install -d $pkgdir/usr/share/doc/bonnie++ + install -Dm644 $srcdir/$pkgname-$pkgver/readme.html $pkgdir/usr/share/doc/bonnie++/readme.html } diff --git a/community/bti/PKGBUILD b/community/bti/PKGBUILD index 81efa2c3c..ec0182974 100644 --- a/community/bti/PKGBUILD +++ b/community/bti/PKGBUILD @@ -1,10 +1,11 @@ +# $Id: PKGBUILD 67521 2012-03-13 02:14:29Z kchen $ # Maintainer: Kaiting Chen <kaitocracy@gmail.com> # Contributor: uvok <uvok at online dot de> # Contributor: Urist <9362773 at gmail.com> pkgname=bti pkgver=032 -pkgrel=2 +pkgrel=3 pkgdesc='Console client for Twitter and identi.ca' arch=('i686' 'x86_64' 'mips64el') url='http://gregkh.github.com/bti/' diff --git a/community/calibre/PKGBUILD b/community/calibre/PKGBUILD index 78eccab10..587e24193 100644 --- a/community/calibre/PKGBUILD +++ b/community/calibre/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 66425 2012-02-24 18:43:16Z giovanni $ +# $Id: PKGBUILD 67477 2012-03-12 10:39:06Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Petrov Roman <nwhisper@gmail.com> # Contributor: Andrea Fagiani <andfagiani _at_ gmail dot com> pkgname=calibre -pkgver=0.8.41 +pkgver=0.8.42 pkgrel=1 pkgdesc="Ebook management application" arch=('i686' 'x86_64' 'mips64el') @@ -21,7 +21,7 @@ install=calibre.install source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.xz" 'desktop_integration.patch' 'calibre-mount-helper') -md5sums=('732db88fb0a131218bf5de1331ffc6f3' +md5sums=('8353d4294984b8a3ff0981505e75eff2' '253ce4fe5d01f8ff76b63cd3825755ea' '675cd87d41342119827ef706055491e7') diff --git a/community/castget/PKGBUILD b/community/castget/PKGBUILD index df0ee279c..16b0ef03a 100644 --- a/community/castget/PKGBUILD +++ b/community/castget/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 19913 2010-06-30 19:11:26Z jlichtblau $ +# $Id: PKGBUILD 67455 2012-03-11 21:00:52Z lcarlier $ # Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org> # Contributor: Jeff Mickey <jeff@archlinux.org> pkgname=castget pkgver=1.1.0 -pkgrel=1 +pkgrel=2 pkgdesc="A simple, command-line based RSS enclosure downloader" arch=('i686' 'x86_64' 'mips64el') url="http://www.nongnu.org/castget/" @@ -19,6 +19,10 @@ build() { cd ${srcdir}/$pkgname-$pkgver ./configure --prefix=/usr - make || return 1 + make +} +package() { + cd ${srcdir}/$pkgname-$pkgver + make DESTDIR=${pkgdir} install } diff --git a/community/cddb-py/PKGBUILD b/community/cddb-py/PKGBUILD index 2c871e955..1767fc689 100644 --- a/community/cddb-py/PKGBUILD +++ b/community/cddb-py/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 26144 2010-09-13 19:36:37Z schuay $ +# $Id: PKGBUILD 67459 2012-03-11 21:09:20Z lcarlier $ # Contributor: Allan McRae <allan@archlinux.org> # Contributor: Hugo Ideler <hugoideler@dse.nl> # Contributor: David Keogh <davekeogh@shaw.ca> @@ -6,7 +6,7 @@ pkgname=cddb-py pkgver=1.4 -pkgrel=5 +pkgrel=6 pkgdesc="CDDB-Server access from Python" arch=('i686' 'x86_64' 'mips64el') url="http://cddb-py.sourceforge.net" diff --git a/community/chicken/PKGBUILD b/community/chicken/PKGBUILD index 842cf4fe4..7dbb345a3 100644 --- a/community/chicken/PKGBUILD +++ b/community/chicken/PKGBUILD @@ -1,15 +1,17 @@ +# $Id: PKGBUILD 67462 2012-03-11 21:18:54Z lcarlier $ # Maintainer: Vesa Kaihlavirta <vegai@iki.fi> # Contributor: <david@pako.st> pkgname=chicken pkgver=4.7.0 -pkgrel=1 +pkgrel=2 pkgdesc='A compiler for R5RS scheme, featuring handy extensions' arch=('i686' 'x86_64' 'mips64el') url='http://www.call-with-current-continuation.org/' license=('BSD') depends=('gcc') source=("http://code.call-cc.org/releases/${pkgver}/${pkgname}-${pkgver}.tar.gz") +md5sums=('9389388fdf04c3c64de29633aae12539') build() { cd ${pkgname}-${pkgver} @@ -32,4 +34,3 @@ package() { install -D -m644 LICENSE \ ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE } -md5sums=('9389388fdf04c3c64de29633aae12539') diff --git a/community/clusterssh/PKGBUILD b/community/clusterssh/PKGBUILD index 6962a2369..c457b6e6b 100644 --- a/community/clusterssh/PKGBUILD +++ b/community/clusterssh/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 6917 2009-12-26 21:02:21Z jlichtblau $ +# $Id: PKGBUILD 67467 2012-03-11 21:44:43Z lcarlier $ # Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org> # Contributor: Macfly <mmacfly@gmail.com> # Contributor: Duncan Ferguson <duncan_ferguson@users.sourceforge.net> pkgname=clusterssh pkgver=3.28 -pkgrel=2 +pkgrel=3 pkgdesc="Cluster SSH opens terminal windows with connections to specified hosts and an administration console." arch=('i686' 'x86_64' 'mips64el') url="http://clusterssh.sourceforge.net/" @@ -18,6 +18,11 @@ build() { cd ${srcdir}/$pkgname-$pkgver ./configure --prefix=/usr - make || return 1 + make +} + +package() { + cd ${srcdir}/$pkgname-$pkgver + make DESTDIR=${pkgdir} install } diff --git a/community/corkscrew/PKGBUILD b/community/corkscrew/PKGBUILD index f7a9e0291..c080c9bd3 100644 --- a/community/corkscrew/PKGBUILD +++ b/community/corkscrew/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 15297 2010-04-09 16:08:30Z jlichtblau $ +# $Id: PKGBUILD 67471 2012-03-11 21:49:49Z lcarlier $ # Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org> # Contributor: gothmog.todi <t.haider@vcnc.org> pkgname=corkscrew pkgver=2.0 -pkgrel=4.1 +pkgrel=5 pkgdesc="A tool for tunneling SSH through HTTP proxies" arch=('i686' 'x86_64' 'mips64el') url="http://www.agroman.net/corkscrew/" @@ -16,6 +16,10 @@ build() { cd ${srcdir}/$pkgname-$pkgver ./configure --prefix=/usr - make || return 1 + make +} +package() { + cd ${srcdir}/$pkgname-$pkgver + make DESTDIR=${pkgdir} install } diff --git a/community/dos2unix/PKGBUILD b/community/dos2unix/PKGBUILD index 569a63161..e85d40e06 100644 --- a/community/dos2unix/PKGBUILD +++ b/community/dos2unix/PKGBUILD @@ -1,9 +1,9 @@ -# Maintainer: Bartłomiej Piotrowski <barthalion@gmail.com> +# Maintainer: Bartłomiej Piotrowski # Contributor: Renato Garcia <fgar.renatoATgmailDOTcom> # Contributor: Gerson E. Ruotolo <gersonruotolo@globo.com> pkgname=dos2unix -pkgver=5.3.2 +pkgver=5.3.3 pkgrel=1 pkgdesc='Text file format converter' arch=('i686' 'x86_64') @@ -13,7 +13,7 @@ depends=('glibc') makedepends=('perl') conflicts=('hd2u') source=("http://waterlan.home.xs4all.nl/${pkgname}/${pkgname}-${pkgver}.tar.gz") -md5sums=('aa2768f3e1223f0e8f30e6449d398872') +md5sums=('f352d648b97197c8a786eccc832764d8') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/community/erlang/PKGBUILD b/community/erlang/PKGBUILD new file mode 100644 index 000000000..b52cbf059 --- /dev/null +++ b/community/erlang/PKGBUILD @@ -0,0 +1,71 @@ +# $Id: PKGBUILD 67366 2012-03-10 17:20:02Z tdziedzic $ +# Maintainer: Vesa Kaihlavirta <vesa@archlinux.org> +# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca> +# Contributor: Tom Burdick <thomas.burdick@wrightwoodtech.com> + +pkgname=erlang +pkgver=R14B04 +pkgrel=2 +pkgdesc="A small concurrent functional programming language developed by Ericsson." +arch=(i686 x86_64) +url="http://www.erlang.org/index.html" +license=('custom') +depends=('ncurses' 'glibc') +makedepends=('java-environment' 'perl' 'openssl' 'wxgtk' 'unixodbc>=2.3.1' 'mesa') +optdepends=('wxgtk: for wx support' 'unixodbc: database') + +options=('!makeflags') +source=(http://www.erlang.org/download/otp_src_${pkgver/./-}.tar.gz + http://www.erlang.org/download/otp_doc_man_${pkgver/./-}.tar.gz) +md5sums=('4b469729f103f52702bfb1fb24529dc0' + 'f31e72518daae4007f595c0b224dd59f') + +# please check these deps reported by namcap when you do the next build: +#erlang E: Dependency java-environment detected and not included (found class files usr/lib/erlang/lib/jinterface-1.5.4/priv/OtpErlang.jar, usr/lib/erlang/lib/ic-4.2.27/priv/ic.jar) +#erlang E: Dependency mesa detected and not included (libraries ['usr/lib/libGLU.so.1'] needed in files ['usr/lib/erlang/lib/wx-0.99/priv/erl_gl.so']) + + +build() { + cd "$srcdir/otp_src_${pkgver/./-}" + export ERTSVERSION=$(sed -n 's/^VSN[ ]*=[ ]*\([0-9.]\)/\1/p' < erts/vsn.mk) + export ERLINTERFACEVERSION=$(sed -n 's/^EI_VSN[ ]*=[ ]*\([0-9.]\)/\1/p' < lib/erl_interface/vsn.mk) + + sed -i '/SSL_DYNAMIC_ONLY=/s:no:yes:' erts/configure + + CFLAGS="${CFLAGS} -fno-strict-aliasing" ./configure --prefix=/usr --enable-smp-support --enable-threads -enable-native-libs + make +} + +package() { + cd "$srcdir/otp_src_${pkgver/./-}" + make INSTALL_PREFIX="$pkgdir" install + +# fix prefix + cd "$pkgdir" + for i in usr/lib/erlang/bin/erl \ + usr/lib/erlang/bin/start \ + usr/lib/erlang/erts-${ERTSVERSION}/bin/erl \ + usr/lib/erlang/erts-${ERTSVERSION}/bin/start \ + usr/lib/erlang/releases/RELEASES ;do + sed -i "s#$pkgdir##" $i + done + +# fix symlinks + cd "$pkgdir/usr/lib/erlang/bin" + ln -sf ../erts-${ERTSVERSION}/bin/epmd + + cd "$pkgdir/usr/bin" + for file in *; do + ln -sfv ../lib/erlang/bin/$file + done + + ln -s ../lib/erlang/lib/erl_interface-${ERLINTERFACEVERSION}/bin/erl_call "$pkgdir/usr/bin/erl_call" + +# install documentation + install -d "$pkgdir/usr/share/doc/erlang" + install -D -m644 "$srcdir"/{COPYRIGHT,PR.template,README} "$pkgdir/usr/share/doc/erlang" + cp -r "$srcdir/man" "$pkgdir/usr/lib/erlang" + + install -Dm644 "$srcdir/otp_src_${pkgver/./-}/EPLICENCE" "$pkgdir/usr/share/licenses/$pkgname/EPLICENCE" + +} diff --git a/community/kuickshow/PKGBUILD b/community/kuickshow/PKGBUILD index 0eeb4ea94..92c3fbcb8 100644 --- a/community/kuickshow/PKGBUILD +++ b/community/kuickshow/PKGBUILD @@ -1,19 +1,20 @@ -# $Id: PKGBUILD 33183 2010-11-22 21:37:03Z andrea $ -# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# $Id: PKGBUILD 67493 2012-03-12 21:01:46Z giovanni $ +# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org> +# Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: sxe <sxxe@gmx.de> pkgname=kuickshow pkgver=0.9.1 -pkgrel=3 +pkgrel=4 pkgdesc="A very fast and convenient image viewer" url="http://userbase.kde.org/KuickShow" arch=('i686' 'x86_64' 'mips64el') license=('GPL') -depends=('kdelibs' 'imlib' 'hicolor-icon-theme') +depends=('kdebase-runtime' 'imlib') makedepends=('pkgconfig' 'cmake' 'automoc4' 'docbook-xsl') install=${pkgname}.install source=("http://hosti.leonde.de/~gis/${pkgname}-${pkgver}.tar.bz2") -md5sums=('ac8a7b411445fa91a3fbce76e32ee063') +md5sums=('6866128ee3ef3d0dde809cd5b23d2472') build() { cd ${srcdir} diff --git a/community/kuickshow/kuickshow.install b/community/kuickshow/kuickshow.install index e70c054ec..6c87527e2 100644 --- a/community/kuickshow/kuickshow.install +++ b/community/kuickshow/kuickshow.install @@ -1,5 +1,6 @@ post_install() { xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q } post_upgrade() { diff --git a/community/libnids/PKGBUILD b/community/libnids/PKGBUILD index 93fc7d85e..c690d59d0 100644 --- a/community/libnids/PKGBUILD +++ b/community/libnids/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 59373 2011-11-23 21:13:03Z andrea $ +# $Id: PKGBUILD 67519 2012-03-12 22:18:06Z lcarlier $ # Maintainer: # Contributor: Essien Ita Essien <essiene@datavibe.net> # Contributor: damir <damir@archlinux.org> pkgname=libnids pkgver=1.24 -pkgrel=1 +pkgrel=2 pkgdesc="An implementation of an E-component of Network Intrusion Detection System." arch=('i686' 'x86_64' 'mips64el') url="http://libnids.sourceforge.net/" @@ -17,12 +17,14 @@ md5sums=('72d37c79c85615ffe158aa524d649610') build() { cd $srcdir/$pkgname-$pkgver + ./configure --prefix=/usr --man=/usr/share/man --enable-shared make } package() { cd $srcdir/$pkgname-$pkgver + make install_prefix=$pkgdir install ln -s libnids.so.1.24 $pkgdir/usr/lib/libnids.so.1 } diff --git a/community/libpaper/PKGBUILD b/community/libpaper/PKGBUILD index dea6b1ee0..2c827773c 100644 --- a/community/libpaper/PKGBUILD +++ b/community/libpaper/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 24485 2010-08-25 15:58:51Z mherych $ +# $Id: PKGBUILD 67411 2012-03-11 13:41:08Z cbrannon $ # Maintainer: Mateusz Herych <heniekk@gmail.com> # Contributor: royrocks <royrocks13@gmail.com> pkgname=libpaper pkgver=1.1.24 -pkgrel=1 +pkgrel=2 pkgdesc="Library for handling paper characteristics" arch=('i686' 'x86_64' 'mips64el') url="http://packages.debian.org/unstable/source/libpaper" diff --git a/community/libpar2/PKGBUILD b/community/libpar2/PKGBUILD index 05317e3f0..12a032876 100644 --- a/community/libpar2/PKGBUILD +++ b/community/libpar2/PKGBUILD @@ -4,7 +4,7 @@ pkgname=libpar2 pkgver=0.2 -pkgrel=4 +pkgrel=5 pkgdesc="Parity checking library," arch=('i686' 'x86_64' 'mips64el') url="http://parchive.sourceforge.net/" @@ -21,13 +21,19 @@ md5sums=('94c6df4e38efe08056ecde2a04e0be91' build() { cd ${srcdir}/${pkgname}-${pkgver} - patch -p0 < ${srcdir}/libpar2-0.2-bugfixes.patch || return 1 - autoreconf -fi || return 1 + patch -p0 < ${srcdir}/libpar2-0.2-bugfixes.patch + + autoreconf -fi ./configure --prefix=/usr - make || return 1 - make DESTDIR=${pkgdir} install -#Docs + make +} +package() { + cd ${srcdir}/${pkgname}-${pkgver} + + make DESTDIR=${pkgdir} install + + # Docs install -d ${pkgdir}/usr/share/doc/${pkgname} - install -m644 -t ${pkgdir}/usr/share/doc/${pkgname}/ AUTHORS PORTING README ROADMAP || return 1 + install -m644 -t ${pkgdir}/usr/share/doc/${pkgname}/ AUTHORS PORTING README ROADMAP } diff --git a/community/libstatgrab/PKGBUILD b/community/libstatgrab/PKGBUILD index 16bb04e6c..2479abb0c 100644 --- a/community/libstatgrab/PKGBUILD +++ b/community/libstatgrab/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 38529 2011-01-27 20:56:07Z jlichtblau $ +# $Id: PKGBUILD 67515 2012-03-12 22:09:44Z lcarlier $ # Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org> # Contributor: Eric Belanger <eric@archlinux.org> # Contributor: Hugo Ideler <hugoideler@dse.nl> pkgname=libstatgrab pkgver=0.17 -pkgrel=1 +pkgrel=2 pkgdesc="A library that provides cross platform access to statistics about the system on which it's run" arch=('i686' 'x86_64' 'mips64el') url="http://www.i-scream.org/libstatgrab" diff --git a/community/libtlen/PKGBUILD b/community/libtlen/PKGBUILD index a853c7193..04cb44677 100644 --- a/community/libtlen/PKGBUILD +++ b/community/libtlen/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 22906 2010-08-01 03:53:55Z mherych $ +# $Id: PKGBUILD 67517 2012-03-12 22:14:18Z lcarlier $ # Contributor: Jaroslaw Swierczynski <swiergot@juvepoland.com> pkgname=libtlen pkgver=20041113 -pkgrel=4 +pkgrel=5 pkgdesc="A Tlen.pl protocol library" arch=('i686' 'x86_64' 'mips64el') url="http://libtlen.sourceforge.net/" @@ -13,8 +13,14 @@ source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.t md5sums=('b77c0a3234a21d1b79df8a8b9a9b9534') build() { - cd $startdir/src/$pkgname-$pkgver + cd ${srcdir}/$pkgname-$pkgver + ./configure --prefix=/usr - make || return 1 - make DESTDIR=$startdir/pkg install + make +} + +package() { + cd ${srcdir}/$pkgname-$pkgver + + make DESTDIR=${pkgdir} install } diff --git a/community/libx86emu/PKGBUILD b/community/libx86emu/PKGBUILD index fde41f504..c9973fa49 100644 --- a/community/libx86emu/PKGBUILD +++ b/community/libx86emu/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 36338 2010-12-30 20:33:39Z kchen $ +# $Id: PKGBUILD 67396 2012-03-11 10:52:58Z lcarlier $ # Maintainer: Kaiting Chen <kaitocracy@gmail.com> # Contributor: Gergely Imreh <imrehgATgmailDOTcom> pkgname=libx86emu pkgver=1.1 -_pkgver=$pkgver-9.9 -pkgrel=28 +_pkgver=$pkgver-15.3 +pkgrel=29 pkgdesc='x86 emulation library' arch=('i686' 'x86_64' 'mips64el') url='http://www.opensuse.org/' @@ -13,16 +13,24 @@ license=('BSD') depends=('glibc') makedepends=('rpmextract') source=("http://download.opensuse.org/source/factory/repo/oss/suse/src/$pkgname-$_pkgver.src.rpm") -md5sums=('5e1b64be543002a83d910edce1659cee') +md5sums=('ba6a0fc46307dd79078579140aab2f02') build() { cd "${srcdir}" + rpmextract.sh "${pkgname}-${_pkgver}.src.rpm" tar -xjf $pkgname-$pkgver.tar.bz2 + cd "${srcdir}/${pkgname}-${pkgver}" make LIBDIR=/usr/lib +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make LIBDIR=/usr/lib DESTDIR=$pkgdir install + install -Dm644 LICENSE \ ${pkgdir}/usr/share/licenses/$pkgname/LICENSE } diff --git a/community/libxdg-basedir/PKGBUILD b/community/libxdg-basedir/PKGBUILD index 755f4ad35..116b633a7 100644 --- a/community/libxdg-basedir/PKGBUILD +++ b/community/libxdg-basedir/PKGBUILD @@ -2,7 +2,7 @@ # Contributor: Ondrej Martinak <omartinak@gmail.com> pkgname=libxdg-basedir -pkgver=1.1.1 +pkgver=1.2.0 pkgrel=1 pkgdesc="An implementation of the XDG Base Directory specifications." arch=('i686' 'x86_64' 'mips64el') @@ -12,7 +12,7 @@ depends=('glibc') source=(http://n.ethz.ch/student/nevillm/download/${pkgname}/${pkgname}-${pkgver}.tar.gz 'LICENSE') options=('!libtool') -sha1sums=('133b2b66a6ea43560f4ac41d1235d3282e31da84' +sha1sums=('b924afe4e29c52358ad67476887e9ca0dcf90f7c' 'c76efede60d0632d4241d718919d8b4ec62056b3') build() { diff --git a/community/lxdm/PKGBUILD b/community/lxdm/PKGBUILD index 373ca457b..96bf3daa4 100644 --- a/community/lxdm/PKGBUILD +++ b/community/lxdm/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 60015 2011-12-03 08:31:47Z bpiotrowski $ -# Maintainer: Bartłomiej Piotrowski <barthalion@gmail.com> +# $Id: PKGBUILD 67372 2012-03-10 19:36:34Z bpiotrowski $ +# Maintainer: Bartłomiej Piotrowski # Contributor: AndyRTR <andyrtr@archlinux.org> # Contributor: kiefer <jorgelmadrid@gmail.com> pkgname=lxdm pkgver=0.4.1 -pkgrel=7 +pkgrel=8 pkgdesc="Lightweight Display Manager (part of LXDE)" arch=('i686' 'x86_64' 'mips64el') url="http://sourceforge.net/projects/lxdm/" @@ -17,7 +17,7 @@ install=${pkgname}.install backup=('etc/lxdm/lxdm.conf' 'etc/pam.d/lxdm' 'etc/lxdm/Xsession' 'etc/lxdm/PreLogin' 'etc/lxdm/LoginReady' 'etc/lxdm/PostLogin' 'etc/lxdm/PostLogout' 'etc/lxdm/PreReboot' 'etc/lxdm/PreShutdown') -source=("http://downloads.sourceforge.net/lxde/$pkgname-$pkgver.tar.gz" +source=(http://downloads.sourceforge.net/lxde/$pkgname-$pkgver.tar.gz lxdm.patch lxdm-conf.patch lxdm-pam.patch Xsession.patch lxdm-daemon) md5sums=('8da1cfc2be6dc9217c85a7cf51e1e821' 'baed9055e8825a5511712bc095197519' @@ -31,9 +31,9 @@ build() { ./configure --sysconfdir=/etc --prefix=/usr --libexecdir=/usr/lib/lxdm make - patch -Np0 < ../lxdm.patch - patch -Np0 < ../lxdm-conf.patch - patch -Np0 < ../Xsession.patch + patch -Np0 -i $srcdir/lxdm.patch + patch -Np0 -i $srcdir/lxdm-conf.patch + patch -Np0 -i $srcdir/Xsession.patch } diff --git a/community/lxdm/lxdm.install b/community/lxdm/lxdm.install index 24edd91a4..eaf2339cd 100644 --- a/community/lxdm/lxdm.install +++ b/community/lxdm/lxdm.install @@ -1,10 +1,11 @@ pkgname=lxdm post_install() { - getent group lxdm > /dev/null 2>&1 || groupadd -g 121 lxdm - getent passwd lxdm > /dev/null 2>&1 || useradd -c 'LXDE Display Manager' -u 121 -g lxdm -d /var/lib/lxdm -s /sbin/nologin lxdm - passwd -l lxdm > /dev/null - chown -R lxdm:lxdm /var/lib/lxdm > /dev/null + if [ -z "`getent group "lxdm" 2> /dev/null`" ]; then + groupadd lxdm + chown root:lxdm /etc/lxdm/lxdm.conf + fi + chown -R root:lxdm /var/lib/lxdm > /dev/null chmod +r /etc/lxdm/lxdm.conf } @@ -13,6 +14,11 @@ post_upgrade() { } post_remove() { - getent passwd lxdm > /dev/null 2>&1 && userdel lxdm - getent group lxdm > /dev/null 2>&1 && groupdel lxdm + getent group "lxdm" &>/dev/null && groupdel lxdm #1>/dev/null + return 0 } + +op=$1 +shift + +$op "$@" diff --git a/community/mupdf/PKGBUILD b/community/mupdf/PKGBUILD index 35ef9ac83..ac9609371 100644 --- a/community/mupdf/PKGBUILD +++ b/community/mupdf/PKGBUILD @@ -1,28 +1,31 @@ -# $Id: PKGBUILD 55364 2011-09-10 10:56:13Z pschmitz $ -# Maintainer: Brad Fanella <bradfanella@archlinux.us> +# $Id: PKGBUILD 67364 2012-03-10 11:47:55Z bpiotrowski $ +# Maintainer: Bartłomiej Piotrowski +# Contributor: Brad Fanella <bradfanella@archlinux.us> # Contributor: Stefan Husmann <stefan-husmann@t-online.de> # Contributor: Pierre-Paul Paquin <pierrepaulpaquin@gmail.com> # Contributor: xduugu (.desktop and install files) pkgname=mupdf pkgver=0.9 -pkgrel=1 +pkgrel=2 pkgdesc="lightweight PDF viewer and toolkit written in portable C" arch=('i686' 'x86_64' 'mips64el') url="http://mupdf.com" license=('GPL3') -depends=('freetype2' 'libjpeg' 'jbig2dec' 'openjpeg' 'libxext') +depends=('freetype2' 'libjpeg' 'jbig2dec' 'openjpeg' 'libxext' 'desktop-file-utils') install=mupdf.install source=("http://mupdf.com/download/$pkgname-$pkgver-source.tar.gz") md5sums=('76640ee16a797a27fe49cc0eaa87ce3a') build() { + CFLAGS+=" -fPIC" + CXXFLAGS+=" -fPIC" + cd "$srcdir/$pkgname-$pkgver" make build=release prefix="$pkgdir/usr" } package() { - # Install cd "$srcdir/$pkgname-$pkgver" make build=release prefix="${pkgdir}/usr" install @@ -34,8 +37,8 @@ package() { mv "$i" "$i-mupdf"; done - cd "$srcdir/$pkgname-$pkgver" # Fix mupdf.desktop + cd "$srcdir/$pkgname-$pkgver" sed -i "s/mupdf.xpm/mupdf/" debian/mupdf.desktop sed -i "s/application\/x-pdf/application\/x-pdf/" debian/mupdf.desktop @@ -43,4 +46,7 @@ package() { cd "$srcdir/$pkgname-$pkgver/debian" install -Dm644 mupdf.desktop "$pkgdir/usr/share/applications/mupdf.desktop" install -Dm644 mupdf.xpm "$pkgdir/usr/share/pixmaps/mupdf.xpm" + + # Fix permissions + chmod 644 $pkgdir/usr/lib/{libmuxps.a,libfitz.a,libmupdf.a} } diff --git a/community/python-openbabel/PKGBUILD b/community/python-openbabel/PKGBUILD index 7f86ce232..2d81925c5 100644 --- a/community/python-openbabel/PKGBUILD +++ b/community/python-openbabel/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 57093 2011-10-21 05:48:48Z kchen $ +# $Id: PKGBUILD 67417 2012-03-11 14:35:31Z cbrannon $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Michal Bozon <bozonm@vscht.cz> pkgname=python-openbabel pkgver=2.3.1 -pkgrel=1 +pkgrel=2 pkgdesc="Python bindings of openbabel library" arch=('i686' 'x86_64' 'mips64el') url="http://openbabel.org/wiki/Python" diff --git a/community/python2-openbabel/PKGBUILD b/community/python2-openbabel/PKGBUILD index 6ca534313..55f4f1a1d 100644 --- a/community/python2-openbabel/PKGBUILD +++ b/community/python2-openbabel/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 57091 2011-10-21 05:24:19Z kchen $ +# $Id: PKGBUILD 67419 2012-03-11 14:36:28Z cbrannon $ # Maintainer: Kaiting Chen <kaitocracy@gmail.com> # Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: Michal Bozon <bozonm@vscht.cz> pkgname=python2-openbabel pkgver=2.3.1 -pkgrel=1 +pkgrel=2 pkgdesc="Python 2 bindings of openbabel library" arch=('i686' 'x86_64' 'mips64el') url="http://openbabel.org/wiki/Python" diff --git a/community/sfml/PKGBUILD b/community/sfml/PKGBUILD index fc957b53a..6c7466e05 100644 --- a/community/sfml/PKGBUILD +++ b/community/sfml/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 64959 2012-02-18 23:40:37Z svenstaro $ +# $Id: PKGBUILD 67475 2012-03-11 23:32:18Z svenstaro $ # Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> # Contributor: Ondrej Martinak <omartinak@gmail.com> @@ -7,7 +7,7 @@ pkgname=sfml _git=true if [[ "${_git}" = "true" ]]; then - pkgver=1.99.git20120219 + pkgver=1.99.git20120312 fi pkgrel=1 diff --git a/community/sleuthkit/PKGBUILD b/community/sleuthkit/PKGBUILD index 5eb29e6a9..cd4453461 100644 --- a/community/sleuthkit/PKGBUILD +++ b/community/sleuthkit/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 56657 2011-10-09 12:53:32Z jlichtblau $ +# $Id: PKGBUILD 67511 2012-03-12 21:57:54Z lcarlier $ # Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org> # Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr> pkgname=sleuthkit pkgver=3.2.3 -pkgrel=1 +pkgrel=2 pkgdesc='File system and media management forensic analysis tools' arch=('i686' 'x86_64' 'mips64el') url='http://www.sleuthkit.org/sleuthkit' @@ -27,7 +27,7 @@ package() { make DESTDIR=${pkgdir} install -# licenses + # licenses install -d ${pkgdir}/usr/share/licenses/${pkgname} install -Dm0644 licenses/* ${pkgdir}/usr/share/licenses/${pkgname} } diff --git a/community/slimevolley/PKGBUILD b/community/slimevolley/PKGBUILD index 9f49ec6bb..4cc1cb6bb 100644 --- a/community/slimevolley/PKGBUILD +++ b/community/slimevolley/PKGBUILD @@ -1,22 +1,25 @@ -# $Id: PKGBUILD 33998 2010-11-30 17:47:24Z lcarlier $ +# $Id: PKGBUILD 67388 2012-03-10 21:54:03Z lcarlier $ # Maintainer : Geoffroy Carrier <gcarrier@aur.archlinux.org> # Contributor: Joel Schaerer <joel.schaerer@laposte.net> pkgname=slimevolley pkgver=2.4.2 -pkgrel=1 +pkgrel=2 pkgdesc="A simple yet fun arcade volley game" arch=('i686' 'x86_64' 'mips64el') url="http://slime.tuxfamily.org/index.php" license=('GPL') depends=('sdl_net' 'sdl_ttf' 'sdl_image') makedepends=('cmake') -source=("http://downloads.tuxfamily.org/slime/v242/${pkgname}_${pkgver}.tar.bz2") +source=("http://downloads.tuxfamily.org/slime/v242/${pkgname}_${pkgver}.tar.bz2" + link-libm.patch) md5sums=('42d1287bf459c26475a9bb7a9bb167e5') build() { cd "$srcdir/$pkgname" + patch -Np1 -i ../link-libm.patch + cmake -DCMAKE_INSTALL_PREFIX:FILEPATH=/usr . make } @@ -26,3 +29,5 @@ package() { make DESTDIR="${pkgdir}" install } +md5sums=('42d1287bf459c26475a9bb7a9bb167e5' + '4e5a7d4fb97e8f482e5468acc795a17b') diff --git a/community/slimevolley/link-libm.patch b/community/slimevolley/link-libm.patch new file mode 100644 index 000000000..acbd21d37 --- /dev/null +++ b/community/slimevolley/link-libm.patch @@ -0,0 +1,14 @@ +Description: Link to libm to prevent FTBFS with --no-add-needed. +Author: Evgeni Golov <evgeni@debian.org> +Bug-Debian: http://bugs.debian.org/615775 + +--- slimevolley-2.4.2.orig/CMakeLists.txt ++++ slimevolley-2.4.2/CMakeLists.txt +@@ -42,6 +42,7 @@ LINK_LIBRARIES( + ${SDL_LIBRARY} + ${SDLTTF_LIBRARY} + ${SDLIMAGE_LIBRARY} ++ m + ) + + INCLUDE(FindGettext.cmake) diff --git a/community/vhba-module/PKGBUILD b/community/vhba-module/PKGBUILD index d3a518972..0b6682a40 100644 --- a/community/vhba-module/PKGBUILD +++ b/community/vhba-module/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 62359 2012-01-19 16:30:10Z ibiru $ +# $Id: PKGBUILD 67390 2012-03-11 05:55:10Z schiv $ # Maintainer: Mateusz Herych <heniekk@gmail.com> # Contributor: Charles Lindsay <charles@chaoslizard.org> @@ -6,7 +6,7 @@ pkgname=vhba-module pkgver=20110915 _extramodules=extramodules-3.2-ARCH _kernver="$(cat /lib/modules/${_extramodules}/version)" -pkgrel=3 +pkgrel=4 pkgdesc="Kernel module that emulates SCSI devices" arch=('i686' 'x86_64' 'mips64el') url="http://cdemu.sourceforge.net/" @@ -14,8 +14,8 @@ license=('GPL2') depends=('linux>=3.2' 'linux<3.3') makedepends=('linux-headers>=3.2') install=vhba-module.install -source=(http://downloads.sourceforge.net/cdemu/$pkgname-$pkgver.tar.gz) -md5sums=('fb90cd8fc4cd74d08c92e8235f99f1f4') +source=(http://downloads.sourceforge.net/cdemu/$pkgname-$pkgver.tar.bz2) +md5sums=('8bb99b427ca67bad448f4dd211bdd1a2') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/community/vorbisgain/PKGBUILD b/community/vorbisgain/PKGBUILD index 7c5bc547b..58b5aee84 100644 --- a/community/vorbisgain/PKGBUILD +++ b/community/vorbisgain/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 22308 2010-07-20 22:50:32Z mherych $ +# $Id: PKGBUILD 67509 2012-03-12 21:51:42Z lcarlier $ # Maintainer: Shinlun Hsieh <yngwiexx@yahoo.com.tw> # Contributor: Cory Farmer <rbgkofi@ameritech.net> pkgname=vorbisgain pkgver=0.37 -pkgrel=2 +pkgrel=3 pkgdesc="A utility that computes the ReplayGain values for Ogg Vorbis files." arch=('i686' 'x86_64' 'mips64el') url="http://sjeng.org/vorbisgain.html" @@ -13,10 +13,16 @@ source=(http://sjeng.org/ftp/vorbis/${pkgname}-${pkgver}.tar.gz) md5sums=('850b05a7b2b0ee67edb5a27b8c6ac3a2') build() { - cd ${startdir}/src/${pkgname}-${pkgver} + cd ${srcdir}/${pkgname}-${pkgver} + ./configure --prefix=/usr \ --enable-recursive \ --mandir=/usr/share/man - make || return 1 - make DESTDIR=${startdir}/pkg install + make +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + + make DESTDIR=${pkgdir} install } diff --git a/community/wavegain/PKGBUILD b/community/wavegain/PKGBUILD index ae2379453..cc7ee70fb 100644 --- a/community/wavegain/PKGBUILD +++ b/community/wavegain/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 56863 2011-10-15 08:48:28Z schiv $ +# $Id: PKGBUILD 67386 2012-03-10 21:21:31Z lcarlier $ # Maintainer: Ray Rashif <schiv@archlinux.org> # Contributor: Corrado Primier <bardo@aur.archlinux.org> pkgname=wavegain _realname=WaveGain -pkgver=1.3.0 +pkgver=1.3.1 pkgrel=1 pkgdesc="A command line tool to normalize sound files" arch=('i686' 'x86_64' 'mips64el') @@ -12,12 +12,14 @@ url="http://rarewares.org/others.php" license=('LGPL') depends=('libsndfile') source=(http://www.rarewares.org/files/others/$pkgname-${pkgver}srcs.zip) -md5sums=('6f4bc4f5fc7387db34e04f80fdf74dd2') +md5sums=('456106bae00cec2ec4024da992bc5fd0') build() { cd "$srcdir/$_realname-$pkgver" - make -f Makefile.linux + #make -f Makefile.linux + gcc ${LDFLAGS} ${CFLAGS} *.c -o wavegain -DHAVE_CONFIG_H -lm + } package() { diff --git a/community/wbar/PKGBUILD b/community/wbar/PKGBUILD index 8968b1045..7d59416a3 100644 --- a/community/wbar/PKGBUILD +++ b/community/wbar/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 47294 2011-05-21 08:20:51Z jlichtblau $ +# $Id: PKGBUILD 67431 2012-03-11 19:04:07Z lcarlier $ # Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org> # Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com> pkgname=wbar -pkgver=2.2.2 +pkgver=2.3.0 pkgrel=1 pkgdesc="A quick launch bar developed with speed in mind" arch=('i686' 'x86_64' 'mips64el') @@ -11,8 +11,8 @@ url="http://code.google.com/p/wbar" license=('GPL') depends=('libglade' 'imlib2' 'gcc-libs') makedepends=('intltool') -source=(http://wbar.googlecode.com/files/$pkgname-$pkgver.tar.gz) -sha256sums=('0d7ae78d02d52cdb046a47286341ad6ff42dd9aff667f7d389b4f352046d4db0') +source=(http://wbar.googlecode.com/files/${pkgname}_${pkgver}.orig.tar.gz) +sha256sums=('1a192f150eae92d1c92b86050e4f8046de960a2452c48190187dd6b7a89df63b') build() { cd $srcdir/$pkgname-$pkgver diff --git a/community/xmoto/PKGBUILD b/community/xmoto/PKGBUILD index d1cce5f40..3f74ff3e3 100644 --- a/community/xmoto/PKGBUILD +++ b/community/xmoto/PKGBUILD @@ -1,17 +1,18 @@ -# $Id: $ +# $Id: PKGBUILD 67382 2012-03-10 21:01:16Z giovanni $ # Maintainer: Ronald van Haren <ronald.archlinux.org> # Contributor: Travis Willard <travisw@wmpub.ca> # Contributor: Denis (dtonator@gmail.com) pkgname=xmoto pkgver=0.5.9 -pkgrel=1 +pkgrel=2 pkgdesc="A challenging 2D motocross platform game, where physics play an important role." arch=('i686' 'x86_64' 'mips64el') url="http://xmoto.tuxfamily.org" license=('GPL') -depends=('bzip2' 'libjpeg' 'libpng' 'lua' 'sdl_mixer' 'ode=0.11.1' 'curl' - 'mesa' 'sqlite3' 'sdl_ttf' 'desktop-file-utils' 'sdl_net' 'libxdg-basedir' 'libxml++') +depends=('bzip2' 'libjpeg' 'libpng' 'lua' 'sdl_mixer' 'ode' 'curl' + 'mesa' 'sqlite3' 'sdl_ttf' 'desktop-file-utils' 'sdl_net' + 'libxdg-basedir' 'libxml++') install=xmoto.install source=("http://download.tuxfamily.org/${pkgname}/${pkgname}/${pkgver}/${pkgname}-${pkgver}-src.tar.gz" 'xmoto-0.5.9-libpng15.patch') diff --git a/community/xmoto/xmoto.install b/community/xmoto/xmoto.install index 52399d4c1..e111ef946 100644 --- a/community/xmoto/xmoto.install +++ b/community/xmoto/xmoto.install @@ -1,15 +1,11 @@ post_install() { - /usr/bin/update-desktop-database + update-desktop-database -q } post_upgrade() { - /usr/bin/update-desktop-database + post_install } post_remove() { - /usr/bin/update-desktop-database + post_install } - -op=$1 -shift -$op $* diff --git a/extra/freetype2/PKGBUILD b/extra/freetype2/PKGBUILD index a9b9a792c..ea450c697 100644 --- a/extra/freetype2/PKGBUILD +++ b/extra/freetype2/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 142921 2011-11-18 09:26:09Z andyrtr $ +# $Id: PKGBUILD 153269 2012-03-12 19:00:15Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=freetype2 -pkgver=2.4.8 +pkgver=2.4.9 pkgrel=1 pkgdesc="TrueType font rendering library" arch=(i686 x86_64 'mips64el') @@ -13,7 +13,7 @@ options=('!libtool') source=(http://downloads.sourceforge.net/sourceforge/freetype/freetype-${pkgver}.tar.bz2 freetype-2.3.0-enable-spr.patch freetype-2.2.1-enable-valid.patch) -md5sums=('dbf2caca1d3afd410a29217a9809d397' +md5sums=('77a893dae81fd5b896632715ca041179' '816dc8619a6904a7385769433c0a8653' '214119610444c9b02766ccee5e220680') diff --git a/extra/git/PKGBUILD b/extra/git/PKGBUILD index 8b4ef487a..9a99d37db 100644 --- a/extra/git/PKGBUILD +++ b/extra/git/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 152269 2012-03-06 12:08:41Z dan $ +# $Id: PKGBUILD 153414 2012-03-13 02:15:42Z dan $ # Maintainer: Dan McGee <dan@archlinux.org> pkgname=git -pkgver=1.7.9.3 +pkgver=1.7.9.4 pkgrel=1 pkgdesc="the fast distributed version control system" arch=(i686 x86_64 'mips64el') @@ -92,7 +92,7 @@ package() { install -D -m644 "$srcdir"/git-daemon.conf "$pkgdir"/etc/conf.d/git-daemon.conf } -sha1sums=('6216153da1139c25cb96cfb4441eff327013ec4f' - '223daa871a64facc60bdf643c50c78eac21c88f4' +sha1sums=('05d2ff75ffd3356516d096f992b4fb3b8b6c0079' + '833dc143d2d296754d681c57b41a008ff433b225' 'f2b41828bd912b72e2cb3e14677739c4f370de66' '149e2da1ecb48872ddb31c0945afeaad1f9653d7') diff --git a/extra/gmime/PKGBUILD b/extra/gmime/PKGBUILD index 9f707cccd..c7045e669 100644 --- a/extra/gmime/PKGBUILD +++ b/extra/gmime/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 150770 2012-02-21 20:45:23Z ibiru $ +# $Id: PKGBUILD 152860 2012-03-10 12:02:22Z ibiru $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Ben <ben@benmazer.net> pkgname=gmime -pkgver=2.6.6 +pkgver=2.6.7 pkgrel=1 pkgdesc="Core mime parsing library" arch=('i686' 'x86_64' 'mips64el') @@ -15,14 +15,14 @@ makedepends=('gtk-sharp-2' 'pkgconfig') unset makedepends options=('!libtool') source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) -sha256sums=('efdff4cebaaa9b8dfe99832eb16f54ce60a7e02c5d1f3964f15d4ae0ddf6b3ee') +sha256sums=('f382c2c5bba4e6a384905d536a58661d09783c389c5610e2e447f3c9853ffa1b') build() { # get rid of that .wapi errors in fakeroot export MONO_SHARED_DIR="$srcdir/weird" mkdir -p "$MONO_SHARED_DIR" - cd "$srcdir/$pkgname-$pkgver" + cd "$pkgname-$pkgver" ./configure --prefix=/usr --enable-smime \ --disable-static @@ -30,6 +30,6 @@ build() { } package() { - cd "$srcdir/$pkgname-$pkgver" + cd "$pkgname-$pkgver" make DESTDIR="$pkgdir" install } diff --git a/extra/gstreamer0.10-base/PKGBUILD b/extra/gstreamer0.10-base/PKGBUILD index 96937b678..0ddf53a32 100644 --- a/extra/gstreamer0.10-base/PKGBUILD +++ b/extra/gstreamer0.10-base/PKGBUILD @@ -1,28 +1,20 @@ -# $Id: PKGBUILD 135097 2011-08-10 09:35:11Z jgc $ +# $Id: PKGBUILD 153257 2012-03-12 15:48:41Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgbase=('gstreamer0.10-base') pkgname=('gstreamer0.10-base' 'gstreamer0.10-base-plugins') -pkgver=0.10.35 -pkgrel=1.1 +pkgver=0.10.36 +pkgrel=1 arch=('i686' 'x86_64' 'mips64el') license=('LGPL') makedepends=('pkgconfig' 'gstreamer0.10>=0.10.35' 'orc' 'libxv' 'alsa-lib' 'cdparanoia' 'libvisual' 'libvorbis' 'libtheora' 'pango' 'gobject-introspection') options=(!libtool !emptydirs) url="http://gstreamer.freedesktop.org/" -source=(${url}/src/gst-plugins-base/gst-plugins-base-${pkgver}.tar.bz2 - oggstream-fix-crashes-with-0-byte-vorbis-packets.patch - theoradec-segfault-on-0-byte-ogg_packet-in-_chain_reverse.patch) -sha256sums=('cd24f01bb5258a1f400bc4f2c212bb7cee9ee23c9ffb80d537a24ef366d17103' - '2e9d001dbe0ed598c8e86b0081c6ecdf28a1a6b45ffafc639f5cf52fdf0d467f' - '8da16aed8c098251903208cc7ac233b7a9df3f024f78c6970e71f3c2e2bdaa17') +source=(${url}/src/gst-plugins-base/gst-plugins-base-${pkgver}.tar.xz) +sha256sums=('1fe45c3894903001d4d008b0713dab089f53726dcb5842d5b40c2595a984e64a') build() { cd "${srcdir}/gst-plugins-base-${pkgver}" - - patch -Np1 -i "${srcdir}/oggstream-fix-crashes-with-0-byte-vorbis-packets.patch" - patch -Np1 -i "${srcdir}/theoradec-segfault-on-0-byte-ogg_packet-in-_chain_reverse.patch" - sed -i '/AC_PATH_XTRA/d' configure.ac autoreconf ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ @@ -30,10 +22,15 @@ build() { --with-package-name="GStreamer Base Plugins (Archlinux)" \ --with-package-origin="http://www.archlinux.org/" - make || return 1 + make sed -e 's/^SUBDIRS_EXT =.*/SUBDIRS_EXT =/' -i Makefile } +check() { + cd "${srcdir}/gst-plugins-base-${pkgver}" + make check +} + package_gstreamer0.10-base() { pkgdesc="GStreamer Multimedia Framework Base plugin libraries" depends=('gstreamer0.10>=0.10.35' 'orc' 'libxv') diff --git a/extra/gstreamer0.10-good/PKGBUILD b/extra/gstreamer0.10-good/PKGBUILD index 82e54427a..eca4778b8 100644 --- a/extra/gstreamer0.10-good/PKGBUILD +++ b/extra/gstreamer0.10-good/PKGBUILD @@ -1,17 +1,17 @@ -# $Id: PKGBUILD 148764 2012-02-05 11:49:36Z ibiru $ +# $Id: PKGBUILD 153259 2012-03-12 16:05:31Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgbase=gstreamer0.10-good pkgname=('gstreamer0.10-good' 'gstreamer0.10-good-plugins') -pkgver=0.10.30 -pkgrel=2 +pkgver=0.10.31 +pkgrel=1 arch=('i686' 'x86_64' 'mips64el') license=('LGPL') makedepends=('intltool' 'pkgconfig' 'gstreamer0.10-base>=0.10.34' 'libavc1394' 'libiec61883' 'aalib' 'libshout' 'libdv' 'flac' 'gconf' 'wavpack' 'taglib' 'libsoup-gnome' 'v4l-utils' 'libcaca' 'bzip2' 'gdk-pixbuf2' 'libpulse' 'jack' 'udev') url="http://gstreamer.freedesktop.org/" options=(!libtool !emptydirs) -source=(${url}/src/gst-plugins-good/gst-plugins-good-${pkgver}.tar.bz2) -sha256sums=('b12cba90b27d8423cd0a808939098d19db3996cfb9bf528507c6321782e095f6') +source=(${url}/src/gst-plugins-good/gst-plugins-good-${pkgver}.tar.xz) +sha256sums=('77a8436a7c0a15f876bad29616835046890df2bcaf72da02151bd91e3d292b64') build() { cd "${srcdir}/gst-plugins-good-${pkgver}" @@ -29,6 +29,11 @@ build() { sed -e 's/gst sys ext/gst/' -i Makefile } +check() { + cd "${srcdir}/gst-plugins-good-${pkgver}" + make check +} + package_gstreamer0.10-good() { depends=('gstreamer0.10-base>=0.10.34' 'bzip2') pkgdesc="GStreamer Multimedia Framework Good plugin libraries" diff --git a/extra/gstreamer0.10-ugly/PKGBUILD b/extra/gstreamer0.10-ugly/PKGBUILD index 5a3dbeb3f..f13529d9f 100644 --- a/extra/gstreamer0.10-ugly/PKGBUILD +++ b/extra/gstreamer0.10-ugly/PKGBUILD @@ -1,20 +1,23 @@ -# $Id: PKGBUILD 150876 2012-02-23 13:48:00Z allan $ +# $Id: PKGBUILD 153261 2012-03-12 17:04:34Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgbase=gstreamer0.10-ugly pkgname=('gstreamer0.10-ugly' 'gstreamer0.10-ugly-plugins') -pkgver=0.10.18 -pkgrel=6 +pkgver=0.10.19 +pkgrel=1 arch=('i686' 'x86_64' 'mips64el') license=('LGPL') -makedepends=('pkgconfig' 'gstreamer0.10-base>=0.10.34' 'libdvdread' 'lame' 'libmpeg2' 'a52dec' 'libid3tag' 'libmad' 'libsidplay' 'libcdio' 'x264' 'opencore-amr') +makedepends=('pkgconfig' 'gstreamer0.10-base>=0.10.34' 'libdvdread' 'lame' 'libmpeg2' 'a52dec' 'libmad' 'libsidplay' 'libcdio' 'x264' 'opencore-amr') url="http://gstreamer.freedesktop.org/" options=(!libtool) -source=(${url}/src/gst-plugins-ugly/gst-plugins-ugly-${pkgver}.tar.bz2) -md5sums=('04a7009a4efea2844075949c111f5e4d') +source=(${url}/src/gst-plugins-ugly/gst-plugins-ugly-${pkgver}.tar.xz + opencore-amr.patch) +md5sums=('ba26045c8c8c91f0d48d327ccf53ac0c' + 'd8feb6c99bfaff8be6b2c48ea4e98e47') build() { cd "${srcdir}/gst-plugins-ugly-${pkgver}" + patch -Np0 -i "${srcdir}/opencore-amr.patch" ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ --disable-static --enable-experimental \ --with-package-name="GStreamer Ugly Plugins (Parabola GNU/Linux-libre)" \ @@ -23,6 +26,11 @@ build() { sed -e 's/gst-libs gst ext/gst-libs gst/' -i Makefile } +check() { + cd "${srcdir}/gst-plugins-ugly-${pkgver}" + make check +} + package_gstreamer0.10-ugly() { pkgdesc="GStreamer Multimedia Framework Ugly plugin libraries" depends=('gstreamer0.10-base>=0.10.34') @@ -33,7 +41,7 @@ package_gstreamer0.10-ugly() { package_gstreamer0.10-ugly-plugins() { pkgdesc="GStreamer Multimedia Framework Ugly Plugins (gst-plugins-ugly)" - depends=("gstreamer0.10-ugly=${pkgver}" 'libdvdread' 'lame' 'libmpeg2' 'a52dec' 'libid3tag' 'libmad' 'libsidplay' 'libcdio' 'x264' 'opencore-amr') + depends=("gstreamer0.10-ugly=${pkgver}" 'libdvdread' 'lame' 'libmpeg2' 'a52dec' 'libmad' 'libsidplay' 'libcdio' 'x264' 'opencore-amr') groups=('gstreamer0.10-plugins') replaces=('gstreamer0.10-dvdread' 'gstreamer0.10-mpeg2dec' 'gstreamer0.10-mad' 'gstreamer0.10-lame' 'gstreamer0.10-sidplay' 'gstreamer0.10-a52dec') conflicts=('gstreamer0.10-dvdread' 'gstreamer0.10-mpeg2dec' 'gstreamer0.10-mad' 'gstreamer0.10-lame' 'gstreamer0.10-sidplay' 'gstreamer0.10-a52dec') diff --git a/extra/gstreamer0.10-ugly/opencore-amr.patch b/extra/gstreamer0.10-ugly/opencore-amr.patch new file mode 100644 index 000000000..0a350dc46 --- /dev/null +++ b/extra/gstreamer0.10-ugly/opencore-amr.patch @@ -0,0 +1,35 @@ +--- ext/amrnb/amrnbdec.h.orig 2012-03-12 16:49:14.417405139 +0000 ++++ ext/amrnb/amrnbdec.h 2012-03-12 16:49:35.393899419 +0000 +@@ -22,7 +22,7 @@ + + #include <gst/gst.h> + #include <gst/audio/gstaudiodecoder.h> +-#include <interf_dec.h> ++#include <opencore-amrnb/interf_dec.h> + + G_BEGIN_DECLS + +--- ext/amrnb/amrnbenc.h.orig 2012-03-12 16:49:23.833996062 +0000 ++++ ext/amrnb/amrnbenc.h 2012-03-12 16:49:46.597141876 +0000 +@@ -21,7 +21,7 @@ + #define __GST_AMRNBENC_H__ + + #include <gst/gst.h> +-#include <interf_enc.h> ++#include <opencore-amrnb/interf_enc.h> + #include <gst/audio/gstaudioencoder.h> + + G_BEGIN_DECLS +--- ext/amrwbdec/amrwbdec.h.orig 2012-03-12 16:47:48.658100992 +0000 ++++ ext/amrwbdec/amrwbdec.h 2012-03-12 16:48:12.177910733 +0000 +@@ -22,8 +22,8 @@ + + #include <gst/gst.h> + #include <gst/audio/gstaudiodecoder.h> +-#include <dec_if.h> +-#include <if_rom.h> ++#include <opencore-amrwb/dec_if.h> ++#include <opencore-amrwb/if_rom.h> + + G_BEGIN_DECLS + diff --git a/extra/gstreamer0.10/PKGBUILD b/extra/gstreamer0.10/PKGBUILD index e7498d2be..480e14629 100644 --- a/extra/gstreamer0.10/PKGBUILD +++ b/extra/gstreamer0.10/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 134230 2011-08-02 16:10:38Z jgc $ +# $Id: PKGBUILD 153252 2012-03-12 14:53:39Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=gstreamer0.10 -pkgver=0.10.35 +pkgver=0.10.36 pkgrel=1 pkgdesc="GStreamer Multimedia Framework" arch=('i686' 'x86_64' 'mips64el') @@ -12,8 +12,8 @@ depends=('libxml2' 'glib2') optdepends=('sh: feedback script') makedepends=('intltool' 'pkgconfig' 'gtk-doc' 'gobject-introspection') options=('!libtool') -source=(${url}/src/gstreamer/gstreamer-${pkgver}.tar.bz2) -sha256sums=('817bfea2cd46e2487b97e2ed9218f0299b32a3de1e5e80b4c7868d17e9089786') +source=(${url}/src/gstreamer/gstreamer-${pkgver}.tar.xz) +md5sums=('15389c73e091b1dda915279c388b9cb2') build() { cd "${srcdir}/gstreamer-${pkgver}" diff --git a/extra/icedtea-web-java7/PKGBUILD b/extra/icedtea-web-java7/PKGBUILD index 31c0e9566..b12233bbb 100644 --- a/extra/icedtea-web-java7/PKGBUILD +++ b/extra/icedtea-web-java7/PKGBUILD @@ -3,14 +3,14 @@ pkgbase=icedtea-web-java7 pkgname=('icedtea-web-java7' 'icedtea-web-java7-doc') -pkgver=1.1.5 +pkgver=1.2 pkgrel=1 arch=('i686' 'x86_64') url="http://icedtea.classpath.org/wiki/IcedTea-Web" license=('GPL2') makedepends=('jdk7-openjdk' 'zip' 'gtk2' 'libxtst' 'npapi-sdk' 'rhino' 'junit') source=(http://icedtea.classpath.org/download/source/${pkgbase/-java7/}-$pkgver.tar.gz) -sha256sums=('ab5c34a9dc6bff48baf1f1d1a34bf54bfb954ad93ee9e7e44d642fa991bcc919') +sha256sums=('3f8d22b655df207409dd3451ba02907f61a12ac051e4df4d44bb5ed47c4f778d') _javaver=7 _jvmdir=/usr/lib/jvm/java-${_javaver}-openjdk @@ -29,7 +29,9 @@ build() { check() { cd "${srcdir}"/icedtea-web* - make -k check + # as more tests have been added some are expectged to fail + # see http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-March/017566.html + make -k check || /bin/true } diff --git a/extra/icedtea-web/PKGBUILD b/extra/icedtea-web/PKGBUILD index 63932619f..e8051d7d1 100644 --- a/extra/icedtea-web/PKGBUILD +++ b/extra/icedtea-web/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 152259 2012-03-06 05:29:22Z andyrtr $ +# $Id: PKGBUILD 153280 2012-03-12 20:33:58Z andyrtr $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> pkgbase=icedtea-web pkgname=('icedtea-web' 'icedtea-web-doc') -pkgver=1.1.5 +pkgver=1.2 pkgrel=1 arch=('i686' 'x86_64' 'mips64el') url="http://icedtea.classpath.org/wiki/IcedTea-Web" license=('GPL2') makedepends=('openjdk6' 'zip' 'gtk2' 'npapi-sdk' 'rhino' 'junit') source=(http://icedtea.classpath.org/download/source/$pkgname-$pkgver.tar.gz) -sha256sums=('ab5c34a9dc6bff48baf1f1d1a34bf54bfb954ad93ee9e7e44d642fa991bcc919') +sha256sums=('3f8d22b655df207409dd3451ba02907f61a12ac051e4df4d44bb5ed47c4f778d') _javaver=6 _jvmdir=/usr/lib/jvm/java-${_javaver}-openjdk @@ -24,7 +24,9 @@ build() { check() { cd "$srcdir/$pkgname-$pkgver" - make -k check + # as more tests have been added some are expectged to fail + # see http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-March/017566.html + make -k check || /bin/true } diff --git a/extra/kactivities/PKGBUILD b/extra/kactivities/PKGBUILD index caf3766e6..8d81a92ec 100644 --- a/extra/kactivities/PKGBUILD +++ b/extra/kactivities/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152486 2012-03-07 16:12:35Z andrea $ +# $Id: PKGBUILD 153087 2012-03-12 09:08:04Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kactivities @@ -10,7 +10,7 @@ url='http://kde.org/' license=('GPL' 'FDL') depends=('kdelibs') makedepends=('cmake' 'automoc4') -source=("http://download.kde.org/stable/${pkgver}/src/xz/${pkgname}-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") sha1sums=('29979514848633da71780b342e7328063bd47d07') build() { diff --git a/extra/kdeaccessibility-jovie/PKGBUILD b/extra/kdeaccessibility-jovie/PKGBUILD index bef6a0495..b65b9d2bf 100644 --- a/extra/kdeaccessibility-jovie/PKGBUILD +++ b/extra/kdeaccessibility-jovie/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152506 2012-03-07 16:13:18Z andrea $ +# $Id: PKGBUILD 153104 2012-03-12 09:12:14Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeaccessibility-jovie @@ -13,7 +13,7 @@ depends=('kdebase-runtime' 'speech-dispatcher') makedepends=('cmake' 'automoc4') replaces=('kdeaccessibility-kttsd') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/jovie-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/jovie-${pkgver}.tar.xz") sha1sums=('4ac647ac3823b6a4f01f839f3e11bca09d6353ee') build() { diff --git a/extra/kdeaccessibility-kaccessible/PKGBUILD b/extra/kdeaccessibility-kaccessible/PKGBUILD index f09974e94..b3fb8d850 100644 --- a/extra/kdeaccessibility-kaccessible/PKGBUILD +++ b/extra/kdeaccessibility-kaccessible/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152508 2012-03-07 16:13:20Z andrea $ +# $Id: PKGBUILD 153106 2012-03-12 09:12:46Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeaccessibility-kaccessible @@ -11,7 +11,7 @@ license=('GPL' 'FDL') groups=('kde' 'kdeaccessibility') depends=('kdelibs' 'speech-dispatcher') makedepends=('cmake' 'automoc4') -source=("http://download.kde.org/stable/${pkgver}/src/xz/kaccessible-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kaccessible-${pkgver}.tar.xz") sha1sums=('da137f22a8de55858a3ae80f4e95d89c18b50257') build() { diff --git a/extra/kdeaccessibility-kmag/PKGBUILD b/extra/kdeaccessibility-kmag/PKGBUILD index 1445c60a0..65b8b6166 100644 --- a/extra/kdeaccessibility-kmag/PKGBUILD +++ b/extra/kdeaccessibility-kmag/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152510 2012-03-07 16:13:23Z andrea $ +# $Id: PKGBUILD 153108 2012-03-12 09:13:16Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeaccessibility-kmag @@ -12,7 +12,7 @@ groups=('kde' 'kdeaccessibility') depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/kmag-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kmag-${pkgver}.tar.xz") sha1sums=('35686d11ecf5e2783b7518499300a715ef27108d') build() { diff --git a/extra/kdeaccessibility-kmousetool/PKGBUILD b/extra/kdeaccessibility-kmousetool/PKGBUILD index 8c8992204..6cd9d2254 100644 --- a/extra/kdeaccessibility-kmousetool/PKGBUILD +++ b/extra/kdeaccessibility-kmousetool/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152512 2012-03-07 16:13:27Z andrea $ +# $Id: PKGBUILD 153110 2012-03-12 09:13:45Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeaccessibility-kmousetool @@ -12,7 +12,7 @@ groups=('kde' 'kdeaccessibility') depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/kmousetool-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kmousetool-${pkgver}.tar.xz") sha1sums=('8b3f0323602ab33a5749c7e5c75d50b62c352786') build() { diff --git a/extra/kdeaccessibility-kmouth/PKGBUILD b/extra/kdeaccessibility-kmouth/PKGBUILD index add86d95b..36ba23a37 100644 --- a/extra/kdeaccessibility-kmouth/PKGBUILD +++ b/extra/kdeaccessibility-kmouth/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152514 2012-03-07 16:13:31Z andrea $ +# $Id: PKGBUILD 153112 2012-03-12 09:14:16Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeaccessibility-kmouth @@ -12,7 +12,7 @@ groups=('kde' 'kdeaccessibility') depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/kmouth-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kmouth-${pkgver}.tar.xz") sha1sums=('b4cecf89eea96892608fd125635ea9f9f7fee8be') build() { diff --git a/extra/kdeadmin/PKGBUILD b/extra/kdeadmin/PKGBUILD index 0839c4b06..8f22b6f43 100644 --- a/extra/kdeadmin/PKGBUILD +++ b/extra/kdeadmin/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152516 2012-03-07 16:13:38Z andrea $ +# $Id: PKGBUILD 153114 2012-03-12 09:14:51Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Pierre Schmitz <pierre@archlinux.de> @@ -14,7 +14,7 @@ url='http://www.kde.org' license=('GPL' 'LGPL' 'FDL') groups=('kde' 'kdeadmin') makedepends=('cmake' 'automoc4' 'kdebindings-python' 'system-config-printer-common') -source=("http://download.kde.org/stable/${pkgver}/src/xz/${pkgbase}-${pkgver}.tar.xz" +source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz" 'syslog-path.patch') sha1sums=('0ee44575bfb45159ced6d4d046b07323ebab00e7' '20095ce6e0f3e5b6800a7c6e52de6fddba62c031') diff --git a/extra/kdeartwork/PKGBUILD b/extra/kdeartwork/PKGBUILD index 69e4cd716..38bac13e7 100644 --- a/extra/kdeartwork/PKGBUILD +++ b/extra/kdeartwork/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152518 2012-03-07 16:13:43Z andrea $ +# $Id: PKGBUILD 153116 2012-03-12 09:15:24Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Pierre Schmitz <pierre@archlinux.de> @@ -21,7 +21,7 @@ license=('GPL' 'LGPL' 'FDL') groups=('kde' 'kdeartwork') makedepends=('cmake' 'automoc4' 'xscreensaver' 'eigen' 'kdebase-workspace' 'libkexiv2') -source=("http://download.kde.org/stable/${pkgver}/src/xz/${pkgbase}-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz") sha1sums=('31215ff41d01c8bf680578abe57b65648441a135') build() { diff --git a/extra/kdebase-konsole/PKGBUILD b/extra/kdebase-konsole/PKGBUILD index 95bcde71b..64de32075 100644 --- a/extra/kdebase-konsole/PKGBUILD +++ b/extra/kdebase-konsole/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152520 2012-03-07 16:13:46Z andrea $ +# $Id: PKGBUILD 153118 2012-03-12 09:15:57Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdebase-konsole @@ -11,7 +11,7 @@ license=('GPL' 'LGPL' 'FDL') groups=('kde' 'kdebase') depends=('kdebase-runtime' 'kdebase-lib') makedepends=('cmake' 'automoc4') -source=("http://download.kde.org/stable/${pkgver}/src/xz/konsole-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/konsole-${pkgver}.tar.xz") sha1sums=('23490d929c6c3a56485e4c6585a1d10af9810651') build() { diff --git a/extra/kdebase-runtime/PKGBUILD b/extra/kdebase-runtime/PKGBUILD index 2ea953af1..7a83f2132 100644 --- a/extra/kdebase-runtime/PKGBUILD +++ b/extra/kdebase-runtime/PKGBUILD @@ -1,23 +1,21 @@ -# $Id: PKGBUILD 152464 2012-03-07 16:11:58Z andrea $ +# $Id: PKGBUILD 153395 2012-03-12 20:57:08Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Pierre Schmitz <pierre@archlinux.de> pkgname=kdebase-runtime pkgver=4.8.1 -pkgrel=1 +pkgrel=2 pkgdesc="KDE Base Runtime Environment" arch=('i686' 'x86_64' 'mips64el') url='http://www.kde.org' license=('GPL' 'LGPL') -depends=('kdelibs' 'ntrack' 'smbclient' 'libssh' 'libcanberra' 'oxygen-icons' - 'xorg-xauth') -makedepends=('pkg-config' 'cmake' 'automoc4' 'kdepimlibs' 'openslp' 'doxygen' - 'xine-lib') +depends=('kdelibs' 'smbclient' 'libssh' 'libcanberra' 'oxygen-icons' 'xorg-xauth') +makedepends=('pkg-config' 'cmake' 'automoc4' 'kdepimlibs' 'openslp' 'doxygen') optdepends=('htdig: to build the search index in khelpcenter' 'rarian: needed by khelpcenter' 'gdb: drkonq crash handler') install="${pkgname}.install" -source=("http://download.kde.org/stable/${pkgver}/src/xz/kde-runtime-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kde-runtime-${pkgver}.tar.xz") sha1sums=('82b57dc38335716fb382a665b536a9aece4684d6') build() { @@ -27,7 +25,9 @@ build() { cmake ../kde-runtime-${pkgver} \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SKIP_RPATH=ON \ - -DCMAKE_INSTALL_PREFIX=/usr + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWITH_QNtrack=OFF \ + -DWITH_Xine=OFF make } diff --git a/extra/kdebase-workspace/PKGBUILD b/extra/kdebase-workspace/PKGBUILD index 7798c61b1..7633c970e 100644 --- a/extra/kdebase-workspace/PKGBUILD +++ b/extra/kdebase-workspace/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152488 2012-03-07 16:12:41Z andrea $ +# $Id: PKGBUILD 153084 2012-03-12 09:07:28Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Pierre Schmitz <pierre@archlinux.de> @@ -31,13 +31,13 @@ backup=('usr/share/config/kdm/kdmrc' 'etc/pam.d/kde-np' 'etc/pam.d/kscreensaver') options=('emptydirs') -source=("http://download.kde.org/stable/${pkgver}/src/xz/${_pkgname}-${pkgver}.tar.xz" +source=("http://download.kde.org/stable/${pkgver}/src/${_pkgname}-${pkgver}.tar.xz" 'kdm' 'kde.pam' 'kde-np.pam' 'kscreensaver.pam' 'fixpath.patch' 'terminate-server.patch' 'kdm-xinitrd.patch') sha1sums=('675df4befd736e770e3029af8d38800c9018e888' '5db3a245201bd4a50e65aa2ef583cf5490e4f646' - 'e4198a443703f749b58a4fec88362fced1b45789' - '264e395c2c44cdda5a242c6dee649afab44cd6e5' + '712a90999bd429883dcef5dcaf288aace332ced8' + 'b321b5e613b60231330e606fdf1e124646148388' '106635aa1aae51d6f0668b1853f6c49a4fe9d3d8' 'd7b5883f7e65c6839b1f65f94d58026673dd0226' 'ac7bc292c865bc1ab8c02e6341aa7aeaf1a3eeee' diff --git a/extra/kdebase-workspace/kde-np.pam b/extra/kdebase-workspace/kde-np.pam index dfedb8edf..7d60cc35c 100644 --- a/extra/kdebase-workspace/kde-np.pam +++ b/extra/kdebase-workspace/kde-np.pam @@ -1,6 +1,7 @@ #%PAM-1.0 auth required pam_nologin.so auth required pam_permit.so +auth required pam_env.so account required pam_unix.so password required pam_unix.so session required pam_unix.so diff --git a/extra/kdebase-workspace/kde.pam b/extra/kdebase-workspace/kde.pam index 9ec074d06..ec1d8277f 100644 --- a/extra/kdebase-workspace/kde.pam +++ b/extra/kdebase-workspace/kde.pam @@ -1,6 +1,7 @@ #%PAM-1.0 auth required pam_unix.so auth required pam_nologin.so +auth required pam_env.so account required pam_unix.so password required pam_unix.so session required pam_unix.so diff --git a/extra/kdebase/PKGBUILD b/extra/kdebase/PKGBUILD index b0beaa57f..98bddddea 100644 --- a/extra/kdebase/PKGBUILD +++ b/extra/kdebase/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152490 2012-03-07 16:12:45Z andrea $ +# $Id: PKGBUILD 153088 2012-03-12 09:08:09Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Pierre Schmitz <pierre@archlinux.de> @@ -18,7 +18,7 @@ url='http://www.kde.org' license=('GPL' 'LGPL' 'FDL') groups=('kde' 'kdebase') makedepends=('kdelibs' 'cmake' 'automoc4' 'tidyhtml') -source=("http://download.kde.org/stable/${pkgver}/src/xz/kde-baseapps-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kde-baseapps-${pkgver}.tar.xz") sha1sums=('bfbc51930a81ea272ddbb1fc9a9cefb9cf9a81d6') build() { diff --git a/extra/kdebindings-kimono/PKGBUILD b/extra/kdebindings-kimono/PKGBUILD index f2f347521..b5ad96bc7 100644 --- a/extra/kdebindings-kimono/PKGBUILD +++ b/extra/kdebindings-kimono/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152522 2012-03-07 16:13:49Z andrea $ +# $Id: PKGBUILD 153120 2012-03-12 09:16:29Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdebindings-kimono @@ -12,7 +12,7 @@ groups=('kdebindings') depends=('kdebindings-qyoto' 'kdebindings-smokekde') makedepends=('cmake' 'automoc4' 'kdebindings-smokegen' 'boost' 'kdepimlibs') conflicts=('kdebindings-csharp') -source=("http://download.kde.org/stable/${pkgver}/src/xz/kimono-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kimono-${pkgver}.tar.xz") sha1sums=('cecf979d52091a2baaabb7334750f8376d835b0a') build() { diff --git a/extra/kdebindings-korundum/PKGBUILD b/extra/kdebindings-korundum/PKGBUILD index 8073c3463..5c0c87c0d 100644 --- a/extra/kdebindings-korundum/PKGBUILD +++ b/extra/kdebindings-korundum/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152524 2012-03-07 16:13:52Z andrea $ +# $Id: PKGBUILD 153122 2012-03-12 09:16:59Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdebindings-korundum @@ -14,7 +14,7 @@ makedepends=('cmake' 'automoc4' 'kdebindings-smokegen' 'boost' 'kdepimlibs' 'kdegraphics-okular' 'kdesdk-kate') conflicts=('kdebindings-ruby') options=('!makeflags') -source=("http://download.kde.org/stable/${pkgver}/src/xz/korundum-${pkgver}.tar.xz" +source=("http://download.kde.org/stable/${pkgver}/src/korundum-${pkgver}.tar.xz" 'korundum-4.8.0-ruby19.patch') sha1sums=('10788c362d209785ce800d70c3b8823af49cf16c' '73299f56a891d8a5475ac07dd485619859312f70') diff --git a/extra/kdebindings-kross/PKGBUILD b/extra/kdebindings-kross/PKGBUILD index f2644cfba..d5f177af5 100644 --- a/extra/kdebindings-kross/PKGBUILD +++ b/extra/kdebindings-kross/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152526 2012-03-07 16:13:57Z andrea $ +# $Id: PKGBUILD 153124 2012-03-12 09:17:31Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgbase=kdebindings-kross @@ -12,7 +12,7 @@ arch=('i686' 'x86_64' 'mips64el') license=('GPL' 'LGPL' 'FDL') groups=('kdebindings') makedepends=('kdelibs' 'cmake' 'automoc4' 'python2' 'java-environment') -source=("http://download.kde.org/stable/${pkgver}/src/xz/kross-interpreters-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kross-interpreters-${pkgver}.tar.xz") sha1sums=('28a20608fedf726615fc6b97664a30a350e58540') build() { diff --git a/extra/kdebindings-perlkde/PKGBUILD b/extra/kdebindings-perlkde/PKGBUILD index 83e66a6a7..32cd61849 100644 --- a/extra/kdebindings-perlkde/PKGBUILD +++ b/extra/kdebindings-perlkde/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152528 2012-03-07 16:14:02Z andrea $ +# $Id: PKGBUILD 153126 2012-03-12 09:18:04Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdebindings-perlkde @@ -12,7 +12,7 @@ groups=('kdebindings') depends=('kdebindings-perlqt' 'kdebindings-smokekde') makedepends=('cmake' 'automoc4' 'kdebindings-smokegen' 'kdepimlibs' 'kdegraphics-okular' 'kdesdk-kate') -source=("http://download.kde.org/stable/${pkgver}/src/xz/perlkde-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/perlkde-${pkgver}.tar.xz") sha1sums=('93e3b009c972a697aebf0450c4c07ff87a5c0461') build() { diff --git a/extra/kdebindings-perlqt/PKGBUILD b/extra/kdebindings-perlqt/PKGBUILD index 60b4e08aa..cbe4be2bc 100644 --- a/extra/kdebindings-perlqt/PKGBUILD +++ b/extra/kdebindings-perlqt/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152478 2012-03-07 16:12:22Z andrea $ +# $Id: PKGBUILD 153076 2012-03-12 09:04:09Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdebindings-perlqt @@ -11,7 +11,7 @@ license=('GPL' 'LGPL' 'FDL') groups=('kdebindings') depends=('kdebindings-smokeqt' 'perl-list-moreutils') makedepends=('cmake' 'automoc4' 'kdebindings-smokegen') -source=("http://download.kde.org/stable/${pkgver}/src/xz/perlqt-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/perlqt-${pkgver}.tar.xz") sha1sums=('119bbce5e82a47c8f70a8a124b73aa1cacf646ff') build() { diff --git a/extra/kdebindings-python/PKGBUILD b/extra/kdebindings-python/PKGBUILD index 23c8e2190..fd5383353 100644 --- a/extra/kdebindings-python/PKGBUILD +++ b/extra/kdebindings-python/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152480 2012-03-07 16:12:27Z andrea $ +# $Id: PKGBUILD 153078 2012-03-12 09:04:41Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdebindings-python @@ -11,7 +11,7 @@ license=('GPL' 'LGPL' 'FDL') groups=('kdebindings') depends=('kdepim-runtime' 'python2-pyqt' 'qscintilla') makedepends=('cmake' 'automoc4' 'boost') -source=("http://download.kde.org/stable/${pkgver}/src/xz/pykde4-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/pykde4-${pkgver}.tar.xz") sha1sums=('b9ef35269d2e08578ba20d01822dbdbed72bffb8') build() { diff --git a/extra/kdebindings-qtruby/PKGBUILD b/extra/kdebindings-qtruby/PKGBUILD index 821df0cb5..13ad4f05d 100644 --- a/extra/kdebindings-qtruby/PKGBUILD +++ b/extra/kdebindings-qtruby/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152484 2012-03-07 16:12:33Z andrea $ +# $Id: PKGBUILD 153082 2012-03-12 09:05:48Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdebindings-qtruby @@ -12,7 +12,7 @@ groups=('kdebindings') depends=('kdebindings-smokeqt' 'ruby') makedepends=('cmake' 'automoc4' 'kdebindings-smokegen') conflicts=('kdebindings-ruby') -source=("http://download.kde.org/stable/${pkgver}/src/xz/qtruby-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/qtruby-${pkgver}.tar.xz") sha1sums=('b2532f9e9e04760fce5d9ac87768e6085f0c231b') build() { diff --git a/extra/kdebindings-qyoto/PKGBUILD b/extra/kdebindings-qyoto/PKGBUILD index 6b3ba386a..962456b86 100644 --- a/extra/kdebindings-qyoto/PKGBUILD +++ b/extra/kdebindings-qyoto/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152482 2012-03-07 16:12:30Z andrea $ +# $Id: PKGBUILD 153080 2012-03-12 09:05:15Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdebindings-qyoto @@ -12,7 +12,7 @@ groups=('kdebindings') depends=('kdebindings-smokeqt' 'mono') makedepends=('cmake' 'automoc4' 'kdebindings-smokegen') conflicts=('kdebindings-csharp') -source=("http://download.kde.org/stable/${pkgver}/src/xz/qyoto-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/qyoto-${pkgver}.tar.xz") sha1sums=('32ad56ce6189ce691ed46b8494c4cb446dda6016') build() { diff --git a/extra/kdebindings-smokegen/PKGBUILD b/extra/kdebindings-smokegen/PKGBUILD index 49c80532f..3d0e30c88 100644 --- a/extra/kdebindings-smokegen/PKGBUILD +++ b/extra/kdebindings-smokegen/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152468 2012-03-07 16:12:03Z andrea $ +# $Id: PKGBUILD 153065 2012-03-12 09:01:20Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdebindings-smokegen @@ -11,7 +11,7 @@ license=('GPL' 'LGPL' 'FDL') depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') conflicts=('kdebindings-smoke') -source=("http://download.kde.org/stable/${pkgver}/src/xz/smokegen-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/smokegen-${pkgver}.tar.xz") sha1sums=('6d43ed064730ff81e1844d0634c1b574bd4ffdb2') build() { diff --git a/extra/kdebindings-smokekde/PKGBUILD b/extra/kdebindings-smokekde/PKGBUILD index b73702c63..42e98febd 100644 --- a/extra/kdebindings-smokekde/PKGBUILD +++ b/extra/kdebindings-smokekde/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152476 2012-03-07 16:12:17Z andrea $ +# $Id: PKGBUILD 153074 2012-03-12 09:03:36Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdebindings-smokekde @@ -13,7 +13,7 @@ depends=('kdebindings-smokeqt') makedepends=('cmake' 'automoc4' 'kdebindings-smokegen' 'boost' 'kdepimlibs' 'kdegraphics-okular' 'kdesdk-kate') conflicts=('kdebindings-smoke') -source=("http://download.kde.org/stable/${pkgver}/src/xz/smokekde-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/smokekde-${pkgver}.tar.xz") sha1sums=('680a29725c4b04629befafcd6c74dbc8cc6238f6') build() { diff --git a/extra/kdebindings-smokeqt/PKGBUILD b/extra/kdebindings-smokeqt/PKGBUILD index 5cdee4239..629dfc61f 100644 --- a/extra/kdebindings-smokeqt/PKGBUILD +++ b/extra/kdebindings-smokeqt/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152470 2012-03-07 16:12:08Z andrea $ +# $Id: PKGBUILD 153068 2012-03-12 09:01:53Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdebindings-smokeqt @@ -12,7 +12,7 @@ groups=('kdebindings') depends=('kdebase-runtime' 'qimageblitz' 'qscintilla' 'kdebindings-smokegen') makedepends=('cmake' 'automoc4') conflicts=('kdebindings-smoke') -source=("http://download.kde.org/stable/${pkgver}/src/xz/smokeqt-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/smokeqt-${pkgver}.tar.xz") sha1sums=('7af6089df0ffefe7a88600e43641dfd18da8e3e8') build() { diff --git a/extra/kdeedu-analitza/PKGBUILD b/extra/kdeedu-analitza/PKGBUILD index 1f5f7e677..2c9cf9c1f 100644 --- a/extra/kdeedu-analitza/PKGBUILD +++ b/extra/kdeedu-analitza/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152504 2012-03-07 16:13:15Z andrea $ +# $Id: PKGBUILD 153102 2012-03-12 09:11:44Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeedu-analitza @@ -11,7 +11,7 @@ license=('GPL' 'LGPL' 'FDL') groups=('kde' 'kdeedu') depends=('kdelibs') makedepends=('cmake' 'automoc4') -source=("http://download.kde.org/stable/${pkgver}/src/xz/analitza-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/analitza-${pkgver}.tar.xz") sha1sums=('94c175417126c578c38f29c348a8bb8f54cdfb45') build() { diff --git a/extra/kdeedu-blinken/PKGBUILD b/extra/kdeedu-blinken/PKGBUILD index e6f9bb7cc..e2b5eab0b 100644 --- a/extra/kdeedu-blinken/PKGBUILD +++ b/extra/kdeedu-blinken/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152530 2012-03-07 16:14:06Z andrea $ +# $Id: PKGBUILD 153128 2012-03-12 09:18:34Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeedu-blinken @@ -12,7 +12,7 @@ groups=('kde' 'kdeedu') depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/blinken-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/blinken-${pkgver}.tar.xz") sha1sums=('ff9f07ee59145a9993604fdef7f301c09c095775') build() { diff --git a/extra/kdeedu-cantor/PKGBUILD b/extra/kdeedu-cantor/PKGBUILD index 58392dd14..5b3a0cf81 100644 --- a/extra/kdeedu-cantor/PKGBUILD +++ b/extra/kdeedu-cantor/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152532 2012-03-07 16:14:09Z andrea $ +# $Id: PKGBUILD 153130 2012-03-12 09:19:04Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeedu-cantor @@ -15,7 +15,7 @@ optdepends=('maxima: Maxima backend' 'octave: Octave backend' 'r: R backend') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/cantor-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/cantor-${pkgver}.tar.xz") sha1sums=('bc98d41262454de5aee65b124e7f93041ad639af') build() { diff --git a/extra/kdeedu-kalgebra/PKGBUILD b/extra/kdeedu-kalgebra/PKGBUILD index 4fba5493e..7ebe189d8 100644 --- a/extra/kdeedu-kalgebra/PKGBUILD +++ b/extra/kdeedu-kalgebra/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152534 2012-03-07 16:14:13Z andrea $ +# $Id: PKGBUILD 153132 2012-03-12 09:19:34Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeedu-kalgebra @@ -12,7 +12,7 @@ groups=('kde' 'kdeedu') depends=('kdebase-runtime' 'libkdeedu' 'kdeedu-analitza') makedepends=('cmake' 'automoc4') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/kalgebra-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kalgebra-${pkgver}.tar.xz") sha1sums=('79f4c85e93a1d270d9d7ba648b86d49fca42d6fb') build() { diff --git a/extra/kdeedu-kalzium/PKGBUILD b/extra/kdeedu-kalzium/PKGBUILD index 26857e276..0ae657181 100644 --- a/extra/kdeedu-kalzium/PKGBUILD +++ b/extra/kdeedu-kalzium/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152536 2012-03-07 16:14:18Z andrea $ +# $Id: PKGBUILD 153134 2012-03-12 09:20:04Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeedu-kalzium @@ -12,7 +12,7 @@ groups=('kde' 'kdeedu') depends=('kdelibs' 'avogadro' 'ocaml' 'facile') makedepends=('cmake' 'automoc4') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/kalzium-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kalzium-${pkgver}.tar.xz") sha1sums=('914072b8a324e6966528e0047ea50c2a52736051') build() { diff --git a/extra/kdeedu-kanagram/PKGBUILD b/extra/kdeedu-kanagram/PKGBUILD index d0139a59b..55e844ee5 100644 --- a/extra/kdeedu-kanagram/PKGBUILD +++ b/extra/kdeedu-kanagram/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152538 2012-03-07 16:14:25Z andrea $ +# $Id: PKGBUILD 153136 2012-03-12 09:20:34Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeedu-kanagram @@ -12,7 +12,7 @@ groups=('kde' 'kdeedu') depends=('kdebase-runtime' 'libkdeedu') makedepends=('cmake' 'automoc4') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/kanagram-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kanagram-${pkgver}.tar.xz") sha1sums=('d41fa85f894fb0ada8757e4282a57102fda32006') build() { diff --git a/extra/kdeedu-kbruch/PKGBUILD b/extra/kdeedu-kbruch/PKGBUILD index 4c1e0a884..2905799b2 100644 --- a/extra/kdeedu-kbruch/PKGBUILD +++ b/extra/kdeedu-kbruch/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152540 2012-03-07 16:14:32Z andrea $ +# $Id: PKGBUILD 153138 2012-03-12 09:21:03Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeedu-kbruch @@ -12,7 +12,7 @@ groups=('kde' 'kdeedu') depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/kbruch-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kbruch-${pkgver}.tar.xz") sha1sums=('477e508294b097d8367f80a65b1be7c60b1f3211') build() { diff --git a/extra/kdeedu-kgeography/PKGBUILD b/extra/kdeedu-kgeography/PKGBUILD index f5015d1a6..78798a4ec 100644 --- a/extra/kdeedu-kgeography/PKGBUILD +++ b/extra/kdeedu-kgeography/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152542 2012-03-07 16:14:39Z andrea $ +# $Id: PKGBUILD 153140 2012-03-12 09:21:32Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeedu-kgeography @@ -12,7 +12,7 @@ groups=('kde' 'kdeedu') depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/kgeography-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kgeography-${pkgver}.tar.xz") sha1sums=('58b526d3a597cc2afff49f431a78864d36842ef2') build() { diff --git a/extra/kdeedu-khangman/PKGBUILD b/extra/kdeedu-khangman/PKGBUILD index 1a8eb6fe0..441884315 100644 --- a/extra/kdeedu-khangman/PKGBUILD +++ b/extra/kdeedu-khangman/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152544 2012-03-07 16:14:46Z andrea $ +# $Id: PKGBUILD 153142 2012-03-12 09:22:03Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeedu-khangman @@ -12,7 +12,7 @@ groups=('kde' 'kdeedu') depends=('kdebase-runtime' 'libkdeedu') makedepends=('cmake' 'automoc4') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/khangman-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/khangman-${pkgver}.tar.xz") sha1sums=('102eb6edec5f2c6f6f9086c6fb2136a6550cdef1') build() { diff --git a/extra/kdeedu-kig/PKGBUILD b/extra/kdeedu-kig/PKGBUILD index 476486c14..03cbf80b4 100644 --- a/extra/kdeedu-kig/PKGBUILD +++ b/extra/kdeedu-kig/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 152546 2012-03-07 16:14:54Z andrea $ +# $Id: PKGBUILD 153144 2012-03-12 09:22:32Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeedu-kig pkgver=4.8.1 -pkgrel=1 +pkgrel=2 pkgdesc="Interactive Geometry" url="http://kde.org/applications/education/kig/" arch=('i686' 'x86_64' 'mips64el') @@ -12,7 +12,7 @@ groups=('kde' 'kdeedu') depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/kig-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kig-${pkgver}.tar.xz") sha1sums=('05a5ee09be9955bb24e5fcb926eb5bb8f0b24459') build() { diff --git a/extra/kdeedu-kiten/PKGBUILD b/extra/kdeedu-kiten/PKGBUILD index 446c8e9c0..74951b07a 100644 --- a/extra/kdeedu-kiten/PKGBUILD +++ b/extra/kdeedu-kiten/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152548 2012-03-07 16:15:00Z andrea $ +# $Id: PKGBUILD 153146 2012-03-12 09:23:02Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeedu-kiten @@ -12,7 +12,7 @@ groups=('kde' 'kdeedu') depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/kiten-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kiten-${pkgver}.tar.xz") sha1sums=('c2c165f4bc89bcbe3a6b49eb06231d4bf85132f0') build() { diff --git a/extra/kdeedu-klettres/PKGBUILD b/extra/kdeedu-klettres/PKGBUILD index a9ed54d77..888bd15a3 100644 --- a/extra/kdeedu-klettres/PKGBUILD +++ b/extra/kdeedu-klettres/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152550 2012-03-07 16:15:06Z andrea $ +# $Id: PKGBUILD 153148 2012-03-12 09:23:31Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeedu-klettres @@ -12,7 +12,7 @@ groups=('kde' 'kdeedu') depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/klettres-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/klettres-${pkgver}.tar.xz") sha1sums=('d26ced07799a849d42e0865c143515934bfb9446') build() { diff --git a/extra/kdeedu-kmplot/PKGBUILD b/extra/kdeedu-kmplot/PKGBUILD index 25d273f30..908d0d72f 100644 --- a/extra/kdeedu-kmplot/PKGBUILD +++ b/extra/kdeedu-kmplot/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152552 2012-03-07 16:15:10Z andrea $ +# $Id: PKGBUILD 153150 2012-03-12 09:24:01Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeedu-kmplot @@ -12,7 +12,7 @@ groups=('kde' 'kdeedu') depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/kmplot-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kmplot-${pkgver}.tar.xz") sha1sums=('04eadb4a030e594c9ea09b55142640345b1c36c4') build() { diff --git a/extra/kdeedu-kstars/PKGBUILD b/extra/kdeedu-kstars/PKGBUILD index 8fb67f5c0..8b656f92c 100644 --- a/extra/kdeedu-kstars/PKGBUILD +++ b/extra/kdeedu-kstars/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152554 2012-03-07 16:15:13Z andrea $ +# $Id: PKGBUILD 153152 2012-03-12 09:24:33Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeedu-kstars @@ -12,7 +12,7 @@ groups=('kde' 'kdeedu') depends=('kdebase-runtime' 'eigen' 'cfitsio' 'libindi') makedepends=('cmake' 'automoc4') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/kstars-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kstars-${pkgver}.tar.xz") sha1sums=('5453568396529c4767fb5485e1493d86bd0e6177') build() { diff --git a/extra/kdeedu-ktouch/PKGBUILD b/extra/kdeedu-ktouch/PKGBUILD index 34408182d..789e4aa83 100644 --- a/extra/kdeedu-ktouch/PKGBUILD +++ b/extra/kdeedu-ktouch/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152556 2012-03-07 16:15:16Z andrea $ +# $Id: PKGBUILD 153154 2012-03-12 09:25:04Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeedu-ktouch @@ -12,7 +12,7 @@ groups=('kde' 'kdeedu') depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/ktouch-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/ktouch-${pkgver}.tar.xz") sha1sums=('42598cddc04de3d7ec64ea88068b2313333e02fd') build() { diff --git a/extra/kdeedu-kturtle/PKGBUILD b/extra/kdeedu-kturtle/PKGBUILD index e02410ca9..d711c0a14 100644 --- a/extra/kdeedu-kturtle/PKGBUILD +++ b/extra/kdeedu-kturtle/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152559 2012-03-07 16:15:18Z andrea $ +# $Id: PKGBUILD 153156 2012-03-12 09:25:34Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeedu-kturtle @@ -12,7 +12,7 @@ groups=('kde' 'kdeedu') depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/kturtle-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kturtle-${pkgver}.tar.xz") sha1sums=('3a6a3828c44957644716608234a3813690d0c503') build() { diff --git a/extra/kdeedu-kwordquiz/PKGBUILD b/extra/kdeedu-kwordquiz/PKGBUILD index a50015687..3dda01673 100644 --- a/extra/kdeedu-kwordquiz/PKGBUILD +++ b/extra/kdeedu-kwordquiz/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152561 2012-03-07 16:15:21Z andrea $ +# $Id: PKGBUILD 153158 2012-03-12 09:26:05Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeedu-kwordquiz @@ -12,7 +12,7 @@ groups=('kde' 'kdeedu') depends=('kdebase-runtime' 'libkdeedu') makedepends=('cmake' 'automoc4') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/kwordquiz-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kwordquiz-${pkgver}.tar.xz") sha1sums=('954e49b9dea8e486f8316b9215e12d736e9b1448') build() { diff --git a/extra/kdeedu-marble/PKGBUILD b/extra/kdeedu-marble/PKGBUILD index e7b9664b8..2838b674c 100644 --- a/extra/kdeedu-marble/PKGBUILD +++ b/extra/kdeedu-marble/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152494 2012-03-07 16:12:57Z andrea $ +# $Id: PKGBUILD 153092 2012-03-12 09:09:09Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeedu-marble @@ -13,7 +13,7 @@ depends=('kdebase-runtime') makedepends=('cmake' 'automoc4' 'gpsd') optdepends=('gpsd: gps support') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/marble-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/marble-${pkgver}.tar.xz") sha1sums=('542da37f6ea2df21b331aea28cab810eb6802b78') build() { diff --git a/extra/kdeedu-parley/PKGBUILD b/extra/kdeedu-parley/PKGBUILD index 90d9d8162..81c3f116e 100644 --- a/extra/kdeedu-parley/PKGBUILD +++ b/extra/kdeedu-parley/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152563 2012-03-07 16:15:25Z andrea $ +# $Id: PKGBUILD 153160 2012-03-12 09:26:36Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeedu-parley @@ -12,7 +12,7 @@ groups=('kde' 'kdeedu') depends=('kdebase-runtime' 'libkdeedu') makedepends=('cmake' 'automoc4') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/parley-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/parley-${pkgver}.tar.xz") sha1sums=('65cb2a02e5da3d9f1f9bb5a2017743b116bce1cb') build() { diff --git a/extra/kdeedu-rocs/PKGBUILD b/extra/kdeedu-rocs/PKGBUILD index 4520540ab..fa4a8305f 100644 --- a/extra/kdeedu-rocs/PKGBUILD +++ b/extra/kdeedu-rocs/PKGBUILD @@ -1,17 +1,17 @@ -# $Id: PKGBUILD 152565 2012-03-07 16:15:28Z andrea $ +# $Id: PKGBUILD 153162 2012-03-12 09:27:09Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeedu-rocs pkgver=4.8.1 -pkgrel=1 +pkgrel=2 pkgdesc="Rocs Graph Theory" url="http://kde.org/applications/education/rocs/" arch=('i686' 'x86_64' 'mips64el') license=('GPL' 'LGPL' 'FDL') groups=('kde' 'kdeedu') -depends=('kdebase-runtime' 'boost-libs') +depends=('kdebase-runtime') makedepends=('cmake' 'automoc4' 'boost') -source=("http://download.kde.org/stable/${pkgver}/src/xz/rocs-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/rocs-${pkgver}.tar.xz") sha1sums=('b485fe77d48bb82d3b2e6d79337ba4898c06ae5d') options=('!makeflags') diff --git a/extra/kdeedu-step/PKGBUILD b/extra/kdeedu-step/PKGBUILD index 757178dc7..933ef8e63 100644 --- a/extra/kdeedu-step/PKGBUILD +++ b/extra/kdeedu-step/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152567 2012-03-07 16:15:32Z andrea $ +# $Id: PKGBUILD 153164 2012-03-12 09:27:39Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeedu-step @@ -12,7 +12,7 @@ groups=('kde' 'kdeedu') depends=('kdebase-runtime' 'libqalculate' 'gsl' 'eigen') makedepends=('cmake' 'automoc4') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/step-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/step-${pkgver}.tar.xz") sha1sums=('5b8da2e1efe783e46042603d9ba87f1f464ba105') build() { diff --git a/extra/kdegames/PKGBUILD b/extra/kdegames/PKGBUILD index 60ea7aa67..6ebfa9c53 100644 --- a/extra/kdegames/PKGBUILD +++ b/extra/kdegames/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152569 2012-03-07 16:15:42Z andrea $ +# $Id: PKGBUILD 153166 2012-03-12 09:29:12Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Pierre Schmitz <pierre@archlinux.de> @@ -51,7 +51,7 @@ license=('GPL' 'LGPL' 'FDL') groups=('kde' 'kdegames') makedepends=('cmake' 'automoc4' 'ggz-client-libs' 'twisted' 'kdebindings-python' 'openal') -source=("http://download.kde.org/stable/${pkgver}/src/xz/${pkgbase}-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz") sha1sums=('bcf764fd1f2f8083c388c17f26b83eeac568b1d5') build() { diff --git a/extra/kdegraphics-gwenview/PKGBUILD b/extra/kdegraphics-gwenview/PKGBUILD index ee8c2f68d..7d42caa50 100644 --- a/extra/kdegraphics-gwenview/PKGBUILD +++ b/extra/kdegraphics-gwenview/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152572 2012-03-07 16:15:47Z andrea $ +# $Id: PKGBUILD 153168 2012-03-12 09:29:42Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdegraphics-gwenview @@ -13,7 +13,7 @@ depends=('kdebase-lib' 'libkipi') makedepends=('cmake' 'automoc4') optdepends=('kipi-plugins: extra plugins to share photos') install=$pkgname.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/gwenview-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/gwenview-${pkgver}.tar.xz") sha1sums=('c549b0256140c6c466e3279cf12bdc6e6ee82960') build() { diff --git a/extra/kdegraphics-kamera/PKGBUILD b/extra/kdegraphics-kamera/PKGBUILD index a4afe6089..fd3168db4 100644 --- a/extra/kdegraphics-kamera/PKGBUILD +++ b/extra/kdegraphics-kamera/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152574 2012-03-07 16:15:51Z andrea $ +# $Id: PKGBUILD 153170 2012-03-12 09:30:19Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdegraphics-kamera @@ -11,7 +11,7 @@ license=('GPL' 'LGPL' 'FDL') groups=('kde' 'kdegraphics') depends=('kdebase-runtime' 'gphoto2') makedepends=('cmake' 'automoc4') -source=("http://download.kde.org/stable/${pkgver}/src/xz/kamera-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kamera-${pkgver}.tar.xz") sha1sums=('98a54976430aa3061d14f5b71c6d5d896abc9baf') build() { diff --git a/extra/kdegraphics-kcolorchooser/PKGBUILD b/extra/kdegraphics-kcolorchooser/PKGBUILD index 4d38f9ba2..6f007cbbd 100644 --- a/extra/kdegraphics-kcolorchooser/PKGBUILD +++ b/extra/kdegraphics-kcolorchooser/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152576 2012-03-07 16:15:54Z andrea $ +# $Id: PKGBUILD 153172 2012-03-12 09:30:49Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdegraphics-kcolorchooser @@ -12,7 +12,7 @@ groups=('kde' 'kdegraphics') depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/kcolorchooser-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kcolorchooser-${pkgver}.tar.xz") sha1sums=('b82a86ac95ca9b4c1dbd66b8164ce855232fec69') build() { diff --git a/extra/kdegraphics-kgamma/PKGBUILD b/extra/kdegraphics-kgamma/PKGBUILD index f6c00dcd4..84f15a71b 100644 --- a/extra/kdegraphics-kgamma/PKGBUILD +++ b/extra/kdegraphics-kgamma/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152578 2012-03-07 16:15:56Z andrea $ +# $Id: PKGBUILD 153174 2012-03-12 09:31:22Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdegraphics-kgamma @@ -14,7 +14,7 @@ groups=('kde' 'kdegraphics') # but nvidia providing libgl does not depend on libxxf86vm depends=('kdebase-runtime' 'libxxf86vm') makedepends=('cmake' 'automoc4') -source=("http://download.kde.org/stable/${pkgver}/src/xz/kgamma-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kgamma-${pkgver}.tar.xz") sha1sums=('9829ed03f9faac64afafe83bb84eae0048929dfe') build() { diff --git a/extra/kdegraphics-kolourpaint/PKGBUILD b/extra/kdegraphics-kolourpaint/PKGBUILD index 341562573..bcd52a707 100644 --- a/extra/kdegraphics-kolourpaint/PKGBUILD +++ b/extra/kdegraphics-kolourpaint/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152580 2012-03-07 16:15:59Z andrea $ +# $Id: PKGBUILD 153176 2012-03-12 09:31:52Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdegraphics-kolourpaint @@ -12,7 +12,7 @@ groups=('kde' 'kdegraphics') depends=('kdebase-runtime' 'qimageblitz') makedepends=('cmake' 'automoc4') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/kolourpaint-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kolourpaint-${pkgver}.tar.xz") sha1sums=('7a6404f573671b8407a2cf4ec3543ab0883a7af2') build() { diff --git a/extra/kdegraphics-kruler/PKGBUILD b/extra/kdegraphics-kruler/PKGBUILD index c1ea32836..8d9b61fde 100644 --- a/extra/kdegraphics-kruler/PKGBUILD +++ b/extra/kdegraphics-kruler/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152582 2012-03-07 16:16:03Z andrea $ +# $Id: PKGBUILD 153178 2012-03-12 09:32:22Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdegraphics-kruler @@ -12,7 +12,7 @@ groups=('kde' 'kdegraphics') depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/kruler-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kruler-${pkgver}.tar.xz") sha1sums=('e551744f2e3f772450eb6fe21358067e9448799e') build() { diff --git a/extra/kdegraphics-ksaneplugin/PKGBUILD b/extra/kdegraphics-ksaneplugin/PKGBUILD index 4481cddbe..8c8f22bc0 100644 --- a/extra/kdegraphics-ksaneplugin/PKGBUILD +++ b/extra/kdegraphics-ksaneplugin/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152584 2012-03-07 16:16:05Z andrea $ +# $Id: PKGBUILD 153180 2012-03-12 09:32:55Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdegraphics-ksaneplugin @@ -12,7 +12,7 @@ depends=('libksane') makedepends=('cmake' 'automoc4') replaces=('kdegraphics-libs') conflicts=('kdegraphics-libs') -source=("http://download.kde.org/stable/${pkgver}/src/xz/ksaneplugin-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/ksaneplugin-${pkgver}.tar.xz") sha1sums=('6f59ab3630850d9ceee15e9d01cb1b6b6dedc9e9') build() { diff --git a/extra/kdegraphics-ksnapshot/PKGBUILD b/extra/kdegraphics-ksnapshot/PKGBUILD index 936cdeb83..599cea6ff 100644 --- a/extra/kdegraphics-ksnapshot/PKGBUILD +++ b/extra/kdegraphics-ksnapshot/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152586 2012-03-07 16:16:08Z andrea $ +# $Id: PKGBUILD 153182 2012-03-12 09:33:25Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdegraphics-ksnapshot @@ -13,7 +13,7 @@ depends=('kdelibs' 'libkipi') makedepends=('cmake' 'automoc4') optdepends=('kipi-plugins') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/ksnapshot-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/ksnapshot-${pkgver}.tar.xz") sha1sums=('3e8f0842d06d0fbb98dcebeba684847552fc02a9') build() { diff --git a/extra/kdegraphics-mobipocket/PKGBUILD b/extra/kdegraphics-mobipocket/PKGBUILD index 689a4b195..a3bb6a340 100644 --- a/extra/kdegraphics-mobipocket/PKGBUILD +++ b/extra/kdegraphics-mobipocket/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152588 2012-03-07 16:16:11Z andrea $ +# $Id: PKGBUILD 153184 2012-03-12 09:33:54Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdegraphics-mobipocket @@ -13,7 +13,7 @@ makedepends=('cmake' 'automoc4' 'kdegraphics-okular') replaces=('kdegraphics-libs') conflicts=('kdegraphics-libs') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/${pkgname}-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") sha1sums=('6ffef4612619ac433addee9fae7f49c05455863b') build() { diff --git a/extra/kdegraphics-okular/PKGBUILD b/extra/kdegraphics-okular/PKGBUILD index 79b2acbcb..2a1d0636f 100644 --- a/extra/kdegraphics-okular/PKGBUILD +++ b/extra/kdegraphics-okular/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152472 2012-03-07 16:12:11Z andrea $ +# $Id: PKGBUILD 153070 2012-03-12 09:02:23Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdegraphics-okular @@ -14,7 +14,7 @@ depends=('kdebase-runtime' 'qimageblitz' 'poppler-qt' 'chmlib' 'djvulibre' makedepends=('cmake' 'automoc4') optdepends=('kdegraphics-mobipocket: mobipocket support') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/okular-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/okular-${pkgver}.tar.xz") sha1sums=('ddf676820acf3615d1996bf40e82ebd5c9aa41d8') build() { diff --git a/extra/kdegraphics-strigi-analyzer/PKGBUILD b/extra/kdegraphics-strigi-analyzer/PKGBUILD index 775781c57..d5dad2cc2 100644 --- a/extra/kdegraphics-strigi-analyzer/PKGBUILD +++ b/extra/kdegraphics-strigi-analyzer/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152590 2012-03-07 16:16:16Z andrea $ +# $Id: PKGBUILD 153186 2012-03-12 09:34:28Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdegraphics-strigi-analyzer @@ -12,7 +12,7 @@ depends=('kdelibs') makedepends=('cmake' 'automoc4') replaces=('kdegraphics-libs') conflicts=('kdegraphics-libs') -source=("http://download.kde.org/stable/${pkgver}/src/xz/${pkgname}-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") sha1sums=('2e951029c3874cd5f10a75dc4d88b653b76a3121') build() { diff --git a/extra/kdegraphics-svgpart/PKGBUILD b/extra/kdegraphics-svgpart/PKGBUILD index d725c87d3..19d198cb4 100644 --- a/extra/kdegraphics-svgpart/PKGBUILD +++ b/extra/kdegraphics-svgpart/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152592 2012-03-07 16:16:21Z andrea $ +# $Id: PKGBUILD 153188 2012-03-12 09:35:01Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdegraphics-svgpart @@ -12,7 +12,7 @@ depends=('kdelibs') makedepends=('cmake' 'automoc4') replaces=('kdegraphics-libs') conflicts=('kdegraphics-libs') -source=("http://download.kde.org/stable/${pkgver}/src/xz/svgpart-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/svgpart-${pkgver}.tar.xz") sha1sums=('2332156b52c9f1a33cc0f0cb9d64f01aaf38f9bc') build() { diff --git a/extra/kdegraphics-thumbnailers/PKGBUILD b/extra/kdegraphics-thumbnailers/PKGBUILD index f1081f48b..e5b8ba9a9 100644 --- a/extra/kdegraphics-thumbnailers/PKGBUILD +++ b/extra/kdegraphics-thumbnailers/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152594 2012-03-07 16:16:27Z andrea $ +# $Id: PKGBUILD 153190 2012-03-12 09:35:34Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdegraphics-thumbnailers @@ -12,7 +12,7 @@ depends=('libkexiv2' 'libkdcraw') makedepends=('cmake' 'automoc4') replaces=('kdegraphics-libs') conflicts=('kdegraphics-libs') -source=("http://download.kde.org/stable/${pkgver}/src/xz/${pkgname}-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") sha1sums=('a714f485f68202c8b6e2716cf426abd6d82c0dc7') build() { diff --git a/extra/kdemultimedia/PKGBUILD b/extra/kdemultimedia/PKGBUILD index a4c7256b1..f809c65a0 100644 --- a/extra/kdemultimedia/PKGBUILD +++ b/extra/kdemultimedia/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152596 2012-03-07 16:16:34Z andrea $ +# $Id: PKGBUILD 153192 2012-03-12 09:36:16Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Pierre Schmitz <pierre@archlinux.de> @@ -18,7 +18,7 @@ license=('GPL' 'LGPL' 'FDL') groups=('kde' 'kdemultimedia') makedepends=('cmake' 'automoc4' 'kdelibs' 'tunepimp' 'ffmpeg' 'mplayer' 'pulseaudio' 'libmusicbrainz3') -source=("http://download.kde.org/stable/${pkgver}/src/xz/${pkgbase}-${pkgver}.tar.xz" +source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz" 'mplayerthumbs.config') sha1sums=('9de14f08c7f1649201be029b8e683a296cc75f52' 'ba016fa2563c14ffcba852c62506b66bfc6ee683') diff --git a/extra/kdenetwork/PKGBUILD b/extra/kdenetwork/PKGBUILD index 084c72e89..9a3df205c 100644 --- a/extra/kdenetwork/PKGBUILD +++ b/extra/kdenetwork/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152598 2012-03-07 16:16:41Z andrea $ +# $Id: PKGBUILD 153194 2012-03-12 09:37:02Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Pierre Schmitz <pierre@archlinux.de> diff --git a/extra/kdepim-runtime/PKGBUILD b/extra/kdepim-runtime/PKGBUILD index 6f240b8bd..60f602e9b 100644 --- a/extra/kdepim-runtime/PKGBUILD +++ b/extra/kdepim-runtime/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152466 2012-03-07 16:12:01Z andrea $ +# $Id: PKGBUILD 153062 2012-03-12 09:00:47Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Pierre Schmitz <pierre@archlinux.de> @@ -12,7 +12,7 @@ license=('GPL' 'LGPL' 'FDL') depends=('kdepimlibs' 'kdebase-runtime') makedepends=('cmake' 'automoc4' 'boost') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/${pkgname}-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") sha1sums=('2e2e5f1dbfd1b54f0e2b71f9f23be2cfa94348f2') build() { diff --git a/extra/kdepim/PKGBUILD b/extra/kdepim/PKGBUILD index 6f03a683c..52f2e3306 100644 --- a/extra/kdepim/PKGBUILD +++ b/extra/kdepim/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152600 2012-03-07 16:16:49Z andrea $ +# $Id: PKGBUILD 153196 2012-03-12 09:37:49Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Pierre Schmitz <pierre@archlinux.de> diff --git a/extra/kdepimlibs/PKGBUILD b/extra/kdepimlibs/PKGBUILD index 15443e863..4a2ca96e7 100644 --- a/extra/kdepimlibs/PKGBUILD +++ b/extra/kdepimlibs/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152461 2012-03-07 16:11:52Z andrea $ +# $Id: PKGBUILD 153055 2012-03-12 08:59:19Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Pierre Schmitz <pierre@archlinux.de> @@ -12,7 +12,7 @@ license=('GPL' 'LGPL') depends=('kdelibs' 'gpgme' 'akonadi' 'libical' 'prison') makedepends=('cmake' 'automoc4' 'boost' 'cyrus-sasl' 'openldap') install='kdepimlibs.install' -source=("http://download.kde.org/stable/${pkgver}/src/xz/${pkgname}-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") sha1sums=('ccc653df34fd8f5f8eddac9a9e14f0fa1ea82839') build() { diff --git a/extra/kdeplasma-addons/PKGBUILD b/extra/kdeplasma-addons/PKGBUILD index 285836a29..3e6507727 100644 --- a/extra/kdeplasma-addons/PKGBUILD +++ b/extra/kdeplasma-addons/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152602 2012-03-07 16:17:00Z andrea $ +# $Id: PKGBUILD 153198 2012-03-12 09:38:25Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Pierre Schmitz <pierre@archlinux.de> @@ -82,7 +82,7 @@ license=('GPL' 'LGPL') groups=('kde' 'kdeplasma-addons') makedepends=('cmake' 'automoc4' 'kdebase-workspace' 'kdeedu-marble' 'eigen' 'scim' 'qwt' 'boost' 'libkexiv2' 'ibus') -source=("http://download.kde.org/stable/${pkgver}/src/xz/${pkgbase}-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz") sha1sums=('dad77ee1f6ab341a327d694f670e15f160d77d7c') build() { diff --git a/extra/kdesdk-kate/PKGBUILD b/extra/kdesdk-kate/PKGBUILD index d7ce99713..16a1dd8c0 100644 --- a/extra/kdesdk-kate/PKGBUILD +++ b/extra/kdesdk-kate/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152474 2012-03-07 16:12:14Z andrea $ +# $Id: PKGBUILD 153072 2012-03-12 09:03:04Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgbase=kdesdk-kate @@ -9,7 +9,7 @@ pkgrel=1 arch=('i686' 'x86_64' 'mips64el') license=('GPL' 'LGPL' 'FDL') makedepends=('kdelibs ''cmake' 'automoc4') -source=("http://download.kde.org/stable/${pkgver}/src/xz/kate-${pkgver}.tar.xz" +source=("http://download.kde.org/stable/${pkgver}/src/kate-${pkgver}.tar.xz" 'pkgbuild-syntax-highlight.patch') sha1sums=('d5bd513cd2bfefc2d345547115d0cb0a9d3e6143' '0a928253bd2077f0264d96a6c8823c69c47b6a8d') diff --git a/extra/kdesdk/PKGBUILD b/extra/kdesdk/PKGBUILD index 0f68d2210..8b334bf6c 100644 --- a/extra/kdesdk/PKGBUILD +++ b/extra/kdesdk/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152604 2012-03-07 16:17:09Z andrea $ +# $Id: PKGBUILD 153200 2012-03-12 09:39:38Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Pierre Schmitz <pierre@archlinux.de> @@ -30,7 +30,7 @@ license=('GPL' 'LGPL' 'FDL') groups=('kde' 'kdesdk') makedepends=('cmake' 'automoc4' 'boost' 'subversion' 'antlr2' 'kdepimlibs' 'kdebase-lib') -source=("http://download.kde.org/stable/${pkgver}/src/xz/${pkgbase}-${pkgver}.tar.xz" +source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz" 'fix-python2-path.patch') sha1sums=('5104445024047ae01099e7baa8e5b47a63b76198' '923cabd7a877cf9a68efeb24fbf3d5827e1d949e') diff --git a/extra/kdetoys/PKGBUILD b/extra/kdetoys/PKGBUILD index 833f77313..62057b7cd 100644 --- a/extra/kdetoys/PKGBUILD +++ b/extra/kdetoys/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152606 2012-03-07 16:17:12Z andrea $ +# $Id: PKGBUILD 153202 2012-03-12 09:40:10Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Pierre Schmitz <pierre@archlinux.de> @@ -13,7 +13,7 @@ url='http://www.kde.org' license=('GPL' 'LGPL' 'FDL') groups=('kde' 'kdetoys') makedepends=('cmake' 'automoc4' 'kdebase-workspace') -source=("http://download.kde.org/stable/${pkgver}/src/xz/${pkgbase}-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz") sha1sums=('b0a1c26fa00795767c0d73ff3d25cc339cb005b8') build() { diff --git a/extra/kdeutils-filelight/PKGBUILD b/extra/kdeutils-filelight/PKGBUILD index 337fa0593..de14f23f4 100644 --- a/extra/kdeutils-filelight/PKGBUILD +++ b/extra/kdeutils-filelight/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152610 2012-03-07 16:17:18Z andrea $ +# $Id: PKGBUILD 153206 2012-03-12 09:41:09Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeutils-filelight @@ -14,7 +14,7 @@ groups=('kde' 'kdeutils') replaces=('filelight') conflicts=('filelight') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/filelight-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/filelight-${pkgver}.tar.xz") sha1sums=('24cd19b927221de2dafd2a1c3d5e8a72a41ec4b5') build() { diff --git a/extra/kdeutils-kcalc/PKGBUILD b/extra/kdeutils-kcalc/PKGBUILD index 0f20833a2..211c9736e 100644 --- a/extra/kdeutils-kcalc/PKGBUILD +++ b/extra/kdeutils-kcalc/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152612 2012-03-07 16:17:20Z andrea $ +# $Id: PKGBUILD 153208 2012-03-12 09:41:38Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeutils-kcalc @@ -12,7 +12,7 @@ depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') groups=('kde' 'kdeutils') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/kcalc-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kcalc-${pkgver}.tar.xz") sha1sums=('f119707ece800a2102eb881402a5bc289b2a55ea') build() { diff --git a/extra/kdeutils-kcharselect/PKGBUILD b/extra/kdeutils-kcharselect/PKGBUILD index 5c95a44dd..534f25137 100644 --- a/extra/kdeutils-kcharselect/PKGBUILD +++ b/extra/kdeutils-kcharselect/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152614 2012-03-07 16:17:23Z andrea $ +# $Id: PKGBUILD 153210 2012-03-12 09:42:11Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeutils-kcharselect @@ -11,7 +11,7 @@ license=('GPL' 'LGPL' 'FDL') depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') groups=('kde' 'kdeutils') -source=("http://download.kde.org/stable/${pkgver}/src/xz/kcharselect-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kcharselect-${pkgver}.tar.xz") sha1sums=('06888b54f8c139966f327dd1955c25c967d437fb') build() { diff --git a/extra/kdeutils-kdf/PKGBUILD b/extra/kdeutils-kdf/PKGBUILD index 317f9f41d..c588ec8e2 100644 --- a/extra/kdeutils-kdf/PKGBUILD +++ b/extra/kdeutils-kdf/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152616 2012-03-07 16:17:25Z andrea $ +# $Id: PKGBUILD 153212 2012-03-12 09:42:40Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeutils-kdf @@ -12,7 +12,7 @@ depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') groups=('kde' 'kdeutils') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/kdf-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kdf-${pkgver}.tar.xz") sha1sums=('fb28f99b23819f3618a8857affdaad1957f8bd68') build() { diff --git a/extra/kdeutils-kfloppy/PKGBUILD b/extra/kdeutils-kfloppy/PKGBUILD index 0c5f26d1d..67710ea86 100644 --- a/extra/kdeutils-kfloppy/PKGBUILD +++ b/extra/kdeutils-kfloppy/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152618 2012-03-07 16:17:28Z andrea $ +# $Id: PKGBUILD 153214 2012-03-12 09:43:11Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeutils-kfloppy @@ -12,7 +12,7 @@ depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') groups=('kde' 'kdeutils') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/kfloppy-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kfloppy-${pkgver}.tar.xz") sha1sums=('78c5dfa1198d9c215ff2a22b82c4e3db2b7c0485') build() { diff --git a/extra/kdeutils-kgpg/PKGBUILD b/extra/kdeutils-kgpg/PKGBUILD index 4f99c67ea..32a373d88 100644 --- a/extra/kdeutils-kgpg/PKGBUILD +++ b/extra/kdeutils-kgpg/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152620 2012-03-07 16:17:30Z andrea $ +# $Id: PKGBUILD 153216 2012-03-12 09:43:41Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeutils-kgpg @@ -12,7 +12,7 @@ depends=('kdepim-runtime' 'kde-agent') makedepends=('cmake' 'automoc4') groups=('kde' 'kdeutils') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/kgpg-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kgpg-${pkgver}.tar.xz") sha1sums=('40f5bd3f2d4bfeed56e519194c41049e14899e36') build() { diff --git a/extra/kdeutils-kremotecontrol/PKGBUILD b/extra/kdeutils-kremotecontrol/PKGBUILD index 2360606b4..965cf16eb 100644 --- a/extra/kdeutils-kremotecontrol/PKGBUILD +++ b/extra/kdeutils-kremotecontrol/PKGBUILD @@ -14,7 +14,7 @@ groups=('kde' 'kdeutils') replaces=('kdeutils-kdelirc') conflicts=('kdeutils-kdelirc') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/kremotecontrol-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kremotecontrol-${pkgver}.tar.xz") sha1sums=('684ad9b0393081a39b2c6badb2f411846e582bb2') build() { diff --git a/extra/kdeutils-ksecrets/PKGBUILD b/extra/kdeutils-ksecrets/PKGBUILD index ed8bd60a2..78fad0deb 100644 --- a/extra/kdeutils-ksecrets/PKGBUILD +++ b/extra/kdeutils-ksecrets/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152624 2012-03-07 16:17:35Z andrea $ +# $Id: PKGBUILD 153220 2012-03-12 09:44:43Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeutils-ksecrets @@ -12,7 +12,7 @@ depends=('kdebase-workspace' 'qca-ossl') makedepends=('cmake' 'automoc4') groups=('kde' 'kdeutils') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/ksecrets-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/ksecrets-${pkgver}.tar.xz") sha1sums=('7ff7889da899dbac86ae63b0e25c2a8cde59fc32') build() { diff --git a/extra/kdeutils-ktimer/PKGBUILD b/extra/kdeutils-ktimer/PKGBUILD index a4a20efc6..cbdaff575 100644 --- a/extra/kdeutils-ktimer/PKGBUILD +++ b/extra/kdeutils-ktimer/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152626 2012-03-07 16:17:38Z andrea $ +# $Id: PKGBUILD 153222 2012-03-12 09:45:12Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeutils-ktimer @@ -12,7 +12,7 @@ depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') groups=('kde' 'kdeutils') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/ktimer-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/ktimer-${pkgver}.tar.xz") sha1sums=('c16ace45eefe9d495086a08fb1c0144baec9572f') build() { diff --git a/extra/kdeutils-kwallet/PKGBUILD b/extra/kdeutils-kwallet/PKGBUILD index 7431d0af7..c4c370976 100644 --- a/extra/kdeutils-kwallet/PKGBUILD +++ b/extra/kdeutils-kwallet/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152628 2012-03-07 16:17:41Z andrea $ +# $Id: PKGBUILD 153224 2012-03-12 09:45:42Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeutils-kwallet @@ -12,7 +12,7 @@ depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') groups=('kde' 'kdeutils') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/kwallet-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/kwallet-${pkgver}.tar.xz") sha1sums=('39c1d6720cd486e86179468b5606923bab73cb9e') build() { diff --git a/extra/kdeutils-printer-applet/PKGBUILD b/extra/kdeutils-printer-applet/PKGBUILD index 844fa55cf..c80b49411 100644 --- a/extra/kdeutils-printer-applet/PKGBUILD +++ b/extra/kdeutils-printer-applet/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152630 2012-03-07 16:17:43Z andrea $ +# $Id: PKGBUILD 153227 2012-03-12 09:46:15Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeutils-printer-applet @@ -12,7 +12,7 @@ license=('GPL' 'LGPL' 'FDL') depends=('kdebase-runtime' 'kdebindings-python' 'system-config-printer-common') makedepends=('cmake' 'automoc4') groups=('kde' 'kdeutils') -source=("http://download.kde.org/stable/${pkgver}/src/xz/printer-applet-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/printer-applet-${pkgver}.tar.xz") sha1sums=('c3002fea0382386256c3acaebd907a41db0ccc4e') build() { diff --git a/extra/kdeutils-superkaramba/PKGBUILD b/extra/kdeutils-superkaramba/PKGBUILD index 20f418fb5..251879e9d 100644 --- a/extra/kdeutils-superkaramba/PKGBUILD +++ b/extra/kdeutils-superkaramba/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152632 2012-03-07 16:17:46Z andrea $ +# $Id: PKGBUILD 153229 2012-03-12 09:46:45Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeutils-superkaramba @@ -12,7 +12,7 @@ depends=('kdebase-runtime' 'qimageblitz') makedepends=('cmake' 'automoc4') groups=('kde' 'kdeutils') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/superkaramba-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/superkaramba-${pkgver}.tar.xz") sha1sums=('934a62e3d82e92a99b9d070a2dd39634b7351cea') build() { diff --git a/extra/kdeutils-sweeper/PKGBUILD b/extra/kdeutils-sweeper/PKGBUILD index eb24923da..1d6f068a1 100644 --- a/extra/kdeutils-sweeper/PKGBUILD +++ b/extra/kdeutils-sweeper/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152634 2012-03-07 16:17:48Z andrea $ +# $Id: PKGBUILD 153231 2012-03-12 09:47:17Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeutils-sweeper @@ -12,7 +12,7 @@ license=('GPL' 'LGPL' 'FDL') depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') groups=('kde' 'kdeutils') -source=("http://download.kde.org/stable/${pkgver}/src/xz/sweeper-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/sweeper-${pkgver}.tar.xz") sha1sums=('7a11a22397bbe5106118ed94942f27f546fad80b') build() { diff --git a/extra/kdewebdev/PKGBUILD b/extra/kdewebdev/PKGBUILD index 773fc69f8..f20ee3d3e 100644 --- a/extra/kdewebdev/PKGBUILD +++ b/extra/kdewebdev/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152636 2012-03-07 16:17:51Z andrea $ +# $Id: PKGBUILD 153233 2012-03-12 09:47:53Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Pierre Schmitz <pierre@archlinux.de> @@ -14,7 +14,7 @@ url='http://www.kde.org' license=('GPL' 'LGPL' 'FDL') groups=('kde' 'kdewebdev') makedepends=('cmake' 'automoc4' 'ruby' 'tidyhtml' 'kdepim-runtime' 'boost') -source=("http://download.kde.org/stable/${pkgver}/src/xz/${pkgbase}-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz") sha1sums=('c707886d79d9ba150c408326efccf24847d5dc38') build() { diff --git a/extra/libgphoto2/PKGBUILD b/extra/libgphoto2/PKGBUILD index 729d51907..795342850 100644 --- a/extra/libgphoto2/PKGBUILD +++ b/extra/libgphoto2/PKGBUILD @@ -1,23 +1,26 @@ -# $Id: PKGBUILD 145711 2011-12-28 14:52:22Z jgc $ -# Maintainer: Eduardo Romero <eduardo@archlinux.org> +# $Id: PKGBUILD 152973 2012-03-10 23:27:06Z tomegun $ +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Contributor: Tom Gundersen <teg@jklm.no> +# Contributor: Eduardo Romero <eduardo@archlinux.org> # Contributor: Damir Perisa <damir.perisa@bluewin.ch> pkgname=libgphoto2 -pkgver=2.4.11 +pkgver=2.4.13 pkgrel=1 pkgdesc="The core library of gphoto2, designed to allow access to digital camera by external programs." arch=(i686 x86_64 'mips64el') url="http://www.gphoto.org" license=(LGPL) -depends=('libexif' 'libjpeg>=8' 'gd' 'libltdl' 'libusb-compat') +depends=('libexif' 'libjpeg>=8' 'gd' 'libltdl' 'libusb-compat' 'libusb') install=libgphoto2.install options=('libtool') source=(http://downloads.sourceforge.net/gphoto/${pkgname}-${pkgver}.tar.gz) -md5sums=('a2230c31e320acb7ececd90bc02fe515') build() { cd "${srcdir}/${pkgname}-${pkgver}" - udevscriptdir=/lib/udev ./configure --prefix=/usr --with-drivers=all --disable-static --disable-rpath + ./configure \ + --prefix=/usr \ + --disable-rpath make } @@ -25,14 +28,16 @@ package() { cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install - rm -f ${pkgdir}/usr/lib/libgphoto2/${pkgver}/*.a + # Remove unused udev helper + rm -rf "${pkgdir}/usr/lib/udev" install -m755 -d "${pkgdir}/lib/udev/rules.d" LD_LIBRARY_PATH="${pkgdir}/usr/lib${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH" \ CAMLIBS="${pkgdir}/usr/lib/libgphoto2/${pkgver}" \ - "${pkgdir}/usr/lib/libgphoto2/print-camera-list" udev-rules version 136 group camera mode 0660 > \ + "${pkgdir}/usr/lib/libgphoto2/print-camera-list" udev-rules version 136 > \ "${pkgdir}/lib/udev/rules.d/40-gphoto.rules" # Remove recursive symlink rm -f "${pkgdir}/usr/include/gphoto2/gphoto2" } +md5sums=('7d8a1d3ae02069af381f07a0bb4bfc15') diff --git a/extra/libgphoto2/libgphoto2.install b/extra/libgphoto2/libgphoto2.install index 3aee9ff8a..c7944414f 100644 --- a/extra/libgphoto2/libgphoto2.install +++ b/extra/libgphoto2/libgphoto2.install @@ -1,16 +1,6 @@ -post_install() { - getent group camera >/dev/null || usr/sbin/groupadd -g 97 camera - /bin/cat <<THEEND -NOTE ----- -Add your user to group 'camera' to use camera devices. -THEEND -} - post_upgrade() { - getent group camera >/dev/null || usr/sbin/groupadd -g 97 camera -} - -post_remove() { - usr/sbin/groupdel camera &>/dev/null +if [ "$(vercmp $2 2.14.13)" -lt 0 ]; then + groupdel camera &>/dev/null + echo "Users no longer need to be in the 'camera' group to use camera devices" +fi } diff --git a/extra/libkdcraw/PKGBUILD b/extra/libkdcraw/PKGBUILD index f46089779..62f55af3e 100644 --- a/extra/libkdcraw/PKGBUILD +++ b/extra/libkdcraw/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152496 2012-03-07 16:13:01Z andrea $ +# $Id: PKGBUILD 153094 2012-03-12 09:09:38Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=libkdcraw @@ -13,7 +13,7 @@ makedepends=('cmake' 'automoc4') replaces=('kdegraphics-libs') conflicts=('kdegraphics-libs') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/${pkgname}-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") sha1sums=('80dd47457b9803240a3002ef42d96e201d9face8') build() { diff --git a/extra/libkdeedu/PKGBUILD b/extra/libkdeedu/PKGBUILD index a590224b3..f5646bf9d 100644 --- a/extra/libkdeedu/PKGBUILD +++ b/extra/libkdeedu/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152492 2012-03-07 16:12:51Z andrea $ +# $Id: PKGBUILD 153090 2012-03-12 09:08:39Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=libkdeedu @@ -12,7 +12,7 @@ depends=('kdelibs') makedepends=('cmake' 'automoc4') install=${pkgname}.install replaces=('kdeedu-libkdeedu' 'kdeedu-data') -source=("http://download.kde.org/stable/${pkgver}/src/xz/${pkgname}-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") sha1sums=('ab9ed54dcb99f7cfe98623aa47434841f372a5a7') build() { diff --git a/extra/libkexiv2/PKGBUILD b/extra/libkexiv2/PKGBUILD index 0d088b97b..0b8c0785e 100644 --- a/extra/libkexiv2/PKGBUILD +++ b/extra/libkexiv2/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152498 2012-03-07 16:13:04Z andrea $ +# $Id: PKGBUILD 153096 2012-03-12 09:10:12Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=libkexiv2 @@ -12,7 +12,7 @@ depends=('kdelibs') makedepends=('cmake' 'automoc4') replaces=('kdegraphics-libs') conflicts=('kdegraphics-libs') -source=("http://download.kde.org/stable/${pkgver}/src/xz/${pkgname}-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") sha1sums=('273d76f2414c2dc442ab8f9dc72578977aba0f0c') build() { diff --git a/extra/libkipi/PKGBUILD b/extra/libkipi/PKGBUILD index f1ea5dbcd..2b5807fc7 100644 --- a/extra/libkipi/PKGBUILD +++ b/extra/libkipi/PKGBUILD @@ -13,7 +13,7 @@ makedepends=('cmake' 'automoc4') replaces=('kdegraphics-libs') conflicts=('kdegraphics-libs') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/${pkgname}-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") sha1sums=('bc290e3354c206d7852433aac704fc96b3a55700') build() { diff --git a/extra/libksane/PKGBUILD b/extra/libksane/PKGBUILD index 06a3bb57d..674382924 100644 --- a/extra/libksane/PKGBUILD +++ b/extra/libksane/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 152502 2012-03-07 16:13:11Z andrea $ +# $Id: PKGBUILD 153100 2012-03-12 09:11:12Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=libksane @@ -13,7 +13,7 @@ makedepends=('cmake' 'automoc4') replaces=('kdegraphics-libs') conflicts=('kdegraphics-libs') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/xz/${pkgname}-${pkgver}.tar.xz") +source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") sha1sums=('20631624185f8bf26d7a8c2e7222731513e8a2ec') build() { diff --git a/extra/libmpdclient/PKGBUILD b/extra/libmpdclient/PKGBUILD index fb6dc9072..ff8d9d492 100644 --- a/extra/libmpdclient/PKGBUILD +++ b/extra/libmpdclient/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 141673 2011-11-02 05:35:47Z bisson $ +# $Id: PKGBUILD 153242 2012-03-12 13:45:57Z bisson $ # Contributor: Andrea Scarpino <andrea@archlinux.org> # Maintainer: Gaetan Bisson <bisson@archlinux.org> pkgname=libmpdclient -pkgver=2.6 +pkgver=2.7 pkgrel=1 pkgdesc='Asynchronous API library for interfacing MPD in the C, C++ & Objective C languages' url='http://mpd.wikia.com/wiki/ClientLib:libmpdclient' @@ -11,7 +11,7 @@ license=('custom:BSD') arch=('i686' 'x86_64' 'mips64el') options=('!libtool') source=("http://downloads.sourceforge.net/project/musicpd/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz") -sha1sums=('39bdcf5399fb98e34b8b6110057b64f4d1945333') +sha1sums=('f97e35525851eb192d3799f0dabe32915c56b96b') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/libpciaccess/PKGBUILD b/extra/libpciaccess/PKGBUILD index 0ec358dd2..aa6e4278f 100644 --- a/extra/libpciaccess/PKGBUILD +++ b/extra/libpciaccess/PKGBUILD @@ -1,8 +1,9 @@ # $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Alexander Baldeck <alexander@archlinux.org> + pkgname=libpciaccess -pkgver=0.12.1 +pkgver=0.13 pkgrel=1 pkgdesc="X11 PCI access library" arch=(i686 x86_64 'mips64el') @@ -12,12 +13,15 @@ depends=('glibc') makedepends=('pkgconfig' 'xorg-util-macros') options=('!libtool') source=(${url}/releases/individual/lib/${pkgname}-${pkgver}.tar.bz2) -sha1sums=('4933bda545df37395e57ff6b4bd61e17a5431770') +sha1sums=('7ddd8e1de27326f6f4a3ac6b4d2241fe77ef5353') build() { cd "${srcdir}/${pkgname}-${pkgver}" ./configure --prefix=/usr --sysconfdir=/etc make +} +package() { + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/libx11/PKGBUILD b/extra/libx11/PKGBUILD index f3194756d..c5c1d92ef 100644 --- a/extra/libx11/PKGBUILD +++ b/extra/libx11/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 134215 2011-08-02 15:15:42Z jgc $ +# $Id: PKGBUILD 153292 2012-03-12 20:52:22Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=libx11 -pkgver=1.4.4 +pkgver=1.4.99.1 pkgrel=1 pkgdesc="X11 client-side library" arch=(i686 x86_64 'mips64el') @@ -14,7 +14,7 @@ license=('custom') source=(${url}/releases/individual/lib/libX11-${pkgver}.tar.bz2 xorg.sh xorg.csh) -sha1sums=('2d9d38bfd7003ec60eea0b1999ab72cfd5fa3b90' +sha1sums=('317e0112926926a52c13f56f71c1ec9e4540cf4d ' '4b756387426afb2a5bb7a155631ec42348abf5c1' '45b0b310776cf5d9a94b4a18a5c63ddad9de6ba8') @@ -22,6 +22,10 @@ build() { cd "${srcdir}/libX11-${pkgver}" ./configure --prefix=/usr --disable-static --disable-xf86bigfont make +} + +package() { + cd "${srcdir}/libX11-${pkgver}" make check } diff --git a/extra/libxcb/PKGBUILD b/extra/libxcb/PKGBUILD index 9696ea620..914dd0fe7 100644 --- a/extra/libxcb/PKGBUILD +++ b/extra/libxcb/PKGBUILD @@ -1,36 +1,32 @@ -# $Id: PKGBUILD 122471 2011-05-04 08:36:03Z jgc $ +# $Id: PKGBUILD 153294 2012-03-12 20:52:27Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Alexander Baldeck <alexander@archlinux.org> pkgname=libxcb -pkgver=1.7 -pkgrel=2 +pkgver=1.8.1 +pkgrel=1 pkgdesc="X11 client-side library" arch=(i686 x86_64 'mips64el') url="http://xcb.freedesktop.org/" -depends=('xcb-proto>=1.6' 'libxdmcp' 'libxau') +depends=('xcb-proto>=1.7' 'libxdmcp' 'libxau') makedepends=('pkgconfig' 'libxslt' 'python2') -conflicts=('libx11<1.1.99.2') options=('!libtool') license=('custom') -source=(${url}/dist/${pkgname}-${pkgver}.tar.bz2 - xcb_auth-fix-memory-leak.patch +source=($url/dist/$pkgname-$pkgver.tar.bz2 libxcb-1.1-no-pthread-stubs.patch) -sha1sums=('7540f0587907bce421914f0ddb813810cb2f36f8' - '0c9246fd2ea270bfa06cb8ef93df2f8227d83c2a' - '3455e84642283bc91c8313af319002a20bbcbdf4') +sha1sums=('98199b6054750a06cddd4e77baa4354af547ce6f' + 'd2df03ddf3e949c10c2c185256b0eb7fa02837ab') build() { - cd "${srcdir}/${pkgname}-${pkgver}" - patch -Np1 -i "${srcdir}/libxcb-1.1-no-pthread-stubs.patch" - patch -Np1 -i "${srcdir}/xcb_auth-fix-memory-leak.patch" - libtoolize --force --copy - aclocal - autoconf - automake --add-missing - PYTHON=python2 ./configure --prefix=/usr --enable-xinput + cd "$srcdir/$pkgname-$pkgver" + patch -Np1 -i "$srcdir/libxcb-1.1-no-pthread-stubs.patch" + PYTHON=/usr/bin/python2 ./autogen.sh --prefix=/usr --enable-xinput make - make DESTDIR="${pkgdir}" install - install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" - install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + install -m755 -d "$pkgdir/usr/share/licenses/$pkgname" + install -m644 COPYING "$pkgdir/usr/share/licenses/$pkgname" } diff --git a/extra/libxcb/libxcb-1.1-no-pthread-stubs.patch b/extra/libxcb/libxcb-1.1-no-pthread-stubs.patch index f17de1b1d..8e8162f0a 100644 --- a/extra/libxcb/libxcb-1.1-no-pthread-stubs.patch +++ b/extra/libxcb/libxcb-1.1-no-pthread-stubs.patch @@ -1,10 +1,9 @@ -diff -up libxcb-1.1/configure.ac.pthread-stubs libxcb-1.1/configure.ac ---- libxcb-1.1/configure.ac.pthread-stubs 2007-11-04 18:17:11.000000000 -0500 -+++ libxcb-1.1/configure.ac 2007-11-12 10:27:06.000000000 -0500 -@@ -31,7 +31,7 @@ AC_SUBST(HTML_CHECK_RESULT) +--- libxcb-1.8.1/configure.ac 2012-03-09 15:38:38.000000000 +0100 ++++ libxcb-1.8.1/configure.ac.new 2012-03-09 16:50:40.107109896 +0100 +@@ -35,7 +35,7 @@ # Checks for pkg-config packages - PKG_CHECK_MODULES(XCBPROTO, xcb-proto >= 1.6) + PKG_CHECK_MODULES(XCBPROTO, xcb-proto >= 1.7) -NEEDED="pthread-stubs xau >= 0.99.2" +NEEDED="xau >= 0.99.2" PKG_CHECK_MODULES(NEEDED, $NEEDED) diff --git a/extra/libxft/PKGBUILD b/extra/libxft/PKGBUILD index b10aa696c..8c0cf19f8 100644 --- a/extra/libxft/PKGBUILD +++ b/extra/libxft/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 152776 2012-03-09 16:13:37Z andyrtr $ +# $Id: PKGBUILD 153277 2012-03-12 20:25:11Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=libxft pkgver=2.3.0 -pkgrel=1 +pkgrel=2 pkgdesc="FreeType-based font drawing library for X" arch=('i686' 'x86_64' 'mips64el') license=('custom') @@ -11,11 +11,15 @@ url="http://xorg.freedesktop.org/" depends=('fontconfig' 'libxrender') makedepends=('pkgconfig') options=('!libtool') -source=("${url}/releases/individual/lib/libXft-${pkgver}.tar.bz2") -sha1sums=('687f38a810b9ae58e1169c295d9d438370235e23') +source=("${url}/releases/individual/lib/libXft-${pkgver}.tar.bz2" + git_fixes.diff) +sha1sums=('687f38a810b9ae58e1169c295d9d438370235e23' + 'a87a56f62905bfcd85469caf349d07f37f84a989') build() { cd "${srcdir}/libXft-${pkgver}" + # fix broken bold fonts in urxvt terinals - https://bugs.freedesktop.org/show_bug.cgi?id=47178 + https://bugs.freedesktop.org/show_bug.cgi?id=47196 + patch -Np1 -i ${srcdir}/git_fixes.diff ./configure --prefix=/usr --sysconfdir=/etc --disable-static make } diff --git a/extra/libxft/git_fixes.diff b/extra/libxft/git_fixes.diff new file mode 100644 index 000000000..3a7155271 --- /dev/null +++ b/extra/libxft/git_fixes.diff @@ -0,0 +1,43 @@ +From 84b8b5b46773f9b686d57f28092824b86bffed9d Mon Sep 17 00:00:00 2001 +From: Mikael Magnusson <mikachu@gmail.com> +Date: Sun, 11 Mar 2012 01:41:55 +0000 +Subject: Fixup for 550b2f76401c2 which broke bold fonts + +The commit removed the line +AC_CHECK_FUNCS(FT_Get_Next_Char FT_Get_BDF_Property FT_Get_PS_Font_Info FT_Has_PS_Glyph_Names FT_GlyphSlot_Embolden) +but failed to remove the #if lines that this commit removes, resulting +in that code never being executed. + +Fixes: https://bugs.freedesktop.org/attachment.cgi?id=58280 + +Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com> +--- +diff --git a/src/xftglyphs.c b/src/xftglyphs.c +index 4a3b9d6..2f3dc5a 100644 +--- a/src/xftglyphs.c ++++ b/src/xftglyphs.c +@@ -24,9 +24,7 @@ + #include <freetype/ftoutln.h> + #include <freetype/ftlcdfil.h> + +-#if HAVE_FT_GLYPHSLOT_EMBOLDEN + #include <freetype/ftsynth.h> +-#endif + + /* + * Validate the memory info for a font +@@ -434,12 +432,10 @@ XftFontLoadGlyphs (Display *dpy, + + glyphslot = face->glyph; + +-#if HAVE_FT_GLYPHSLOT_EMBOLDEN + /* + * Embolden if required + */ + if (font->info.embolden) FT_GlyphSlot_Embolden(glyphslot); +-#endif + + /* + * Compute glyph metrics from FreeType information +-- +cgit v0.9.0.2-2-gbebe diff --git a/extra/libxi/PKGBUILD b/extra/libxi/PKGBUILD index d500fb58a..4f70b7654 100644 --- a/extra/libxi/PKGBUILD +++ b/extra/libxi/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 145628 2011-12-24 14:44:56Z andyrtr $ +# $Id: PKGBUILD 153296 2012-03-12 20:52:30Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=libxi -pkgver=1.4.5 +pkgver=1.6.0 pkgrel=1 pkgdesc="X11 Input extension library" arch=('i686' 'x86_64' 'mips64el') @@ -11,14 +11,11 @@ depends=('libxext' 'inputproto') makedepends=('pkgconfig' 'xorg-util-macros') options=(!libtool) license=('custom') -source=(${url}/releases/individual/lib/libXi-${pkgver}.tar.bz2 - XExtInt-align-classes-n32.diff) -sha1sums=('8ac24dec8e488f49fd6a6b256c815da9ceec9737' - '30931831efa9a7f8a888f41bb9284fa32f2e2392') +source=(${url}/releases/individual/lib/libXi-${pkgver}.tar.bz2) +sha1sums=('b7edf48f93e8abd13ca688fa7f597452c4b74346') build() { cd "${srcdir}/libXi-${pkgver}" - patch -Nup0 < "${srcdir}/XExtInt-align-classes-n32.diff" ./configure --prefix=/usr --sysconfdir=/etc --disable-static make } diff --git a/extra/libxi/XExtInt-align-classes-n32.diff b/extra/libxi/XExtInt-align-classes-n32.diff deleted file mode 100644 index dc5cc4db3..000000000 --- a/extra/libxi/XExtInt-align-classes-n32.diff +++ /dev/null @@ -1,31 +0,0 @@ ---- src/XExtInt.c.orig 2011-06-14 20:46:50.254164713 +0200 -+++ src/XExtInt.c 2011-06-14 22:08:38.173047738 +0200 -@@ -1419,6 +1419,13 @@ - for (i = 0; i < nclasses; i++) - { - int l = 0; -+#ifdef _ABIN32 -+ /* On MIPS n32 doubles must be 8 byte aligned, but longs take -+ 4 bytes, so next_block could make this structure -+ unaligned. */ -+ if(len % 8 != 0) -+ len += 8 - len % 8; -+#endif - any_wire = (xXIAnyInfo*)ptr_wire; - switch(any_wire->type) - { -@@ -1467,6 +1474,14 @@ - - for (i = 0; i < nclasses; i++) - { -+#ifdef _ABIN32 -+ /* On MIPS n32 doubles must be 8 byte aligned, but longs take -+ 4 bytes, so next_block could make this structure -+ unaligned. */ -+ if(((size_t) ptr_lib) % 8 != 0) -+ ptr_lib += 8 - ((size_t) ptr_lib) % 8; -+#endif -+ - any_lib = (XIAnyClassInfo*)ptr_lib; - any_wire = (xXIAnyInfo*)ptr_wire; - diff --git a/extra/libxt/PKGBUILD b/extra/libxt/PKGBUILD index 0c4f3a74d..d2b818319 100644 --- a/extra/libxt/PKGBUILD +++ b/extra/libxt/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 152767 2012-03-09 16:01:47Z andyrtr $ +# $Id: PKGBUILD 153273 2012-03-12 20:17:00Z andyrtr $ #Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=libxt pkgver=1.1.2 -pkgrel=1 +pkgrel=2 pkgdesc="X11 toolkit intrinsics library" arch=('i686' 'x86_64' 'mips64el') url="http://xorg.freedesktop.org/" @@ -11,11 +11,15 @@ license=('custom') depends=('libsm' 'libx11') makedepends=('xorg-util-macros') options=('!libtool') -source=("${url}/releases/individual/lib/libXt-${pkgver}.tar.bz2") -sha1sums=('9e84b807419d78bda4acbd7aea05aed2ab0556cf') +source=("${url}/releases/individual/lib/libXt-${pkgver}.tar.bz2" + Revert_treat_unexpected_returned_events_from_poll_as_errors.diff) +sha1sums=('9e84b807419d78bda4acbd7aea05aed2ab0556cf' + 'bebadf4b90f6a49530b5600a12a9385253e0daa6') build() { cd "${srcdir}/libXt-${pkgver}" + # revert broken commit, see https://bugs.archlinux.org/task/28844 + https://bugs.archlinux.org/task/28875 + https://bugs.freedesktop.org/show_bug.cgi?id=47203 + patch -Np1 -R -i ${srcdir}/Revert_treat_unexpected_returned_events_from_poll_as_errors.diff ./configure --prefix=/usr --sysconfdir=/etc --disable-static make } diff --git a/extra/libxt/Revert_treat_unexpected_returned_events_from_poll_as_errors.diff b/extra/libxt/Revert_treat_unexpected_returned_events_from_poll_as_errors.diff new file mode 100644 index 000000000..b3f708292 --- /dev/null +++ b/extra/libxt/Revert_treat_unexpected_returned_events_from_poll_as_errors.diff @@ -0,0 +1,40 @@ +From 70bb9e28d37fff4ead4d0a2c672af77059765fa4 Mon Sep 17 00:00:00 2001 +From: Jeremy Huddleston <jeremyhu@apple.com> +Date: Wed, 04 Jan 2012 18:33:29 +0000 +Subject: Treat unexpected returned events from poll as errors + +Inspired by libxcb's f0565e8f06aadf760a9065a97b8cf5ab9cbd18de + +Resolves https://bugs.freedesktop.org/show_bug.cgi?id=20048 + +Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> +--- +diff --git a/src/NextEvent.c b/src/NextEvent.c +index b1f7bc7..c8c9dd5 100644 +--- a/src/NextEvent.c ++++ b/src/NextEvent.c +@@ -356,7 +356,21 @@ static int IoWait ( + return Select (wf->nfds, &wf->rmask, &wf->wmask, &wf->emask, + wt->wait_time_ptr); + #else +- return poll (wf->fdlist, wf->fdlistlen, wt->poll_wait); ++ int ret = poll (wf->fdlist, wf->fdlistlen, wt->poll_wait); ++ /* If poll() returns an event we didn't expect, such as POLLNVAL, treat ++ * it as if it failed. */ ++ if(ret >= 0) { ++ nfds_t i; ++ for (i=0; i < wf->fdlistlen; i++) { ++ struct pollfd *fd = &wf->fdlist[i]; ++ if (fd->revents & ~fd->events) { ++ ret = -1; ++ errno = EIO; ++ break; ++ } ++ } ++ } ++ return ret; + #endif + } + +-- +cgit v0.9.0.2-2-gbebe diff --git a/extra/mesa/PKGBUILD b/extra/mesa/PKGBUILD index 6264b49c4..7b8d4c4d6 100644 --- a/extra/mesa/PKGBUILD +++ b/extra/mesa/PKGBUILD @@ -1,28 +1,26 @@ -# $Id: PKGBUILD 143633 2011-11-27 22:29:58Z andyrtr $ +# $Id: PKGBUILD 153288 2012-03-12 20:52:15Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Maintainer: Andreas Radke <andyrtr@archlinux.org> pkgbase=mesa -pkgname=('mesa' 'libgl' 'libglapi' 'libgles' 'libegl' 'khrplatform-devel' 'ati-dri' 'intel-dri' 'unichrome-dri' 'mach64-dri' 'mga-dri' 'r128-dri' 'savage-dri' 'sis-dri' 'tdfx-dri' 'nouveau-dri') # 'llvm-dri') -[[ "$CARCH" = "mips64el" ]] && pkgname=('mesa' 'libglapi' 'libgl' 'libgles') -# prepare 7.12/8.0 -#pkgname=('mesa' 'libgl' 'libglapi' 'libgles' 'libegl' 'ati-dri' 'intel-dri' 'nouveau-dri') # 'llvm-dri') +pkgname=('mesa' 'libgl' 'osmesa' 'libglapi' 'libgles' 'libegl' 'khrplatform-devel') +[[ "$CARCH" != "mips64el" ]] && pkgname+=('ati-dri' 'intel-dri' 'nouveau-dri' 'svga-dri') #_git=true _gitdate=20111031 _git=false if [ "${_git}" = "true" ]; then - #pkgver=7.10.99.git20110709 - pkgver=7.11 + pkgver=7.10.99.git20110709 + #pkgver=7.11 else - pkgver=7.11.2 + pkgver=8.0.1 fi -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64' 'mips64el') -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' +makedepends=('glproto>=1.4.15' 'libxxf86vm>=1.1.1' 'libxdamage>=1.1.3' 'expat>=2.0.1' 'libx11>=1.4.99.1' 'libxt>=1.1.1' 'gcc-libs>=4.6.1' 'python2' 'libxml2' 'imake' 'udev') -[ "$CARCH" = "mips64el" ] || makedepends+=('dri2proto=2.6' 'llvm') +[[ "$CARCH" != "mips64el" ]] && makedepends+=('libdrm>=2.4.30' 'dri2proto>=2.6' 'llvm') url="http://mesa3d.sourceforge.net" license=('custom') source=(LICENSE) @@ -32,11 +30,15 @@ if [ "${_git}" = "true" ]; then source=(${source[@]} "MesaLib-git${_gitdate}.zip"::"http://cgit.freedesktop.org/mesa/mesa/snapshot/mesa-ef9f16f6322a89fb699fbe3da868b10f9acaef98.tar.bz2") else source=(${source[@]} "ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/MesaLib-${pkgver}.tar.bz2" + #source=(${source[@]} "ftp://ftp.freedesktop.org/pub/mesa/8.0/MesaLib-8.0-rc2.tar.bz2" #source=(${source[@]} "MesaLib-git${_gitdate}.zip"::"http://cgit.freedesktop.org/mesa/mesa/snapshot/mesa-4464ee1a9aa3745109cee23531e3fb2323234d07.tar.bz2" ) fi -[ "$CARCH" = "mips64el" ] && \ - source+=(mesa-7.5-mips-wmb.patch mesa-loongson.patch) +source+=(mesa-7.5-mips-wmb.patch mesa-loongson.patch) +md5sums=('5c65a0fe315dd347e09b1f2826a1df5a' + '24eeebf66971809d8f40775a379b36c9' + 'c7788f2495060bf133771aef6ad25929' + '598c24dccfcdcc99c07d883f7c09f36a') build() { cd ${srcdir}/?esa-* @@ -67,17 +69,18 @@ if [ "${_git}" = "true" ]; then autoreconf -vfi ./autogen.sh --prefix=/usr \ --with-dri-driverdir=/usr/lib/xorg/modules/dri \ - --with-gallium-drivers=r300,r600,nouveau,swrast \ + --with-gallium-drivers=r300,r600,nouveau,svga,swrast \ --enable-gallium-llvm \ --enable-gallium-egl --enable-shared-glapi\ --enable-glx-tls \ - --with-driver=dri \ - --enable-xcb \ - --disable-glut \ + --enable-dri \ + --enable-glx \ + --enable-osmesa \ --enable-gles1 \ --enable-gles2 \ --enable-egl \ --enable-texture-float \ + --enable-xa \ --enable-shared-dricore # --enable-gallium-svga \ @@ -86,17 +89,18 @@ if [ "${_git}" = "true" ]; then autoreconf -vfi ./configure --prefix=/usr \ --with-dri-driverdir=/usr/lib/xorg/modules/dri \ - --with-gallium-drivers=r300,r600,nouveau,swrast \ + --with-gallium-drivers=r300,r600,nouveau,svga,swrast \ --enable-gallium-llvm \ --enable-gallium-egl --enable-shared-glapi\ --enable-glx-tls \ - --with-driver=dri \ - --enable-xcb \ - --disable-glut \ + --enable-dri \ + --enable-glx \ + --enable-osmesa \ --enable-gles1 \ --enable-gles2 \ --enable-egl \ --enable-texture-float \ + --enable-xa \ --enable-shared-dricore fi fi @@ -105,9 +109,10 @@ fi } package_libgl() { - depends=('libdrm>=2.4.26' 'libxxf86vm>=1.1.1' 'libxdamage>=1.1.3' 'expat>=2.0.1' 'libglapi' 'gcc-libs') + depends=('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" - [[ "$CARCH" = "mips64el" ]] && pkgdesc="Mesa 3-D graphics library (Xlib)" + replaces=('unichrome-dri' 'mach64-dri' 'mga-dri' 'r128-dri' 'savage-dri' 'sis-dri' 'tdfx-dri') + [[ "$CARCH" != "mips64el" ]] && depends+=('libdrm>=2.4.31') cd ${srcdir}/?esa-* install -m755 -d "${pkgdir}/usr/lib" @@ -122,7 +127,6 @@ package_libgl() { cd src/mesa/drivers/dri make -C ${srcdir}/?esa-*/src/gallium/targets/dri-swrast DESTDIR="${pkgdir}" install - ln -s swrastg_dri.so "${pkgdir}/usr/lib/xorg/modules/dri/swrast_dri.so" ln -s libglx.xorg "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so" fi @@ -131,6 +135,14 @@ package_libgl() { install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libgl/" } +package_osmesa() { + depends=('mesa') + optdepends=('opengl-man-pages: for the OpenGL API man pages') + pkgdesc="Mesa 3D off-screen rendering library" + + make -C ${srcdir}/?esa-*/src/mesa DESTDIR="${pkgdir}" install-osmesa +} + 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" @@ -165,8 +177,9 @@ package_libgles() { } package_libegl() { - depends=('libglapi' 'libdrm' 'libxext' 'libxfixes' 'udev' 'khrplatform-devel') + depends=('libglapi' 'libxext' 'libxfixes' 'udev' 'khrplatform-devel') pkgdesc="Mesa EGL libraries and headers" + [[ "$CARCH" != "mips64el" ]] && depends+=('libdrm') cd ${srcdir}/?esa-* make -C src/gallium/targets/egl-static DESTDIR="${pkgdir}" install @@ -190,7 +203,7 @@ package_libegl() { } package_khrplatform-devel() { - depends=('') + #depends=('') pkgdesc="Khronos platform development package" cd ${srcdir}/?esa-* @@ -215,7 +228,8 @@ package_mesa() { rm -f "${pkgdir}/usr/lib/libGLESv"* rm -f "${pkgdir}/usr/lib/libEGL"* rm -rf "${pkgdir}/usr/lib/egl" - rm -f ${pkgdir}/usr/lib/pkgconfig/{glesv1_cm.pc,glesv2.pc,egl.pc} + rm -f "${pkgdir}/usr/lib/libOSMesa"* + rm -f ${pkgdir}/usr/lib/pkgconfig/{glesv1_cm.pc,glesv2.pc,egl.pc,osmesa.pc} rm -rf "${pkgdir}/usr/lib/xorg" rm -f "${pkgdir}/usr/include/GL/glew.h" rm -f "${pkgdir}/usr/include/GL/glxew.h" @@ -244,66 +258,10 @@ package_intel-dri() { depends=("libgl=${pkgver}") pkgdesc="Mesa DRI drivers for Intel" - make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/i810 DESTDIR="${pkgdir}" install # dead in 7.12 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" - - make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/unichrome DESTDIR="${pkgdir}" install -} - -package_mach64-dri() { - depends=("libgl=${pkgver}") - pkgdesc="Mesa DRI drivers for ATI Mach64" - conflicts=('xf86-video-mach64<6.8.2') - - make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/mach64 DESTDIR="${pkgdir}" install -} - -package_mga-dri() { - depends=("libgl=${pkgver}") - pkgdesc="Mesa DRI drivers for Matrox" - conflicts=('xf86-video-mga<1.4.11') - - make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/mga DESTDIR="${pkgdir}" install -} - -package_r128-dri() { - depends=("libgl=${pkgver}") - pkgdesc="Mesa DRI drivers for ATI Rage128" - conflicts=('xf86-video-r128<6.8.1') - - make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/r128 DESTDIR="${pkgdir}" install -} - -package_savage-dri() { - depends=("libgl=${pkgver}") - pkgdesc="Mesa DRI drivers for S3 Sraphics/VIA Savage" - conflicts=('xf86-video-savage<2.3.1') - - make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/savage DESTDIR="${pkgdir}" install -} - -package_sis-dri() { - depends=("libgl=${pkgver}") - pkgdesc="Mesa DRI drivers for SiS" - conflicts=('xf86-video-sis<0.10.2') - - make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/sis DESTDIR="${pkgdir}" install -} - -package_tdfx-dri() { - depends=("libgl=${pkgver}") - pkgdesc="Mesa DRI drivers for 3dfx" - conflicts=('xf86-video-tdfx<1.4.3') - - 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" @@ -314,25 +272,9 @@ package_nouveau-dri() { make -C ${srcdir}/?esa-*/src/gallium/targets/dri-nouveau DESTDIR="${pkgdir}" install } -#package_llvm-dri() { -# depends=("libgl=${pkgver}") -# pkgdesc="Mesa common LLVM support" - -#if [ "${_git}" = "true" ]; then -# cd ${srcdir}/mesa-*/src/gallium -# else -# cd "${srcdir}/Mesa-${pkgver}/src/gallium" -#fi - - # gallium llvmpipe -#if [ "${_git}" = "true" ]; then -# make -C drivers/llvmpipe DESTDIR="${pkgdir}" install -# #make -C targets/dri-swrast DESTDIR="${pkgdir}" install -# else -# make -C ${srcdir}/Mesa-${pkgver}/src/gallium/targets/dri-nouveau DESTDIR="${pkgdir}" install -#fi -#} -md5sums=('5c65a0fe315dd347e09b1f2826a1df5a' - '0837c52698fe3252369c3fdb5195afcc' - 'c7788f2495060bf133771aef6ad25929' - '598c24dccfcdcc99c07d883f7c09f36a') +package_svga-dri() { + depends=("mesa=${pkgver}") + pkgdesc="Gallium3D VMware guest GL driver" + + make -C ${srcdir}/?esa-*/src/gallium/targets/dri-vmwgfx DESTDIR="${pkgdir}" install +} diff --git a/extra/mkvtoolnix/PKGBUILD b/extra/mkvtoolnix/PKGBUILD index 994b35d5e..9c441f620 100644 --- a/extra/mkvtoolnix/PKGBUILD +++ b/extra/mkvtoolnix/PKGBUILD @@ -1,18 +1,18 @@ -# $Id: PKGBUILD 152222 2012-03-05 08:56:33Z ibiru $ +# $Id: PKGBUILD 152957 2012-03-10 20:16:46Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: xduugu <xduugu@gmx.com> pkgbase=mkvtoolnix pkgname=('mkvtoolnix-cli' 'mkvtoolnix-gtk') -pkgver=5.3.0 -pkgrel=2 +pkgver=5.4.0 +pkgrel=1 arch=('i686' 'x86_64' 'mips64el') license=('GPL') url="http://www.bunkus.org/videotools/mkvtoolnix/index.html" makedepends=('libmatroska' 'flac' 'libvorbis' 'file' 'wxgtk' 'boost-libs' 'lzo2' 'xdg-utils' 'boost' 'ruby') source=("http://www.bunkus.org/videotools/${pkgbase}/sources/${pkgbase}-${pkgver}.tar.bz2") -md5sums=('2cd84ff24e1d9217dd3caf170f34e758') +md5sums=('52c0d7f0df55b86022d9d6ed985fd803') build() { cd "${srcdir}/${pkgbase}-${pkgver}" diff --git a/extra/mpc/PKGBUILD b/extra/mpc/PKGBUILD index 788ddcc88..5ac2a36fc 100644 --- a/extra/mpc/PKGBUILD +++ b/extra/mpc/PKGBUILD @@ -1,30 +1,30 @@ -# $Id: PKGBUILD 132481 2011-07-24 21:57:50Z angvp $ -# Maintainer: Angel Velasquez <angvp@archlinux.org> +# $Id: PKGBUILD 153244 2012-03-12 13:46:46Z bisson $ +# Maintainer: Gaetan Bisson <bisson@archlinux.org> +# Contributor: Angel Velasquez <angvp@archlinux.org> # Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: Alexander Fehr <pizzapunk gmail com> # Contributor: Link Dupont <link@subpop.net> pkgname=mpc -pkgver=0.21 +pkgver=0.22 pkgrel=1 -pkgdesc="Minimalist command line interface to MPD" -arch=('i686' 'x86_64' 'mips64el') -url="http://mpd.wikia.com/wiki/Client:Mpc" +pkgdesc='Minimalist command line interface to MPD' +url='http://mpd.wikia.com/wiki/Client:Mpc' license=('GPL2') -depends=('libmpdclient') +arch=('i686' 'x86_64' 'mips64el') options=('!emptydirs') -source=(http://downloads.sourceforge.net/musicpd/${pkgname}-$pkgver.tar.bz2) -md5sums=('d8f88aad5fa7ed4c6e7005c5ec1ba7c5') +depends=('libmpdclient') +source=("http://downloads.sourceforge.net/musicpd/${pkgname}-${pkgver}.tar.gz") +sha1sums=('e35414c1f5b25f4e500ceae125adb5bb9063b029') build() { - cd "$srcdir/$pkgname-$pkgver" - ./configure --prefix=/usr - make + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make } package() { - cd "$srcdir/$pkgname-$pkgver" - make DESTDIR="$pkgdir" install - # Install bash completion file - install -D -m644 doc/mpc-completion.bash "$pkgdir/etc/bash_completion.d/mpc" + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + install -Dm644 doc/mpc-completion.bash "${pkgdir}/etc/bash_completion.d/mpc" } diff --git a/extra/mx/PKGBUILD b/extra/mx/PKGBUILD index 9b6a803a0..fd5d6554d 100644 --- a/extra/mx/PKGBUILD +++ b/extra/mx/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 141685 2011-11-02 11:04:43Z ibiru $ +# $Id: PKGBUILD 152895 2012-03-10 15:57:25Z heftig $ # Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: Guenther Wutz <admin@wutzara.de> pkgname=mx -pkgver=1.4.1 +pkgver=1.4.3 pkgrel=1 pkgdesc="A widget toolkit using Clutter" arch=('i686' 'x86_64' 'mips64el') @@ -13,16 +13,16 @@ depends=('clutter' 'libxrandr' 'dbus-glib' 'gtk2' 'startup-notification') makedepends=('intltool' 'gobject-introspection' 'gtk-doc') options=('!libtool') source=("http://source.clutter-project.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz") -sha256sums=('6687300eef0bcee133cb7cd97d91de000e741aa2c0b50718bb2e837b6ca25250') +sha256sums=('d0c259a7bcaf130a17cef00ed4c7118287f05790a6b50bcffa02668130336eb5') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install } diff --git a/extra/ode/PKGBUILD b/extra/ode/PKGBUILD index 1723113e8..562f0be64 100644 --- a/extra/ode/PKGBUILD +++ b/extra/ode/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 141650 2011-11-01 10:06:18Z pierre $ +# $Id: PKGBUILD 152962 2012-03-10 20:34:51Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Adam Griffiths <adam_griffithsAATTdart.net.au> pkgname=ode -pkgver=0.11.1 -pkgrel=2 +pkgver=0.12 +pkgrel=1 pkgdesc="An open source, high performance library for simulating rigid body dynamics" arch=('i686' 'x86_64' 'mips64el') url="http://www.ode.org" @@ -12,10 +12,11 @@ license=('LGPL' 'BSD') depends=('gcc-libs' 'bash') source=("http://downloads.sourceforge.net/sourceforge/opende/${pkgname}-${pkgver}.tar.bz2") options=('!libtool') -md5sums=('712579afabc2a15aa56e399f76171477') +md5sums=('83766cae59692c2843d9afccc1768988') build() { cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr \ --enable-shared make @@ -23,6 +24,7 @@ build() { package() { cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR=${pkgdir}/ install install -Dm0644 ${srcdir}/${pkgname}-${pkgver}/ou/LICENSE-BSD.TXT \ diff --git a/extra/oxygen-gtk2/PKGBUILD b/extra/oxygen-gtk2/PKGBUILD index c7886480a..4173fb9d6 100644 --- a/extra/oxygen-gtk2/PKGBUILD +++ b/extra/oxygen-gtk2/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 150269 2012-02-16 07:56:45Z andrea $ +# $Id: PKGBUILD 153265 2012-03-12 17:50:21Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: birdflesh <antkoul at gmail dot com> pkgname=oxygen-gtk2 -pkgver=1.2.1 +pkgver=1.2.2 pkgrel=1 pkgdesc="Port of the default KDE widget theme (Oxygen) to GTK2" arch=('i686' 'x86_64') @@ -14,7 +14,7 @@ conflicts=('oxygen-gtk') replaces=('oxygen-gtk') makedepends=('cmake') source=("http://download.kde.org/stable/${pkgname}/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2") -md5sums=('4a0a98a3499a9357d0f83191b48900ad') +md5sums=('88cc3da77fec3802564b6d16b4268300') build() { cd "${srcdir}" diff --git a/extra/oxygen-gtk3/PKGBUILD b/extra/oxygen-gtk3/PKGBUILD index 4788efdfc..5e8587085 100644 --- a/extra/oxygen-gtk3/PKGBUILD +++ b/extra/oxygen-gtk3/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 150271 2012-02-16 07:57:57Z andrea $ +# $Id: PKGBUILD 153267 2012-03-12 17:51:08Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=oxygen-gtk3 -pkgver=1.0.1 +pkgver=1.0.2 pkgrel=1 pkgdesc="Port of the default KDE widget theme (Oxygen) to GTK3" arch=('i686' 'x86_64') @@ -11,7 +11,7 @@ license=('LGPL') depends=('gtk3' 'dbus-glib') makedepends=('cmake') source=("http://download.kde.org/stable/${pkgname}/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2") -md5sums=('5ecdac1dca4307d369b04db9a9e4e3af') +md5sums=('3e884df6afe8a549063748ff12b5065c') build() { cd "${srcdir}" diff --git a/extra/poppler/PKGBUILD b/extra/poppler/PKGBUILD index cc75d6ae4..939f7fc4b 100644 --- a/extra/poppler/PKGBUILD +++ b/extra/poppler/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 148882 2012-02-05 11:54:01Z ibiru $ +# $Id: PKGBUILD 153271 2012-03-12 19:10:06Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgbase=poppler pkgname=('poppler' 'poppler-glib' 'poppler-qt') -pkgver=0.18.3 -pkgrel=2 +pkgver=0.18.4 +pkgrel=1 arch=(i686 x86_64 mips64el) license=('GPL') makedepends=('libjpeg' 'gcc-libs' 'cairo' 'fontconfig' 'openjpeg' 'gtk2' 'qt' 'pkgconfig' 'lcms' 'gobject-introspection') @@ -12,16 +12,13 @@ options=('!libtool' '!emptydirs') url="http://poppler.freedesktop.org/" _testtag=0d2bfd4af4c76a3bac27ccaff793d9129df7b57a source=(http://poppler.freedesktop.org/${pkgbase}-${pkgver}.tar.gz - http://cgit.freedesktop.org/poppler/test/snapshot/test-${_testtag}.tar.bz2 - git-fixes.patch) -md5sums=('d70d2d63d8acd29c97185f7e5f09c9b4' - '9dc64c254a31e570507bdd4ad4ba629a' - 'af56b7b1b24a08f7498a0c7f5e862b93') + http://cgit.freedesktop.org/poppler/test/snapshot/test-${_testtag}.tar.bz2) +md5sums=('12658f3308597e57f3faff538cc73baf' + '9dc64c254a31e570507bdd4ad4ba629a') build() { cd "${srcdir}/${pkgbase}-${pkgver}" sed -i -e '/AC_PATH_XTRA/d' configure.ac - #patch -Np1 -i "${srcdir}/git-fixes.patch" autoreconf -fi diff --git a/extra/ruby/PKGBUILD b/extra/ruby/PKGBUILD index 652baf9d2..a8c392b58 100644 --- a/extra/ruby/PKGBUILD +++ b/extra/ruby/PKGBUILD @@ -5,7 +5,7 @@ pkgname=ruby pkgver=1.9.3_p125 -pkgrel=1 +pkgrel=2 pkgdesc='An object-oriented language for quick and easy programming' arch=('i686' 'x86_64' 'mips64el') url='http://www.ruby-lang.org/en/' diff --git a/extra/smb4k/PKGBUILD b/extra/smb4k/PKGBUILD index e04f96661..f02d0c14c 100644 --- a/extra/smb4k/PKGBUILD +++ b/extra/smb4k/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 148642 2012-02-04 23:32:14Z giovanni $ +# $Id: PKGBUILD 153239 2012-03-12 11:49:26Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Emanuele Rampichini <emanuele.rampichini@gmail.com> pkgname=smb4k -pkgver=1.0.0 +pkgver=1.0.1 pkgrel=1 pkgdesc="A KDE program that browses samba shares" arch=('i686' 'x86_64' 'mips64el') @@ -13,7 +13,7 @@ depends=('kdebase-runtime') makedepends=('cmake' 'automoc4' 'docbook-xsl') install=smb4k.install source=("http://downloads.sourceforge.net/project/${pkgname}/Smb4K%20%28stable%20releases%29/${pkgver}/${pkgname}-${pkgver}.tar.bz2") -md5sums=('d00b71aac63aa9c68e68e5980c07a01b') +md5sums=('c4b515e482ef7a7a834a3b660e1ee4d0') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/systemd/PKGBUILD b/extra/systemd/PKGBUILD index 60a526323..9e77b3e95 100644 --- a/extra/systemd/PKGBUILD +++ b/extra/systemd/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 150927 2012-02-23 21:53:17Z dreisner $ +# $Id: PKGBUILD 153036 2012-03-11 15:14:05Z heftig $ # Maintainer: Dave Reisner <dreisner@archlinux.org> pkgbase=systemd pkgname=('systemd' 'libsystemd') pkgver=43 -pkgrel=3 +pkgrel=4 arch=('i686' 'x86_64') url="http://www.freedesktop.org/wiki/Software/systemd" license=('GPL2') @@ -12,12 +12,17 @@ makedepends=('acl' 'cryptsetup' 'dbus-core' 'docbook-xsl' 'gperf' 'intltool' 'kmod' 'libcap' 'libxslt' 'linux-api-headers' 'pam' 'udev' 'xz') options=('!libtool') source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz" - "os-release") + "os-release" "cpp-compat.patch") md5sums=('446cc6db7625617af67e2d8e5f503a49' - '752636def0db3c03f121f8b4f44a63cd') + '752636def0db3c03f121f8b4f44a63cd' + '414968aa314ced0b0ab4b2207e46aa69') build() { cd "$pkgname-$pkgver" + + # Fix C++ compile error when including sd-login.h + # http://comments.gmane.org/gmane.comp.sysutils.systemd.devel/4514 + patch -p1 -i ../cpp-compat.patch ./configure --sysconfdir=/etc \ --libexecdir=/usr/lib \ @@ -67,7 +72,7 @@ package_systemd() { sed -i '1s/python$/python2/' "$pkgdir/usr/bin/systemd-analyze" # didn't build this... - rm -f "man1/systemadm.1" + rm -f "$pkgdir/usr/share/man/man1/systemadm.1" # fix .so links in manpage stubs find "$pkgdir/usr/share/man" -type f -name '*.[[:digit:]]' \ @@ -83,13 +88,12 @@ package_systemd() { done ### split off libsystemd (libs, includes, pkgconfig, man3) - install -dm755 "$srcdir"/libsystemd/usr/{include,lib/pkgconfig,share/man} + install -dm755 "$srcdir"/libsystemd/usr/{include,lib/pkgconfig} cd "$srcdir"/libsystemd mv "$pkgdir/usr/lib"/libsystemd-*.so* usr/lib mv "$pkgdir/usr/include/systemd" usr/include mv "$pkgdir/usr/lib/pkgconfig"/libsystemd-*.pc usr/lib/pkgconfig - mv "$pkgdir/usr/share/man/man3" usr/share/man } package_libsystemd() { diff --git a/extra/systemd/cpp-compat.patch b/extra/systemd/cpp-compat.patch new file mode 100644 index 000000000..346c353bc --- /dev/null +++ b/extra/systemd/cpp-compat.patch @@ -0,0 +1,19 @@ +commit e09a9a35a1fdb4e849e63bdaf47d936c272b5e82 +Author: Lennart Poettering <lennart@poettering.net> +Date: 2012-03-05 15:16:10 +0100 + + sd-login: c++ compatibility + +diff --git a/src/systemd/sd-login.h b/src/systemd/sd-login.h +index 2f3c90c..6e99cfc 100644 +--- a/src/systemd/sd-login.h ++++ b/src/systemd/sd-login.h +@@ -94,7 +94,7 @@ int sd_session_get_service(const char *session, char **service); + int sd_session_get_type(const char *session, char **type); + + /* Determine the class of this session, i.e. one of "user", "greeter" or "lock-screen". */ +-int sd_session_get_class(const char *session, char **class); ++int sd_session_get_class(const char *session, char **clazz); + + /* Determine the X11 display of this session. */ + int sd_session_get_display(const char *session, char **display); diff --git a/extra/thunar/PKGBUILD b/extra/thunar/PKGBUILD index cb0eab8ee..0aa2df987 100644 --- a/extra/thunar/PKGBUILD +++ b/extra/thunar/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 149974 2012-02-11 23:31:34Z allan $ +# $Id: PKGBUILD 153248 2012-03-12 14:40:08Z tpowa $ # Maintainer: Evangelos Foutras <evangelos@foutrelis.com> # Contributor: Andrew Simmons <andrew.simmons@gmail.com> pkgname=thunar pkgver=1.2.3 -pkgrel=4 +pkgrel=5 pkgdesc="Modern file manager for Xfce" arch=('i686' 'x86_64' 'mips64el') url="http://thunar.xfce.org" @@ -22,12 +22,24 @@ optdepends=('gvfs: for trash support, mounting with udisk and remote filesystems 'thunar-media-tags-plugin: view/edit id3/ogg tags') options=('!libtool') install=$pkgname.install -source=(http://archive.xfce.org/src/xfce/${pkgname}/1.2/Thunar-$pkgver.tar.bz2) -sha256sums=('e66aa9ad61a9202e15cc7c5fffc7b961da9ab3b4428f874c1ec8e46eb4ffaca6') +source=(http://archive.xfce.org/src/xfce/${pkgname}/1.2/Thunar-$pkgver.tar.bz2 + fix-segfault-on-rename.patch + fix-sorting-of-large-numbers-5356.patch + fix-launching-multiple-files-7456.patch + fix-crash-8168.patch) +md5sums=('0a2c36cdd3cb3a2ab52cbf6055415b85' + '07e568a84f3a24e32d9d37803a250099' + '926dbefb639c429c8acf064922b4fbe0' + '7ef67fa9faa414ba03053dc69f4cdebc' + '54a88687621bcbd5ab7d951a952d3558') build() { cd "$srcdir/Thunar-$pkgver" - + # add fixes from git tree + patch -Np1 -i ../fix-sorting-of-large-numbers-5356.patch + patch -Np1 -i ../fix-launching-multiple-files-7456.patch + patch -Np1 -i ../fix-crash-8168.patch + patch -Np1 -i ../fix-segfault-on-rename.patch ./configure --prefix=/usr \ --sysconfdir=/etc \ --libexecdir=/usr/lib \ diff --git a/extra/thunar/fix-crash-8168.patch b/extra/thunar/fix-crash-8168.patch new file mode 100644 index 000000000..4300c81c6 --- /dev/null +++ b/extra/thunar/fix-crash-8168.patch @@ -0,0 +1,32 @@ +From 71f6f207cfd0194a3f3db83cb5fab694a5036e22 Mon Sep 17 00:00:00 2001 +From: Jannis Pohlmann <jannis@xfce.org> +Date: Sun, 26 Feb 2012 17:38:50 +0000 +Subject: Fix crash when removing an ancestor of the current folder (bug #8168). + +Whenever we release the GFileMonitor of a ThunarFolder, we also need to +disconnect from its signals. Otherwise one of the signal handlers might +still be called, potentially with corrupted user data (which was the +case here). +--- +diff --git a/thunar/thunar-folder.c b/thunar/thunar-folder.c +index 62015fe..4076b8d 100644 +--- a/thunar/thunar-folder.c ++++ b/thunar/thunar-folder.c +@@ -236,6 +236,7 @@ thunar_folder_finalize (GObject *object) + /* disconnect from the file alteration monitor */ + if (G_LIKELY (folder->monitor != NULL)) + { ++ g_signal_handlers_disconnect_matched (folder->monitor, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, folder); + g_file_monitor_cancel (folder->monitor); + g_object_unref (folder->monitor); + } +@@ -705,6 +706,7 @@ thunar_folder_reload (ThunarFolder *folder) + /* disconnect from the file alteration monitor */ + if (G_UNLIKELY (folder->monitor != NULL)) + { ++ g_signal_handlers_disconnect_matched (folder->monitor, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, folder); + g_file_monitor_cancel (folder->monitor); + g_object_unref (folder->monitor); + folder->monitor = NULL; +-- +cgit v0.9.0.2 diff --git a/extra/thunar/fix-launching-multiple-files-7456.patch b/extra/thunar/fix-launching-multiple-files-7456.patch new file mode 100644 index 000000000..40d581553 --- /dev/null +++ b/extra/thunar/fix-launching-multiple-files-7456.patch @@ -0,0 +1,53 @@ +From 379b8b9f350cb362735eb0e2a0e9471a898f2664 Mon Sep 17 00:00:00 2001 +From: John Lindgren <john.lindgren@aol.com> +Date: Sun, 26 Feb 2012 18:52:24 +0000 +Subject: Fix handling %U when launching multiple files with an app (bug #7456). + +GIO returns a newly allocated GAppInfo every time +g_app_info_get_default_for_type() is called. This means that if we use a +GHashTable and g_direct_hash() to associate GAppInfos with files to be +launched with each of them, we will actually end up with multiple +GAppInfos that are the same, and each of them will only have a single +file associated. + +To fix this, we now use a fake hash function that causes GHashTable to +always search the GAppInfo in the collision list. +--- +diff --git a/thunar/thunar-launcher.c b/thunar/thunar-launcher.c +index f479cf9..9f96b87 100644 +--- a/thunar/thunar-launcher.c ++++ b/thunar/thunar-launcher.c +@@ -546,17 +546,28 @@ thunar_launcher_execute_files (ThunarLauncher *launcher, + + + ++static guint ++thunar_launcher_g_app_info_hash (gconstpointer app_info) ++{ ++ return 0; ++} ++ ++ ++ + static void + thunar_launcher_open_files (ThunarLauncher *launcher, + GList *files) + { +- GAppInfo *app_info; + GHashTable *applications; ++ GAppInfo *app_info; + GList *file_list; + GList *lp; + +- /* allocate a hash table to associate applications to URIs */ +- applications = g_hash_table_new_full (g_direct_hash, ++ /* allocate a hash table to associate applications to URIs. since GIO allocates ++ * new GAppInfo objects every time, g_direct_hash does not work. we therefor use ++ * a fake hash function to always hit the collision list of the hash table and ++ * avoid storing multiple equal GAppInfos by means of g_app_info_equal(). */ ++ applications = g_hash_table_new_full (thunar_launcher_g_app_info_hash, + (GEqualFunc) g_app_info_equal, + (GDestroyNotify) g_object_unref, + (GDestroyNotify) thunar_g_file_list_free); +-- +cgit v0.9.0.2 diff --git a/extra/thunar/fix-segfault-on-rename.patch b/extra/thunar/fix-segfault-on-rename.patch new file mode 100644 index 000000000..b64a91e08 --- /dev/null +++ b/extra/thunar/fix-segfault-on-rename.patch @@ -0,0 +1,27 @@ +From fb7e7a602473fe2f11c78baacacaad1aea8c9dc6 Mon Sep 17 00:00:00 2001 +From: Nick Schermer <nick@xfce.org> +Date: Wed, 30 Nov 2011 17:45:57 +0000 +Subject: Fix segfault when plugin returns a NULL suffix. + +(cherry picked from commit 6f813ba48553e5b95a83bfa8463b20b8ee4607c4) +--- +diff --git a/thunar/thunar-renamer-model.c b/thunar/thunar-renamer-model.c +index 1aa7b77..91a47e1 100644 +--- a/thunar/thunar-renamer-model.c ++++ b/thunar/thunar-renamer-model.c +@@ -823,10 +823,9 @@ thunar_renamer_model_process_item (ThunarRenamerModel *renamer_model, + /* determine the new suffix */ + suffix = thunarx_renamer_process (renamer_model->renamer, THUNARX_FILE_INFO (item->file), dot + 1, idx); + +- /* generate the new file name */ +- name = g_new (gchar, (dot - display_name) + 1 + strlen (suffix) + 1); +- memcpy (name, display_name, (dot - display_name) + 1); +- memcpy (name + (dot - display_name) + 1, suffix, strlen (suffix) + 1); ++ prefix = g_strndup (display_name, (dot - display_name) + 1); ++ name = g_strconcat (prefix, suffix, NULL); ++ g_free (prefix); + + /* release the suffix */ + g_free (suffix); +-- +cgit v0.9.0.2 diff --git a/extra/thunar/fix-sorting-of-large-numbers-5356.patch b/extra/thunar/fix-sorting-of-large-numbers-5356.patch new file mode 100644 index 000000000..1105eea83 --- /dev/null +++ b/extra/thunar/fix-sorting-of-large-numbers-5356.patch @@ -0,0 +1,32 @@ +From 493db02bdbc6ec667cd04e75a77dff8366ec1bc0 Mon Sep 17 00:00:00 2001 +From: Eric Koegel <eric.koegel@gmail.com> +Date: Sun, 06 Nov 2011 13:58:33 +0000 +Subject: Fix sorting of filenames with large numbers (bug #5356). + +Change compare_by_name_using_number() to use guint64. + +Signed-off-by: Jannis Pohlmann <jannis@xfce.org> +--- +diff --git a/thunar/thunar-file.c b/thunar/thunar-file.c +index 909da25..44cdb31 100644 +--- a/thunar/thunar-file.c ++++ b/thunar/thunar-file.c +@@ -3168,12 +3168,12 @@ static gint + compare_by_name_using_number (const gchar *ap, + const gchar *bp) + { +- guint anum; +- guint bnum; ++ guint64 anum; ++ guint64 bnum; + + /* determine the numbers in ap and bp */ +- anum = strtoul (ap, NULL, 10); +- bnum = strtoul (bp, NULL, 10); ++ anum = strtouq (ap, NULL, 10); ++ bnum = strtouq (bp, NULL, 10); + + /* compare the numbers */ + if (anum < bnum) +-- +cgit v0.9.0.2 diff --git a/extra/xf86-input-acecad/PKGBUILD b/extra/xf86-input-acecad/PKGBUILD index c07e69d4a..be600e617 100644 --- a/extra/xf86-input-acecad/PKGBUILD +++ b/extra/xf86-input-acecad/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 140352 2011-10-11 21:29:41Z jgc $ +# $Id: PKGBUILD 153299 2012-03-12 20:52:33Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-input-acecad pkgver=1.5.0 -pkgrel=2 +pkgrel=3 pkgdesc="X.Org acecad tablet input driver" arch=(i686 x86_64 'mips64el') url="http://xorg.freedesktop.org/" license=('custom') depends=('sysfsutils') -makedepends=('xorg-server-devel>=1.10.99.902') -conflicts=('xorg-server<1.10.99.902') +makedepends=('xorg-server-devel>=1.11.99.902') +conflicts=('xorg-server<1.11.99.902') options=('!libtool') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 diff --git a/extra/xf86-input-aiptek/PKGBUILD b/extra/xf86-input-aiptek/PKGBUILD index e4f7ab6ba..7b8a375ca 100644 --- a/extra/xf86-input-aiptek/PKGBUILD +++ b/extra/xf86-input-aiptek/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 140354 2011-10-11 21:29:43Z jgc $ +# $Id: PKGBUILD 153301 2012-03-12 20:52:36Z andyrtr $ #Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-input-aiptek pkgver=1.4.1 -pkgrel=2 +pkgrel=3 pkgdesc="X.Org Aiptek USB Digital Tablet input driver" arch=(i686 x86_64 'mips64el') url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('pkgconfig' 'xorg-server-devel>=1.10.99.902') -conflicts=('xorg-server<1.10.99.902') +makedepends=('pkgconfig' 'xorg-server-devel>=1.11.99.902') +conflicts=('xorg-server<1.11.99.902') options=('!libtool') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) diff --git a/extra/xf86-input-evdev/PKGBUILD b/extra/xf86-input-evdev/PKGBUILD index b56a620c4..ed0d28da3 100644 --- a/extra/xf86-input-evdev/PKGBUILD +++ b/extra/xf86-input-evdev/PKGBUILD @@ -1,21 +1,21 @@ -# $Id: PKGBUILD 140356 2011-10-11 21:29:45Z jgc $ +# $Id: PKGBUILD 153303 2012-03-12 20:52:38Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Alexander Baldeck <Alexander@archlinux.org pkgname=xf86-input-evdev -pkgver=2.6.0 -pkgrel=4 +pkgver=2.7.0 +pkgrel=1 pkgdesc="X.org evdev input driver" arch=(i686 x86_64 'mips64el') url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel>=1.10.99.902') -conflicts=('xorg-server<1.10.99.902') +makedepends=('xorg-server-devel>=1.11.99.902') +conflicts=('xorg-server<1.11.99.902') options=('!libtool' '!makeflags') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) -sha1sums=('fb6f7a6f5168ae07efe890e4ace9fb8af1d4e1e0') +sha1sums=('f0cb2d8400c33e8e83b538b53512e77ba73367fa') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/xf86-input-joystick/PKGBUILD b/extra/xf86-input-joystick/PKGBUILD index 7c8fa0ab0..07a404903 100644 --- a/extra/xf86-input-joystick/PKGBUILD +++ b/extra/xf86-input-joystick/PKGBUILD @@ -1,28 +1,27 @@ -# $Id: PKGBUILD 142923 2011-11-18 09:36:49Z jgc $ +# $Id: PKGBUILD 153305 2012-03-12 20:52:42Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-input-joystick -pkgver=1.6.0 -pkgrel=3 +pkgver=1.6.1 +pkgrel=1 pkgdesc="X.Org Joystick input driver" arch=(i686 x86_64 'mips64el') url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel>=1.11.0') -conflicts=('xorg-server<1.11.0') +makedepends=('xorg-server-devel>=1.11.99.902') +conflicts=('xorg-server<1.11.99.902') groups=('xorg-drivers' 'xorg') options=('!libtool') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 - git-fixes.patch + #git-fixes.patch 50-joystick.conf) -sha1sums=('3b9aed1b8128e1fbd947fdcdd5e16efccad1c780' - '7812a34013a2333641bd7c5d044c46179490cb32' +sha1sums=('0712652ec6cdb2fca6ad888548b232a4de9cf580' 'e1ff3699a0470c6bb78a53f718df9d8521621e11') build() { cd "${srcdir}/${pkgname}-${pkgver}" - patch -Np1 -i "${srcdir}/git-fixes.patch" + #patch -Np1 -i "${srcdir}/git-fixes.patch" ./configure --prefix=/usr make } diff --git a/extra/xf86-input-keyboard/PKGBUILD b/extra/xf86-input-keyboard/PKGBUILD index d5c301151..c7b093181 100644 --- a/extra/xf86-input-keyboard/PKGBUILD +++ b/extra/xf86-input-keyboard/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 148598 2012-02-04 10:16:48Z andyrtr $ +# $Id: PKGBUILD 153307 2012-03-12 20:52:44Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-input-keyboard pkgver=1.6.1 -pkgrel=1 +pkgrel=2 pkgdesc="X.Org keyboard input driver" arch=(i686 x86_64 'mips64el') license=('custom') url="http://xorg.freedesktop.org/" depends=('glibc') -makedepends=('xorg-server-devel>=1.10.99.902') -conflicts=('xorg-server<1.10.99.902') +makedepends=('xorg-server-devel>=1.11.99.902') +conflicts=('xorg-server<1.11.99.902') options=('!libtool') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) diff --git a/extra/xf86-input-mouse/PKGBUILD b/extra/xf86-input-mouse/PKGBUILD index ffff8fec6..af4ea4160 100644 --- a/extra/xf86-input-mouse/PKGBUILD +++ b/extra/xf86-input-mouse/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 140362 2011-10-11 21:29:54Z jgc $ +# $Id: PKGBUILD 153309 2012-03-12 20:52:47Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-input-mouse pkgver=1.7.1 -pkgrel=2 +pkgrel=3 pkgdesc="X.org mouse input driver" arch=(i686 x86_64 'mips64el') license=('custom') url="http://xorg.freedesktop.org/" depends=('glibc') -makedepends=('xorg-server-devel>=1.10.99.902') -conflicts=('xorg-server<1.10.99.902') +makedepends=('xorg-server-devel>=1.11.99.902') +conflicts=('xorg-server<1.11.99.902') options=('!libtool') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) diff --git a/extra/xf86-input-synaptics/PKGBUILD b/extra/xf86-input-synaptics/PKGBUILD index a0b628d28..a04c79c99 100644 --- a/extra/xf86-input-synaptics/PKGBUILD +++ b/extra/xf86-input-synaptics/PKGBUILD @@ -1,38 +1,43 @@ -# $Id: PKGBUILD 140364 2011-10-11 21:29:57Z jgc $ +# $Id: PKGBUILD 153311 2012-03-12 20:52:51Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Tobias Powalowski <tpowa@archlinux.org> # Contributor: Thomas Bächler <thomas@archlinux.org> # Contributor: Alexander Baldeck <alexander@archlinux.org> pkgname=xf86-input-synaptics -pkgver=1.5.0 -pkgrel=1 +pkgver=1.5.99 +pkgrel=0.2 +_gitver=dfc3a8ed713c2878407c6443c4d3092da3125e0c pkgdesc="Synaptics driver for notebook touchpads" arch=('i686' 'x86_64' 'mips64el') license=('custom') url="http://xorg.freedesktop.org/" depends=('libxtst') -makedepends=('xorg-server-devel>=1.10.99.902' 'libxi' 'libx11') -conflicts=('xorg-server<1.10.99.902') +makedepends=('xorg-server-devel>=1.11.99.902' 'libxi' 'libx11') +conflicts=('xorg-server<1.11.99.902') replaces=('synaptics') provides=('synaptics') conflicts=('synaptics') groups=('xorg-drivers' 'xorg') options=(!libtool) backup=('etc/X11/xorg.conf.d/10-synaptics.conf') -source=(http://xorg.freedesktop.org/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 +source=(#http://xorg.freedesktop.org/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 + http://cgit.freedesktop.org/xorg/driver/xf86-input-synaptics/snapshot/xf86-input-synaptics-${_gitver}.tar.gz 10-synaptics.conf) -sha1sums=('7373c1e3f02bf7e18f71b65762a982d907b4a053' - '68e1f4ef5e1038231d210eb422fa4d18c5922f0f') +md5sums=('5e21cc5c7f61802ac340968caf9db7de' + '3b81a81b958dfe3cac3cdef7ee85f1ce') build() { - cd "${srcdir}/${pkgname}-${pkgver}" +# cd "${srcdir}/${pkgname}-${pkgver}" + cd ${srcdir}/${pkgname}* + autoreconf -fi ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + #cd "${srcdir}/${pkgname}-${pkgver}" + cd ${srcdir}/${pkgname}* make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/etc/X11/xorg.conf.d" install -m644 "${srcdir}/10-synaptics.conf" "${pkgdir}/etc/X11/xorg.conf.d/" diff --git a/extra/xf86-input-void/PKGBUILD b/extra/xf86-input-void/PKGBUILD index 411a25c62..e9746491a 100644 --- a/extra/xf86-input-void/PKGBUILD +++ b/extra/xf86-input-void/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 140368 2011-10-11 21:30:01Z jgc $ +# $Id: PKGBUILD 153315 2012-03-12 20:53:00Z andyrtr $ #Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-input-void pkgver=1.4.0 -pkgrel=2 +pkgrel=3 pkgdesc="X.org void input driver" arch=(i686 x86_64 'mips64el') license=('custom') url="http://xorg.freedesktop.org/" depends=('glibc') -makedepends=('xorg-server-devel>=1.10.99.902') -conflicts=('xorg-server<1.10.99.902') +makedepends=('xorg-server-devel>=1.11.99.902') +conflicts=('xorg-server<1.11.99.902') groups=('xorg-drivers' 'xorg') options=('!libtool') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) diff --git a/extra/xf86-input-wacom/PKGBUILD b/extra/xf86-input-wacom/PKGBUILD index bee71c7e7..82cd32ae4 100644 --- a/extra/xf86-input-wacom/PKGBUILD +++ b/extra/xf86-input-wacom/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 146763 2012-01-17 05:32:23Z heftig $ +# $Id: PKGBUILD 153317 2012-03-12 20:53:04Z andyrtr $ # Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Contributor: Jan de Groot <jgc@archlinux.org> # Contributor: M Rawash <mrawash@gmail.com> pkgname=xf86-input-wacom -pkgver=0.13.0 +pkgver=0.14.0 pkgrel=1 pkgdesc="X.Org Wacom tablet driver" arch=('i686' 'x86_64' 'mips64el') @@ -12,12 +12,12 @@ url="http://linuxwacom.sourceforge.net/" license=('GPL') backup=('etc/X11/xorg.conf.d/50-wacom.conf') depends=('libxi' 'libxrandr' 'libxinerama') -makedepends=('xorg-server-devel>=1.11.0' 'libxext') -conflicts=('xorg-server<1.11.0') +makedepends=('xorg-server-devel>=1.12.0' 'libxext') +conflicts=('xorg-server<1.12.0') options=(!libtool) source=(http://downloads.sourceforge.net/project/linuxwacom/${pkgname}/${pkgname}-${pkgver}.tar.bz2 70-wacom.rules) -md5sums=('4a426535989e84c4161e3607ea851654' +md5sums=('23d19a2b50a86b848df17297c745144f' '10db4f8272286690255c1bcc18bfdd92') build() { diff --git a/extra/xf86-video-apm/PKGBUILD b/extra/xf86-video-apm/PKGBUILD index c15e421d8..3cf6acff0 100644 --- a/extra/xf86-video-apm/PKGBUILD +++ b/extra/xf86-video-apm/PKGBUILD @@ -1,25 +1,32 @@ -# $Id: PKGBUILD 140350 2011-10-11 21:29:39Z jgc $ +# $Id: PKGBUILD 153319 2012-03-12 20:53:08Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-apm pkgver=1.2.3 -pkgrel=4 +pkgrel=5 pkgdesc="X.org Alliance ProMotion video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel>=1.11.0') -conflicts=('xorg-server<1.11.0') +makedepends=('xorg-server-devel>=1.11.99.902') +conflicts=('xorg-server<1.11.99.902') groups=('xorg-drivers' 'xorg') options=('!libtool') -source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) -sha1sums=('1fa7180cf985a74132f8d5b39a0bf9df08713fac') +source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 + apm-1.2.3-git.patch) +sha1sums=('1fa7180cf985a74132f8d5b39a0bf9df08713fac' + 'ad9468519eb959bb879ba4e4993d6a83848d5c6f') build() { cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i ${srcdir}/apm-1.2.3-git.patch ./configure --prefix=/usr make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-apm/apm-1.2.3-git.patch b/extra/xf86-video-apm/apm-1.2.3-git.patch new file mode 100644 index 000000000..1c6afb29d --- /dev/null +++ b/extra/xf86-video-apm/apm-1.2.3-git.patch @@ -0,0 +1,34 @@ +diff --git a/src/apm.h b/src/apm.h +index bc66714..86c7663 100644 +--- a/src/apm.h ++++ b/src/apm.h +@@ -109,7 +109,7 @@ typedef struct { + char *MemMap; + pointer BltMap; + Bool UnlockCalled; +- IOADDRESS iobase, xport, xbase; ++ unsigned long iobase, xport, xbase; + unsigned char savedSR10; + CARD8 MiscOut; + CARD8 c9, d9, db, Rush; +diff --git a/src/apm_driver.c b/src/apm_driver.c +index f172bab..f77bb2b 100644 +--- a/src/apm_driver.c ++++ b/src/apm_driver.c +@@ -418,8 +418,14 @@ ApmPreInit(ScrnInfoPtr pScrn, int flags) + + hwp = VGAHWPTR(pScrn); + vgaHWGetIOBase(hwp); +- pApm->iobase = hwp->PIOOffset; +- pApm->xport = hwp->PIOOffset + 0x3C4; ++#if ABI_VIDEODRV_VERSION < 12 ++#define PIOOFFSET hwp->PIOOffset ++#else ++/* FIXME reintroduce domain support */ ++#define PIOOFFSET 0 ++#endif ++ pApm->iobase = PIOOFFSET; ++ pApm->xport = PIOOFFSET + 0x3C4; + + /* Set pScrn->monitor */ + pScrn->monitor = pScrn->confScreen->monitor; diff --git a/extra/xf86-video-ark/PKGBUILD b/extra/xf86-video-ark/PKGBUILD index 9f07d6a0c..ac5b44dff 100644 --- a/extra/xf86-video-ark/PKGBUILD +++ b/extra/xf86-video-ark/PKGBUILD @@ -1,28 +1,32 @@ -# $Id: PKGBUILD 140348 2011-10-11 21:29:38Z jgc $ +# $Id: PKGBUILD 153321 2012-03-12 20:53:11Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-ark -pkgver=0.7.3 -pkgrel=4 +pkgver=0.7.4 +pkgrel=1 pkgdesc="X.org ark video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel>=1.11.0') -conflicts=('xorg-server<1.11.0') +makedepends=('xorg-server-devel>=1.11.99.902') +conflicts=('xorg-server<1.11.99.902') options=('!libtool') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 - git-fixes.patch) -sha1sums=('56901ec6097a83433689f208268281f9c98c238b' - 'f62cdc7995e9b64c9105382ccfa842732fa81309') + #git-fixes.patch + ) +sha1sums=('d95cb9aa56e7db542b3ac8fed9cb519b11f77556') build() { cd "${srcdir}/${pkgname}-${pkgver}" - patch -Np1 -i "${srcdir}/git-fixes.patch" + #patch -Np1 -i "${srcdir}/git-fixes.patch" ./configure --prefix=/usr make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" diff --git a/extra/xf86-video-ast/PKGBUILD b/extra/xf86-video-ast/PKGBUILD index a51fd704b..20537ce70 100644 --- a/extra/xf86-video-ast/PKGBUILD +++ b/extra/xf86-video-ast/PKGBUILD @@ -1,25 +1,32 @@ -# $Id: PKGBUILD 140346 2011-10-11 21:29:36Z jgc $ +# $Id: PKGBUILD 153323 2012-03-12 20:53:14Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-ast pkgver=0.93.9 -pkgrel=1 +pkgrel=2 pkgdesc="X.org ASPEED AST Graphics video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel>=1.11.0') -conflicts=('xorg-server<1.11.0') +makedepends=('xorg-server-devel>=1.11.99.902') +conflicts=('xorg-server<1.11.99.902') options=('!libtool') groups=('xorg-drivers' 'xorg') -source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) -sha1sums=('424cc93d0300e49a882199c0546425f223b3b4bd') +source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 + ast-0.93.9-vga.patch) +md5sums=('e25c6a55e9d07cc6054d6affc1231296' + '9aa9ea4c568b6563389fa634cb0f7cf0') build() { cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i ${srcdir}/ast-0.93.9-vga.patch ./configure --prefix=/usr make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-ast/ast-0.93.9-vga.patch b/extra/xf86-video-ast/ast-0.93.9-vga.patch new file mode 100644 index 000000000..e05a78f56 --- /dev/null +++ b/extra/xf86-video-ast/ast-0.93.9-vga.patch @@ -0,0 +1,38 @@ +From 4a7eda24050b42072c77d527257609e743e8dc78 Mon Sep 17 00:00:00 2001 +From: Adam Jackson <ajax@redhat.com> +Date: Wed, 16 Nov 2011 20:09:40 +0000 +Subject: Adapt to domain changes in videoabi 12 + +This is a blind change, I don't have this hardware handy to test with. +It probably wants the same new API that tdfx wants. + +Signed-off-by: Adam Jackson <ajax@redhat.com> +--- +diff --git a/src/ast_driver.c b/src/ast_driver.c +index bd3d338..128538f 100644 +--- a/src/ast_driver.c ++++ b/src/ast_driver.c +@@ -498,11 +498,20 @@ ASTPreInit(ScrnInfoPtr pScrn, int flags) + (pScrn->chipset != NULL) ? pScrn->chipset : "Unknown ast"); + + /* Resource Allocation */ ++#if ABI_VIDEODRV_VERSION < 12 + pAST->IODBase = pScrn->domainIOBase; ++#else ++ pAST->IODBase = 0; ++#endif + /* "Patch" the PIOOffset inside vgaHW in order to force + * the vgaHW module to use our relocated i/o ports. + */ +- VGAHWPTR(pScrn)->PIOOffset = pAST->PIOOffset = pAST->IODBase + PCI_REGION_BASE(pAST->PciInfo, 2, REGION_IO) - 0x380; ++ ++#if ABI_VIDEODRV_VERSION < 12 ++ VGAHWPTR(pScrn)->PIOOffset = /* ... */ ++#endif ++ pAST->PIOOffset = ++ pAST->IODBase + PCI_REGION_BASE(pAST->PciInfo, 2, REGION_IO) - 0x380; + + pAST->RelocateIO = (IOADDRESS)(PCI_REGION_BASE(pAST->PciInfo, 2, REGION_IO) + pAST->IODBase); + +-- +cgit v0.9.0.2-2-gbebe diff --git a/extra/xf86-video-ati/PKGBUILD b/extra/xf86-video-ati/PKGBUILD index 2aff325a5..5cce5b37c 100644 --- a/extra/xf86-video-ati/PKGBUILD +++ b/extra/xf86-video-ati/PKGBUILD @@ -1,17 +1,17 @@ -# $Id: PKGBUILD 141740 2011-11-02 16:51:06Z andyrtr $ +# $Id: PKGBUILD 153325 2012-03-12 20:53:16Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Alexander Baldeck <alexander@archlinux.org> pkgname=xf86-video-ati pkgver=6.14.3 -pkgrel=1 +pkgrel=2 pkgdesc="X.org ati video driver" arch=('i686' 'x86_64') url="http://xorg.freedesktop.org/" license=('custom') depends=(libpciaccess libdrm udev pixman ati-dri) -makedepends=('xorg-server-devel>=1.11.0' 'libdrm' 'xf86driproto' 'mesa' 'glproto') -conflicts=('xorg-server<1.11.0') +makedepends=('xorg-server-devel>=1.11.99.902' 'libdrm' 'xf86driproto' 'mesa' 'glproto') +conflicts=('xorg-server<1.11.99.902') groups=('xorg-drivers' 'xorg') options=('!libtool') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) diff --git a/extra/xf86-video-chips/PKGBUILD b/extra/xf86-video-chips/PKGBUILD index f558899d2..aea1d769a 100644 --- a/extra/xf86-video-chips/PKGBUILD +++ b/extra/xf86-video-chips/PKGBUILD @@ -1,29 +1,33 @@ -# $Id: PKGBUILD 140342 2011-10-11 21:29:31Z jgc $ +# $Id: PKGBUILD 153327 2012-03-12 20:53:18Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Alexander Baldeck <alexander@archlinux.org> pkgname=xf86-video-chips pkgver=1.2.4 -pkgrel=3 +pkgrel=4 pkgdesc="X.org Chips and Technologies video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=(glibc) -makedepends=('xorg-server-devel>=1.11.0') -conflicts=('xorg-server<1.11.0') +makedepends=('xorg-server-devel>=1.11.99.902') +conflicts=('xorg-server<1.11.99.902') groups=('xorg-drivers' 'xorg') options=('!libtool') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 - gut-overlay-8-16-support-from-driver.patch) + chips-1.2.4-git.patch) sha1sums=('71f474335d05f93b2451a7a0750c4409669641a4' - 'f6a635196118dacb73fad980571b390849963b3d') + 'b13ff000e3f6f06c1a7fd55e9e0ad6078f1b4e5b') build() { cd "${srcdir}/${pkgname}-${pkgver}" - patch -Np1 -i "${srcdir}/gut-overlay-8-16-support-from-driver.patch" + patch -Np1 -i ${srcdir}/chips-1.2.4-git.patch ./configure --prefix=/usr make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" diff --git a/extra/xf86-video-chips/chips-1.2.4-git.patch b/extra/xf86-video-chips/chips-1.2.4-git.patch new file mode 100644 index 000000000..9d8e856a3 --- /dev/null +++ b/extra/xf86-video-chips/chips-1.2.4-git.patch @@ -0,0 +1,912 @@ +diff --git a/configure.ac b/configure.ac +index 225e516..c0ed508 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -44,9 +44,6 @@ XORG_DEFAULT_OPTIONS + AC_DISABLE_STATIC + AC_PROG_LIBTOOL + +-# Checks for programs. +-AM_PROG_CC_C_O +- + AH_TOP([#include "xorg-server.h"]) + + # Define a configure option for an alternate module directory +diff --git a/man/chips.man b/man/chips.man +index 740af38..0c022ee 100644 +--- a/man/chips.man ++++ b/man/chips.man +@@ -165,9 +165,6 @@ Force the use of memory mapped IO where it can be used. Default: off + Force driver to leave centering and stretching registers alone. This + can fix some laptop suspend/resume problems. Default: off + .TP +-.BI "Option \*qOverlay\*q" +-Enable 8+24 overlay mode. Only appropriate for depth 24. Default: off. +-.TP + .BI "Option \*qColorKey\*q \*q" integer \*q + Set the colormap index used for the transparency key for the depth 8 plane + when operating in 8+16 overlay mode. The value must be in the range +diff --git a/src/ct_accel.c b/src/ct_accel.c +index 3920b0a..4b5776a 100644 +--- a/src/ct_accel.c ++++ b/src/ct_accel.c +@@ -428,19 +428,7 @@ chips_imagewrite: + infoPtr->ImageWriteFlags |= NO_PLANEMASK; + #endif + +- +-#ifdef CHIPS_HIQV +- if (XAAInit(pScreen, infoPtr)) { +- if (cPtr->Flags & ChipsOverlay8plus16) +- return(XAAInitDualFramebufferOverlay(pScreen, +- CTNAME(DepthChange))); +- else +- return TRUE; +- } else +- return FALSE; +-#else + return(XAAInit(pScreen, infoPtr)); +-#endif + } + + #ifdef CHIPS_HIQV +@@ -1243,11 +1231,6 @@ CTNAME(SubsequentScreenToScreenColorExpandFill)(ScrnInfoPtr pScrn, + #endif + w *= cAcl->BytesPerPixel; + ctBLTWAIT; +-#ifdef CHIPS_HIQV +- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16) && +- (pScrn->depth == 8)) +- ctSETPITCH(cAcl->PitchInBytes << 1, cAcl->PitchInBytes); +-#endif + ctSETSRCADDR(srcaddr); + ctSETDSTADDR(destaddr); + #ifdef CHIPS_HIQV +@@ -1271,10 +1254,6 @@ CTNAME(SetupForColor8x8PatternFill)(ScrnInfoPtr pScrn, int patx, int paty, + patternaddr = (paty * pScrn->displayWidth + + (patx & ~0x3F)) * cAcl->BytesPerPixel; + cAcl->patternyrot = (patx & 0x3F) >> 3; +-#ifdef CHIPS_HIQV +- if (cPtr->Flags & ChipsOverlay8plus16) +- patternaddr += cPtr->FbOffset16; +-#endif + + ctBLTWAIT; + ctSETPATSRCADDR(patternaddr); +@@ -1338,10 +1317,7 @@ CTNAME(SetupForMono8x8PatternFill)(ScrnInfoPtr pScrn, int patx, int paty, + + #ifdef CHIPS_HIQV + patternaddr = paty * pScrn->displayWidth + patx; +- if (cPtr->Flags & ChipsOverlay8plus16) +- patternaddr = patternaddr * 2 + cPtr->FbOffset16; +- else +- patternaddr *= cAcl->BytesPerPixel; ++ patternaddr *= cAcl->BytesPerPixel; + #else + patternaddr = (paty * pScrn->displayWidth + patx) * cAcl->BytesPerPixel; + #endif +@@ -1593,10 +1569,7 @@ CTNAME(WritePixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h, + dwords = (((skipleft + bytesPerLine + 0x7) & ~0x7)) >> 2; + destaddr = (y * pScrn->displayWidth + x) * (bpp >> 3); + destpitch = pScrn->displayWidth * (bpp >> 3); +- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16)) +- destaddr += cPtr->FbOffset16; +- else +- destaddr += cAcl->FbOffset; ++ destaddr += cAcl->FbOffset; + + ctBLTWAIT; + +@@ -1681,10 +1654,7 @@ CTNAME(WritePixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h, + y++; + + destaddr = (y * pScrn->displayWidth + x) * (bpp >> 3); +- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16)) +- destaddr += cPtr->FbOffset16; +- else +- destaddr += cAcl->FbOffset; ++ destaddr += cAcl->FbOffset; + + ctBLTWAIT; + ctSETDSTADDR(destaddr); +@@ -1717,10 +1687,7 @@ CTNAME(ReadPixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h, + dwords = (((bytesPerLine + 0x7) & ~0x7)) >> 2; + srcaddr = (y * pScrn->displayWidth + x) * (bpp >> 3); + srcpitch = pScrn->displayWidth * (bpp >> 3); +- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16)) +- srcaddr += cPtr->FbOffset16; +- else +- srcaddr += cAcl->FbOffset; ++ srcaddr += cAcl->FbOffset; + + ctBLTWAIT; + ctSETROP( ctDSTSYSTEM | ctLEFT2RIGHT | ctTOP2BOTTOM | +@@ -1755,10 +1722,7 @@ CTNAME(ReadPixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h, + dst += dstwidth; + y++; + srcaddr = (y * pScrn->displayWidth + x) * (bpp >> 3); +- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16)) +- srcaddr += cPtr->FbOffset16; +- else +- srcaddr += cAcl->FbOffset; ++ srcaddr += cAcl->FbOffset; + ctBLTWAIT; + ctSETSRCADDR(srcaddr); + ctSETHEIGHTWIDTHGO(h, bytesPerLine); +diff --git a/src/ct_driver.c b/src/ct_driver.c +index 6624b79..a2e5c94 100644 +--- a/src/ct_driver.c ++++ b/src/ct_driver.c +@@ -949,7 +949,7 @@ CHIPSProbe(DriverPtr drv, int flags) + } + + } +- xfree(usedChips); ++ free(usedChips); + } + } + +@@ -981,12 +981,12 @@ CHIPSProbe(DriverPtr drv, int flags) + pScrn->ValidMode = CHIPSValidMode; + foundScreen = TRUE; + } +- xfree(usedChips); ++ free(usedChips); + } + } + #endif + +- xfree(devSections); ++ free(devSections); + return foundScreen; + } + #endif +@@ -1446,7 +1446,12 @@ chipsPreInitHiQV(ScrnInfoPtr pScrn, int flags) + + hwp = VGAHWPTR(pScrn); + vgaHWGetIOBase(hwp); ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 + cPtr->PIOBase = hwp->PIOOffset; ++#else ++ cPtr->PIOBase = 0; ++#endif ++ + /* + * Must allow ensure that storage for the 2nd set of vga registers is + * allocated for dual channel cards +@@ -1639,55 +1644,15 @@ chipsPreInitHiQV(ScrnInfoPtr pScrn, int flags) + } + } + +- if ((s = xf86GetOptValString(cPtr->Options, OPTION_OVERLAY))) { +- if (!*s || !xf86NameCmp(s, "8,16") || !xf86NameCmp(s, "16,8")) { +- if (pScrn->bitsPerPixel == 16) { +- if (cPtr->Flags & ChipsLinearSupport) { +- cPtr->Flags |= ChipsOverlay8plus16; +- if(!xf86GetOptValInteger( +- cPtr->Options, OPTION_COLOR_KEY, &(pScrn->colorKey))) +- pScrn->colorKey = TRANSPARENCY_KEY; +- pScrn->overlayFlags = OVERLAY_8_16_DUALFB; +- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, +- "PseudoColor overlay enabled.\n"); +- if (!xf86IsOptionSet(cPtr->Options, OPTION_LCD_STRETCH)) +- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, +- " - Forcing option \"Stretch\" \"ON\".\n"); +- if (!xf86IsOptionSet(cPtr->Options, OPTION_LCD_CENTER)) +- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, +- " - Forcing option \"LcdCenter\" \"OFF\".\n"); +- if (cPtr->Flags & ChipsShadowFB) { +- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, +- " - Disabling \"Shadow Framebuffer\".\n"); +- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, +- " Not support with option \"8Plus16\".\n"); +- cPtr->Flags &= ~ChipsShadowFB; +- cPtr->Rotate = 0; +- } +- } else { +- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Option \"Overlay\" ignored. Not supported without linear addressing\n"); +- } +- } else { +- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, +- "Option \"Overlay\" is not supported in this configuration\n"); +- } +- } else { +- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, +- "\"%s\" is not a valid value for Option \"Overlay\"\n", s); +- } +- } +- +- if (!(cPtr->Flags & ChipsOverlay8plus16)) { +- if(xf86GetOptValInteger(cPtr->Options, OPTION_VIDEO_KEY, +- &(cPtr->videoKey))) { +- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "video key set to 0x%x\n", ++ if(xf86GetOptValInteger(cPtr->Options, OPTION_VIDEO_KEY, ++ &(cPtr->videoKey))) { ++ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "video key set to 0x%x\n", + cPtr->videoKey); +- } else { +- cPtr->videoKey = (1 << pScrn->offset.red) | ++ } else { ++ cPtr->videoKey = (1 << pScrn->offset.red) | + (1 << pScrn->offset.green) | + (((pScrn->mask.blue >> pScrn->offset.blue) - 1) + << pScrn->offset.blue); +- } + } + + if (cPtr->Flags & ChipsShadowFB) { +@@ -2335,28 +2300,16 @@ chipsPreInitHiQV(ScrnInfoPtr pScrn, int flags) + /* and 32bits on the others. Thus multiply by a suitable factor */ + if (cPtr->Flags & Chips64BitMemory) { + if (cPtr->FrameBufferSize && (cPtr->PanelType & ChipsLCD)) +- if (cPtr->Flags & ChipsOverlay8plus16 ) +- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 8 * 0.7 / 4); +- else + cPtr->MaxClock = min(cPtr->MaxClock, + MemClk->Clk * 8 * 0.7 / (bytesPerPixel + 1)); + else +- if (cPtr->Flags & ChipsOverlay8plus16) +- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 8 * 0.7 / 3); +- else + cPtr->MaxClock = min(cPtr->MaxClock, + MemClk->Clk * 8 * 0.7 / bytesPerPixel); + } else { + if (cPtr->FrameBufferSize && (cPtr->PanelType & ChipsLCD)) +- if (cPtr->Flags & ChipsOverlay8plus16 ) +- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 4 * 0.7 / 4); +- else + cPtr->MaxClock = min(cPtr->MaxClock, + MemClk->Clk * 4 * 0.7 / (bytesPerPixel + 1)); + else +- if (cPtr->Flags & ChipsOverlay8plus16) +- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 4 * 0.7 / 3); +- else + cPtr->MaxClock = min(cPtr->MaxClock, + MemClk->Clk * 4 * 0.7 / bytesPerPixel); + } +@@ -3736,8 +3689,7 @@ CHIPSEnterVT(int scrnIndex, int flags) + /* Should we re-save the text mode on each VT enter? */ + if(!chipsModeInit(pScrn, pScrn->currentMode)) + return FALSE; +- if ((!(cPtr->Flags & ChipsOverlay8plus16)) +- && (cPtr->Flags & ChipsVideoSupport) ++ if ((cPtr->Flags & ChipsVideoSupport) + && (cPtr->Flags & ChipsLinearSupport)) + CHIPSResetVideo(pScrn); + +@@ -3788,8 +3740,7 @@ chipsLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices, LOCO *colors, + int i, index, shift ; + CHIPSEntPtr cPtrEnt; + +- shift = ((pScrn->depth == 15) && +- (!(cPtr->Flags & ChipsOverlay8plus16))) ? 3 : 0; ++ shift = (pScrn->depth == 15) ? 3 : 0; + + if (cPtr->UseDualChannel) { + cPtrEnt = xf86GetEntityPrivate(pScrn->entityList[0], +@@ -3895,18 +3846,6 @@ chipsLoadPalette16(ScrnInfoPtr pScrn, int numColors, int *indices, + hwp->disablePalette(hwp); + } + +-static Bool +-cfb8_16ScreenInit(ScreenPtr pScreen, pointer pbits16, pointer pbits8, +- int xsize, int ysize, int dpix, int dpiy, +- int width16, int width8) +-{ +- return +- (fbOverlaySetupScreen(pScreen, pbits16, pbits8, xsize, ysize, +- dpix, dpiy, width16, width8, 16, 8) && +- fbOverlayFinishScreenInit(pScreen, pbits16, pbits8, xsize, ysize, +- dpix, dpiy, width16, width8, 16, 8, 16, 8)); +-} +- + /* Mandatory */ + static Bool + CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) +@@ -3947,22 +3886,6 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + if (!chipsMapMem(pScrn)) + return FALSE; + +- /* Setup a pointer to the overlay if needed */ +- if (cPtr->Flags & ChipsOverlay8plus16) { +- cPtr->FbOffset16 = pScrn->displayWidth * pScrn->virtualY; +- cPtr->FbSize16 = (pScrn->displayWidth << 1) * pScrn->virtualY; +- if (cPtr->FbSize16 > (cPtr->FbMapSize - cPtr->FrameBufferSize)) { +- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, +- "Too little memory for overlay. Disabling.\n"); +- cPtr->Flags &= ~ChipsOverlay8plus16; +- } +- if ((pScrn->displayWidth > 1024) || (pScrn->virtualY > 1024)) { +- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, +- "Max overlay Width/Height 1024 pixels. Disabling.\n"); +- cPtr->Flags &= ~ChipsOverlay8plus16; +- } +- } +- + /* Setup the MMIO register access functions if need */ + if (cPtr->UseFullMMIO && cPtr->MMIOBaseVGA) { + CHIPSSetMmioExtFuncs(cPtr); +@@ -4035,18 +3958,10 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + miClearVisualTypes(); + + /* Setup the visuals we support. */ +- if ((pScrn->bitsPerPixel == 16) && (cPtr->Flags & ChipsOverlay8plus16)){ +- if (!miSetVisualTypes(8, PseudoColorMask | GrayScaleMask, +- pScrn->rgbBits, PseudoColor)) +- return FALSE; +- if (!miSetVisualTypes(16, TrueColorMask, pScrn->rgbBits, TrueColor)) +- return FALSE; +- } else { +- if (!miSetVisualTypes(pScrn->depth, ++ if (!miSetVisualTypes(pScrn->depth, + miGetDefaultVisualMask(pScrn->depth), + pScrn->rgbBits, pScrn->defaultVisual)) +- return FALSE; +- } ++ return FALSE; + miSetPixmapDepths (); + + /* +@@ -4090,13 +4005,6 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + break; + #endif + case 16: +- if (cPtr->Flags & ChipsOverlay8plus16) { +- ret = cfb8_16ScreenInit(pScreen, (unsigned char *)FBStart + +- cPtr->FbOffset16, FBStart, width, +- height, pScrn->xDpi, pScrn->yDpi, +- displayWidth, displayWidth); +- break; +- } + default: + ret = fbScreenInit(pScreen, FBStart, + width,height, +@@ -4223,7 +4131,7 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + } + if (!miInitializeBanking(pScreen, pScrn->virtualX, pScrn->virtualY, + pScrn->displayWidth, pBankInfo)) { +- xfree(pBankInfo); ++ free(pBankInfo); + pBankInfo = NULL; + return FALSE; + } +@@ -4244,9 +4152,6 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + if (pScrn->bitsPerPixel < 8) + freespace = allocatebase - pScrn->displayWidth * + pScrn->virtualY / 2; +- else if ((pScrn->bitsPerPixel == 16) && (cPtr->Flags & ChipsOverlay8plus16)) +- freespace = allocatebase - pScrn->displayWidth * +- pScrn->virtualY - cPtr->FbSize16; + else + freespace = allocatebase - pScrn->displayWidth * + pScrn->virtualY * (pScrn->bitsPerPixel >> 3); +@@ -4369,9 +4274,7 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + AvailFBArea.y2 = cAcl->CacheEnd / + (pScrn->displayWidth * (pScrn->bitsPerPixel >> 3)); + +- if (!(cPtr->Flags & ChipsOverlay8plus16)) { +- xf86InitFBManager(pScreen, &AvailFBArea); +- } ++ xf86InitFBManager(pScreen, &AvailFBArea); + } + if (cPtr->Flags & ChipsAccelSupport) { + if (IS_HiQV(cPtr)) { +@@ -4425,16 +4328,10 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + if (!miCreateDefColormap(pScreen)) + return FALSE; + +- if ((cPtr->Flags & ChipsOverlay8plus16) && (pScrn->bitsPerPixel == 16)) { +- if(!xf86HandleColormaps(pScreen, 256, pScrn->rgbBits, chipsLoadPalette, +- NULL, CMAP_RELOAD_ON_MODE_SWITCH)) +- return FALSE; +- } else { +- if(!xf86HandleColormaps(pScreen, 256, pScrn->rgbBits, ++ if(!xf86HandleColormaps(pScreen, 256, pScrn->rgbBits, + (pScrn->depth == 16 ? chipsLoadPalette16 : chipsLoadPalette), + NULL, CMAP_RELOAD_ON_MODE_SWITCH | CMAP_PALETTED_TRUECOLOR)) +- return FALSE; +- } ++ return FALSE; + + #ifndef XSERVER_LIBPCIACCESS + racflag = RAC_COLORMAP; +@@ -4448,8 +4345,7 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + xf86SetSilkenMouse(pScreen); + #endif + +- if ((!(cPtr->Flags & ChipsOverlay8plus16)) +- && (cPtr->Flags & ChipsVideoSupport) ++ if ((cPtr->Flags & ChipsVideoSupport) + && (cPtr->Flags & ChipsLinearSupport)) { + CHIPSInitVideo(pScreen); + } +@@ -4522,10 +4418,7 @@ CHIPSAdjustFrame(int scrnIndex, int x, int y, int flags) + Base >>= 3; + break; + case 16: +- if (!(cPtr->Flags & ChipsOverlay8plus16)) +- Base >>= 1; +- else +- Base >>= 2; ++ Base >>= 1; + break; + case 24: + if (!IS_HiQV(cPtr)) +@@ -4581,14 +4474,6 @@ CHIPSAdjustFrame(int scrnIndex, int x, int y, int flags) + cPtr->writeMSS(cPtr, hwp, MSS); + } + +- if (cPtr->Flags & ChipsOverlay8plus16) { +- Base = (Base << 3) & ~(unsigned long)0xF; +- +- cPtr->writeMR(cPtr, 0x22, (cPtr->FbOffset16 + Base) & 0xF8); +- cPtr->writeMR(cPtr, 0x23, ((cPtr->FbOffset16 + Base) >> 8) & 0xFF); +- cPtr->writeMR(cPtr, 0x24, ((cPtr->FbOffset16 + Base) >> 16) & 0xFF); +- } +- + } + + /* Mandatory */ +@@ -4652,13 +4537,6 @@ CHIPSValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags) + ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; + CHIPSPtr cPtr = CHIPSPTR(pScrn); + +- if (flags & MODECHECK_FINAL) { +- /* Don't subtract FrambufferSize here as it should be subtracted already */ +- if ((cPtr->Flags & ChipsOverlay8plus16) +- && ((pScrn->videoRam<<10) - pScrn->displayWidth * 3 * pScrn->virtualY +- < 0)) +- return MODE_MEM; +- } + /* The tests here need to be expanded */ + if ((mode->Flags & V_INTERLACE) && (cPtr->PanelType & ChipsLCD)) + return MODE_NO_INTERLACE; +@@ -5544,12 +5422,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) + } else { + ChipsStd->Attribute[0x10] = 0x01; /* mode */ + } +- if ((pScrn->bitsPerPixel == 16) && (cPtr->Flags & ChipsOverlay8plus16)) { +- /* Make sure that the overlay isn't visible in the overscan region */ +- if (ChipsStd->Attribute[0x11] == pScrn->colorKey) +- ChipsStd->Attribute[0x11] = pScrn->colorKey - 1; +- } else +- ChipsStd->Attribute[0x11] = 0x00; /* overscan (border) color */ ++ ChipsStd->Attribute[0x11] = 0x00; /* overscan (border) color */ + ChipsStd->Attribute[0x12] = 0x0F; /* enable all color planes */ + ChipsStd->Attribute[0x13] = 0x00; /* horiz pixel panning 0 */ + +@@ -5558,8 +5431,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) + /* set virtual screen width */ + tmp = pScrn->displayWidth >> 3; + if (pScrn->bitsPerPixel == 16) { +- if (!(cPtr->Flags & ChipsOverlay8plus16)) +- tmp <<= 1; /* double the width of the buffer */ ++ tmp <<= 1; /* double the width of the buffer */ + } else if (pScrn->bitsPerPixel == 24) { + tmp += tmp << 1; + } else if (pScrn->bitsPerPixel == 32) { +@@ -5688,8 +5560,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) + + /* centering/stretching */ + if (!xf86ReturnOptValBool(cPtr->Options, OPTION_SUSPEND_HACK, FALSE)) { +- if (!xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_STRETCH, FALSE) || +- (cPtr->Flags & ChipsOverlay8plus16)) { ++ if (!xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_STRETCH, FALSE)) { + ChipsNew->FR[0x40] &= 0xDF; /* Disable Horizontal stretching */ + ChipsNew->FR[0x48] &= 0xFB; /* Disable vertical stretching */ + ChipsNew->XR[0xA0] = 0x10; /* Disable cursor stretching */ +@@ -5709,8 +5580,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) + } + } + +- if ((xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_CENTER, TRUE)) +- || (cPtr->Flags & ChipsOverlay8plus16)) { ++ if (xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_CENTER, TRUE)) { + ChipsNew->FR[0x40] |= 0x3; /* Enable Horizontal centering */ + ChipsNew->FR[0x48] |= 0x3; /* Enable Vertical centering */ + } else { +@@ -5723,8 +5593,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) + ChipsNew->XR[0x82] |=0x02; + + /* software mode flag */ +- ChipsNew->XR[0xE2] = chipsVideoMode(((cPtr->Flags & ChipsOverlay8plus16) ? +- 8 : pScrn->depth), (cPtr->PanelType & ChipsLCD) ? ++ ChipsNew->XR[0xE2] = chipsVideoMode((pScrn->depth), (cPtr->PanelType & ChipsLCD) ? + min(mode->CrtcHDisplay, cPtr->PanelSize.HDisplay) : + mode->CrtcHDisplay, mode->CrtcVDisplay); + #ifdef DEBUG +@@ -5762,7 +5631,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) + } + } + /* bpp depend */ +- if ((pScrn->bitsPerPixel == 16) && (!(cPtr->Flags & ChipsOverlay8plus16))) { ++ if (pScrn->bitsPerPixel == 16) { + ChipsNew->XR[0x81] = (ChipsNew->XR[0x81] & 0xF0) | 0x4; + if (cPtr->Flags & ChipsGammaSupport) + ChipsNew->XR[0x82] |= 0x0C; +@@ -5915,60 +5784,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) + /* Turn off multimedia by default as it degrades performance */ + ChipsNew->XR[0xD0] &= 0x0f; + +- /* Setup the video/overlay */ +- if (cPtr->Flags & ChipsOverlay8plus16) { +- ChipsNew->XR[0xD0] |= 0x10; /* Force the Multimedia engine on */ +-#ifdef SAR04 +- ChipsNew->XR[0x4F] = 0x2A; /* SAR04 >352 pixel overlay width */ +-#endif +- ChipsNew->MR[0x1E] &= 0xE0; /* Set Zoom and Direction */ +- if ((!(cPtr->PanelType & ChipsLCD)) && (mode->Flags & V_INTERLACE)) +- ChipsNew->MR[0x1E] |= 0x10; /* Interlace */ +- ChipsNew->MR[0x1F] &= 0x14; /* Mask reserved bits */ +- ChipsNew->MR[0x1F] |= 0x08; /* RGB 16bpp */ +- if (pScrn->weight.green == 5) +- ChipsNew->MR[0x1F] |= 0x01; /* RGB 15bpp */ +- +- ChipsNew->MR[0x20] &= 0x03; /* Mask reserved bits */ +- ChipsNew->MR[0x20] |= 0x80; /* Auto Centre, Use mem ptr1 */ +- ChipsNew->MR[0x22] = cPtr->FbOffset16 & 0xF8; /* Setup Pointer 1 */ +- ChipsNew->MR[0x23] = (cPtr->FbOffset16 >> 8) & 0xFF; +- ChipsNew->MR[0x24] = (cPtr->FbOffset16 >> 16) & 0xFF; +- ChipsNew->MR[0x25] = cPtr->FbOffset16 & 0xF8; /* Setup Pointer 2 */ +- ChipsNew->MR[0x26] = (cPtr->FbOffset16 >> 8) & 0xFF; +- ChipsNew->MR[0x27] = (cPtr->FbOffset16 >> 16) & 0xFF; +- ChipsNew->MR[0x28] = (pScrn->displayWidth >> 2) - 1; /* Width */ +- ChipsNew->MR[0x34] = (pScrn->displayWidth >> 2) - 1; +- +- /* Left Edge of Overlay */ +- ChipsNew->MR[0x2A] = cPtr->OverlaySkewX; +- ChipsNew->MR[0x2B] &= 0xF8; /* Mask reserved bits */ +- ChipsNew->MR[0x2B] |= ((cPtr->OverlaySkewX >> 8) & 0x7); +- /* Right Edge of Overlay */ +- ChipsNew->MR[0x2C] = (cPtr->OverlaySkewX + pScrn->displayWidth - +- 1) & 0xFF; +- ChipsNew->MR[0x2D] &= 0xF8; /* Mask reserved bits */ +- ChipsNew->MR[0x2D] |= ((cPtr->OverlaySkewX + pScrn->displayWidth - +- 1) >> 8) & 0x07; +- /* Top Edge of Overlay */ +- ChipsNew->MR[0x2E] = cPtr->OverlaySkewY; +- ChipsNew->MR[0x2F] &= 0xF8; +- ChipsNew->MR[0x2F] |= ((cPtr->OverlaySkewY >> 8) & 0x7); +- /* Bottom Edge of Overlay*/ +- ChipsNew->MR[0x30] = (cPtr->OverlaySkewY + pScrn->virtualY - 1 )& 0xFF; +- ChipsNew->MR[0x31] &= 0xF8; /* Mask reserved bits */ +- ChipsNew->MR[0x31] |= ((cPtr->OverlaySkewY + pScrn->virtualY - +- 1 ) >> 8) & 0x07; +- +- ChipsNew->MR[0x3C] &= 0x18; /* Mask reserved bits */ +- ChipsNew->MR[0x3C] |= 0x07; /* Enable keyed overlay window */ +- ChipsNew->MR[0x3D] = 0x00; +- ChipsNew->MR[0x3E] = 0x00; +- ChipsNew->MR[0x3F] = pScrn->colorKey; /* 8bpp transparency key */ +- ChipsNew->MR[0x40] = 0xFF; +- ChipsNew->MR[0x41] = 0xFF; +- ChipsNew->MR[0x42] = 0x00; +- } else if (cPtr->Flags & ChipsVideoSupport) { ++ if (cPtr->Flags & ChipsVideoSupport) { + #if 0 /* if we do this even though video isn't playing we kill performance */ + ChipsNew->XR[0xD0] |= 0x10; /* Force the Multimedia engine on */ + #endif +@@ -6877,8 +6693,7 @@ chipsRestoreExtendedRegs(ScrnInfoPtr pScrn, CHIPSRegPtr Regs) + } + + /* Set SAR04 multimedia register correctly */ +- if ((cPtr->Flags & ChipsOverlay8plus16) +- || (cPtr->Flags & ChipsVideoSupport)) { ++ if ((cPtr->Flags & ChipsVideoSupport)) { + #ifdef SAR04 + cPtr->writeXR(cPtr, 0x4E, 0x04); + if (cPtr->readXR(cPtr, 0x4F) != Regs->XR[0x4F]) +diff --git a/src/ct_driver.h b/src/ct_driver.h +index d8ce228..9033867 100644 +--- a/src/ct_driver.h ++++ b/src/ct_driver.h +@@ -114,7 +114,6 @@ typedef struct { + /* Options flags for the C&T chipsets */ + #define ChipsHWCursor 0x00001000 + #define ChipsShadowFB 0x00002000 +-#define ChipsOverlay8plus16 0x00004000 + #define ChipsUseNewFB 0x00008000 + + /* Architecture type flags */ +@@ -272,11 +271,13 @@ typedef struct { + + typedef struct _CHIPSRec { + pciVideoPtr PciInfo; ++#ifndef XSERVER_LIBPCIACCESS + PCITAG PciTag; ++#endif + int Chipset; + EntityInfoPtr pEnt; +- IOADDRESS PIOBase; +- CARD32 IOAddress; ++ unsigned long PIOBase; ++ unsigned long IOAddress; + unsigned long FbAddress; + unsigned int IOBase; + unsigned char * FbBase; +diff --git a/src/ct_video.c b/src/ct_video.c +index a68acb9..c9e5bb4 100644 +--- a/src/ct_video.c ++++ b/src/ct_video.c +@@ -56,8 +56,7 @@ CHIPSInitVideo(ScreenPtr pScreen) + CHIPSPtr cPtr = CHIPSPTR(pScrn); + int num_adaptors; + +- if (!(cPtr->Flags & ChipsOverlay8plus16) && +- (cPtr->Flags & ChipsVideoSupport)) { ++ if ((cPtr->Flags & ChipsVideoSupport)) { + newAdaptor = CHIPSSetupImageVideo(pScreen); + CHIPSInitOffscreenImages(pScreen); + } +diff --git a/util/dRegs.c b/util/dRegs.c +index b7edc8f..0d2f0cb 100644 +--- a/util/dRegs.c ++++ b/util/dRegs.c +@@ -1,63 +1,8 @@ +- +- +- +- +- +- +-#ifdef __NetBSD__ +-# include <sys/types.h> +-# include <machine/pio.h> +-# include <machine/sysarch.h> +-#else +-# if defined(SVR4) && defined(i386) +-# include <sys/types.h> +-# ifdef NCR +- /* broken NCR <sys/sysi86.h> */ +-# define __STDC +-# include <sys/sysi86.h> +-# undef __STDC +-# else +-# include <sys/sysi86.h> +-# endif +-# ifdef SVR4 +-# if !defined(sun) +-# include <sys/seg.h> +-# endif +-# endif +-# include <sys/v86.h> +-# if defined(sun) +-# include <sys/psw.h> +-# endif +-# endif +-# include "AsmMacros.h" +-#endif /* NetBSD */ +- + #include <unistd.h> + #include <stdio.h> + #include <stdlib.h> + +-#ifdef __NetBSD__ +-# define SET_IOPL() i386_iopl(3) +-# define RESET_IOPL() i386_iopl(0) +-#else +-# if defined(SVR4) && defined(i386) +-# ifndef SI86IOPL +-# define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL) +-# define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0) +-# else +-# define SET_IOPL() sysi86(SI86IOPL,3) +-# define RESET_IOPL() sysi86(SI86IOPL,0) +-# endif +-# else +-# ifdef linux +-# define SET_IOPL() iopl(3) +-# define RESET_IOPL() iopl(0) +-# else +-# define SET_IOPL() (void)0 +-# define RESET_IOPL() (void)0 +-# endif +-# endif +-#endif ++#include "iopl.h" + + int main(void) + { +diff --git a/util/iopl.h b/util/iopl.h +new file mode 100644 +index 0000000..e08207c +--- /dev/null ++++ b/util/iopl.h +@@ -0,0 +1,60 @@ ++#ifdef __NetBSD__ ++# include <sys/types.h> ++# include <machine/pio.h> ++# include <machine/sysarch.h> ++#else ++# if defined(__linux__) ++/* Can't because <sys/iopl.h> provides conflicting inb, outb, etc ++ * # include <sys/io.h> ++ */ ++int iopl(int level); ++# endif ++# if defined(SVR4) && defined(i386) ++# include <sys/types.h> ++# ifdef NCR ++ /* broken NCR <sys/sysi86.h> */ ++# define __STDC ++# include <sys/sysi86.h> ++# undef __STDC ++# else ++# include <sys/sysi86.h> ++# endif ++# ifdef SVR4 ++# if !defined(sun) ++# include <sys/seg.h> ++# endif ++# endif ++# include <sys/v86.h> ++# if defined(sun) ++# include <sys/psw.h> ++# endif ++# endif ++# include "AsmMacros.h" ++#endif /* NetBSD */ ++ ++#include <unistd.h> ++#include <stdio.h> ++#include <stdlib.h> ++ ++#ifdef __NetBSD__ ++# define SET_IOPL() i386_iopl(3) ++# define RESET_IOPL() i386_iopl(0) ++#else ++# if defined(SVR4) && defined(i386) ++# ifndef SI86IOPL ++# define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL) ++# define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0) ++# else ++# define SET_IOPL() sysi86(SI86IOPL,3) ++# define RESET_IOPL() sysi86(SI86IOPL,0) ++# endif ++# else ++# ifdef linux ++# define SET_IOPL() iopl(3) ++# define RESET_IOPL() iopl(0) ++# else ++# define SET_IOPL() (void)0 ++# define RESET_IOPL() (void)0 ++# endif ++# endif ++#endif +diff --git a/util/mRegs.c b/util/mRegs.c +index f359738..843d01d 100644 +--- a/util/mRegs.c ++++ b/util/mRegs.c +@@ -1,63 +1,8 @@ +- +- +- +- +- +- +-#ifdef __NetBSD__ +-# include <sys/types.h> +-# include <machine/pio.h> +-# include <machine/sysarch.h> +-#else +-# if defined(SVR4) && defined(i386) +-# include <sys/types.h> +-# ifdef NCR +- /* broken NCR <sys/sysi86.h> */ +-# define __STDC +-# include <sys/sysi86.h> +-# undef __STDC +-# else +-# include <sys/sysi86.h> +-# endif +-# ifdef SVR4 +-# if !defined(sun) +-# include <sys/seg.h> +-# endif +-# endif +-# include <sys/v86.h> +-# if defined(sun) +-# include <sys/psw.h> +-# endif +-# endif +-# include "AsmMacros.h" +-#endif /* NetBSD */ +- + #include <unistd.h> + #include <stdio.h> + #include <stdlib.h> + +-#ifdef __NetBSD__ +-# define SET_IOPL() i386_iopl(3) +-# define RESET_IOPL() i386_iopl(0) +-#else +-# if defined(SVR4) && defined(i386) +-# ifndef SI86IOPL +-# define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL) +-# define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0) +-# else +-# define SET_IOPL() sysi86(SI86IOPL,3) +-# define RESET_IOPL() sysi86(SI86IOPL,0) +-# endif +-# else +-# ifdef linux +-# define SET_IOPL() iopl(3) +-# define RESET_IOPL() iopl(0) +-# else +-# define SET_IOPL() (void)0 +-# define RESET_IOPL() (void)0 +-# endif +-# endif +-#endif ++#include "iopl.h" + + int hex2int(char* str); + +diff --git a/util/modClock.c b/util/modClock.c +index 89a291a..45af19b 100644 +--- a/util/modClock.c ++++ b/util/modClock.c +@@ -1,61 +1,12 @@ +- +-#ifdef __NetBSD__ +-# include <sys/types.h> +-# include <machine/pio.h> +-# include <machine/sysarch.h> +-#else +-# if defined(SVR4) && defined(i386) +-# include <sys/types.h> +-# ifdef NCR +- /* broken NCR <sys/sysi86.h> */ +-# define __STDC +-# include <sys/sysi86.h> +-# undef __STDC +-# else +-# include <sys/sysi86.h> +-# endif +-# ifdef SVR4 +-# if !defined(sun) +-# include <sys/seg.h> +-# endif +-# endif +-# include <sys/v86.h> +-# if defined(sun) +-# include <sys/psw.h> +-# endif +-# endif +-# include "AsmMacros.h" +-#endif /* NetBSD */ +- + #include <unistd.h> + #include <stdio.h> + #include <stdlib.h> ++ + #ifndef Lynx + #include <fnmatch.h> + #endif + +-#ifdef __NetBSD__ +-# define SET_IOPL() i386_iopl(3) +-# define RESET_IOPL() i386_iopl(0) +-#else +-# if defined(SVR4) && defined(i386) +-# ifndef SI86IOPL +-# define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL) +-# define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0) +-# else +-# define SET_IOPL() sysi86(SI86IOPL,3) +-# define RESET_IOPL() sysi86(SI86IOPL,0) +-# endif +-# else +-# ifdef linux +-# define SET_IOPL() iopl(3) +-# define RESET_IOPL() iopl(0) +-# else +-# define SET_IOPL() (void)0 +-# define RESET_IOPL() (void)0 +-# endif +-# endif +-#endif ++#include "iopl.h" + + #define tolerance 0.01 /* +/- 1% */ + diff --git a/extra/xf86-video-cirrus/PKGBUILD b/extra/xf86-video-cirrus/PKGBUILD index a2b46e91e..8f03c11d3 100644 --- a/extra/xf86-video-cirrus/PKGBUILD +++ b/extra/xf86-video-cirrus/PKGBUILD @@ -1,25 +1,32 @@ -# $Id: PKGBUILD 140340 2011-10-11 21:29:29Z jgc $ +# $Id: PKGBUILD 153329 2012-03-12 20:53:21Z andyrtr $ #Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-cirrus pkgver=1.3.2 -pkgrel=7 +pkgrel=8 pkgdesc="X.org Cirrus Logic video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel>=1.10.99.902') -conflicts=('xorg-server<1.10.99.902') +makedepends=('xorg-server-devel>=1.11.99.903') +conflicts=('xorg-server<1.11.99.903') groups=('xorg-drivers' 'xorg') options=('!libtool') -source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) -md5sums=('8195d03ed0be0975c03441e66a9f53b3') +source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 + cirrus-1.3.2-git.patch) +md5sums=('8195d03ed0be0975c03441e66a9f53b3' + '3e3677f330f1c24ce0f570c81f2b9de2') build() { cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i ${srcdir}/cirrus-1.3.2-git.patch ./configure --prefix=/usr make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-cirrus/cirrus-1.3.2-git.patch b/extra/xf86-video-cirrus/cirrus-1.3.2-git.patch new file mode 100644 index 000000000..5701a8473 --- /dev/null +++ b/extra/xf86-video-cirrus/cirrus-1.3.2-git.patch @@ -0,0 +1,846 @@ +diff --git a/Makefile.am b/Makefile.am +index aa89732..7bd8873 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -18,17 +18,18 @@ + # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +-AUTOMAKE_OPTIONS = foreign + SUBDIRS = src man ++MAINTAINERCLEANFILES = ChangeLog INSTALL + +-EXTRA_DIST = README.multihead ChangeLog ++EXTRA_DIST = README.multihead + +-MAINTAINERCLEANFILES=ChangeLog ++.PHONY: ChangeLog INSTALL + +-.PHONY: ChangeLog ++INSTALL: ++ $(INSTALL_CMD) + + ChangeLog: + $(CHANGELOG_CMD) + +-dist-hook: ChangeLog ++dist-hook: ChangeLog INSTALL + +diff --git a/configure.ac b/configure.ac +index d205eb3..68c3eb3 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -20,47 +20,47 @@ + # + # Process this file with autoconf to produce a configure script + +-AC_PREREQ(2.57) ++# Initialize Autoconf ++AC_PREREQ([2.60]) + AC_INIT([xf86-video-cirrus], +- 1.3.2, ++ [1.3.2], + [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], +- xf86-video-cirrus) +- ++ [xf86-video-cirrus]) + AC_CONFIG_SRCDIR([Makefile.am]) +-AM_CONFIG_HEADER([config.h]) ++AC_CONFIG_HEADERS([config.h]) + AC_CONFIG_AUX_DIR(.) + +-AM_INIT_AUTOMAKE([dist-bzip2]) +- ++# Initialize Automake ++AM_INIT_AUTOMAKE([foreign dist-bzip2]) + AM_MAINTAINER_MODE + +-# Require xorg-macros: XORG_CWARNFLAGS, XORG_CHANGELOG +-m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.2 or later before running autoconf/autogen])]) +-XORG_MACROS_VERSION(1.2) ++# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS ++m4_ifndef([XORG_MACROS_VERSION], ++ [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])]) ++XORG_MACROS_VERSION(1.8) ++XORG_DEFAULT_OPTIONS + +-# Checks for programs. ++# Initialize libtool + AC_DISABLE_STATIC + AC_PROG_LIBTOOL +-AC_PROG_CC +-XORG_CWARNFLAGS + + AH_TOP([#include "xorg-server.h"]) + ++# Define a configure option for an alternate module directory + AC_ARG_WITH(xorg-module-dir, +- AC_HELP_STRING([--with-xorg-module-dir=DIR], ++ AS_HELP_STRING([--with-xorg-module-dir=DIR], + [Default xorg module directory [[default=$libdir/xorg/modules]]]), + [moduledir="$withval"], + [moduledir="$libdir/xorg/modules"]) + +-# Checks for extensions ++# Store the list of server defined optional extensions in REQUIRED_MODULES + XORG_DRIVER_CHECK_EXT(RANDR, randrproto) + XORG_DRIVER_CHECK_EXT(RENDER, renderproto) + XORG_DRIVER_CHECK_EXT(XV, videoproto) + XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto) + +-# Checks for pkg-config packages ++# Obtain compiler/linker options for the driver dependencies + PKG_CHECK_MODULES(XORG, [xorg-server >= 1.4 xproto fontsproto $REQUIRED_MODULES]) +-sdkdir=$(pkg-config --variable=sdkdir xorg-server) + + # Checks for libraries. + SAVE_CPPFLAGS="$CPPFLAGS" +@@ -78,21 +78,15 @@ if test "x$XSERVER_LIBPCIACCESS" = xyes; then + fi + AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes) + +-# Checks for header files. +-AC_HEADER_STDC + +-AC_SUBST([XORG_CFLAGS]) + AC_SUBST([moduledir]) + + DRIVER_NAME=cirrus + AC_SUBST([DRIVER_NAME]) + +-XORG_MANPAGE_SECTIONS +-XORG_RELEASE_VERSION +-XORG_CHANGELOG +- +-AC_OUTPUT([ +- Makefile +- src/Makefile +- man/Makefile ++AC_CONFIG_FILES([ ++ Makefile ++ src/Makefile ++ man/Makefile + ]) ++AC_OUTPUT +diff --git a/man/Makefile.am b/man/Makefile.am +index f0eb29b..1ea26b3 100644 +--- a/man/Makefile.am ++++ b/man/Makefile.am +@@ -1,28 +1,25 @@ + # +-# Copyright 2005 Sun Microsystems, Inc. All rights reserved. +-# +-# Permission to use, copy, modify, distribute, and sell this software and its +-# documentation for any purpose is hereby granted without fee, provided that +-# the above copyright notice appear in all copies and that both that +-# copyright notice and this permission notice appear in supporting +-# documentation. +-# +-# The above copyright notice and this permission notice shall be included +-# in all copies or substantial portions of the Software. +-# +-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +-# IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +-# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +-# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +-# OTHER DEALINGS IN THE SOFTWARE. +-# +-# Except as contained in this notice, the name of the copyright holders shall +-# not be used in advertising or otherwise to promote the sale, use or +-# other dealings in this Software without prior written authorization +-# from the copyright holders. +-# ++# Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved. ++# ++# Permission is hereby granted, free of charge, to any person obtaining a ++# copy of this software and associated documentation files (the "Software"), ++# to deal in the Software without restriction, including without limitation ++# the rights to use, copy, modify, merge, publish, distribute, sublicense, ++# and/or sell copies of the Software, and to permit persons to whom the ++# Software is furnished to do so, subject to the following conditions: ++# ++# The above copyright notice and this permission notice (including the next ++# paragraph) shall be included in all copies or substantial portions of the ++# Software. ++# ++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ++# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER ++# DEALINGS IN THE SOFTWARE. ++# + + drivermandir = $(DRIVER_MAN_DIR) + +@@ -34,25 +31,11 @@ EXTRA_DIST = @DRIVER_NAME@.man + + CLEANFILES = $(driverman_DATA) + +-SED = sed + +-# Strings to replace in man pages +-XORGRELSTRING = @PACKAGE_STRING@ +- XORGMANNAME = X Version 11 ++# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure + +-MAN_SUBSTS = \ +- -e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \ +- -e 's|__xorgversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \ +- -e 's|__xservername__|Xorg|g' \ +- -e 's|__xconfigfile__|xorg.conf|g' \ +- -e 's|__projectroot__|$(prefix)|g' \ +- -e 's|__appmansuffix__|$(APP_MAN_SUFFIX)|g' \ +- -e 's|__drivermansuffix__|$(DRIVER_MAN_SUFFIX)|g' \ +- -e 's|__adminmansuffix__|$(ADMIN_MAN_SUFFIX)|g' \ +- -e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' \ +- -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g' + + SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man + + .man.$(DRIVER_MAN_SUFFIX): +- sed $(MAN_SUBSTS) < $< > $@ ++ $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@ +diff --git a/man/cirrus.man b/man/cirrus.man +index 009011e..af46248 100644 +--- a/man/cirrus.man ++++ b/man/cirrus.man +@@ -1,4 +1,3 @@ +-.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/cirrus.man,v 1.2 2001/01/27 18:20:47 dawes Exp $ + .\" shorthand for double quote that works everywhere. + .ds q \N'34' + .TH CIRRUS __drivermansuffix__ __vendorversion__ +diff --git a/src/CirrusClk.c b/src/CirrusClk.c +index a3590c9..6fd6270 100644 +--- a/src/CirrusClk.c ++++ b/src/CirrusClk.c +@@ -1,5 +1,3 @@ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/CirrusClk.c,v 1.8 1998/12/06 06:08:28 dawes Exp $ */ +- + #ifdef HAVE_CONFIG_H + #include "config.h" + #endif +diff --git a/src/alp.h b/src/alp.h +index 01c5301..a182d0c 100644 +--- a/src/alp.h ++++ b/src/alp.h +@@ -1,5 +1,3 @@ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/alp.h,v 1.8 2001/10/01 13:44:05 eich Exp $ */ +- + /* (c) Itai Nahshon */ + + #ifndef ALP_H +diff --git a/src/alp_driver.c b/src/alp_driver.c +index fe81757..d3d8e4f 100644 +--- a/src/alp_driver.c ++++ b/src/alp_driver.c +@@ -15,8 +15,6 @@ + #include "config.h" + #endif + +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/alp_driver.c,v 1.35 2003/11/03 05:11:09 tsi Exp $ */ +- + /* All drivers should typically include these */ + #include "xf86.h" + #include "xf86_OSproc.h" +@@ -29,6 +27,10 @@ + /* Drivers for PCI hardware need this */ + #include "xf86PciInfo.h" + ++#ifndef PCI_CHIP_GD7556 /* for old xf86PciInfo.h */ ++#define PCI_CHIP_GD7556 0x004C ++#endif ++ + /* Drivers that need to access the PCI config space directly need this */ + #include "xf86Pci.h" + +@@ -119,6 +121,11 @@ static void AlpOffscreenAccelInit(ScrnInfoPtr pScrn); + static void AlpDisplayPowerManagementSet(ScrnInfoPtr pScrn, + int PowerManagementMode, int flags); + ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 ++static void PC98CIRRUS755xEnable(ScrnInfoPtr pScrn); ++static void PC98CIRRUS755xDisable(ScrnInfoPtr pScrn); ++#endif ++ + /* + * This is intentionally screen-independent. It indicates the binding + * choice made in the first PreInit. +@@ -153,6 +160,8 @@ static int gd5430_MaxClocks[] = { 85500, 85500, 50000, 28500, 0 }; + static int gd5446_MaxClocks[] = { 135100, 135100, 85500, 85500, 0 }; + static int gd5480_MaxClocks[] = { 135100, 200000, 200000, 135100, 135100 }; + static int gd7548_MaxClocks[] = { 80100, 80100, 80100, 80100, 80100 }; ++static int gd7555_MaxClocks[] = { 80100, 80100, 80100, 80100, 80100 }; ++static int gd7556_MaxClocks[] = { 80100, 80100, 80100, 80100, 80100 }; + + #ifdef XFree86LOADER + +@@ -248,7 +257,7 @@ AlpFreeRec(ScrnInfoPtr pScrn) + { + if (pScrn->driverPrivate == NULL) + return; +- xfree(pScrn->driverPrivate); ++ free(pScrn->driverPrivate); + pScrn->driverPrivate = NULL; + } + +@@ -385,6 +394,11 @@ AlpCountRam(ScrnInfoPtr pScrn) + break; + } + break; ++ ++ case PCI_CHIP_GD7555: ++ case PCI_CHIP_GD7556: ++ videoram = 2048; /* for PC-9821 La13 etc. */ ++ break; + } + + /* UNMap the Alp memory and MMIO areas */ +@@ -407,6 +421,8 @@ GetAccelPitchValues(ScrnInfoPtr pScrn) + { + int *linePitches = NULL; + int i, n = 0; ++ int max_pitch; ++ + CirPtr pCir = CIRPTR(pScrn); + + /* XXX ajv - 512, 576, and 1536 may not be supported +@@ -423,8 +439,21 @@ GetAccelPitchValues(ScrnInfoPtr pScrn) + 1280, 1536, 1600, 1920, 2048, 0 }; + #endif + ++ switch (pCir->Chipset) { ++ case PCI_CHIP_GD5436: ++ case PCI_CHIP_GD5446: ++ max_pitch = 0x1ff << 3; ++ break; ++ ++ default: ++ /* FIXME max_pitch for other chipsets? */ ++ max_pitch = (pScrn->bitsPerPixel / 8) * 2048; ++ break; ++ } ++ + for (i = 0; accelWidths[i] != 0; i++) { +- if (accelWidths[i] % pCir->Rounding == 0) { ++ if ((accelWidths[i] % pCir->Rounding == 0) ++ && ((accelWidths[i] * pScrn->bitsPerPixel / 8) <= max_pitch)) { + n++; + linePitches = xnfrealloc(linePitches, n * sizeof(int)); + linePitches[n - 1] = accelWidths[i]; +@@ -482,12 +511,17 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags) + + pCir = CIRPTR(pScrn); + pCir->pScrn = pScrn; ++ ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 + pCir->PIOReg = hwp->PIOOffset + 0x3CE; ++#else ++ pCir->PIOReg = 0x3CE; ++#endif + + /* Get the entity, and make sure it is PCI. */ + pCir->pEnt = xf86GetEntityInfo(pScrn->entityList[0]); + if (pCir->pEnt->location.type != BUS_PCI) { +- xfree(pCir->pEnt); ++ free(pCir->pEnt); + return FALSE; + } + +@@ -498,7 +532,8 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags) + PCI_DEV_DEV(pCir->PciInfo), + PCI_DEV_FUNC(pCir->PciInfo)); + +- if (xf86LoadSubModule(pScrn, "int10")) { ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 ++ if (!xf86IsPc98() && xf86LoadSubModule(pScrn, "int10")) { + xf86DrvMsg(pScrn->scrnIndex,X_INFO,"initializing int10\n"); + pInt = xf86InitInt10(pCir->pEnt->index); + xf86FreeInt10(pInt); +@@ -509,8 +544,8 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags) + + PCI_WRITE_LONG(pCir->PciInfo, PCI_REGION_BASE(pCir->PciInfo, 0, REGION_MEM), 0x10); + PCI_WRITE_LONG(pCir->PciInfo, PCI_REGION_BASE(pCir->PciInfo, 1, REGION_MEM), 0x14); +- + } ++#endif + + /* Set pScrn->monitor */ + pScrn->monitor = pScrn->confScreen->monitor; +@@ -574,7 +609,7 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags) + xf86CollectOptions(pScrn, NULL); + + /* Process the options */ +- if (!(pCir->Options = xalloc(sizeof(CirOptions)))) ++ if (!(pCir->Options = malloc(sizeof(CirOptions)))) + return FALSE; + memcpy(pCir->Options, CirOptions, sizeof(CirOptions)); + xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, pCir->Options); +@@ -589,6 +624,16 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags) + + from = X_DEFAULT; + pCir->HWCursor = FALSE; ++ ++ switch (pCir->Chipset) { ++ case PCI_CHIP_GD7555: ++ case PCI_CHIP_GD7556: ++ pCir->HWCursor = TRUE; ++ break; ++ default: ++ break; ++ } ++ + if (xf86GetOptValBool(pCir->Options, OPTION_HW_CURSOR, &pCir->HWCursor)) + from = X_CONFIG; + +@@ -863,10 +908,10 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags) + case PCI_CHIP_GD5430: + case PCI_CHIP_GD5434_4: + case PCI_CHIP_GD5434_8: +- case PCI_CHIP_GD5436: + /* case PCI_CHIP_GD5440: */ + p = gd5430_MaxClocks; + break; ++ case PCI_CHIP_GD5436: + case PCI_CHIP_GD5446: + p = gd5446_MaxClocks; + break; +@@ -876,6 +921,12 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags) + case PCI_CHIP_GD7548: + p = gd7548_MaxClocks; + break; ++ case PCI_CHIP_GD7555: ++ p = gd7555_MaxClocks; ++ break; ++ case PCI_CHIP_GD7556: ++ p = gd7556_MaxClocks; ++ break; + } + if (!p) + return FALSE; +@@ -1360,6 +1411,11 @@ AlpModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode) + + vgaHWProtect(pScrn, FALSE); + ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 ++ if (xf86IsPc98()) ++ PC98CIRRUS755xEnable(pScrn); ++#endif ++ + return TRUE; + } + +@@ -1489,7 +1545,7 @@ AlpScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + + if(pCir->shadowFB) { + pCir->ShadowPitch = BitmapBytePad(pScrn->bitsPerPixel * width); +- pCir->ShadowPtr = xalloc(pCir->ShadowPitch * height); ++ pCir->ShadowPtr = malloc(pCir->ShadowPitch * height); + displayWidth = pCir->ShadowPitch / (pScrn->bitsPerPixel >> 3); + FbBase = pCir->ShadowPtr; + } else { +@@ -1782,6 +1838,11 @@ AlpLeaveVT(int scrnIndex, int flags) + + AlpRestore(pScrn); + vgaHWLock(hwp); ++ ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 ++ if (xf86IsPc98()) ++ PC98CIRRUS755xDisable(pScrn); ++#endif + } + + +@@ -1813,12 +1874,17 @@ AlpCloseScreen(int scrnIndex, ScreenPtr pScreen) + xf86DestroyCursorInfoRec(pCir->CursorInfoRec); + pCir->CursorInfoRec = NULL; + if (pCir->DGAModes) +- xfree(pCir->DGAModes); ++ free(pCir->DGAModes); + pCir->DGAnumModes = 0; + pCir->DGAModes = NULL; + + pScrn->vtSema = FALSE; + ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 ++ if (xf86IsPc98()) ++ PC98CIRRUS755xDisable(pScrn); ++#endif ++ + pScreen->CloseScreen = pCir->CloseScreen; + return (*pScreen->CloseScreen)(scrnIndex, pScreen); + } +@@ -2081,3 +2147,53 @@ AlpOffscreenAccelInit(ScrnInfoPtr pScrn) + box.y2 - pScrn->virtualY); + } + } ++ ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 ++static void ++PC98CIRRUS755xEnable(ScrnInfoPtr pScrn) /* enter_aile() */ ++{ ++ unsigned int index,data; ++ vgaHWPtr hwp = VGAHWPTR(pScrn); ++ ++ outb(0xfac, 0x02); ++ ++ outb(0x68, 0x0e); ++ outb(0x6a, 0x07); ++ outb(0x6a, 0x8f); ++ outb(0x6a, 0x06); ++ ++ outw(VGA_SEQ_INDEX, 0x1206); /* unlock cirrus special */ ++ ++ index = hwp->IOBase + VGA_CRTC_INDEX_OFFSET; ++ data = hwp->IOBase + VGA_CRTC_DATA_OFFSET; ++ outb(index, 0x3c); ++ outb(data, inb(data) & 0xef); ++ outb(index, 0x1a); ++ outb(data, inb(data) & 0xf3); ++} ++ ++static void ++PC98CIRRUS755xDisable(ScrnInfoPtr pScrn) /* leave_aile() */ ++{ ++ unsigned int index,data; ++ vgaHWPtr hwp = VGAHWPTR(pScrn); ++ ++ outw(VGA_SEQ_INDEX, 0x1206); /* unlock cirrus special */ ++ ++ index = hwp->IOBase + VGA_CRTC_INDEX_OFFSET; ++ data = hwp->IOBase + VGA_CRTC_DATA_OFFSET; ++ outb(index, 0x3c); ++ outb(data, 0x71); ++ outb(index, 0x1a); ++ outb(data, inb(data) | 0x0c); ++ ++ outb(0xfac,0x00); ++ ++ outb(0x68, 0x0f); ++ outb(0x6a, 0x07); ++ outb(0x6a, 0x8e); ++ outb(0x6a, 0x21); ++ outb(0x6a, 0x69); ++ outb(0x6a, 0x06); ++} ++#endif +diff --git a/src/alp_hwcurs.c b/src/alp_hwcurs.c +index 79dfce7..9891eb4 100644 +--- a/src/alp_hwcurs.c ++++ b/src/alp_hwcurs.c +@@ -1,5 +1,3 @@ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/alp_hwcurs.c,v 1.4 2000/12/06 15:35:15 eich Exp $ */ +- + #ifdef HAVE_CONFIG_H + #include "config.h" + #endif +diff --git a/src/alp_i2c.c b/src/alp_i2c.c +index 9e6ae67..7365215 100644 +--- a/src/alp_i2c.c ++++ b/src/alp_i2c.c +@@ -4,8 +4,6 @@ + #include "config.h" + #endif + +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/alp_i2c.c,v 1.6 1999/02/28 11:19:38 dawes Exp $ */ +- + #include "xf86.h" + #include "xf86_OSproc.h" + #include "compiler.h" +diff --git a/src/alp_xaa.c b/src/alp_xaa.c +index 95741fc..7a96e1a 100644 +--- a/src/alp_xaa.c ++++ b/src/alp_xaa.c +@@ -4,8 +4,6 @@ + #include "config.h" + #endif + +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/alp_xaa.c,v 1.7 2001/10/01 13:44:05 eich Exp $ */ +- + #include "xf86.h" + #include "xf86_OSproc.h" + #include "compiler.h" +diff --git a/src/alp_xaam.c b/src/alp_xaam.c +index 0193a43..3ecc7de 100644 +--- a/src/alp_xaam.c ++++ b/src/alp_xaam.c +@@ -1,6 +1,5 @@ + /* (c) Itai Nahshon */ + /* #define DEBUG */ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/alp_xaam.c,v 1.7 2001/10/01 13:44:05 eich Exp $ */ + + #ifdef HAVE_CONFIG_H + #include "config.h" +diff --git a/src/cir.h b/src/cir.h +index 904d9cc..861966d 100644 +--- a/src/cir.h ++++ b/src/cir.h +@@ -1,5 +1,3 @@ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/cir.h,v 1.20 2002/01/04 21:26:54 tsi Exp $ */ +- + /* (c) Itai Nahshon */ + + #ifndef CIR_H +@@ -23,7 +21,7 @@ typedef struct { + CARD32 properties; + pciVideoPtr PciInfo; + PCITAG PciTag; +- IOADDRESS PIOReg; ++ unsigned long PIOReg; + union { + struct lgRec *lg; + struct alpRec *alp; +diff --git a/src/cir_dga.c b/src/cir_dga.c +index bc98df6..f930231 100644 +--- a/src/cir_dga.c ++++ b/src/cir_dga.c +@@ -1,4 +1,3 @@ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/cir_dga.c,v 1.5 2001/02/15 17:39:27 eich Exp $ */ + /* + * Copyright 2000 by Egbert Eich + * +@@ -83,9 +82,9 @@ CirDGAInit(ScreenPtr pScreen) + if (!pCir->DGAnumModes) { + pMode = firstMode = pScrn->modes; + while (pMode) { +- newmodes = xrealloc(modes, (num + 1) * sizeof (DGAModeRec)); ++ newmodes = realloc(modes, (num + 1) * sizeof (DGAModeRec)); + if (!newmodes) { +- xfree(modes); ++ free(modes); + return FALSE; + } + modes = newmodes; +diff --git a/src/cir_driver.c b/src/cir_driver.c +index 5466c48..7e470bb 100644 +--- a/src/cir_driver.c ++++ b/src/cir_driver.c +@@ -15,8 +15,6 @@ + #include "config.h" + #endif + +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/cir_driver.c,v 1.67 2001/05/15 10:19:37 eich Exp $ */ +- + /* All drivers should typically include these */ + #include "xf86.h" + #include "xf86_OSproc.h" +@@ -29,6 +27,10 @@ + /* Drivers for PCI hardware need this */ + #include "xf86PciInfo.h" + ++#ifndef PCI_CHIP_GD7556 /* for old xf86PciInfo.h */ ++#define PCI_CHIP_GD7556 0x004C ++#endif ++ + /* Drivers that need to access the PCI config space directly need this */ + #include "xf86Pci.h" + +@@ -90,6 +92,8 @@ SymTabRec CIRChipsets[] = { + { PCI_CHIP_GD5464BD, "CL-GD5464BD" }, + { PCI_CHIP_GD5465, "CL-GD5465" }, + { PCI_CHIP_GD7548, "CL-GD7548" }, ++ { PCI_CHIP_GD7555, "CL-GD7555" }, ++ { PCI_CHIP_GD7556, "CL-GD7556" }, + {-1, NULL } + }; + +@@ -107,6 +111,8 @@ _X_EXPORT PciChipsets CIRPciChipsets[] = { + { PCI_CHIP_GD5464BD,PCI_CHIP_GD5464BD, RES_SHARED_VGA }, + { PCI_CHIP_GD5465, PCI_CHIP_GD5465, RES_SHARED_VGA }, + { PCI_CHIP_GD7548, PCI_CHIP_GD7548, RES_SHARED_VGA }, ++ { PCI_CHIP_GD7555, PCI_CHIP_GD7555, RES_SHARED_VGA }, ++ { PCI_CHIP_GD7556, PCI_CHIP_GD7556, RES_SHARED_VGA }, + { -1, -1, RES_UNDEFINED} + }; + +@@ -238,7 +244,7 @@ CIRProbe(DriverPtr drv, int flags) + CIRChipsets, CIRPciChipsets, devSections, + numDevSections, drv, &usedChips); + /* Free it since we don't need that list after this */ +- xfree(devSections); ++ free(devSections); + if (numUsed <= 0) + return FALSE; + if (flags & PROBE_DETECT) +@@ -280,7 +286,7 @@ CIRProbe(DriverPtr drv, int flags) + pScrn->Probe = NULL; + } + } +- xfree(usedChips); ++ free(usedChips); + + return foundScreen; + } +diff --git a/src/cir_pcirename.h b/src/cir_pcirename.h +index f0f5cf8..669b8fe 100644 +--- a/src/cir_pcirename.h ++++ b/src/cir_pcirename.h +@@ -34,6 +34,33 @@ enum region_type { + REGION_IO + }; + ++#include "xf86Module.h" ++ ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) >= 12 ++ ++#if (defined(__alpha__) || defined(__ia64__)) && defined (linux) ++#define PCI_DOM_MASK 0x01fful ++#else ++#define PCI_DOM_MASK 0x0ffu ++#endif ++ ++#ifndef PCI_DOM_MASK ++# define PCI_DOM_MASK 0x0ffu ++#endif ++#define PCI_DOMBUS_MASK (((PCI_DOM_MASK) << 8) | 0x0ffu) ++ ++static inline uint32_t ++pciTag(int busnum, int devnum, int funcnum) ++{ ++ uint32_t tag; ++ tag = (busnum & (PCI_DOMBUS_MASK)) << 16; ++ tag |= (devnum & 0x00001fu) << 11; ++ tag |= (funcnum & 0x000007u) << 8; ++ ++ return tag; ++} ++#endif /* GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) >= 12 */ ++ + #ifndef XSERVER_LIBPCIACCESS + + /* pciVideoPtr */ +diff --git a/src/cir_shadow.c b/src/cir_shadow.c +index b89890a..0716a64 100644 +--- a/src/cir_shadow.c ++++ b/src/cir_shadow.c +@@ -1,5 +1,3 @@ +-/* $XFree86: Exp $ */ +- + /* + Copyright (c) 1999,2000 The XFree86 Project Inc. + based on code written by Mark Vojkovich <markv@valinux.com> +diff --git a/src/lg.h b/src/lg.h +index 9d91053..985f634 100644 +--- a/src/lg.h ++++ b/src/lg.h +@@ -10,8 +10,6 @@ + * Inspired by cir.h + */ + +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/lg.h,v 1.12 2001/05/04 19:05:36 dawes Exp $ */ +- + #ifndef LG_H + #define LG_H + #define LG_DEBUG +diff --git a/src/lg_driver.c b/src/lg_driver.c +index cfc3e65..fc864f8 100644 +--- a/src/lg_driver.c ++++ b/src/lg_driver.c +@@ -13,7 +13,6 @@ + * David Dawes, Andrew E. Mileski, Leonard N. Zubkoff, + * Guy DESBIEF, Itai Nahshon. + */ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/lg_driver.c,v 1.49 2003/11/03 05:11:09 tsi Exp $ */ + + #ifdef HAVE_CONFIG_H + #include "config.h" +@@ -259,7 +258,7 @@ LgFreeRec(ScrnInfoPtr pScrn) + { + if (pScrn->driverPrivate == NULL) + return; +- xfree(pScrn->driverPrivate); ++ free(pScrn->driverPrivate); + pScrn->driverPrivate = NULL; + } + +@@ -373,7 +372,12 @@ LgPreInit(ScrnInfoPtr pScrn, int flags) + + pCir = CIRPTR(pScrn); + pCir->pScrn = pScrn; ++ ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 + pCir->PIOReg = hwp->PIOOffset + 0x3CE; ++#else ++ pCir->PIOReg = 0x3CE; ++#endif + + /* Get the entity, and make sure it is PCI. */ + pCir->pEnt = xf86GetEntityInfo(pScrn->entityList[0]); +@@ -454,7 +458,7 @@ LgPreInit(ScrnInfoPtr pScrn, int flags) + xf86CollectOptions(pScrn, NULL); + + /* Process the options */ +- if (!(pCir->Options = xalloc(sizeof(LgOptions)))) ++ if (!(pCir->Options = malloc(sizeof(LgOptions)))) + return FALSE; + memcpy(pCir->Options, LgOptions, sizeof(LgOptions)); + xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, pCir->Options); +@@ -1314,7 +1318,7 @@ LgScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + + if(pCir->shadowFB) { + pCir->ShadowPitch = BitmapBytePad(pScrn->bitsPerPixel * width); +- pCir->ShadowPtr = xalloc(pCir->ShadowPitch * height); ++ pCir->ShadowPtr = malloc(pCir->ShadowPitch * height); + displayWidth = pCir->ShadowPitch / (pScrn->bitsPerPixel >> 3); + FbBase = pCir->ShadowPtr; + } else { +@@ -1617,7 +1621,7 @@ LgCloseScreen(int scrnIndex, ScreenPtr pScreen) + xf86DestroyCursorInfoRec(pCir->CursorInfoRec); + pCir->CursorInfoRec = NULL; + if (pCir->DGAModes) +- xfree(pCir->DGAModes); ++ free(pCir->DGAModes); + pCir->DGAnumModes = 0; + pCir->DGAModes = NULL; + +diff --git a/src/lg_hwcurs.c b/src/lg_hwcurs.c +index b41b79a..381db1c 100644 +--- a/src/lg_hwcurs.c ++++ b/src/lg_hwcurs.c +@@ -10,7 +10,6 @@ + * Much of this code is inspired by the HW cursor code from XFree86 + * 3.3.3. + */ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/lg_hwcurs.c,v 1.4 2000/12/06 15:35:17 eich Exp $ */ + + #ifdef HAVE_CONFIG_H + #include "config.h" +diff --git a/src/lg_i2c.c b/src/lg_i2c.c +index 05e083c..145cc2e 100644 +--- a/src/lg_i2c.c ++++ b/src/lg_i2c.c +@@ -1,7 +1,5 @@ + /* (c) Itai Nahshon */ + +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/lg_i2c.c,v 1.1 1998/11/15 04:30:25 dawes Exp $ */ +- + #ifdef HAVE_CONFIG_H + #include "config.h" + #endif +diff --git a/src/lg_xaa.c b/src/lg_xaa.c +index fd8c70a..8bab365 100644 +--- a/src/lg_xaa.c ++++ b/src/lg_xaa.c +@@ -10,7 +10,6 @@ + * Much of this code is inspired by the XAA acceleration from XFree86 + * 3.3.3, laguna_acl.c + */ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/lg_xaa.c,v 1.4 2000/12/06 15:35:17 eich Exp $ */ + + #ifdef HAVE_CONFIG_H + #include "config.h" +diff --git a/src/lg_xaa.h b/src/lg_xaa.h +index 7359a49..162aa5d 100644 +--- a/src/lg_xaa.h ++++ b/src/lg_xaa.h +@@ -13,7 +13,6 @@ + * This header file draws much from the file cir_blitLG.h in version 3.3.3 + * of XFree86. + */ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/lg_xaa.h,v 1.3 2000/02/08 13:13:15 eich Exp $ */ + + /* This header file defines the necessary structures, contstants, and + variables for using the bitBLT engine on a Laguna family graphics diff --git a/extra/xf86-video-dummy/PKGBUILD b/extra/xf86-video-dummy/PKGBUILD index 7dbc457fe..6309efe4b 100644 --- a/extra/xf86-video-dummy/PKGBUILD +++ b/extra/xf86-video-dummy/PKGBUILD @@ -1,25 +1,29 @@ -# $Id: PKGBUILD 140338 2011-10-11 21:29:27Z jgc $ +# $Id: PKGBUILD 153331 2012-03-12 20:53:23Z andyrtr $ #Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-dummy -pkgver=0.3.4 -pkgrel=5 +pkgver=0.3.5 +pkgrel=1 pkgdesc="X.org dummy video driver" arch=(i686 x86_64 'mips64el') url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel>=1.10.99.902' 'xf86dgaproto') -conflicts=('xorg-server<1.10.99.902') +makedepends=('xorg-server-devel>=1.11.99.903' 'xf86dgaproto') +conflicts=('xorg-server<1.11.99.903') groups=('xorg-drivers' 'xorg') options=('!libtool') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) -sha1sums=('876ed7165ea2821bbddd73232a1ce0b79c1f14ff') +sha1sums=('41cfcaec986ab13e931d260953c5a3f626fd1d2b') build() { cd "${srcdir}/${pkgname}-${pkgver}" ./configure --prefix=/usr make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-fbdev/PKGBUILD b/extra/xf86-video-fbdev/PKGBUILD index fd626bdb8..9a3908306 100644 --- a/extra/xf86-video-fbdev/PKGBUILD +++ b/extra/xf86-video-fbdev/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 140336 2011-10-11 21:29:25Z jgc $ +# $Id: PKGBUILD 153333 2012-03-12 20:53:25Z andyrtr $ #Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-fbdev @@ -9,8 +9,8 @@ arch=(i686 x86_64 'mips64el') license=('custom') url="http://xorg.freedesktop.org/" depends=('glibc') -makedepends=('xorg-server-devel>=1.10.99.902') -conflicts=('xorg-server<1.10.99.902') +makedepends=('xorg-server-devel>=1.11.99.903') +conflicts=('xorg-server<1.11.99.903') groups=('xorg-drivers' 'xorg') options=('!libtool') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) @@ -20,6 +20,10 @@ build() { cd "${srcdir}/${pkgname}-${pkgver}" ./configure --prefix=/usr make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-glint/PKGBUILD b/extra/xf86-video-glint/PKGBUILD index 0566ff9b6..1bb95b86e 100644 --- a/extra/xf86-video-glint/PKGBUILD +++ b/extra/xf86-video-glint/PKGBUILD @@ -1,25 +1,29 @@ -# $Id: PKGBUILD 140334 2011-10-11 21:29:22Z jgc $ +# $Id: PKGBUILD 153336 2012-03-12 20:53:29Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-glint -pkgver=1.2.6 +pkgver=1.2.7 pkgrel=1 pkgdesc="X.org GLINT/Permedia video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel>=1.11.0' 'xf86dgaproto') -conflicts=('xorg-server<1.11.0') +makedepends=('xorg-server-devel>=1.11.99.903' 'xf86dgaproto') +conflicts=('xorg-server<1.11.99.903') options=('!libtool') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) -sha256sums=('d43350ed3c149576db1dbcacf5e9a30a3268a3f49742724c9151b6f1e4bd21a7') +sha256sums=('9aa9689436fc78a71145d4caeaf63b0e80f9abd54e9b4a3066f62ee5b334c359') build() { cd "${srcdir}/${pkgname}-${pkgver}" ./configure --prefix=/usr make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-i128/PKGBUILD b/extra/xf86-video-i128/PKGBUILD index 7c63f8002..c4a961180 100644 --- a/extra/xf86-video-i128/PKGBUILD +++ b/extra/xf86-video-i128/PKGBUILD @@ -1,25 +1,32 @@ -# $Id: PKGBUILD 140332 2011-10-11 21:29:18Z jgc $ +# $Id: PKGBUILD 153338 2012-03-12 20:53:31Z andyrtr $ # Maintainer:Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-i128 pkgver=1.3.4 -pkgrel=4 +pkgrel=5 pkgdesc="X.org Number 9 I128 video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel>=1.10.99.902') -conflicts=('xorg-server<1.10.99.902') +makedepends=('xorg-server-devel>=1.11.99.903') +conflicts=('xorg-server<1.11.99.903') groups=('xorg-drivers' 'xorg') options=('!libtool') -source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) -sha1sums=('d5f755dc964eaa067b4efcafafd00814a60df775') +source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 + i128-1.3.4-git.patch) +sha1sums=('d5f755dc964eaa067b4efcafafd00814a60df775' + 'c282f9de94ef7225f03034c9c07f40f46bd44bdc') build() { cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i ${srcdir}/i128-1.3.4-git.patch ./configure --prefix=/usr make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-i128/i128-1.3.4-git.patch b/extra/xf86-video-i128/i128-1.3.4-git.patch new file mode 100644 index 000000000..581ed7bb7 --- /dev/null +++ b/extra/xf86-video-i128/i128-1.3.4-git.patch @@ -0,0 +1,173 @@ +diff --git a/man/i128.man b/man/i128.man +index 920d2ab..a8e2e54 100644 +--- a/man/i128.man ++++ b/man/i128.man +@@ -1,4 +1,3 @@ +-.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/i128/i128.man,v 1.2 2001/01/27 18:20:48 dawes Exp $ + .\" shorthand for double quote that works everywhere. + .ds q \N'34' + .TH I128 __drivermansuffix__ __vendorversion__ +diff --git a/src/i128_driver.c b/src/i128_driver.c +index 903a3a8..92f9d58 100644 +--- a/src/i128_driver.c ++++ b/src/i128_driver.c +@@ -304,13 +304,13 @@ I128Probe(DriverPtr drv, int flags) + numDevSections, drv, &usedChips); + + /* Free it since we don't need that list after this */ +- xfree(devSections); ++ free(devSections); + + if (numUsed <= 0) + return FALSE; + + if (flags & PROBE_DETECT) { +- xfree(usedChips); ++ free(usedChips); + return FALSE; + } + +@@ -340,7 +340,7 @@ I128Probe(DriverPtr drv, int flags) + foundScreen = TRUE; + } + +- xfree(usedChips); ++ free(usedChips); + + return foundScreen; + } +@@ -446,7 +446,7 @@ I128PreInit(ScrnInfoPtr pScrn, int flags) + int i; + ClockRangePtr clockRanges; + MessageType from; +- IOADDRESS iobase; ++ unsigned long iobase; + char *ramdac = NULL; + CARD32 tmpl, tmph, tmp; + unsigned char n, m, p, mdc, df; +@@ -558,7 +558,7 @@ I128PreInit(ScrnInfoPtr pScrn, int flags) + xf86CollectOptions(pScrn, NULL); + + /* Process the options */ +- if (!(pI128->Options = xalloc(sizeof(I128Options)))) ++ if (!(pI128->Options = malloc(sizeof(I128Options)))) + return FALSE; + memcpy(pI128->Options, I128Options, sizeof(I128Options)); + xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, pI128->Options); +@@ -650,7 +650,10 @@ I128PreInit(ScrnInfoPtr pScrn, int flags) + xf86DrvMsg(pScrn->scrnIndex, from, "Subsystem Vendor: \"%x\"\n", + PCI_SUB_VENDOR_ID(pI128->PciInfo)); + +- iobase = (PCI_REGION_BASE(pI128->PciInfo, 5, REGION_IO) & 0xFFFFFF00) + hwp->PIOOffset; ++ iobase = (PCI_REGION_BASE(pI128->PciInfo, 5, REGION_IO) & 0xFFFFFF00); ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 ++ iobase += hwp->PIOOffset; ++#endif + pI128->RegRec.iobase = iobase; + + pI128->io.rbase_g = inl(iobase) & 0xFFFFFF00; +@@ -1157,7 +1160,7 @@ I128FreeRec(ScrnInfoPtr pScrn) + { + if (pScrn->driverPrivate == NULL) + return; +- xfree(pScrn->driverPrivate); ++ free(pScrn->driverPrivate); + pScrn->driverPrivate = NULL; + } + +@@ -1704,12 +1707,12 @@ I128CloseScreen(int scrnIndex, ScreenPtr pScreen) + XAADestroyInfoRec(pI128->XaaInfoRec); + if (pI128->ExaDriver) { + exaDriverFini(pScreen); +- xfree(pI128->ExaDriver); ++ free(pI128->ExaDriver); + } + if (pI128->CursorInfoRec) + xf86DestroyCursorInfoRec(pI128->CursorInfoRec); + if (pI128->DGAModes) +- xfree(pI128->DGAModes); ++ free(pI128->DGAModes); + pScrn->vtSema = FALSE; + + pScreen->CloseScreen = pI128->CloseScreen; +@@ -1804,7 +1807,7 @@ I128DDC1Read(ScrnInfoPtr pScrn) + I128Ptr pI128 = I128PTR(pScrn); + unsigned char val; + unsigned long tmp, ddc; +- IOADDRESS iobase; ++ unsigned long iobase; + + iobase = pI128->RegRec.iobase; + ddc = inl(iobase + 0x2C); +@@ -1839,7 +1842,7 @@ I128I2CGetBits(I2CBusPtr b, int *clock, int *data) + { + I128Ptr pI128 = I128PTR(xf86Screens[b->scrnIndex]); + unsigned long ddc; +- IOADDRESS iobase; ++ unsigned long iobase; + #if 0 + static int lastclock = -1, lastdata = -1; + #endif +@@ -1867,7 +1870,7 @@ I128I2CPutBits(I2CBusPtr b, int clock, int data) + unsigned char drv, val; + unsigned long ddc; + unsigned long tmp; +- IOADDRESS iobase; ++ unsigned long iobase; + + iobase = pI128->RegRec.iobase; + ddc = inl(iobase + 0x2C); +@@ -1889,7 +1892,7 @@ I128I2CInit(ScrnInfoPtr pScrn) + { + I128Ptr pI128 = I128PTR(pScrn); + I2CBusPtr I2CPtr; +- IOADDRESS iobase; ++ unsigned long iobase; + unsigned long soft_sw, ddc; + + I2CPtr = xf86CreateI2CBusRec(); +@@ -2102,7 +2105,7 @@ void + I128DumpActiveRegisters(ScrnInfoPtr pScrn) + { + I128Ptr pI128 = I128PTR(pScrn); +- IOADDRESS iobase; ++ unsigned long iobase; + unsigned long rbase_g, rbase_w, rbase_a, rbase_b, rbase_i, rbase_e; + unsigned long id, config1, config2, sgram, soft_sw, ddc, vga_ctl; + volatile CARD32 *vrba, *vrbg, *vrbw; +diff --git a/src/i128dga.c b/src/i128dga.c +index 48823aa..8bc2fcb 100644 +--- a/src/i128dga.c ++++ b/src/i128dga.c +@@ -59,15 +59,15 @@ I128DGAInit(ScreenPtr pScreen) + while(pMode) { + + if(0 /*pScrn->displayWidth != pMode->HDisplay*/) { +- newmodes = xrealloc(modes, (num + 2) * sizeof(DGAModeRec)); ++ newmodes = realloc(modes, (num + 2) * sizeof(DGAModeRec)); + oneMore = TRUE; + } else { +- newmodes = xrealloc(modes, (num + 1) * sizeof(DGAModeRec)); ++ newmodes = realloc(modes, (num + 1) * sizeof(DGAModeRec)); + oneMore = FALSE; + } + + if(!newmodes) { +- xfree(modes); ++ free(modes); + return FALSE; + } + modes = newmodes; +diff --git a/src/i128reg.h b/src/i128reg.h +index 56b9c33..a72b525 100644 +--- a/src/i128reg.h ++++ b/src/i128reg.h +@@ -75,7 +75,7 @@ struct i128mem { + + /* save the registers needed for restoration in this structure */ + typedef struct { +- IOADDRESS iobase; /* saved only for iobase indexing */ ++ unsigned long iobase; /* saved only for iobase indexing */ + CARD32 config1; /* iobase+0x1C register */ + CARD32 config2; /* iobase+0x20 register */ + CARD32 sgram; /* iobase+0x24 register */ diff --git a/extra/xf86-video-i740/PKGBUILD b/extra/xf86-video-i740/PKGBUILD index 615e7106c..04217ad7e 100644 --- a/extra/xf86-video-i740/PKGBUILD +++ b/extra/xf86-video-i740/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 140330 2011-10-11 21:29:14Z jgc $ +# $Id: PKGBUILD 153340 2012-03-12 20:53:33Z andyrtr $ #Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-i740 pkgver=1.3.2 -pkgrel=7 +pkgrel=8 pkgdesc="X.org Intel i740 video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel>=1.10.99.902') -conflicts=('xorg-server<1.10.99.902') +makedepends=('xorg-server-devel>=1.11.99.903') +conflicts=('xorg-server<1.11.99.903') groups=('xorg-drivers' 'xorg') options=('!libtool') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) @@ -20,6 +20,10 @@ build() { cd "${srcdir}/${pkgname}-${pkgver}" ./configure --prefix=/usr make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-intel/PKGBUILD b/extra/xf86-video-intel/PKGBUILD index 2d96a4ec0..ca1e15eb0 100644 --- a/extra/xf86-video-intel/PKGBUILD +++ b/extra/xf86-video-intel/PKGBUILD @@ -1,24 +1,23 @@ -# $Id: PKGBUILD 144437 2011-12-05 19:49:35Z andyrtr $ +# $Id: PKGBUILD 153342 2012-03-12 20:53:36Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-intel -pkgver=2.17.0 -pkgrel=2 +pkgver=2.18.0 +pkgrel=1 pkgdesc="X.org Intel i810/i830/i915/945G/G965+ video drivers" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('intel-dri' 'libxvmc' 'libpciaccess' 'libdrm' 'xcb-util>=0.3.8' 'libxfixes' 'udev') -makedepends=('xorg-server-devel>=1.10.99.902' 'libx11' 'libdrm' 'xf86driproto' 'glproto' 'mesa' 'libxvmc' 'libxrender') -conflicts=('xorg-server<1.10.99.902' 'xf86-video-i810' 'xf86-video-intel-legacy') +makedepends=('xorg-server-devel>=1.11.99.903' 'libx11' 'libdrm' 'xf86driproto' 'glproto' 'mesa' 'libxvmc' 'libxrender') +conflicts=('xorg-server<1.11.99.903' 'xf86-video-i810' 'xf86-video-intel-legacy') options=('!libtool') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) -sha1sums=('04ad9fa1f4c4e0a90f48752a709bf14700c864af') +sha1sums=('77fae98e73414140bf214dca5da32bcf079c4463') build() { cd "${srcdir}/${pkgname}-${pkgver}" - ./configure --prefix=/usr --enable-dri make } diff --git a/extra/xf86-video-mach64/PKGBUILD b/extra/xf86-video-mach64/PKGBUILD index 2cbfb8b9f..2f8f5631b 100644 --- a/extra/xf86-video-mach64/PKGBUILD +++ b/extra/xf86-video-mach64/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 140326 2011-10-11 21:29:07Z jgc $ +# $Id: PKGBUILD 153344 2012-03-12 20:53:38Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-mach64 pkgver=6.9.0 -pkgrel=2 +pkgrel=3 pkgdesc="X.org mach64 video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') -depends=('glibc' 'mach64-dri') -makedepends=('xorg-server-devel>=1.10.99.902' 'libdrm' 'xf86driproto' 'mesa' 'glproto') -conflicts=('xorg-server<1.10.99.902') +depends=('glibc') +makedepends=('xorg-server-devel>=1.11.99.903' 'libdrm' 'xf86driproto' 'mesa>=8.0') # 'glproto') +conflicts=('xorg-server<1.11.99.903') groups=('xorg-drivers' 'xorg') options=('!libtool') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) @@ -18,7 +18,7 @@ sha1sums=('95a7ec9761fe11dadbcd9078c55148198a91b2f1') build() { cd "${srcdir}/${pkgname}-${pkgver}" - ./configure --prefix=/usr --enable-dri + ./configure --prefix=/usr #--enable-dri make } diff --git a/extra/xf86-video-mga/PKGBUILD b/extra/xf86-video-mga/PKGBUILD index 8b4289add..de2dec7d5 100644 --- a/extra/xf86-video-mga/PKGBUILD +++ b/extra/xf86-video-mga/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 140324 2011-10-11 21:29:03Z jgc $ +# $Id: PKGBUILD 153346 2012-03-12 20:53:41Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-mga pkgver=1.4.13 -pkgrel=4 +pkgrel=5 pkgdesc="X.org mga video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') -depends=('glibc' 'mga-dri') -makedepends=('xorg-server-devel>=1.10.99.902' 'libdrm' 'xf86driproto' 'mesa' 'glproto') -conflicts=('xorg-server<1.10.99.902') +depends=('glibc') +makedepends=('xorg-server-devel>=1.11.99.903' 'libdrm' 'xf86driproto' 'mesa>=8.0') # 'glproto') +conflicts=('xorg-server<1.11.99.903') options=('!libtool') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 @@ -21,8 +21,12 @@ sha1sums=('55aa185cf381def4b5905c8b93694b8dfbd5c378' build() { cd "${srcdir}/${pkgname}-${pkgver}" patch -Np1 -i "${srcdir}/git-fixes.patch" - ./configure --prefix=/usr --enable-dri + ./configure --prefix=/usr #--enable-dri make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" diff --git a/extra/xf86-video-mga/git-fixes.patch b/extra/xf86-video-mga/git-fixes.patch new file mode 100644 index 000000000..3534342e6 --- /dev/null +++ b/extra/xf86-video-mga/git-fixes.patch @@ -0,0 +1,800 @@ +diff --git a/man/Makefile.am b/man/Makefile.am +index b3688ce..1ea26b3 100644 +--- a/man/Makefile.am ++++ b/man/Makefile.am +@@ -1,5 +1,5 @@ + # +-# Copyright 2005 Sun Microsystems, Inc. All rights reserved. ++# Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved. + # + # Permission is hereby granted, free of charge, to any person obtaining a + # copy of this software and associated documentation files (the "Software"), +@@ -19,7 +19,7 @@ + # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + # DEALINGS IN THE SOFTWARE. +-# ++# + + drivermandir = $(DRIVER_MAN_DIR) + +diff --git a/man/mga.man b/man/mga.man +index 3a7a9f8..e1e674f 100644 +--- a/man/mga.man ++++ b/man/mga.man +@@ -1,4 +1,3 @@ +-.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/mga/mga.man,v 1.7 2003/04/03 07:11:03 herrb Exp $ + .\" shorthand for double quote that works everywhere. + .ds q \N'34' + .TH mga __drivermansuffix__ __vendorversion__ +diff --git a/src/binding.h b/src/binding.h +index 6dcd1e9..57e9b92 100644 +--- a/src/binding.h ++++ b/src/binding.h +@@ -13,7 +13,6 @@ + @end + + ***************************************************************************************/ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/mga/HALlib/binding.h,v 1.3 2000/10/24 22:45:08 dawes Exp $ */ + + #ifndef _BINDING + #define _BINDING +diff --git a/src/mga.h b/src/mga.h +index 2cb3d88..c520e86 100644 +--- a/src/mga.h ++++ b/src/mga.h +@@ -1,4 +1,3 @@ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/mga/mga.h,v 1.87tsi Exp $ */ + /* + * MGA Millennium (MGA2064W) functions + * +@@ -137,6 +136,10 @@ void MGAdbg_outreg32(ScrnInfoPtr, int,int, char*); + #define PCI_CHIP_MGAG200_EH_PCI 0x0533 + #endif + ++#ifndef PCI_CHIP_MGAG200_ER_PCI ++#define PCI_CHIP_MGAG200_ER_PCI 0x0534 ++#endif ++ + /* + * Read/write to the DAC via MMIO + */ +@@ -200,7 +203,9 @@ void MGAdbg_outreg32(ScrnInfoPtr, int,int, char*); + typedef struct { + unsigned char ExtVga[6]; + unsigned char DacClk[6]; +- unsigned char * DacRegs; ++ unsigned char ExtVga_Index24; ++ unsigned char Dac_Index90; ++ unsigned char * DacRegs; + unsigned long crtc2[0x58]; + unsigned char dac2[0x21]; + CARD32 Option; +@@ -479,6 +484,7 @@ typedef struct { + int is_G200WB:1; + int is_G200EV:1; + int is_G200EH:1; ++ int is_G200ER:1; + + int KVM; + +diff --git a/src/mga_common.h b/src/mga_common.h +index 90f6b37..81be2bc 100644 +--- a/src/mga_common.h ++++ b/src/mga_common.h +@@ -25,8 +25,6 @@ + * Converted to common header format: + * Jens Owen <jens@tungstengraphics.com> + * +- * $XFree86: xc/programs/Xserver/hw/xfree86/drivers/mga/mga_common.h,v 1.2 2002/12/16 16:19:18 dawes Exp $ +- * + */ + + #ifndef _MGA_COMMON_H_ +diff --git a/src/mga_dacG.c b/src/mga_dacG.c +index df00765..fca1031 100644 +--- a/src/mga_dacG.c ++++ b/src/mga_dacG.c +@@ -444,6 +444,116 @@ MGAG200WBPIXPLLSET(ScrnInfoPtr pScrn, MGARegPtr mgaReg) + outMGAdac(MGA1064_REMHEADCTL, ucTempByte); + } + ++#define G200ER_PLLREF 48000 ++#define G200ER_VCOMIN 1056000 ++#define G200ER_VCOMAX 1488000 ++ ++static void MGAG200ERComputePLLParam(ScrnInfoPtr pScrn, long lFo, int *piM, int *piN, int *piP) ++{ ++ ++ int ulM; ++ int ulN; ++ int ulO; ++ int ulR; ++ ++ CARD32 ulComputedFo; ++ CARD32 ulVco; ++ CARD32 ulFDelta; ++ CARD32 ulFTmpDelta; ++ ++ CARD32 aulMDivValue[] = {1, 2, 4, 8}; ++ ++ CARD32 ulFo = lFo; ++ ++ ulFDelta = 0xFFFFFFFF; ++ ++ for (ulR = 0; ulR < 4; ulR++) ++ { ++ if(ulFDelta==0) break; ++ for (ulN = 5; (ulN <= 128) ; ulN++) ++ { ++ if(ulFDelta==0) break; ++ for (ulM = 3; ulM >= 0; ulM--) ++ { ++ if(ulFDelta==0) break; ++ for (ulO = 5; ulO <= 32; ulO++) ++ { ++ ulVco = (G200ER_PLLREF * (ulN+1)) / (ulR+1); ++ // Validate vco ++ if (ulVco < G200ER_VCOMIN) continue; ++ if (ulVco > G200ER_VCOMAX) continue; ++ ulComputedFo = ulVco / (aulMDivValue[ulM] * (ulO+1)); ++ ++ if (ulComputedFo > ulFo) ++ { ++ ulFTmpDelta = ulComputedFo - ulFo; ++ } ++ else ++ { ++ ulFTmpDelta = ulFo - ulComputedFo; ++ } ++ ++ if (ulFTmpDelta < ulFDelta) ++ { ++ ulFDelta = ulFTmpDelta; ++ // XG200ERPIXPLLCM M<1:0> O<7:3> ++ *piM = (CARD8)ulM | (CARD8)(ulO<<3); ++ // ++ // XG200ERPIXPLLCN N<6:0> ++ *piN = (CARD8)ulN; ++ // ++ // XG200ERPIXPLLCP R<1:0> cg<7:4> (Use R value) ++ *piP = (CARD8)ulR | (CARD8)(ulR<<3); ++ ++ // Test ++ int ftest = (G200ER_PLLREF * (ulN+1)) / ((ulR+1) * aulMDivValue[ulM] * (ulO+1)); ++ ftest=ftest; ++ } ++ } // End O Loop ++ } // End M Loop ++ } // End N Loop ++ } // End R Loop ++} ++ ++static void ++MGAG200ERPIXPLLSET(ScrnInfoPtr pScrn, MGARegPtr mgaReg) ++{ ++ //TODO G200ER Validate sequence ++ CARD8 ucPixCtrl, ucTempByte; ++ MGAPtr pMga = MGAPTR(pScrn); ++ ++ ++ // Set pixclkdis to 1 ++ ucPixCtrl = inMGAdac(MGA1064_PIX_CLK_CTL); ++ ucPixCtrl |= MGA1064_PIX_CLK_CTL_CLK_DIS; ++ outMGAdac(MGA1064_PIX_CLK_CTL, ucPixCtrl); ++ ++ ucTempByte = inMGAdac(MGA1064_REMHEADCTL); ++ ucTempByte |= MGA1064_REMHEADCTL_CLKDIS; ++ outMGAdac(MGA1064_REMHEADCTL, ucTempByte); ++ ++ // Select PLL Set C ++ ucTempByte = INREG8(MGAREG_MEM_MISC_READ); ++ ucTempByte |= (0x3<<2) | 0xc0; //select MGA pixel clock ++ OUTREG8(MGAREG_MEM_MISC_WRITE, ucTempByte); ++ ++ ucPixCtrl &= ~MGA1064_PIX_CLK_CTL_CLK_DIS; ++ ucPixCtrl |= MGA1064_PIX_CLK_CTL_CLK_POW_DOWN; ++ outMGAdac(MGA1064_PIX_CLK_CTL, ucPixCtrl); ++ ++ // Wait 500 us ++ usleep(500); ++ ++ // Program the Pixel PLL Register ++ outMGAdac(MGA1064_ER_PIX_PLLC_N, mgaReg->PllN); ++ outMGAdac(MGA1064_ER_PIX_PLLC_M, mgaReg->PllM); ++ outMGAdac(MGA1064_ER_PIX_PLLC_P, mgaReg->PllP); ++ ++ // Wait 50 us ++ usleep(50); ++ ++} ++ + static void + MGAG200WBPrepareForModeSwitch(ScrnInfoPtr pScrn) + { +@@ -768,8 +878,13 @@ MGAGSetPCLK( ScrnInfoPtr pScrn, long f_out ) + + pReg->PllM = m; + pReg->PllN = n; +- pReg->PllP = p; +- } else { ++ pReg->PllP = p; ++ } else if (pMga->is_G200ER) { ++ MGAG200ERComputePLLParam(pScrn, f_out, &m, &n, &p); ++ pReg->PllM = m; ++ pReg->PllN = n; ++ pReg->PllP = p; ++ } else { + /* Do the calculations for m, n, p and s */ + MGAGCalcClock( pScrn, f_out, &m, &n, &p, &s ); + +@@ -966,6 +1081,10 @@ MGAGInit(ScrnInfoPtr pScrn, DisplayModePtr mode) + pReg->Option2 = 0x0000b000; + break; + ++ case PCI_CHIP_MGAG200_ER_PCI: ++ pReg->Dac_Index90 = 0; ++ break; ++ + case PCI_CHIP_MGAG200_EH_PCI: + pReg->DacRegs[MGA1064_MISC_CTL] = + MGA1064_MISC_CTL_VGA8 | +@@ -1088,6 +1207,7 @@ MGAGInit(ScrnInfoPtr pScrn, DisplayModePtr mode) + if (pMga->is_G200WB){ + pReg->ExtVga[1] |= 0x88; + } ++ pReg->ExtVga_Index24 = 0x05; + + pVga->CRTC[0] = ht - 4; + pVga->CRTC[1] = hd; +@@ -1327,10 +1447,15 @@ MGA_NOT_HAL( + if ( (pMga->is_G200EV || pMga->is_G200WB || pMga->is_G200EH) && + (i >= 0x44) && (i <= 0x4E)) + continue; +- ++ + outMGAdac(i, mgaReg->DacRegs[i]); + } + ++ if (pMga->is_G200ER) ++ { ++ outMGAdac(0x90, mgaReg->Dac_Index90); ++ } ++ + if (!MGAISGx50(pMga)) { + /* restore pci_option register */ + #ifdef XSERVER_LIBPCIACCESS +@@ -1361,7 +1486,9 @@ MGA_NOT_HAL( + #endif + } + +- if (pMga->is_G200EV) { ++ if (pMga->is_G200ER) { ++ MGAG200ERPIXPLLSET(pScrn, mgaReg); ++ } else if (pMga->is_G200EV) { + MGAG200EVPIXPLLSET(pScrn, mgaReg); + } else if (pMga->is_G200WB) { + MGAG200WBPIXPLLSET(pScrn, mgaReg); +@@ -1388,6 +1515,11 @@ MGA_NOT_HAL( + for (i = 0; i < 6; i++) + OUTREG16(MGAREG_CRTCEXT_INDEX, (mgaReg->ExtVga[i] << 8) | i); + ++ if (pMga->is_G200ER) { ++ OUTREG8(MGAREG_CRTCEXT_INDEX, 0x24); ++ OUTREG8(MGAREG_CRTCEXT_DATA, mgaReg->ExtVga_Index24); ++ } ++ + /* This handles restoring the generic VGA registers. */ + if (pMga->is_G200SE) { + MGAG200SERestoreMode(pScrn, vgaReg); +@@ -1404,7 +1536,7 @@ MGA_NOT_HAL( + OUTREG16(MGAREG_CRTCEXT_INDEX, 6); + OUTREG16(MGAREG_CRTCEXT_DATA, 0); + } +- ++ + /* + * this is needed to properly restore start address + */ +@@ -1555,6 +1687,11 @@ MGAGSave(ScrnInfoPtr pScrn, vgaRegPtr vgaReg, MGARegPtr mgaReg, + mgaReg->PllM = inMGAdac(MGA1064_EH_PIX_PLLC_M); + mgaReg->PllN = inMGAdac(MGA1064_EH_PIX_PLLC_N); + mgaReg->PllP = inMGAdac(MGA1064_EH_PIX_PLLC_P); ++ } else if (pMga->is_G200ER) { ++ mgaReg->PllM = inMGAdac(MGA1064_ER_PIX_PLLC_M); ++ mgaReg->PllN = inMGAdac(MGA1064_ER_PIX_PLLC_N); ++ mgaReg->PllP = inMGAdac(MGA1064_ER_PIX_PLLC_P); ++ mgaReg->Dac_Index90 = inMGAdac(0x90); + } + + mgaReg->PIXPLLCSaved = TRUE; +@@ -1583,6 +1720,11 @@ MGAGSave(ScrnInfoPtr pScrn, vgaRegPtr vgaReg, MGARegPtr mgaReg, + OUTREG8(MGAREG_CRTCEXT_INDEX, i); + mgaReg->ExtVga[i] = INREG8(MGAREG_CRTCEXT_DATA); + } ++ if (pMga->is_G200ER) ++ { ++ OUTREG8(MGAREG_CRTCEXT_INDEX, 0x24); ++ mgaReg->ExtVga_Index24 = INREG8(MGAREG_CRTCEXT_DATA); ++ } + + #ifdef DEBUG + ErrorF("Saved values:\nDAC:"); +@@ -1737,7 +1879,7 @@ static const struct mgag_i2c_private { + { (1 << 0), (1 << 2) }, + { (1 << 4), (1 << 5) }, + { (1 << 0), (1 << 1) }, /* G200SE, G200EV and G200WB I2C bits */ +- { (1 << 1), (1 << 0) }, /* G200EH I2C bits */ ++ { (1 << 1), (1 << 0) }, /* G200EH, G200ER I2C bits */ + }; + + +@@ -1750,7 +1892,7 @@ MGAG_ddc1Read(ScrnInfoPtr pScrn) + + if (pMga->is_G200SE || pMga->is_G200WB || pMga->is_G200EV) + i2c_index = 3; +- else if (pMga->is_G200EH) ++ else if (pMga->is_G200EH || pMga->is_G200ER) + i2c_index = 4; + else + i2c_index = 0; +@@ -1851,7 +1993,7 @@ MGAG_i2cInit(ScrnInfoPtr pScrn) + + if (pMga->is_G200SE || pMga->is_G200WB || pMga->is_G200EV) + i2c_index = 3; +- else if (pMga->is_G200EH) ++ else if (pMga->is_G200EH || pMga->is_G200ER) + i2c_index = 4; + else + i2c_index = 0; +@@ -1976,7 +2118,7 @@ void MGAGSetupFuncs(ScrnInfoPtr pScrn) + pMga->Save = MGAGSave; + pMga->Restore = MGAGRestore; + pMga->ModeInit = MGAGInit; +- if (!pMga->is_G200WB){ ++ if ((!pMga->is_G200WB) && (!pMga->is_G200ER)) { + pMga->ddc1Read = MGAG_ddc1Read; + /* vgaHWddc1SetSpeed will only work if the card is in VGA mode */ + pMga->DDC1SetSpeed = vgaHWddc1SetSpeedWeak(); +diff --git a/src/mga_dri.c b/src/mga_dri.c +index 3fda623..14f342f 100644 +--- a/src/mga_dri.c ++++ b/src/mga_dri.c +@@ -32,7 +32,6 @@ + + #include "xf86.h" + #include "xf86_OSproc.h" +-#include "xf86Priv.h" + + #include "xf86PciInfo.h" + #include "xf86Pci.h" +diff --git a/src/mga_dri.h b/src/mga_dri.h +index f1afb5d..1984b9c 100644 +--- a/src/mga_dri.h ++++ b/src/mga_dri.h +@@ -1,5 +1,3 @@ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/mga/mga_dri.h,v 1.6 2001/04/10 16:08:01 dawes Exp $ */ +- + /* + * Copyright 2000 VA Linux Systems Inc., Fremont, California. + * All Rights Reserved. +diff --git a/src/mga_dripriv.h b/src/mga_dripriv.h +index 3ddd133..feca134 100644 +--- a/src/mga_dripriv.h ++++ b/src/mga_dripriv.h +@@ -1,5 +1,3 @@ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/mga/mga_dripriv.h,v 1.4 2001/04/10 16:08:01 dawes Exp $ */ +- + /* + * Copyright 2000 VA Linux Systems Inc., Fremont, California. + * All Rights Reserved. +diff --git a/src/mga_driver.c b/src/mga_driver.c +index 5a1e9b4..b140013 100644 +--- a/src/mga_driver.c ++++ b/src/mga_driver.c +@@ -1,4 +1,3 @@ +-/* $XConsortium: mga_driver.c /main/12 1996/10/28 05:13:26 kaleb $ */ + /* + * MGA Millennium (MGA2064W) with Ti3026 RAMDAC driver v.1.1 + * +@@ -404,6 +403,21 @@ static const struct mga_device_attributes attribs[] = { + 8192, 0x4000, /* Memory probe size & offset values */ + }, + ++ /* G200ER */ ++ [15] = { 0, 1, 0, 0, 1, 0, 0, 0, new_BARs, ++ (TRANSC_SOLID_FILL | TWO_PASS_COLOR_EXPAND | USE_LINEAR_EXPANSION), ++ { ++ { 50000, 230000 }, /* System VCO frequencies */ ++ { 50000, 203400 }, /* Pixel VCO frequencies */ ++ { 0, 0 }, /* Video VCO frequencies */ ++ 45000, /* Memory clock */ ++ 27050, /* PLL reference frequency */ ++ 0, /* Supports fast bitblt? */ ++ MGA_HOST_PCI /* Host interface */ ++ }, ++ ++ 16384, 0x4000, /* Memory probe size & offset values */ ++ } + }; + + #ifdef XSERVER_LIBPCIACCESS +@@ -433,6 +447,8 @@ static const struct pci_id_match mga_device_match[] = { + + MGA_DEVICE_MATCH( PCI_CHIP_MGAG200_EH_PCI, 14 ), + ++ MGA_DEVICE_MATCH(PCI_CHIP_MGAG200_ER_PCI, 15 ), ++ + { 0, 0, 0 }, + }; + #endif +@@ -450,6 +466,7 @@ static SymTabRec MGAChipsets[] = { + { PCI_CHIP_MGAG200_SE_A_PCI, "mgag200 SE A PCI" }, + { PCI_CHIP_MGAG200_SE_B_PCI, "mgag200 SE B PCI" }, + { PCI_CHIP_MGAG200_EV_PCI, "mgag200 EV Maxim" }, ++ { PCI_CHIP_MGAG200_ER_PCI, "mgag200 ER SH7757" }, + { PCI_CHIP_MGAG200_WINBOND_PCI, "mgag200 eW Nuvoton" }, + { PCI_CHIP_MGAG200_EH_PCI, "mgag200eH" }, + { PCI_CHIP_MGAG400, "mgag400" }, +@@ -472,6 +489,8 @@ static PciChipsets MGAPciChipsets[] = { + RES_SHARED_VGA }, + { PCI_CHIP_MGAG200_EV_PCI, PCI_CHIP_MGAG200_EV_PCI, + RES_SHARED_VGA }, ++ { PCI_CHIP_MGAG200_ER_PCI, PCI_CHIP_MGAG200_ER_PCI, ++ RES_SHARED_VGA }, + { PCI_CHIP_MGAG200_WINBOND_PCI, PCI_CHIP_MGAG200_WINBOND_PCI, + RES_SHARED_VGA }, + { PCI_CHIP_MGAG200_EH_PCI, PCI_CHIP_MGAG200_EH_PCI, +@@ -913,6 +932,11 @@ MGAProbe(DriverPtr drv, int flags) + case PCI_CHIP_MGAG200_EH_PCI: + attrib_no = 14; + break; ++ ++ case PCI_CHIP_MGAG200_ER_PCI: ++ attrib_no = 15; ++ break; ++ + + default: + return FALSE; +@@ -1081,7 +1105,7 @@ MGACountRam(ScrnInfoPtr pScrn) + + if (pMga->is_G200SE) + pMga->reg_1e24 = INREG(0x1e24); /* stash the model for later */ +- if (pMga->reg_1e24 == 0x01) { ++ if (pMga->reg_1e24 >= 0x01) { + MGAUnmapMem(pScrn); + ProbeSize = 16384; + ProbeSizeOffset = 0x10000; +@@ -1286,6 +1310,11 @@ MGAdoDDC(ScrnInfoPtr pScrn) + MGASave(pScrn); + + /* It is now safe to talk to the card */ ++ /* Allow access to DDC */ ++ if (pMga->is_G200ER) { ++ CARD8 ucData = inMGAdac(MGA1064_GEN_IO_CTL2); ++ outMGAdac(MGA1064_GEN_IO_CTL2, ucData | 1); ++ } + + /* Initialize I2C buses - used by DDC if available */ + if (pMga->i2cInit) { +@@ -1327,6 +1356,12 @@ MGAdoDDC(ScrnInfoPtr pScrn) + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "end of monitor info\n"); + } + ++ /* Remove access to DDC */ ++ if (pMga->is_G200ER) { ++ CARD8 ucData = inMGAdac(MGA1064_GEN_IO_CTL2); ++ outMGAdac(MGA1064_GEN_IO_CTL2, ucData & ~1); ++ } ++ + /* Restore previous state and unmap MGA memory and MMIO areas */ + MGARestore(pScrn); + MGAUnmapMem(pScrn); +@@ -1620,6 +1655,7 @@ MGAPreInit(ScrnInfoPtr pScrn, int flags) + pMga->is_G200EV = (pMga->Chipset == PCI_CHIP_MGAG200_EV_PCI); + pMga->is_G200WB = (pMga->Chipset == PCI_CHIP_MGAG200_WINBOND_PCI); + pMga->is_G200EH = (pMga->Chipset == PCI_CHIP_MGAG200_EH_PCI); ++ pMga->is_G200ER = (pMga->Chipset == PCI_CHIP_MGAG200_ER_PCI); + + #ifdef USEMGAHAL + if (pMga->chip_attribs->HAL_chipset) { +@@ -1780,15 +1816,9 @@ MGAPreInit(ScrnInfoPtr pScrn, int flags) + #ifndef XSERVER_LIBPCIACCESS + /* + * Find the BIOS base. Get it from the PCI config if possible. Otherwise +- * use the VGA default. Allow the config file to override this. ++ * use the VGA default. + */ + +- pMga->BiosFrom = X_NONE; +- if (pMga->device->BiosBase != 0) { +- /* XXX This isn't used */ +- pMga->BiosAddress = pMga->device->BiosBase; +- pMga->BiosFrom = X_CONFIG; +- } else { + /* details: rombase sdk pp 4-15 */ + if (pMga->PciInfo->biosBase != 0) { + pMga->BiosAddress = pMga->PciInfo->biosBase & 0xffff0000; +@@ -1797,7 +1827,6 @@ MGAPreInit(ScrnInfoPtr pScrn, int flags) + pMga->BiosAddress = 0xc0000; + pMga->BiosFrom = X_DEFAULT; + } +- } + if (pMga->BiosAddress) { + xf86DrvMsg(pScrn->scrnIndex, pMga->BiosFrom, "BIOS at 0x%lX\n", + (unsigned long)pMga->BiosAddress); +@@ -2142,6 +2171,7 @@ MGAPreInit(ScrnInfoPtr pScrn, int flags) + case PCI_CHIP_MGAG200_WINBOND_PCI: + case PCI_CHIP_MGAG200_EV_PCI: + case PCI_CHIP_MGAG200_EH_PCI: ++ case PCI_CHIP_MGAG200_ER_PCI: + case PCI_CHIP_MGAG400: + case PCI_CHIP_MGAG550: + MGAGSetupFuncs(pScrn); +@@ -2255,6 +2285,7 @@ MGAPreInit(ScrnInfoPtr pScrn, int flags) + case PCI_CHIP_MGAG200_WINBOND_PCI: + case PCI_CHIP_MGAG200_EV_PCI: + case PCI_CHIP_MGAG200_EH_PCI: ++ case PCI_CHIP_MGAG200_ER_PCI: + pMga->SrcOrg = 0; + pMga->DstOrg = 0; + break; +@@ -2432,16 +2463,17 @@ MGAPreInit(ScrnInfoPtr pScrn, int flags) + maxPitch = 2048; + break; + case PCI_CHIP_MGAG200_SE_A_PCI: +- if (pScrn->videoRam < 2048){ ++ if (pScrn->videoRam < 2048){ + maxPitch = 1280; +- } +- break; ++ } ++ break; + case PCI_CHIP_MGAG200: + case PCI_CHIP_MGAG200_PCI: + case PCI_CHIP_MGAG200_SE_B_PCI: + case PCI_CHIP_MGAG200_WINBOND_PCI: + case PCI_CHIP_MGAG200_EV_PCI: + case PCI_CHIP_MGAG200_EH_PCI: ++ case PCI_CHIP_MGAG200_ER_PCI: + case PCI_CHIP_MGAG400: + case PCI_CHIP_MGAG550: + maxPitch = 4096; +@@ -3250,15 +3282,71 @@ MGA_HAL( + outb(0xfac, 0x02); + } + +- MGA_NOT_HAL( +- if (pMga->is_G200SE) { ++ /* ++ This function optimize the Priority Request control ++ Higher HiPriLvl will reduce drawing performance ++ We need to give enough bandwith to crtc to avoid visual artifact ++ */ ++ if (pMga->is_G200SE) ++ { ++ if (pMga->reg_1e24 >= 0x02) ++ { ++ /* Calulate CRTC Priority value */ ++ CARD8 ucHiPriLvl; ++ CARD32 ulBitsPerPixel; ++ CARD32 ulMemoryBandwidth; ++ ++ /* uiBitsPerPixel can only be 8,16 or32 */ ++ if (pScrn->bitsPerPixel > 16) ++ { ++ ulBitsPerPixel = 32; ++ } ++ else if (pScrn->bitsPerPixel > 8) ++ { ++ ulBitsPerPixel = 16; ++ } ++ else ++ { ++ ulBitsPerPixel = 8; ++ } ++ ++ ++ ulMemoryBandwidth = (mode->Clock * ulBitsPerPixel) / 1000; ++ ++ if (ulMemoryBandwidth > 3100) ucHiPriLvl = 0; ++ else if (ulMemoryBandwidth > 2600) ucHiPriLvl = 1; ++ else if (ulMemoryBandwidth > 1900) ucHiPriLvl = 2; ++ else if (ulMemoryBandwidth > 1160) ucHiPriLvl = 3; ++ else if (ulMemoryBandwidth > 440) ucHiPriLvl = 4; ++ else ucHiPriLvl = 5; ++ + OUTREG8(0x1FDE, 0x06); +- if (pMga->reg_1e24 == 0x01) +- OUTREG8(0x1FDF, 0x03); +- else +- OUTREG8(0x1FDF, 0x14); ++ OUTREG8(0x1FDF, ucHiPriLvl); ++ ++ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Clock == %d\n", mode->Clock); ++ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "BitsPerPixel == %d\n", pScrn->bitsPerPixel); ++ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "MemoryBandwidth == %d\n", ulMemoryBandwidth); ++ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "HiPriLvl == %02X\n", ucHiPriLvl); + } +- ); ++ else ++ { ++ MGA_NOT_HAL( ++ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Clock == %d\n", mode->Clock); ++ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "BitsPerPixel == %d\n", pScrn->bitsPerPixel); ++ OUTREG8(0x1FDE, 0x06); ++ if (pMga->reg_1e24 >= 0x01) ++ { ++ OUTREG8(0x1FDF, 0x03); ++ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "HiPriLvl == 03\n"); ++ } ++ else ++ { ++ OUTREG8(0x1FDF, 0x14); ++ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "HiPriLvl == 14h\n"); ++ } ++ ); ++ } ++ } + + pMga->CurrentLayout.mode = mode; + +@@ -4322,13 +4410,23 @@ MGAValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags) + MGAPtr pMga = MGAPTR(pScrn); + + if (pMga->Chipset == PCI_CHIP_MGAG200_SE_A_PCI) { +- if (mode->HDisplay > 1600) +- return MODE_VIRTUAL_X; +- if (mode->VDisplay > 1200) +- return MODE_VIRTUAL_Y; +- if (pMga->reg_1e24 == 0x01 && +- xf86ModeBandwidth(mode, pScrn->bitsPerPixel) > 244) +- return MODE_BANDWIDTH; ++ if (pMga->reg_1e24 == 0x01) { ++ if (mode->HDisplay > 1600) ++ return MODE_VIRTUAL_X; ++ if (mode->VDisplay > 1200) ++ return MODE_VIRTUAL_Y; ++ if (xf86ModeBandwidth(mode, pScrn->bitsPerPixel) > 244) ++ return MODE_BANDWIDTH; ++ } else { ++ if (pMga->reg_1e24 >= 0x02) { ++ if (mode->HDisplay > 1920) ++ return MODE_VIRTUAL_X; ++ if (mode->VDisplay > 1200) ++ return MODE_VIRTUAL_Y; ++ if (xf86ModeBandwidth(mode, pScrn->bitsPerPixel) > 301) ++ return MODE_BANDWIDTH; ++ } ++ } + } else if (pMga->is_G200WB){ + if (mode->Flags & V_DBLSCAN) + return MODE_NO_DBLESCAN; +@@ -4340,10 +4438,13 @@ MGAValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags) + return MODE_BANDWIDTH; + } else if (pMga->is_G200EV + && (xf86ModeBandwidth(mode, pScrn->bitsPerPixel) > 327)) { +- return MODE_BANDWIDTH; ++ return MODE_BANDWIDTH; + } else if (pMga->is_G200EH + && (xf86ModeBandwidth(mode, pScrn->bitsPerPixel) > 375)) { + return MODE_BANDWIDTH; ++ } else if (pMga->is_G200ER ++ && (xf86ModeBandwidth(mode, pScrn->bitsPerPixel) > 550)) { ++ return MODE_BANDWIDTH; + } + + lace = 1 + ((mode->Flags & V_INTERLACE) != 0); +diff --git a/src/mga_macros.h b/src/mga_macros.h +index 69dc8e3..bffd063 100644 +--- a/src/mga_macros.h ++++ b/src/mga_macros.h +@@ -1,5 +1,3 @@ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/mga/mga_macros.h,v 1.21 2001/09/26 12:59:17 alanh Exp $ */ +- + #ifndef _MGA_MACROS_H_ + #define _MGA_MACROS_H_ + +diff --git a/src/mga_merge.c b/src/mga_merge.c +index 753f752..1fd0572 100644 +--- a/src/mga_merge.c ++++ b/src/mga_merge.c +@@ -363,6 +363,7 @@ MGAPreInitMergedFB(ScrnInfoPtr pScrn1, int flags) + case PCI_CHIP_MGAG200_WINBOND_PCI: + case PCI_CHIP_MGAG200_EV_PCI: + case PCI_CHIP_MGAG200_EH_PCI: ++ case PCI_CHIP_MGAG200_ER_PCI: + case PCI_CHIP_MGAG400: + case PCI_CHIP_MGAG550: + MGAGSetupFuncs(pScrn); +@@ -518,6 +519,7 @@ MGAPreInitMergedFB(ScrnInfoPtr pScrn1, int flags) + case PCI_CHIP_MGAG200_WINBOND_PCI: + case PCI_CHIP_MGAG200_EV_PCI: + case PCI_CHIP_MGAG200_EH_PCI: ++ case PCI_CHIP_MGAG200_ER_PCI: + case PCI_CHIP_MGAG400: + case PCI_CHIP_MGAG550: + maxPitch = 4096; +diff --git a/src/mga_reg.h b/src/mga_reg.h +index 6251976..5a37db6 100644 +--- a/src/mga_reg.h ++++ b/src/mga_reg.h +@@ -1,11 +1,3 @@ +-/* $XConsortium: mgareg.h /main/2 1996/10/25 10:33:21 kaleb $ */ +- +- +- +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/mga/mga_reg.h,v 1.18 2001/09/26 12:59:18 alanh Exp $ */ +- +- +- + /* + * MGA Millennium (MGA2064W) functions + * MGA Mystique (MGA1064SG) functions +@@ -377,6 +369,7 @@ + #define MGA1064_MISC_CTL_VGA8 ( 0x01 << 3 ) + #define MGA1064_MISC_CTL_DAC_RAM_CS ( 0x01 << 4 ) + ++#define MGA1064_GEN_IO_CTL2 0x29 + #define MGA1064_GEN_IO_CTL 0x2a + #define MGA1064_GEN_IO_DATA 0x2b + #define MGA1064_SYS_PLL_M 0x2c +@@ -437,6 +430,10 @@ + #define MGA1064_EH_PIX_PLLC_N 0xb7 + #define MGA1064_EH_PIX_PLLC_P 0xb8 + ++/* Modified PLL for G200 Maxim (G200ER) */ ++#define MGA1064_ER_PIX_PLLC_M 0xb7 ++#define MGA1064_ER_PIX_PLLC_N 0xb6 ++#define MGA1064_ER_PIX_PLLC_P 0xb8 + + #define MGA1064_DISP_CTL 0x8a + #define MGA1064_DISP_CTL_DAC1OUTSEL_MASK 0x01 +diff --git a/src/mga_sarea.h b/src/mga_sarea.h +index c5ffbbc..16fc9ce 100644 +--- a/src/mga_sarea.h ++++ b/src/mga_sarea.h +@@ -1,5 +1,3 @@ +-/* $XFree86$ */ +- + /* + * Copyright 2000 Gareth Hughes + * All Rights Reserved. +diff --git a/src/mga_storm.c b/src/mga_storm.c +index 87473c8..db7fae7 100644 +--- a/src/mga_storm.c ++++ b/src/mga_storm.c +@@ -1131,6 +1131,7 @@ void MGAStormEngineInit( ScrnInfoPtr pScrn ) + case PCI_CHIP_MGAG200_WINBOND_PCI: + case PCI_CHIP_MGAG200_EV_PCI: + case PCI_CHIP_MGAG200_EH_PCI: ++ case PCI_CHIP_MGAG200_ER_PCI: + pMga->SrcOrg = 0; + OUTREG(MGAREG_SRCORG, pMga->realSrcOrg); + OUTREG(MGAREG_DSTORG, pMga->DstOrg); +diff --git a/src/mgareg_flags.h b/src/mgareg_flags.h +index 69050fc..548af86 100644 +--- a/src/mgareg_flags.h ++++ b/src/mgareg_flags.h +@@ -19,7 +19,6 @@ + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE + * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/mga/mgareg_flags.h,v 1.2 2003/01/12 03:55:47 tsi Exp $ */ + + #ifndef _MGAREGS_H_ + #define _MGAREGS_H_ +diff --git a/util/stormdwg.c b/util/stormdwg.c +index 99f76cc..b43cc32 100644 +--- a/util/stormdwg.c ++++ b/util/stormdwg.c +@@ -1,8 +1,3 @@ +-/* $XConsortium: dwg.c /main/2 1996/10/28 06:57:55 kaleb $ */ +- +- +- +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/mga/util/stormdwg.c,v 1.1 1997/04/12 14:11:29 hohndel Exp $ */ + + #include <stdio.h> + #include <stdlib.h> diff --git a/extra/xf86-video-neomagic/PKGBUILD b/extra/xf86-video-neomagic/PKGBUILD index b996da01c..1fcad1c30 100644 --- a/extra/xf86-video-neomagic/PKGBUILD +++ b/extra/xf86-video-neomagic/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 140322 2011-10-11 21:29:00Z jgc $ +# $Id: PKGBUILD 153348 2012-03-12 20:53:43Z andyrtr $ #Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-neomagic pkgver=1.2.5 -pkgrel=5 +pkgrel=6 pkgdesc="X.org neomagic video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel>=1.11.0' 'xf86dgaproto') -conflicts=('xorg-server<1.11.0') +makedepends=('xorg-server-devel>=1.11.99.903' 'xf86dgaproto') +conflicts=('xorg-server<1.11.99.903') groups=('xorg-drivers' 'xorg') options=('!libtool') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) @@ -20,6 +20,10 @@ build() { cd "${srcdir}/${pkgname}-${pkgver}" ./configure --prefix=/usr make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-nouveau/PKGBUILD b/extra/xf86-video-nouveau/PKGBUILD index f08fb5823..048771a53 100644 --- a/extra/xf86-video-nouveau/PKGBUILD +++ b/extra/xf86-video-nouveau/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 146316 2012-01-09 16:15:38Z ibiru $ +# $Id: PKGBUILD 153350 2012-03-12 20:53:45Z andyrtr $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> # Contributor: buddabrod <buddabrod@gmail.com> pkgname=xf86-video-nouveau -_gitdate=20120106 +_gitdate=20120210 pkgver=0.0.16_git${_gitdate} # see configure.ac pkgrel=1 pkgdesc="Open Source 3D acceleration driver for nVidia cards (experimental)" @@ -13,11 +13,11 @@ license=('GPL') #and MIT, not yet a license file, see http://nouveau.freedesktop depends=('libdrm' 'udev') optdepends=('nouveau-dri: experimental gallium3d features') makedepends=('xorg-server-devel' 'libdrm' 'xf86driproto') -conflicts=('xorg-server<1.11.0') +conflicts=('xorg-server<1.11.99.902') options=('!libtool') install=$pkgname.install source=(ftp://ftp.archlinux.org/other/$pkgname/xf86-video-nouveau-${_gitdate}.tar.bz2) -md5sums=('4b0ee8643b3322ff3a0c5d70262a54af') +md5sums=('f35c12d64542d0ea792a9e5af63a2e5a') # source PKGBUILD && mksource mksource() { diff --git a/extra/xf86-video-nv/PKGBUILD b/extra/xf86-video-nv/PKGBUILD index 7dab5a944..d29e82627 100644 --- a/extra/xf86-video-nv/PKGBUILD +++ b/extra/xf86-video-nv/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 140318 2011-10-11 21:28:55Z jgc $ +# $Id: PKGBUILD 153352 2012-03-12 20:53:48Z andyrtr $ # Maintainer:Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-nv pkgver=2.1.18 -pkgrel=4 +pkgrel=5 pkgdesc="X.org nv video driver" arch=(i686 x86_64) license=('custom') url="http://xorg.freedesktop.org/" depends=('glibc') -makedepends=('xorg-server-devel>=1.11.0') -conflicts=('xorg-server<1.11.0') +makedepends=('xorg-server-devel>=1.11.99.903') +conflicts=('xorg-server<1.11.99.903') options=('!libtool') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) @@ -20,6 +20,10 @@ build() { cd "${srcdir}/${pkgname}-${pkgver}" ./configure --prefix=/usr make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" diff --git a/extra/xf86-video-openchrome/PKGBUILD b/extra/xf86-video-openchrome/PKGBUILD index cb982ec8b..72dc5b204 100644 --- a/extra/xf86-video-openchrome/PKGBUILD +++ b/extra/xf86-video-openchrome/PKGBUILD @@ -1,27 +1,30 @@ -# $Id: PKGBUILD 140316 2011-10-11 21:28:53Z jgc $ +# $Id: PKGBUILD 153354 2012-03-12 20:53:50Z andyrtr $ # Contributor: Paul Mattal <paul@mattal.com> # Maintainer: Juergen Hoetzel <juergen@hoetzel.info> pkgname=xf86-video-openchrome -pkgver=0.2.904 -_svnver=r933 -pkgrel=6 +pkgver=0.2.905 +pkgrel=1 pkgdesc="X.Org Openchrome drivers" arch=(i686 x86_64) license=('custom') url="http://www.openchrome.org" -depends=('libdrm' 'libxvmc' 'unichrome-dri') -makedepends=('xorg-server-devel>=1.11.0' 'libdrm' 'xf86driproto' 'mesa' 'libxvmc' 'glproto') +depends=('libdrm' 'libxvmc') +makedepends=('xorg-server-devel>=1.11.99.902' 'libx11' 'xf86driproto' 'mesa') #'glproto' 'libgl') replaces=('openchrome' 'xf86-video-via') -options=('!libtool' '!makeflags') -conflicts=('xf86-video-via' 'xf86-video-unichrome' 'openchrome' 'xorg-server<1.11.0') -source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}-${_svnver}.tar.bz2) -md5sums=('d661460276a31d3d012d8cdb1a0a73c1') +options=('!libtool' '!emptydirs' '!makeflags') +conflicts=('xf86-video-via' 'xf86-video-unichrome' 'openchrome' 'xorg-server<1.11.99.902' 'unichrome-dri') +source=(http://xorg.freedesktop.org/archive/individual/driver/${pkgname}-${pkgver}.tar.bz2) +md5sums=('51871431a4a9204ab8ec79335c0cc041') build() { cd "${srcdir}/${pkgname}-${pkgver}" - ./configure --prefix=/usr + ./configure --prefix=/usr # --disable-dri make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-r128/PKGBUILD b/extra/xf86-video-r128/PKGBUILD index 86b9f89e1..6a83bdf15 100644 --- a/extra/xf86-video-r128/PKGBUILD +++ b/extra/xf86-video-r128/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 140314 2011-10-11 21:28:51Z jgc $ +# $Id: PKGBUILD 153356 2012-03-12 20:53:53Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-r128 pkgver=6.8.1 -pkgrel=7 +pkgrel=8 pkgdesc="X.org ati Rage128 video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') -depends=('glibc' 'r128-dri') -makedepends=('xorg-server-devel>=1.11.0' 'xf86driproto' 'libdrm' 'mesa' 'glproto') -conflicts=('xorg-server<1.11.0') +depends=('glibc') +makedepends=('xorg-server-devel>=1.11.99.903' 'xf86driproto' 'libdrm' 'mesa') # 'glproto') +conflicts=('xorg-server<1.11.99.903') groups=('xorg-drivers' 'xorg') options=('!libtool') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 @@ -23,8 +23,12 @@ build() { patch -Np1 -i "${srcdir}/git-fixes.patch" autoreconf -fi - ./configure --prefix=/usr --enable-dri + ./configure --prefix=/usr #--enable-dri make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" diff --git a/extra/xf86-video-rendition/PKGBUILD b/extra/xf86-video-rendition/PKGBUILD index 32ee7deba..4043c0d71 100644 --- a/extra/xf86-video-rendition/PKGBUILD +++ b/extra/xf86-video-rendition/PKGBUILD @@ -1,25 +1,32 @@ -# $Id: PKGBUILD 140312 2011-10-11 21:28:49Z jgc $ +# $Id: PKGBUILD 153358 2012-03-12 20:53:56Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-rendition pkgver=4.2.4 -pkgrel=5 +pkgrel=6 pkgdesc="X.org Rendition video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel>=1.11.0') -conflicts=('xorg-server<1.11.0') +makedepends=('xorg-server-devel>=1.11.99.903') +conflicts=('xorg-server<1.11.99.903') options=('!libtool' '!strip') groups=('xorg-drivers' 'xorg') -source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) -sha1sums=('16148c25183f7829c22bc9dfdb588c1a16bf4565') +source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 + rendition-4.2.4-git.patch) +sha1sums=('16148c25183f7829c22bc9dfdb588c1a16bf4565' + 'e023650fa418be9a92d159acd8ac0bc23704dfb3') build() { cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i ${srcdir}/rendition-4.2.4-git.patch ./configure --prefix=/usr make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-rendition/rendition-4.2.4-git.patch b/extra/xf86-video-rendition/rendition-4.2.4-git.patch new file mode 100644 index 000000000..26cff2fd3 --- /dev/null +++ b/extra/xf86-video-rendition/rendition-4.2.4-git.patch @@ -0,0 +1,809 @@ +diff --git a/configure.ac b/configure.ac +index 5091e50..f74b912 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -20,45 +20,45 @@ + # + # Process this file with autoconf to produce a configure script + +-AC_PREREQ(2.57) ++# Initialize Autoconf ++AC_PREREQ([2.60]) + AC_INIT([xf86-video-rendition], +- 4.2.4, ++ [4.2.4], + [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], +- xf86-video-rendition) +- ++ [xf86-video-rendition]) + AC_CONFIG_SRCDIR([Makefile.am]) +-AM_CONFIG_HEADER([config.h]) ++AC_CONFIG_HEADERS([config.h]) + AC_CONFIG_AUX_DIR(.) + ++# Initialize Automake + AM_INIT_AUTOMAKE([foreign dist-bzip2]) +- + AM_MAINTAINER_MODE + +-# Require xorg-macros: XORG_DEFAULT_OPTIONS ++# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS + m4_ifndef([XORG_MACROS_VERSION], +- [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])]) +-XORG_MACROS_VERSION(1.3) ++ [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])]) ++XORG_MACROS_VERSION(1.8) + XORG_DEFAULT_OPTIONS + +-# Checks for programs. ++# Initialize libtool + AC_DISABLE_STATIC + AC_PROG_LIBTOOL +-AC_PROG_CC + + AH_TOP([#include "xorg-server.h"]) + ++# Define a configure option for an alternate module directory + AC_ARG_WITH(xorg-module-dir, +- AC_HELP_STRING([--with-xorg-module-dir=DIR], ++ AS_HELP_STRING([--with-xorg-module-dir=DIR], + [Default xorg module directory [[default=$libdir/xorg/modules]]]), + [moduledir="$withval"], + [moduledir="$libdir/xorg/modules"]) + +-# Checks for extensions ++# Store the list of server defined optional extensions in REQUIRED_MODULES + XORG_DRIVER_CHECK_EXT(RANDR, randrproto) + XORG_DRIVER_CHECK_EXT(RENDER, renderproto) + XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto) + +-# Checks for pkg-config packages ++# Obtain compiler/linker options for the driver dependencies + PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901 xproto fontsproto $REQUIRED_MODULES]) + + # Checks for libraries. +@@ -78,17 +78,16 @@ fi + AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes) + + # Checks for header files. +-AC_HEADER_STDC + AC_CHECK_HEADERS([elf.h] [elf_abi.h]) + +-AC_SUBST([XORG_CFLAGS]) + AC_SUBST([moduledir]) + + DRIVER_NAME=rendition + AC_SUBST([DRIVER_NAME]) + +-AC_OUTPUT([ +- Makefile +- src/Makefile +- man/Makefile ++AC_CONFIG_FILES([ ++ Makefile ++ src/Makefile ++ man/Makefile + ]) ++AC_OUTPUT +diff --git a/man/Makefile.am b/man/Makefile.am +index 8f2454b..b3688ce 100644 +--- a/man/Makefile.am ++++ b/man/Makefile.am +@@ -31,25 +31,11 @@ EXTRA_DIST = @DRIVER_NAME@.man + + CLEANFILES = $(driverman_DATA) + +-SED = sed +- +-# Strings to replace in man pages +-XORGRELSTRING = @PACKAGE_STRING@ +- XORGMANNAME = X Version 11 +- +-MAN_SUBSTS = \ +- -e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \ +- -e 's|__xorgversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \ +- -e 's|__xservername__|Xorg|g' \ +- -e 's|__xconfigfile__|xorg.conf|g' \ +- -e 's|__projectroot__|$(prefix)|g' \ +- -e 's|__appmansuffix__|$(APP_MAN_SUFFIX)|g' \ +- -e 's|__drivermansuffix__|$(DRIVER_MAN_SUFFIX)|g' \ +- -e 's|__adminmansuffix__|$(ADMIN_MAN_SUFFIX)|g' \ +- -e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' \ +- -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g' ++ ++# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure ++ + + SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man + + .man.$(DRIVER_MAN_SUFFIX): +- sed $(MAN_SUBSTS) < $< > $@ ++ $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@ +diff --git a/man/rendition.man b/man/rendition.man +index 3658ab0..afeee91 100644 +--- a/man/rendition.man ++++ b/man/rendition.man +@@ -1,4 +1,3 @@ +-.\" $__xservername__: xc/programs/Xserver/hw/xfree86/drivers/rendition/rendition.man,v 1.3 2003/06/18 16:17:39 eich Exp $ + .\" shorthand for double quote that works everywhere. + .ds q \N'34' + .TH RENDITION __drivermansuffix__ __vendorversion__ +diff --git a/src/accelX.c b/src/accelX.c +index a499c56..ed4964e 100644 +--- a/src/accelX.c ++++ b/src/accelX.c +@@ -289,7 +289,7 @@ int + RENDITIONInitUcode(ScrnInfoPtr pScreenInfo) + { + renditionPtr pRendition = RENDITIONPTR(pScreenInfo); +- IOADDRESS iob = pRendition->board.io_base; ++ unsigned long iob = pRendition->board.io_base; + + if (0 == verite_getstride(pScreenInfo, NULL, + &pRendition->board.mode.stride0, +@@ -367,7 +367,7 @@ void + RENDITIONRestoreUcode(ScrnInfoPtr pScreenInfo) + { + renditionPtr pRendition = RENDITIONPTR(pScreenInfo); +- IOADDRESS iob = pRendition->board.io_base; ++ unsigned long iob = pRendition->board.io_base; + + vu8 memend; + +@@ -410,7 +410,7 @@ void + RENDITIONSaveUcode(ScrnInfoPtr pScreenInfo) + { + renditionPtr pRendition = RENDITIONPTR(pScreenInfo); +- IOADDRESS iob = pRendition->board.io_base; ++ unsigned long iob = pRendition->board.io_base; + vu8 memend; + + #ifdef DEBUG +@@ -445,7 +445,7 @@ void + RENDITIONSyncV1000(ScrnInfoPtr pScreenInfo) + { + renditionPtr pRendition = RENDITIONPTR(pScreenInfo); +- IOADDRESS iob = pRendition->board.io_base; ++ unsigned long iob = pRendition->board.io_base; + + int c; + +@@ -555,7 +555,7 @@ RENDITIONSubsequentScreenToScreenCopy(ScrnInfoPtr pScreenInfo, + int w, int h) + { + renditionPtr pRendition = RENDITIONPTR(pScreenInfo); +- IOADDRESS iob = pRendition->board.io_base; ++ unsigned long iob = pRendition->board.io_base; + + + #ifdef DEBUG +@@ -607,7 +607,7 @@ RENDITIONSubsequentSolidFillRect(ScrnInfoPtr pScreenInfo, + int x, int y, int w, int h) + { + renditionPtr pRendition = RENDITIONPTR(pScreenInfo); +- IOADDRESS iob = pRendition->board.io_base; ++ unsigned long iob = pRendition->board.io_base; + + + #ifdef DEBUG +@@ -639,7 +639,7 @@ RENDITIONSubsequentTwoPointLine(ScrnInfoPtr pScreenInfo, + int bias) + { + renditionPtr pRendition = RENDITIONPTR(pScreenInfo); +- IOADDRESS iob = pRendition->board.io_base; ++ unsigned long iob = pRendition->board.io_base; + + + #ifdef DEBUG +diff --git a/src/rendition.c b/src/rendition.c +index 7a9e18b..3202b49 100644 +--- a/src/rendition.c ++++ b/src/rendition.c +@@ -330,7 +330,7 @@ renditionProbe(DriverPtr drv, int flags) + renditionChipsets, renditionPCIchipsets, + devSections, numDevSections, drv, &usedChips); + +- xfree(devSections); ++ free(devSections); + if (numUsed <= 0) + return FALSE; + +@@ -359,7 +359,7 @@ renditionProbe(DriverPtr drv, int flags) + foundScreen=TRUE; + } + } +- xfree(usedChips); ++ free(usedChips); + } + return foundScreen; + } +@@ -400,7 +400,7 @@ renditionGetRec(ScrnInfoPtr pScreenInfo) + sleep(1); + #endif + if (!pScreenInfo->driverPrivate) +- pScreenInfo->driverPrivate=xcalloc(sizeof(renditionRec), 1); ++ pScreenInfo->driverPrivate=calloc(sizeof(renditionRec), 1); + + /* perhaps some initialization? <ml> */ + +@@ -421,7 +421,7 @@ renditionFreeRec(ScrnInfoPtr pScreenInfo) + #endif + if (xf86LoaderCheckSymbol("vgaHWFreeHWRec")) + vgaHWFreeHWRec(pScreenInfo); +- xfree(pScreenInfo->driverPrivate); ++ free(pScreenInfo->driverPrivate); + pScreenInfo->driverPrivate=NULL; + + #ifdef DEBUG +@@ -596,7 +596,7 @@ renditionPreInit(ScrnInfoPtr pScreenInfo, int flags) + /* collect all of the options flags and process them */ + + xf86CollectOptions(pScreenInfo, NULL); +- if (!(pRendition->Options = xalloc(sizeof(renditionOptions)))) ++ if (!(pRendition->Options = malloc(sizeof(renditionOptions)))) + return FALSE; + memcpy(pRendition->Options, renditionOptions, sizeof(renditionOptions)); + xf86ProcessOptions(pScreenInfo->scrnIndex, pScreenInfo->options, +@@ -663,7 +663,11 @@ renditionPreInit(ScrnInfoPtr pScreenInfo, int flags) + vgaHWGetIOBase(pvgaHW); /* Get VGA I/O base */ + + pRendition->board.accel=0; ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 + pRendition->board.vgaio_base = pvgaHW->PIOOffset; ++#else ++ pRendition->board.vgaio_base = 0; ++#endif + pRendition->board.io_base = pRendition->board.vgaio_base + #ifdef XSERVER_LIBPCIACCESS + + pRendition->PciInfo->regions[1].base_addr; +@@ -1167,7 +1171,7 @@ renditionScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + pRendition->board.shadowPitch + = BitmapBytePad(pScreenInfo->bitsPerPixel * width); + pRendition->board.shadowPtr +- = xalloc(pRendition->board.shadowPitch * height); ++ = malloc(pRendition->board.shadowPitch * height); + displayWidth = pRendition->board.shadowPitch + / (pScreenInfo->bitsPerPixel >> 3); + FBBase = pRendition->board.shadowPtr; +@@ -1484,7 +1488,7 @@ static xf86MonPtr + renditionDDC (ScrnInfoPtr pScreenInfo) + { + renditionPtr pRendition = RENDITIONPTR(pScreenInfo); +- IOADDRESS iob=pRendition->board.io_base; ++ unsigned long iob=pRendition->board.io_base; + vu32 temp; + + xf86MonPtr MonInfo = NULL; +@@ -1517,7 +1521,7 @@ static unsigned int + renditionDDC1Read (ScrnInfoPtr pScreenInfo) + { + renditionPtr pRendition = RENDITIONPTR(pScreenInfo); +- IOADDRESS iob=pRendition->board.io_base; ++ unsigned long iob=pRendition->board.io_base; + vu32 value = 0; + + /* wait for Vsync */ +diff --git a/src/v1krisc.c b/src/v1krisc.c +index 2554263..9b7b4e2 100644 +--- a/src/v1krisc.c ++++ b/src/v1krisc.c +@@ -83,20 +83,20 @@ + * local function prototypes + */ + +-static void verite_iopoll(IOADDRESS port, vu32 data, vu32 mask); +-static void verite_iopoll8(IOADDRESS port, vu8 data, vu8 mask); ++static void verite_iopoll(unsigned long port, vu32 data, vu32 mask); ++static void verite_iopoll8(unsigned long port, vu8 data, vu8 mask); + +-static vu32 readRF(IOADDRESS io_base, vu8 index); +-static void writeRF(IOADDRESS io_base, vu8 index, vu32 data); ++static vu32 readRF(unsigned long io_base, vu8 index); ++static void writeRF(unsigned long io_base, vu8 index, vu32 data); + +-static vu32 risc_readmem(IOADDRESS io_base, vu32 addr, vu8 read_type); +-static void risc_writemem(IOADDRESS io_base, vu32 addr, vu32 data, vu8 write_type); ++static vu32 risc_readmem(unsigned long io_base, vu32 addr, vu8 read_type); ++static void risc_writemem(unsigned long io_base, vu32 addr, vu32 data, vu8 write_type); + + #if 0 +-static void risc_step(IOADDRESS io_base, vu32 count); ++static void risc_step(unsigned long io_base, vu32 count); + #endif +-static void risc_forcestep(IOADDRESS io_base, vu32 instruction); +-static void risc_continue(IOADDRESS io_base); ++static void risc_forcestep(unsigned long io_base, vu32 instruction); ++static void risc_continue(unsigned long io_base); + + + +@@ -113,7 +113,7 @@ void + v1k_start(ScrnInfoPtr pScreenInfo, vu32 pc) + { + renditionPtr pRendition = RENDITIONPTR(pScreenInfo); +- IOADDRESS io_base=pRendition->board.io_base; ++ unsigned long io_base=pRendition->board.io_base; + + v1k_stop(pScreenInfo); + risc_forcestep(io_base, NOP_INSTR); +@@ -152,7 +152,7 @@ v1k_stop(ScrnInfoPtr pScreenInfo) + { + renditionPtr pRendition = RENDITIONPTR(pScreenInfo); + vu8 debugreg, statusreg; +- IOADDRESS io_base=pRendition->board.io_base; ++ unsigned long io_base=pRendition->board.io_base; + vu16 STATUS = 0x4A; /* v2x00 io register offset */ + int c; + +@@ -207,7 +207,7 @@ v1k_flushicache(ScrnInfoPtr pScreenInfo) + { + renditionPtr pRendition = RENDITIONPTR(pScreenInfo); + vu32 c, p1, p2; +- IOADDRESS io_base=pRendition->board.io_base; ++ unsigned long io_base=pRendition->board.io_base; + + /* first flush store accumulation buffers so data is all in memory */ + p1=risc_readmem(io_base, 0, READ_WORD); +@@ -255,7 +255,7 @@ void + v1k_softreset(ScrnInfoPtr pScreenInfo) + { + renditionPtr pRendition = RENDITIONPTR(pScreenInfo); +- IOADDRESS io_base=pRendition->board.io_base; ++ unsigned long io_base=pRendition->board.io_base; + + verite_out8(io_base+DEBUGREG, SOFTRESET|HOLDRISC); + verite_out8(io_base+STATEINDEX, STATEINDEX_PC); +@@ -300,12 +300,12 @@ v1k_getriscprocs(verite_board_desc *boardDesc) + */ + + /* +- * static void verite_iopoll(IOADDRESS port, vu32 data, vu32 mask) ++ * static void verite_iopoll(unsigned long port, vu32 data, vu32 mask) + * + * Loop on IO read until expected data is read or VERITE_MAX_POLLS is reached. + */ + static void +-verite_iopoll(IOADDRESS port, vu32 data, vu32 mask) ++verite_iopoll(unsigned long port, vu32 data, vu32 mask) + { + vu32 c; + +@@ -320,12 +320,12 @@ verite_iopoll(IOADDRESS port, vu32 data, vu32 mask) + + + /* +- * static void verite_iopoll8(IOADDRESS port, vu8 data, vu8 mask) ++ * static void verite_iopoll8(unsigned long port, vu8 data, vu8 mask) + * + * Loop on IO read until expected data is read or VERITE_MAX_POLLS is reached. + */ + static void +-verite_iopoll8(IOADDRESS port, vu8 data, vu8 mask) ++verite_iopoll8(unsigned long port, vu8 data, vu8 mask) + { + vu32 c; + +@@ -340,12 +340,12 @@ verite_iopoll8(IOADDRESS port, vu8 data, vu8 mask) + + + /* +- * static vu32 readRF(IOADDRESS io_base, vu8 index) ++ * static vu32 readRF(unsigned long io_base, vu8 index) + * + * Reads data from register file. + */ + static vu32 +-readRF(IOADDRESS io_base, vu8 index) ++readRF(unsigned long io_base, vu8 index) + { + vu32 data, instr; + vu8 debug, stateindex; +@@ -378,12 +378,12 @@ readRF(IOADDRESS io_base, vu8 index) + + + /* +- * static void writeRF(IOADDRESS io_base, vu8 index, vu32 data) ++ * static void writeRF(unsigned long io_base, vu8 index, vu32 data) + * + * Set RF register, being careful on how to set regs below 64. + */ + static void +-writeRF(IOADDRESS io_base, vu8 index, vu32 data) ++writeRF(unsigned long io_base, vu8 index, vu32 data) + { + vu8 special=0; + +@@ -417,12 +417,12 @@ writeRF(IOADDRESS io_base, vu8 index, vu32 data) + + + /* +- * static vu32 risc_readmem(IOADDRESS io_base, vu32 addr, vu8 read_type) ++ * static vu32 risc_readmem(unsigned long io_base, vu32 addr, vu8 read_type) + * + * NOTE: Assumes RISC is in hold mode. + */ + static vu32 +-risc_readmem(IOADDRESS io_base, vu32 addr, vu8 read_type) ++risc_readmem(unsigned long io_base, vu32 addr, vu8 read_type) + { + vu32 data; + +@@ -445,12 +445,12 @@ risc_readmem(IOADDRESS io_base, vu32 addr, vu8 read_type) + + + /* +- * static vu32 risc_writemem(IOADDRESS io_base, vu32 addr, vu32 data, vu8 write_type) ++ * static vu32 risc_writemem(unsigned long io_base, vu32 addr, vu32 data, vu8 write_type) + * + * NOTE: Assumes RISC is in hold mode. + */ + static void +-risc_writemem(IOADDRESS io_base, vu32 addr, vu32 data, vu8 write_type) ++risc_writemem(unsigned long io_base, vu32 addr, vu32 data, vu8 write_type) + { + writeRF(io_base, RISC_RA, addr); /* point to memory */ + writeRF(io_base, RISC_FP, data); /* set data */ +@@ -466,12 +466,12 @@ risc_writemem(IOADDRESS io_base, vu32 addr, vu32 data, vu8 write_type) + + #if 0 + /* +- * static void risc_step(IOADDRESS io_base, vu32 count) ++ * static void risc_step(unsigned long io_base, vu32 count) + * + * Single step the RISC. NOTE: Do not force instruction into RISCIR! + */ + static void +-risc_step(IOADDRESS io_base, vu32 count) ++risc_step(unsigned long io_base, vu32 count) + { + vu32 c, d; + vu8 debugreg; +@@ -494,12 +494,12 @@ risc_step(IOADDRESS io_base, vu32 count) + + + /* +- * static void risc_forcestep(IOADDRESS io_base, vu32 instruction) ++ * static void risc_forcestep(unsigned long io_base, vu32 instruction) + * + * Single step RISC; force instruction; assumes RISC held. + */ + static void +-risc_forcestep(IOADDRESS io_base, vu32 instruction) ++risc_forcestep(unsigned long io_base, vu32 instruction) + { + vu32 c; + vu8 debugreg, stateindex; +@@ -525,12 +525,12 @@ risc_forcestep(IOADDRESS io_base, vu32 instruction) + + + /* +- * static void risc_continue(IOADDRESS io_base) ++ * static void risc_continue(unsigned long io_base) + * + * Turn off hold bit. + */ + static void +-risc_continue(IOADDRESS io_base) ++risc_continue(unsigned long io_base) + { + vu8 debugreg; + +diff --git a/src/vboard.c b/src/vboard.c +index 49499e2..622715f 100644 +--- a/src/vboard.c ++++ b/src/vboard.c +@@ -38,7 +38,7 @@ verite_initboard(ScrnInfoPtr pScreenInfo) + { + renditionPtr pRendition = RENDITIONPTR(pScreenInfo); + +- IOADDRESS iob=pRendition->board.io_base; ++ unsigned long iob=pRendition->board.io_base; + vu8 *vmb; + vu32 offset; + vu8 memendian; +@@ -207,7 +207,7 @@ void + verite_check_csucode(ScrnInfoPtr pScreenInfo) + { + renditionPtr pRendition = RENDITIONPTR(pScreenInfo); +- IOADDRESS iob=pRendition->board.io_base; ++ unsigned long iob=pRendition->board.io_base; + vu8 *vmb; + vu32 offset; + int c; +diff --git a/src/vgafont-std.data b/src/vgafont-std.data +index db63ea8..c47983f 100644 +--- a/src/vgafont-std.data ++++ b/src/vgafont-std.data +@@ -1,4 +1,3 @@ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/rendition/vgafont-std.data,v 1.3 1999/10/13 04:21:22 dawes Exp $ */ + #ifndef __VGAFONT_STD__ + #define __VGAFONT_STD__ + +diff --git a/src/vgafont-vrx.data b/src/vgafont-vrx.data +index ad34582..23b5908 100644 +--- a/src/vgafont-vrx.data ++++ b/src/vgafont-vrx.data +@@ -1,4 +1,3 @@ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/rendition/vgafont-vrx.data,v 1.3 1999/10/13 04:21:23 dawes Exp $ */ + #ifndef __VGAFONT_VRX__ + #define __VGAFONT_VRX__ + +diff --git a/src/vgapalette.data b/src/vgapalette.data +index 5267608..106028d 100644 +--- a/src/vgapalette.data ++++ b/src/vgapalette.data +@@ -1,4 +1,3 @@ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/rendition/vgapalette.data,v 1.3 1999/10/13 04:21:23 dawes Exp $ */ + #ifndef __VGAPALETTE__ + #define __VGAPALETTE__ + +diff --git a/src/vloaduc.c b/src/vloaduc.c +index 67bf901..5c6aab0 100644 +--- a/src/vloaduc.c ++++ b/src/vloaduc.c +@@ -103,7 +103,7 @@ verite_load_ucfile(ScrnInfoPtr pScreenInfo, char *file_name) + sz=SW16(ehdr.e_phentsize); + num=SW16(ehdr.e_phnum); + if (0!=sz && 0!=num) { +- orig_pphdr=pphdr=(Elf32_Phdr *)xalloc(sz*num); ++ orig_pphdr=pphdr=(Elf32_Phdr *)malloc(sz*num); + if (!pphdr) { + ErrorF("RENDITION: Cannot allocate global memory (1)\n"); + close(fd); +@@ -125,7 +125,7 @@ verite_load_ucfile(ScrnInfoPtr pScreenInfo, char *file_name) + sz=SW16(ehdr.e_shentsize); + num=SW16(ehdr.e_shnum); + if (0!=sz && 0!=num) { +- orig_pshdr=pshdr=(Elf32_Shdr *)xalloc(sz*num); ++ orig_pshdr=pshdr=(Elf32_Shdr *)malloc(sz*num); + if (!pshdr) { + ErrorF("RENDITION: Cannot allocate global memory (2)\n"); + close(fd); +@@ -148,7 +148,7 @@ verite_load_ucfile(ScrnInfoPtr pScreenInfo, char *file_name) + loadSegment2board(pScreenInfo, fd, pphdr); + pphdr=(Elf32_Phdr *)(((char *)pphdr)+sz); + } while (--num); +- xfree(orig_pphdr); ++ free(orig_pphdr); + } + else { + do { +@@ -158,7 +158,7 @@ verite_load_ucfile(ScrnInfoPtr pScreenInfo, char *file_name) + loadSection2board(pScreenInfo, fd, pshdr); + pshdr=(Elf32_Shdr *)(((char *)pshdr)+sz); + } while (--num) ; +- xfree(orig_pshdr); ++ free(orig_pshdr); + } + close(fd); + +@@ -195,7 +195,7 @@ loadSegment2board(ScrnInfoPtr pScreenInfo, int fd, Elf32_Phdr *phdr) + return; + } + +- data=(vu8 *)xalloc(size); ++ data=(vu8 *)malloc(size); + if (NULL == data){ + ErrorF("RENDITION: GlobalAllocPtr couldn't allocate %lx bytes", + (unsigned long)size); +@@ -210,7 +210,7 @@ loadSegment2board(ScrnInfoPtr pScreenInfo, int fd, Elf32_Phdr *phdr) + + mmve(pScreenInfo, size, data, physAddr); + +- xfree(data); ++ free(data); + } + + +diff --git a/src/vmodes.c b/src/vmodes.c +index c0bd0df..f2dae0b 100644 +--- a/src/vmodes.c ++++ b/src/vmodes.c +@@ -20,6 +20,7 @@ + #include "v1kregs.h" + #include "v2kregs.h" + ++#include <unistd.h> + + #undef DEBUG + +@@ -201,7 +202,7 @@ struct V1000ClocksStr { + * local function prototypes + */ + +-static void set_PLL(IOADDRESS iob, vu32 value); ++static void set_PLL(unsigned long iob, vu32 value); + static double V1000CalcClock(double target, int *M, int *N, int *P); + static double V2200CalcClock(double target, int *m, int *n, int *p); + +@@ -509,13 +510,13 @@ verite_getstride(ScrnInfoPtr pScreenInfo, int *width, + */ + + /* +- * void set_PLL(IOADDRESS iob, vu32 value) ++ * void set_PLL(unsigned long iob, vu32 value) + * + * Set PLL clock to desired frequency for the V1000. + */ + + void +-set_PLL(IOADDRESS iob, vu32 value) ++set_PLL(unsigned long iob, vu32 value) + { + vu32 ulD; + int b; +diff --git a/src/vos.h b/src/vos.h +index 7b55f77..999c870 100644 +--- a/src/vos.h ++++ b/src/vos.h +@@ -23,18 +23,18 @@ + /* + * function prototypes + */ +-#define /*void*/ verite_out8(/*IOADDRESS*/ port, /*vu8*/ data) \ ++#define /*void*/ verite_out8(/*unsigned long*/ port, /*vu8*/ data) \ + outb(port, data) + +-#define /*void*/ verite_out16(/*IOADDRESS*/ port, /*vu16*/ data) \ ++#define /*void*/ verite_out16(/*unsigned long*/ port, /*vu16*/ data) \ + outw(port, data) + +-#define /*void*/ verite_out32(/*IOADDRESS*/ port, /*vu32*/ data) \ ++#define /*void*/ verite_out32(/*unsigned long*/ port, /*vu32*/ data) \ + outl(port, data) + +-#define /*vu8*/ verite_in8(/*IOADDRESS*/ io_base) ((vu8)inb(io_base)) +-#define /*vu16*/ verite_in16(/*IOADDRESS*/ io_base) ((vu16)inw(io_base)) +-#define /*vu32*/ verite_in32(/*IOADDRESS*/ io_base) ((vu32)inl(io_base)) ++#define /*vu8*/ verite_in8(/*unsigned long*/ io_base) ((vu8)inb(io_base)) ++#define /*vu16*/ verite_in16(/*unsigned long*/ io_base) ((vu16)inw(io_base)) ++#define /*vu32*/ verite_in32(/*unsigned long*/ io_base) ((vu32)inl(io_base)) + + /* memory accesses */ + #define verite_read_memory32(base, offset) MMIO_IN32(base, offset) +diff --git a/src/vramdac.c b/src/vramdac.c +index 7c8acbd..21c1df7 100644 +--- a/src/vramdac.c ++++ b/src/vramdac.c +@@ -93,11 +93,11 @@ + * local function prototypes + */ + +-static void Bt485_write_masked(IOADDRESS port, vu8 reg, vu8 mask, vu8 data); +-static void Bt485_write_cmd3_masked(IOADDRESS port, vu8 mask, vu8 data); ++static void Bt485_write_masked(unsigned long port, vu8 reg, vu8 mask, vu8 data); ++static void Bt485_write_cmd3_masked(unsigned long port, vu8 mask, vu8 data); + #if 0 +-static vu8 Bt485_read_masked(IOADDRESS port, vu8 reg, vu8 mask); +-static vu8 Bt485_read_cmd3_masked(IOADDRESS port, vu8 mask); ++static vu8 Bt485_read_masked(unsigned long port, vu8 reg, vu8 mask); ++static vu8 Bt485_read_cmd3_masked(unsigned long port, vu8 mask); + #endif + + /* +@@ -159,7 +159,7 @@ int + verite_initdac(ScrnInfoPtr pScreenInfo, vu8 bpp, vu8 doubleclock) + { + renditionPtr pRendition = RENDITIONPTR(pScreenInfo); +- IOADDRESS iob=pRendition->board.io_base+RAMDACBASEADDR; ++ unsigned long iob=pRendition->board.io_base+RAMDACBASEADDR; + vu8 cmd0,cmd1,cmd2; + vu8 cmd3_data=0; + +@@ -271,7 +271,7 @@ verite_enablecursor(ScrnInfoPtr pScreenInfo, int type, int size) + BT485_3_COLOR_CURSOR, BT485_X_WINDOW_CURSOR }; + static vu8 csizes[]={ BT485_32_BY_32_CURSOR, BT485_64_BY_64_CURSOR }; + +- IOADDRESS iob=pRendition->board.io_base+RAMDACBASEADDR; ++ unsigned long iob=pRendition->board.io_base+RAMDACBASEADDR; + + #ifdef DEBUG + ErrorF ("Rendition: Debug verite_enablecursor called type=0x%x\n",type); +@@ -304,7 +304,7 @@ void + verite_movecursor(ScrnInfoPtr pScreenInfo, vu16 x, vu16 y, vu8 xo, vu8 yo) + { + renditionPtr pRendition = RENDITIONPTR(pScreenInfo); +- IOADDRESS iob=pRendition->board.io_base+RAMDACBASEADDR; ++ unsigned long iob=pRendition->board.io_base+RAMDACBASEADDR; + + x+=Cursor_size-xo; + y+=Cursor_size-yo; +@@ -327,7 +327,7 @@ void + verite_setcursorcolor(ScrnInfoPtr pScreenInfo, vu32 fg, vu32 bg) + { + renditionPtr pRendition = RENDITIONPTR(pScreenInfo); +- IOADDRESS iob=pRendition->board.io_base+RAMDACBASEADDR; ++ unsigned long iob=pRendition->board.io_base+RAMDACBASEADDR; + + #ifdef DEBUG + ErrorF ("Rendition: Debug verite_setcursorcolor called FG=0x%x BG=0x%x\n", +@@ -374,7 +374,7 @@ verite_loadcursor(ScrnInfoPtr pScreenInfo, vu8 size, vu8 *cursorimage) + int c, bytes, row; + vu8 *src = cursorimage; + renditionPtr pRendition = RENDITIONPTR(pScreenInfo); +- IOADDRESS iob=pRendition->board.io_base+RAMDACBASEADDR; ++ unsigned long iob=pRendition->board.io_base+RAMDACBASEADDR; + vu8 tmp; + vu8 memend; /* Added for byte-swap fix */ + +@@ -454,7 +454,7 @@ verite_setpalette(ScrnInfoPtr pScreenInfo, int numColors, int *indices, + LOCO *colors, VisualPtr pVisual) + { + renditionPtr pRendition = RENDITIONPTR(pScreenInfo); +- IOADDRESS iob=pRendition->board.io_base; ++ unsigned long iob=pRendition->board.io_base; + vu32 crtc_status; + int i, index; + +@@ -485,12 +485,12 @@ verite_setpalette(ScrnInfoPtr pScreenInfo, int numColors, int *indices, + */ + + /* +- * static void Bt485_write_masked(IOADDRESS port, vu8 reg, vu8 mask, vu8 data) ++ * static void Bt485_write_masked(unsigned long port, vu8 reg, vu8 mask, vu8 data) + * + * + */ + static void +-Bt485_write_masked(IOADDRESS port, vu8 reg, vu8 mask, vu8 data) ++Bt485_write_masked(unsigned long port, vu8 reg, vu8 mask, vu8 data) + { + vu8 tmp; + +@@ -501,12 +501,12 @@ Bt485_write_masked(IOADDRESS port, vu8 reg, vu8 mask, vu8 data) + + + /* +- * static void Bt485_write_cmd3_masked(IOADDRESS port, vu8 mask, vu8 data) ++ * static void Bt485_write_cmd3_masked(unsigned long port, vu8 mask, vu8 data) + * + * + */ + static void +-Bt485_write_cmd3_masked(IOADDRESS port, vu8 mask, vu8 data) ++Bt485_write_cmd3_masked(unsigned long port, vu8 mask, vu8 data) + { + /* + * Bt485_write_masked(port, BT485_COMMAND_REG_0, 0x7f, 0x80); +@@ -522,24 +522,24 @@ Bt485_write_cmd3_masked(IOADDRESS port, vu8 mask, vu8 data) + + #if 0 + /* +- * static vu8 Bt485_read_masked(IOADDRESS port, vu8 reg, vu8 mask) ++ * static vu8 Bt485_read_masked(unsigned long port, vu8 reg, vu8 mask) + * + * + */ + static vu8 +-Bt485_read_masked(IOADDRESS port, vu8 reg, vu8 mask) ++Bt485_read_masked(unsigned long port, vu8 reg, vu8 mask) + { + return verite_in8(port+reg)&mask; + } + + + /* +- * static vu8 Bt485_read_cmd3_masked(IOADDRESS port, vu8 mask) ++ * static vu8 Bt485_read_cmd3_masked(unsigned long port, vu8 mask) + * + * + */ + static vu8 +-Bt485_read_cmd3_masked(IOADDRESS port, vu8 mask) ++Bt485_read_cmd3_masked(unsigned long port, vu8 mask) + { + vu8 value; + +diff --git a/src/vtypes.h b/src/vtypes.h +index 257870b..e4ad468 100644 +--- a/src/vtypes.h ++++ b/src/vtypes.h +@@ -123,7 +123,7 @@ struct verite_board_t { + vu16 chip; + + /* */ +- IOADDRESS io_base, vgaio_base; ++ unsigned long io_base, vgaio_base; + vu32 mmio_base; + vu32 vmmio_base; + vu32 mem_size; diff --git a/extra/xf86-video-s3/PKGBUILD b/extra/xf86-video-s3/PKGBUILD index 54b255a01..15590e56c 100644 --- a/extra/xf86-video-s3/PKGBUILD +++ b/extra/xf86-video-s3/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 140308 2011-10-11 21:28:45Z jgc $ +# $Id: PKGBUILD 153360 2012-03-12 20:54:02Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-s3 pkgver=0.6.3 -pkgrel=6 +pkgrel=7 pkgdesc="X.org S3 video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel>=1.11.0') -conflicts=('xorg-server<1.11.0') +makedepends=('xorg-server-devel>=1.11.99.903') +conflicts=('xorg-server<1.11.99.903') options=('!libtool') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 @@ -24,6 +24,10 @@ build() { autoreconf -fi ./configure --prefix=/usr make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" diff --git a/extra/xf86-video-s3virge/PKGBUILD b/extra/xf86-video-s3virge/PKGBUILD index 650769602..95a00dd82 100644 --- a/extra/xf86-video-s3virge/PKGBUILD +++ b/extra/xf86-video-s3virge/PKGBUILD @@ -1,29 +1,36 @@ -# $Id: PKGBUILD 140310 2011-10-11 21:28:47Z jgc $ +# $Id: PKGBUILD 153362 2012-03-12 20:54:08Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Alexander Baldeck <alexander@archlinux.org> pkgname=xf86-video-s3virge pkgver=1.10.4 -pkgrel=6 +pkgrel=7 pkgdesc="X.org S3 Virge video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('pkgconfig' 'xorg-server-devel>=1.10.99.902') -conflicts=('xorg-server<1.10.99.902') +makedepends=('pkgconfig' 'xorg-server-devel>=1.11.99.903') +conflicts=('xorg-server<1.11.99.903') options=(!libtool) groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 - copyright.patch) + copyright.patch + s3virge-1.10.4-vga.patch) md5sums=('6517bbbf808c700502d51acdc44662f8' - 'f91fb259e3632fb9130fcbe69ecd9d6a') + 'f91fb259e3632fb9130fcbe69ecd9d6a' + '45c7d912734c9f7dfc1f42077827cb8e') build() { cd "${srcdir}/${pkgname}-${pkgver}" patch -Np1 -i "${srcdir}/copyright.patch" + patch -Np1 -i ${srcdir}/s3virge-1.10.4-vga.patch ./configure --prefix=/usr make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" diff --git a/extra/xf86-video-s3virge/copyright.patch b/extra/xf86-video-s3virge/copyright.patch new file mode 100644 index 000000000..ba988c6d6 --- /dev/null +++ b/extra/xf86-video-s3virge/copyright.patch @@ -0,0 +1,82 @@ +From c26da404906258951341c4c4ace793f2dfdc47f8 Mon Sep 17 00:00:00 2001 +From: Gaetan Nadon <memsize@videotron.ca> +Date: Sun, 13 Jun 2010 14:26:32 +0000 +Subject: COPYING: update file with Copyright notices from source code. + +Signed-off-by: Gaetan Nadon <memsize@videotron.ca> +--- +diff --git a/COPYING b/COPYING +index 7f33cbf..727ca51 100644 +--- a/COPYING ++++ b/COPYING +@@ -1,12 +1,60 @@ +-This is a stub file. This package has not yet had its complete licensing +-information compiled. Please see the individual source files for details on +-your rights to use and modify this software. ++Copyright (C) 1994-2000 The XFree86 Project, Inc. All Rights Reserved. + +-Please submit updated COPYING files to the Xorg bugzilla: ++Permission is hereby granted, free of charge, to any person obtaining a copy of ++this software and associated documentation files (the "Software"), to deal in ++the Software without restriction, including without limitation the rights to ++use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies ++of the Software, and to permit persons to whom the Software is furnished to do ++so, subject to the following conditions: + +-https://bugs.freedesktop.org/enter_bug.cgi?product=xorg ++The above copyright notice and this permission notice shall be included in all ++copies or substantial portions of the Software. + +-All licensing questions regarding this software should be directed at the +-Xorg mailing list: ++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT- ++NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN ++AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION ++WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++ ++Except as contained in this notice, the name of the XFree86 Project shall not ++be used in advertising or otherwise to promote the sale, use or other dealings ++in this Software without prior written authorization from the XFree86 Project. ++ ++Written by Jake Richter Copyright (c) 1989, 1990 Panacea Inc., Londonderry, ++NH - All Rights Reserved ++ ++This code may be freely incorporated in any program without royalty, as long ++as the copyright notice stays intact. ++ ++Additions by Kevin E. Martin (martin@cs.unc.edu) ++ ++KEVIN E. MARTIN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ++INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO ++EVENT SHALL KEVIN E. MARTIN BE LIABLE FOR ANY SPECIAL, INDIRECT OR ++CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF ++USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR ++OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ++PERFORMANCE OF THIS SOFTWARE. ++ ++Copyright 2007 George Sapountzis ++ ++Permission is hereby granted, free of charge, to any person obtaining a ++copy of this software and associated documentation files (the "Software"), ++to deal in the Software without restriction, including without limitation ++the rights to use, copy, modify, merge, publish, distribute, sublicense, ++and/or sell copies of the Software, and to permit persons to whom the ++Software is furnished to do so, subject to the following conditions: ++ ++The above copyright notice and this permission notice (including the next ++paragraph) shall be included in all copies or substantial portions of the ++Software. ++ ++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++SOFTWARE. + +-http://lists.freedesktop.org/mailman/listinfo/xorg +-- +cgit v0.9.0.2-2-gbebe diff --git a/extra/xf86-video-s3virge/s3virge-1.10.4-vga.patch b/extra/xf86-video-s3virge/s3virge-1.10.4-vga.patch new file mode 100644 index 000000000..3fb1fd6cf --- /dev/null +++ b/extra/xf86-video-s3virge/s3virge-1.10.4-vga.patch @@ -0,0 +1,76 @@ +From 92b4671ca75022a56ad9e85b347f81c12157c98f Mon Sep 17 00:00:00 2001 +From: Adam Jackson <ajax@redhat.com> +Date: Wed, 16 Nov 2011 19:58:29 +0000 +Subject: Adapt to missing PIOOffset in videoabi 12 + +Signed-off-by: Adam Jackson <ajax@redhat.com> +--- +diff --git a/src/s3v_driver.c b/src/s3v_driver.c +index 2ced9ac..0f754dd 100644 +--- a/src/s3v_driver.c ++++ b/src/s3v_driver.c +@@ -3516,11 +3516,17 @@ S3VEnableMmio(ScrnInfoPtr pScrn) + S3VPtr ps3v; + IOADDRESS vgaCRIndex, vgaCRReg; + unsigned char val; +- ++ unsigned int PIOOffset = 0; ++ + PVERB5(" S3VEnableMmio\n"); + + hwp = VGAHWPTR(pScrn); + ps3v = S3VPTR(pScrn); ++ ++#if ABI_VIDEODRV_VERSION < 12 ++ PIOOffset = hwp->PIOOffset; ++#endif ++ + /* + * enable chipset (seen on uninitialized secondary cards) + * might not be needed once we use the VGA softbooter +@@ -3533,17 +3539,17 @@ S3VEnableMmio(ScrnInfoPtr pScrn) + * to be set correctly already and MMIO _has_ to be + * enabled. + */ +- val = inb(hwp->PIOOffset + 0x3C3); /*@@@EE*/ +- outb(hwp->PIOOffset + 0x3C3, val | 0x01); ++ val = inb(PIOOffset + 0x3C3); /*@@@EE*/ ++ outb(PIOOffset + 0x3C3, val | 0x01); + /* + * set CR registers to color mode + * in mono mode extended CR registers + * are not accessible. (EE 05/04/99) + */ +- val = inb(hwp->PIOOffset + VGA_MISC_OUT_R); /*@@@EE*/ +- outb(hwp->PIOOffset + VGA_MISC_OUT_W, val | 0x01); ++ val = inb(PIOOffset + VGA_MISC_OUT_R); /*@@@EE*/ ++ outb(PIOOffset + VGA_MISC_OUT_W, val | 0x01); + vgaHWGetIOBase(hwp); /* Get VGA I/O base */ +- vgaCRIndex = hwp->PIOOffset + hwp->IOBase + 4; ++ vgaCRIndex = PIOOffset + hwp->IOBase + 4; + vgaCRReg = vgaCRIndex + 1; + #if 1 + /* +@@ -3562,7 +3568,7 @@ S3VEnableMmio(ScrnInfoPtr pScrn) + /* Enable new MMIO, if TRIO mmio is already */ + /* enabled, then it stays enabled. */ + outb(vgaCRReg, ps3v->EnableMmioCR53 | 0x08); +- outb(hwp->PIOOffset + VGA_MISC_OUT_W, val); ++ outb(PIOOffset + VGA_MISC_OUT_W, val); + if (S3_TRIO_3D_SERIES(ps3v->Chipset)) { + outb(vgaCRIndex, 0x40); + val = inb(vgaCRReg); +@@ -3584,7 +3590,10 @@ S3VDisableMmio(ScrnInfoPtr pScrn) + hwp = VGAHWPTR(pScrn); + ps3v = S3VPTR(pScrn); + +- vgaCRIndex = hwp->PIOOffset + hwp->IOBase + 4; ++ vgaCRIndex = hwp->IOBase + 4; ++#if ABI_VIDEODRV_VERSION < 12 ++ vgaCRIndex += hwp->PIOOffset; ++#endif + vgaCRReg = vgaCRIndex + 1; + outb(vgaCRIndex, 0x53); + /* Restore register's original state */ +-- +cgit v0.9.0.2-2-gbebe diff --git a/extra/xf86-video-savage/PKGBUILD b/extra/xf86-video-savage/PKGBUILD index f305995f7..e01fa5d93 100644 --- a/extra/xf86-video-savage/PKGBUILD +++ b/extra/xf86-video-savage/PKGBUILD @@ -1,25 +1,35 @@ -# $Id: PKGBUILD 140306 2011-10-11 21:28:43Z jgc $ +# $Id: PKGBUILD 153364 2012-03-12 20:54:13Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-savage pkgver=2.3.3 -pkgrel=1 +pkgrel=3 +_gitver=c4022796ec69bb3223d435d8442f9168aebe9c3d pkgdesc="X.org savage video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') -depends=('glibc' 'savage-dri') -makedepends=('xorg-server-devel' 'libdrm' 'xf86driproto' 'mesa' 'glproto') -conflicts=('xorg-server<1.10.0') +depends=('glibc') +makedepends=('xorg-server-devel>=1.11.99.903') # 'libdrm' 'xf86driproto' 'mesa>=8.0') # 'glproto') +conflicts=('xorg-server<1.11.99.903' 'savage-dri') options=(!libtool !makeflags) groups=('xorg-drivers' 'xorg') -source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) -sha256sums=('d3854d375dbf7d83bf90e30d72837ce60d808119c6fa4bb98088e68e7cc7e7b2') +source=(#${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 + #http://cgit.freedesktop.org/xorg/driver/xf86-video-savage/snapshot/xf86-video-savage-${_gitver}.tar.gz + ftp://ftp..archlinux.org/other/xf86-video-savage/xf86-video-savage-${_gitver}.tar.gz) +md5sums=('3a7921de0d365ab5dd1af15010807e36') build() { - cd "${srcdir}/${pkgname}-${pkgver}" - ./configure --prefix=/usr --enable-dri + #cd "${srcdir}/${pkgname}-${pkgver}" + cd ${srcdir}/${pkgname}* + autoreconf -fi + ./configure --prefix=/usr --disable-dri make +} + +package() { + #cd "${srcdir}/${pkgname}-${pkgver}" + cd ${srcdir}/${pkgname}* make DESTDIR="${pkgdir}" install install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}" diff --git a/extra/xf86-video-siliconmotion/PKGBUILD b/extra/xf86-video-siliconmotion/PKGBUILD index 22263293e..e4bd26c34 100644 --- a/extra/xf86-video-siliconmotion/PKGBUILD +++ b/extra/xf86-video-siliconmotion/PKGBUILD @@ -1,29 +1,36 @@ -# $Id: PKGBUILD 140304 2011-10-11 21:28:41Z jgc $ +# $Id: PKGBUILD 153366 2012-03-12 20:54:19Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Alexander Baldeck <alexander@archlinux.org> pkgname=xf86-video-siliconmotion pkgver=1.7.5 -pkgrel=5.1 +pkgrel=5.2 pkgdesc="X.org siliconmotion video driver" arch=(i686 x86_64 'mips64el') url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel>=1.10.99.902') -conflicts=('xorg-server<1.10.99.902') +makedepends=('xorg-server-devel>=1.11.99.903') +conflicts=('xorg-server<1.11.99.903') options=('!libtool') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 + smi-1.7.5-vga.patch 98_sm712_CRT_enable.diff) sha1sums=('946acae0822d51da57abe8b7ed049691bd731589' + '50b0e4aa858d7f8eb6f7e826f62fde23f01afe48' 'eb767d4410614779a0fdd455fc6cb1f1a6577cfa') build() { cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i ${srcdir}/smi-1.7.5-vga.patch patch -Np1 -i ${srcdir}/98_sm712_CRT_enable.diff ./configure --prefix=/usr make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" diff --git a/extra/xf86-video-siliconmotion/smi-1.7.5-vga.patch b/extra/xf86-video-siliconmotion/smi-1.7.5-vga.patch new file mode 100644 index 000000000..ef353f0df --- /dev/null +++ b/extra/xf86-video-siliconmotion/smi-1.7.5-vga.patch @@ -0,0 +1,25 @@ +From 037b839c84ad6dcbe9aade420cf0d3bf06f23119 Mon Sep 17 00:00:00 2001 +From: Adam Jackson <ajax@redhat.com> +Date: Wed, 16 Nov 2011 20:03:25 +0000 +Subject: Adapt to missing PIOOffset in videoabi 12 + +Signed-off-by: Adam Jackson <ajax@redhat.com> +--- +diff --git a/src/smi_driver.c b/src/smi_driver.c +index 9c10e46..86644c7 100644 +--- a/src/smi_driver.c ++++ b/src/smi_driver.c +@@ -442,7 +442,11 @@ SMI_PreInit(ScrnInfoPtr pScrn, int flags) + LEAVE(FALSE); + + hwp = VGAHWPTR(pScrn); ++#if ABI_VIDEODRV_VERSION < 12 + pSmi->PIOBase = hwp->PIOOffset; ++#else ++ pSmi->PIOBase = 0; ++#endif + + xf86ErrorFVerb(VERBLEV, "\tSMI_PreInit vgaCRIndex=%x, vgaIOBase=%x, " + "MMIOBase=%p\n", hwp->IOBase + VGA_CRTC_INDEX_OFFSET, +-- +cgit v0.9.0.2-2-gbebe diff --git a/extra/xf86-video-sis/PKGBUILD b/extra/xf86-video-sis/PKGBUILD index 2868e778d..34a6a7120 100644 --- a/extra/xf86-video-sis/PKGBUILD +++ b/extra/xf86-video-sis/PKGBUILD @@ -1,25 +1,37 @@ -# $Id: PKGBUILD 140302 2011-10-11 21:28:39Z jgc $ +# $Id: PKGBUILD 153368 2012-03-12 20:54:25Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-sis pkgver=0.10.3 -pkgrel=5 +pkgrel=7 pkgdesc="X.org SiS video driver" arch=(i686 x86_64 'mips64el') url="http://xorg.freedesktop.org/" license=('custom') -depends=('glibc' 'sis-dri') -makedepends=('xorg-server-devel>=1.11.0' 'xf86dgaproto' 'libdrm' 'xf86driproto' 'mesa' 'glproto') -conflicts=('xorg-server<1.11.0') +depends=('glibc') +makedepends=('xorg-server-devel>=1.11.99.903' 'xf86dgaproto') +conflicts=('xorg-server<1.11.99.903') options=('!libtool') groups=('xorg-drivers' 'xorg') -source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) -sha1sums=('158673747e240b0c33499685a32d46bdaead7cd5') +source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 + git-f5dafa24.patch) +sha1sums=('158673747e240b0c33499685a32d46bdaead7cd5' + 'b61c6a78723aa59f8c82152fec42475b611cd1e7') build() { cd "${srcdir}/${pkgname}-${pkgver}" - ./configure --prefix=/usr --enable-dri + patch -Np1 -i "${srcdir}/git-f5dafa24.patch" + libtoolize --force --copy + aclocal + autoconf + automake + + ./configure --prefix=/usr --disable-dri make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" diff --git a/extra/xf86-video-sis/git-f5dafa24.patch b/extra/xf86-video-sis/git-f5dafa24.patch new file mode 100644 index 000000000..8c15b974b --- /dev/null +++ b/extra/xf86-video-sis/git-f5dafa24.patch @@ -0,0 +1,1654 @@ +diff --git a/configure.ac b/configure.ac +index 33c0d65..62ad933 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -20,54 +20,53 @@ + # + # Process this file with autoconf to produce a configure script + +-AC_PREREQ(2.57) ++# Initialize Autoconf ++AC_PREREQ([2.60]) + AC_INIT([xf86-video-sis], +- 0.10.3, ++ [0.10.3], + [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], +- xf86-video-sis) +- ++ [xf86-video-sis]) + AC_CONFIG_SRCDIR([Makefile.am]) +-AM_CONFIG_HEADER([config.h]) ++AC_CONFIG_HEADERS([config.h]) + AC_CONFIG_AUX_DIR(.) + ++# Initialize Automake + AM_INIT_AUTOMAKE([foreign dist-bzip2]) +- + AM_MAINTAINER_MODE + +-# Require xorg-macros: XORG_DEFAULT_OPTIONS ++# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS + m4_ifndef([XORG_MACROS_VERSION], +- [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])]) +-XORG_MACROS_VERSION(1.3) ++ [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])]) ++XORG_MACROS_VERSION(1.8) + XORG_DEFAULT_OPTIONS + +-# Checks for programs. ++# Initialize libtool + AC_DISABLE_STATIC + AC_PROG_LIBTOOL +-AC_PROG_CC +-XORG_PROG_RAWCPP + + AH_TOP([#include "xorg-server.h"]) + ++# Define a configure option for an alternate module directory + AC_ARG_WITH(xorg-module-dir, +- AC_HELP_STRING([--with-xorg-module-dir=DIR], ++ AS_HELP_STRING([--with-xorg-module-dir=DIR], + [Default xorg module directory [[default=$libdir/xorg/modules]]]), + [moduledir="$withval"], + [moduledir="$libdir/xorg/modules"]) + +-AC_ARG_ENABLE(dri, AC_HELP_STRING([--disable-dri], ++AC_ARG_ENABLE(dri, AS_HELP_STRING([--disable-dri], + [Disable DRI support [[default=auto]]]), + [DRI="$enableval"], + [DRI=auto]) + +-# Checks for extensions ++# Store the list of server defined optional extensions in REQUIRED_MODULES + XORG_DRIVER_CHECK_EXT(XINERAMA, xineramaproto) + XORG_DRIVER_CHECK_EXT(RANDR, randrproto) + XORG_DRIVER_CHECK_EXT(RENDER, renderproto) + XORG_DRIVER_CHECK_EXT(XV, videoproto) + XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto) + +-# Checks for pkg-config packages +-PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901 xproto fontsproto xf86dgaproto $REQUIRED_MODULES]) ++# Obtain compiler/linker options for the driver dependencies ++PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901 xproto fontsproto xf86dgaproto >= 2.1 $REQUIRED_MODULES]) + PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1], + HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]), + HAVE_XEXTPROTO_71="no") +@@ -76,9 +75,6 @@ sdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server` + + # Checks for libraries. + +-# Checks for header files. +-AC_HEADER_STDC +- + if test "$DRI" != no; then + AC_CHECK_FILE([${sdkdir}/dri.h], + [have_dri_h="yes"], [have_dri_h="no"]) +@@ -103,8 +99,8 @@ AC_MSG_RESULT([$DRI]) + AM_CONDITIONAL(DRI, test x$DRI = xyes) + if test "$DRI" = yes; then + PKG_CHECK_MODULES(DRI, [libdrm >= 2.0 xf86driproto]) +- AC_DEFINE(XF86DRI,1,[Enable DRI driver support]) +- AC_DEFINE(XF86DRI_DEVEL,1,[Enable developmental DRI driver support]) ++ AC_DEFINE(SISDRI,1,[Enable DRI driver support]) ++ AC_DEFINE(SISDRI_DEVEL,1,[Enable developmental DRI driver support]) + fi + + # technically this should be a configure flag. meh. +@@ -118,20 +114,19 @@ AC_CHECK_DECL(XSERVER_LIBPCIACCESS, + CPPFLAGS="$SAVE_CPPFLAGS" + + if test "x$XSERVER_LIBPCIACCESS" = xyes; then +- PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.10]) ++ PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.12.901]) + XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS" + fi + AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes) + +-AC_SUBST([DRI_CFLAGS]) +-AC_SUBST([XORG_CFLAGS]) + AC_SUBST([moduledir]) + + DRIVER_NAME=sis + AC_SUBST([DRIVER_NAME]) + +-AC_OUTPUT([ +- Makefile +- src/Makefile +- man/Makefile ++AC_CONFIG_FILES([ ++ Makefile ++ src/Makefile ++ man/Makefile + ]) ++AC_OUTPUT +diff --git a/man/Makefile.am b/man/Makefile.am +index 1b26ac2..9ceb36f 100644 +--- a/man/Makefile.am ++++ b/man/Makefile.am +@@ -31,39 +31,9 @@ EXTRA_DIST = @DRIVER_NAME@.man + + CLEANFILES = $(driverman_DATA) + +-SED = sed +- +-# Strings to replace in man pages +-XORGRELSTRING = @PACKAGE_STRING@ +- XORGMANNAME = X Version 11 +- +-MANDEFS = \ +- -D__vendorversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \ +- -D__appmansuffix__=$(APP_MAN_SUFFIX) \ +- -D__filemansuffix__=$(FILE_MAN_SUFFIX) \ +- -D__libmansuffix__=$(LIB_MAN_SUFFIX) \ +- -D__miscmansuffix__=$(MISC_MAN_SUFFIX) \ +- -D__drivermansuffix__=$(DRIVER_MAN_SUFFIX) \ +- -D__adminmansuffix__=$(ADMIN_MAN_SUFFIX) \ +- -D__xconfigfile__=xorg.conf \ +- -D__xservername__=Xorg +- +-# Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM +-# to cpp, because that trick does not work on all ANSI C preprocessors. +-# Delete line numbers from the cpp output (-P is not portable, I guess). +-# Allow XCOMM to be preceded by whitespace and provide a means of generating +-# output lines with trailing backslashes. +-# Allow XHASH to always be substituted, even in cases where XCOMM isn't. +- +-CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \ +- -e '/^\#line *[0-9][0-9]* *.*$$/d' \ +- -e '/^[ ]*XCOMM$$/s/XCOMM/\#/' \ +- -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \ +- -e '/^[ ]*XHASH/s/XHASH/\#/' \ +- -e '/\@\@$$/s/\@\@$$/\\/' +- + SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man + ++# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure + .man.$(DRIVER_MAN_SUFFIX): +- $(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@ ++ $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@ + +diff --git a/man/sis.man b/man/sis.man +index 9ae4a1b..578bb68 100644 +--- a/man/sis.man ++++ b/man/sis.man +@@ -1,17 +1,5 @@ +-.\" $XFree86$ +-.\" $XdotOrg$ + .\" shorthand for double quote that works everywhere. + .ds q \N'34' +-#ifdef __xservername__ +-#define __myservername__ __xservername__ +-#else +-#define __myservername__ XFree86 +-#endif +-#ifdef __xconfigfile__ +-#define __myxconfigfile__ __xconfigfile__ +-#else +-#define __myxconfigfile__ XF86Config +-#endif + .TH SIS __drivermansuffix__ __vendorversion__ + .SH NAME + sis \- SiS and XGI video driver +@@ -25,7 +13,7 @@ sis \- SiS and XGI video driver + .fi + .SH DESCRIPTION + .B sis +-is an __myservername__ driver for SiS (Silicon Integrated Systems) and XGI video ++is an __xservername__ driver for SiS (Silicon Integrated Systems) and XGI video + chips. The driver is accelerated and provides support for colordepths of 8, 16 + and 24 bpp. XVideo, Render and other extensions are supported as well. + .SH SUPPORTED HARDWARE +@@ -60,7 +48,7 @@ for SiS315, 55x, 330, 661/741/76x (plus M, FX, MX, GX variants thereof), 340 + and all XGI chips. + .PP + .SH CONFIGURATION DETAILS +-Please refer to __myxconfigfile__(__filemansuffix__) for general configuration ++Please refer to __xconfigfile__(__filemansuffix__) for general configuration + details. This section only covers configuration details specific to this + driver. + .PP +@@ -428,11 +416,7 @@ The amount is to be specified in megabyte, the default is 8. + .SH "KNOWN BUGS" + none. + .SH "SEE ALSO" +-#ifdef __xservername__ + __xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__) +-#else +-XFree86(1), XF86Config(__filemansuffix__), xf86config(1), Xserver(1), X(__miscmansuffix__) +-#endif + .PP + .B "http://www.winischhofer.eu/linuxsisvga.shtml" + for more information and updates +diff --git a/src/initextx.c b/src/initextx.c +index 5c00398..1e84d0f 100644 +--- a/src/initextx.c ++++ b/src/initextx.c +@@ -238,10 +238,10 @@ SiSBuildBuiltInModeList(ScrnInfoPtr pScrn, BOOLEAN includelcdmodes, BOOLEAN isfo + continue; + } + +- if(!(new = xalloc(sizeof(DisplayModeRec)))) return first; ++ if(!(new = malloc(sizeof(DisplayModeRec)))) return first; + memset(new, 0, sizeof(DisplayModeRec)); +- if(!(new->name = xalloc(10))) { +- xfree(new); ++ if(!(new->name = malloc(10))) { ++ free(new); + return first; + } + if(!first) first = new; +@@ -385,11 +385,11 @@ SiSBuildBuiltInModeList(ScrnInfoPtr pScrn, BOOLEAN includelcdmodes, BOOLEAN isfo + } + } + +- if(!(new = xalloc(sizeof(DisplayModeRec)))) return first; ++ if(!(new = malloc(sizeof(DisplayModeRec)))) return first; + + memset(new, 0, sizeof(DisplayModeRec)); +- if(!(new->name = xalloc(12))) { +- xfree(new); ++ if(!(new->name = malloc(12))) { ++ free(new); + return first; + } + if(!first) first = new; +@@ -470,11 +470,11 @@ SiSBuildBuiltInModeList(ScrnInfoPtr pScrn, BOOLEAN includelcdmodes, BOOLEAN isfo + + if(pSiS->SiS_Pr->CP_DataValid[i]) { + +- if(!(new = xalloc(sizeof(DisplayModeRec)))) return first; ++ if(!(new = malloc(sizeof(DisplayModeRec)))) return first; + + memset(new, 0, sizeof(DisplayModeRec)); +- if(!(new->name = xalloc(10))) { +- xfree(new); ++ if(!(new->name = malloc(10))) { ++ free(new); + return first; + } + if(!first) first = new; +diff --git a/src/osdef.h b/src/osdef.h +index cd6b907..5776910 100644 +--- a/src/osdef.h ++++ b/src/osdef.h +@@ -110,12 +110,12 @@ + #warning sisfb will not work! + #endif + +-#define OutPortByte(p,v) outb((u8)(v),(IOADDRESS)(p)) +-#define OutPortWord(p,v) outw((u16)(v),(IOADDRESS)(p)) +-#define OutPortLong(p,v) outl((u32)(v),(IOADDRESS)(p)) +-#define InPortByte(p) inb((IOADDRESS)(p)) +-#define InPortWord(p) inw((IOADDRESS)(p)) +-#define InPortLong(p) inl((IOADDRESS)(p)) ++#define OutPortByte(p,v) outb((u8)(v),(unsigned long)(p)) ++#define OutPortWord(p,v) outw((u16)(v),(unsigned long)(p)) ++#define OutPortLong(p,v) outl((u32)(v),(unsigned long)(p)) ++#define InPortByte(p) inb((unsigned long)(p)) ++#define InPortWord(p) inw((unsigned long)(p)) ++#define InPortLong(p) inl((unsigned long)(p)) + #define SiS_SetMemory(MemoryAddress,MemorySize,value) memset_io(MemoryAddress, value, MemorySize) + + #endif /* LINUX_KERNEL */ +@@ -129,12 +129,12 @@ + #define SIS300 + #define SIS315H + +-#define OutPortByte(p,v) outSISREG((IOADDRESS)(p),(CARD8)(v)) +-#define OutPortWord(p,v) outSISREGW((IOADDRESS)(p),(CARD16)(v)) +-#define OutPortLong(p,v) outSISREGL((IOADDRESS)(p),(CARD32)(v)) +-#define InPortByte(p) inSISREG((IOADDRESS)(p)) +-#define InPortWord(p) inSISREGW((IOADDRESS)(p)) +-#define InPortLong(p) inSISREGL((IOADDRESS)(p)) ++#define OutPortByte(p,v) outSISREG((unsigned long)(p),(CARD8)(v)) ++#define OutPortWord(p,v) outSISREGW((unsigned long)(p),(CARD16)(v)) ++#define OutPortLong(p,v) outSISREGL((unsigned long)(p),(CARD32)(v)) ++#define InPortByte(p) inSISREG((unsigned long)(p)) ++#define InPortWord(p) inSISREGW((unsigned long)(p)) ++#define InPortLong(p) inSISREGL((unsigned long)(p)) + #define SiS_SetMemory(MemoryAddress,MemorySize,value) memset(MemoryAddress, value, MemorySize) + + #endif /* XF86 */ +diff --git a/src/sis.h b/src/sis.h +index 400b83f..f2ca3a9 100644 +--- a/src/sis.h ++++ b/src/sis.h +@@ -86,6 +86,14 @@ + #include "xf86cmap.h" + #include "vbe.h" + ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 ++#define _swapl(x, n) swapl(x,n) ++#define _swaps(x, n) swaps(x,n) ++#else ++#define _swapl(x, n) swapl(x) ++#define _swaps(x, n) swaps(x) ++#endif ++ + #define SIS_HaveDriverFuncs 0 + + #undef SISISXORG6899900 +@@ -173,7 +181,13 @@ + + #undef SISHAVEDRMWRITE + #undef SISNEWDRI +-#ifdef XF86DRI ++ ++/* if the server was built without DRI support, force-disable DRI */ ++#ifndef XF86DRI ++#undef SISDRI ++#endif ++ ++#ifdef SISDRI + #if XF86_VERSION_CURRENT >= XF86_VERSION_NUMERIC(4,2,99,3,0) + #define SISHAVEDRMWRITE + #endif +@@ -187,7 +201,7 @@ + #include "dri.h" + #include "GL/glxint.h" + #include "sis_dri.h" +-#endif /* XF86DRI */ ++#endif /* SISDRI */ + + /* Configurable stuff: ------------------------------------- */ + +@@ -251,7 +265,6 @@ + #endif + + /* Need that for SiSCtrl and Pseudo-Xinerama */ +-#define NEED_REPLIES /* ? */ + #define EXTENSION_PROC_ARGS void * + #include "extnsionst.h" /* required */ + #include <X11/extensions/panoramiXproto.h> /* required */ +@@ -805,7 +818,7 @@ typedef struct { + ScrnInfoPtr pScrn_2; + UChar *BIOS; + struct SiS_Private *SiS_Pr; +-#ifdef XF86DRI ++#ifdef SISDRI + SISAGPHTYPE agpHandle; + ULong agpAddr; + UChar *agpBase; +@@ -971,7 +984,7 @@ typedef struct { + void *RealFbBase; /* Real VRAM virtual linear address (for DHM and SiS76x UMA skipping) */ + CARD32 IOAddress; /* MMIO physical address */ + void *IOBase; /* MMIO linear address */ +- IOADDRESS IODBase; /* Base of PIO memory area */ ++ unsigned long IODBase; /* Base of PIO memory area */ + #ifdef __alpha__ + void *IOBaseDense; /* MMIO for Alpha platform */ + #endif +@@ -1085,7 +1098,7 @@ typedef struct { + unsigned int cmdQueueSize_div2; + unsigned int cmdQueueSize_div4; + unsigned int cmdQueueSize_4_3; +-#ifdef XF86DRI ++#ifdef SISDRI + SISAGPHTYPE agpHandle; + ULong agpAddr; + UChar *agpBase; +@@ -1144,7 +1157,7 @@ typedef struct { + + /* DRI */ + Bool loadDRI; +-#ifdef XF86DRI ++#ifdef SISDRI + Bool directRenderingEnabled; + DRIInfoPtr pDRIInfo; + int drmSubFD; +@@ -1348,7 +1361,7 @@ typedef struct { + Bool skipswitchcheck; + unsigned int VBFlagsInit; + DisplayModePtr currentModeLast; +- IOADDRESS MyPIOOffset; ++ unsigned long MyPIOOffset; + Bool OverruleRanges; + Bool BenchMemCpy; + Bool NeedCopyFastVidCpy; +diff --git a/src/sis6326_video.c b/src/sis6326_video.c +index c6b18e2..66352b7 100644 +--- a/src/sis6326_video.c ++++ b/src/sis6326_video.c +@@ -170,7 +170,7 @@ void SIS6326InitVideo(ScreenPtr pScreen) + adaptors = &newAdaptor; + } else { + /* need to free this someplace */ +- newAdaptors = xalloc((num_adaptors + 1) * sizeof(XF86VideoAdaptorPtr*)); ++ newAdaptors = malloc((num_adaptors + 1) * sizeof(XF86VideoAdaptorPtr*)); + if(newAdaptors) { + memcpy(newAdaptors, adaptors, num_adaptors * + sizeof(XF86VideoAdaptorPtr)); +@@ -185,7 +185,7 @@ void SIS6326InitVideo(ScreenPtr pScreen) + xf86XVScreenInit(pScreen, adaptors, num_adaptors); + + if(newAdaptors) +- xfree(newAdaptors); ++ free(newAdaptors); + } + + /* client libraries expect an encoding */ +@@ -531,7 +531,7 @@ SIS6326SetupImageVideo(ScreenPtr pScreen) + return NULL; + #endif + +- if(!(adapt = xcalloc(1, sizeof(XF86VideoAdaptorRec) + ++ if(!(adapt = calloc(1, sizeof(XF86VideoAdaptorRec) + + sizeof(SISPortPrivRec) + + sizeof(DevUnion)))) + return NULL; +diff --git a/src/sis_dga.c b/src/sis_dga.c +index d358645..16b0ee4 100644 +--- a/src/sis_dga.c ++++ b/src/sis_dga.c +@@ -150,18 +150,18 @@ SISSetupDGAMode( + + if(pMode->HDisplay != otherPitch) { + +- newmodes = xrealloc(modes, (*num + 2) * sizeof(DGAModeRec)); ++ newmodes = realloc(modes, (*num + 2) * sizeof(DGAModeRec)); + oneMore = TRUE; + + } else { + +- newmodes = xrealloc(modes, (*num + 1) * sizeof(DGAModeRec)); ++ newmodes = realloc(modes, (*num + 1) * sizeof(DGAModeRec)); + oneMore = FALSE; + + } + + if(!newmodes) { +- xfree(modes); ++ free(modes); + return NULL; + } + modes = newmodes; +diff --git a/src/sis_dri.c b/src/sis_dri.c +index 3a476a2..97ed951 100644 +--- a/src/sis_dri.c ++++ b/src/sis_dri.c +@@ -149,19 +149,19 @@ SISInitVisualConfigs(ScreenPtr pScreen) + case 32: + numConfigs = (useZ16) ? 8 : 16; + +- if(!(pConfigs = (__GLXvisualConfig*)xcalloc(sizeof(__GLXvisualConfig), ++ if(!(pConfigs = (__GLXvisualConfig*)calloc(sizeof(__GLXvisualConfig), + numConfigs))) { + return FALSE; + } +- if(!(pSISConfigs = (SISConfigPrivPtr)xcalloc(sizeof(SISConfigPrivRec), ++ if(!(pSISConfigs = (SISConfigPrivPtr)calloc(sizeof(SISConfigPrivRec), + numConfigs))) { +- xfree(pConfigs); ++ free(pConfigs); + return FALSE; + } +- if(!(pSISConfigPtrs = (SISConfigPrivPtr*)xcalloc(sizeof(SISConfigPrivPtr), ++ if(!(pSISConfigPtrs = (SISConfigPrivPtr*)calloc(sizeof(SISConfigPrivPtr), + numConfigs))) { +- xfree(pConfigs); +- xfree(pSISConfigs); ++ free(pConfigs); ++ free(pSISConfigs); + return FALSE; + } + for(i=0; i<numConfigs; i++) pSISConfigPtrs[i] = &pSISConfigs[i]; +@@ -319,7 +319,7 @@ SISDRIScreenInit(ScreenPtr pScreen) + pDRIInfo->busIdString = DRICreatePCIBusID(pSIS->PciInfo); + } else { + #endif +- pDRIInfo->busIdString = xalloc(64); ++ pDRIInfo->busIdString = malloc(64); + sprintf(pDRIInfo->busIdString, "PCI:%d:%d:%d", + pSIS->PciBus, pSIS->PciDevice, pSIS->PciFunc); + #ifdef SISHAVECREATEBUSID +@@ -383,7 +383,7 @@ SISDRIScreenInit(ScreenPtr pScreen) + pDRIInfo->SAREASize = SAREA_MAX; + #endif + +- if(!(pSISDRI = (SISDRIPtr)xcalloc(sizeof(SISDRIRec), 1))) { ++ if(!(pSISDRI = (SISDRIPtr)calloc(sizeof(SISDRIRec), 1))) { + DRIDestroyInfoRec(pSIS->pDRIInfo); + pSIS->pDRIInfo = 0; + return FALSE; +@@ -401,7 +401,7 @@ SISDRIScreenInit(ScreenPtr pScreen) + + if(!DRIScreenInit(pScreen, pDRIInfo, &pSIS->drmSubFD)) { + xf86DrvMsg(pScreen->myNum, X_ERROR, "[dri] DRIScreenInit failed. Disabling the DRI.\n"); +- xfree(pDRIInfo->devPrivate); ++ free(pDRIInfo->devPrivate); + pDRIInfo->devPrivate = 0; + DRIDestroyInfoRec(pSIS->pDRIInfo); + pSIS->pDRIInfo = 0; +@@ -794,7 +794,7 @@ SISDRICloseScreen(ScreenPtr pScreen) + + if(pSIS->pDRIInfo) { + if(pSIS->pDRIInfo->devPrivate) { +- xfree(pSIS->pDRIInfo->devPrivate); ++ free(pSIS->pDRIInfo->devPrivate); + pSIS->pDRIInfo->devPrivate = NULL; + } + DRIDestroyInfoRec(pSIS->pDRIInfo); +@@ -802,12 +802,12 @@ SISDRICloseScreen(ScreenPtr pScreen) + } + + if(pSIS->pVisualConfigs) { +- xfree(pSIS->pVisualConfigs); ++ free(pSIS->pVisualConfigs); + pSIS->pVisualConfigs = NULL; + } + + if(pSIS->pVisualConfigsPriv) { +- xfree(pSIS->pVisualConfigsPriv); ++ free(pSIS->pVisualConfigsPriv); + pSIS->pVisualConfigsPriv = NULL; + } + +diff --git a/src/sis_driver.c b/src/sis_driver.c +index d95b5f1..7a5be4e 100644 +--- a/src/sis_driver.c ++++ b/src/sis_driver.c +@@ -74,8 +74,7 @@ + + #include "sis_driver.h" + +-#define _XF86DGA_SERVER_ +-#include <X11/extensions/xf86dgastr.h> ++#include <X11/extensions/xf86dgaproto.h> + + #include "globals.h" + +@@ -86,11 +85,35 @@ + #include <X11/extensions/dpms.h> + #endif + ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 5 ++#include <inputstr.h> /* for inputInfo */ ++#endif ++ + +-#ifdef XF86DRI ++#ifdef SISDRI + #include "dri.h" + #endif + ++/* ++ * LookupWindow was removed with video abi 11. ++ */ ++#if (GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 4) ++#ifndef DixGetAttrAccess ++#define DixGetAttrAccess (1<<4) ++#endif ++#endif ++ ++#if (GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 2) ++static inline int ++dixLookupWindow(WindowPtr *pWin, XID id, ClientPtr client, Mask access) ++{ ++ *pWin = LookupWindow(id, client); ++ if (!*pWin) ++ return BadWindow; ++ return Success; ++} ++#endif ++ + /* Globals (yes, these ARE really required to be global) */ + + #ifdef SISUSEDEVPORT +@@ -299,9 +322,9 @@ SISFreeRec(ScrnInfoPtr pScrn) + pSiSEnt = pSiS->entityPrivate; + #endif + +- if(pSiS->pstate) xfree(pSiS->pstate); ++ if(pSiS->pstate) free(pSiS->pstate); + pSiS->pstate = NULL; +- if(pSiS->fonts) xfree(pSiS->fonts); ++ if(pSiS->fonts) free(pSiS->fonts); + pSiS->fonts = NULL; + + #ifdef SISDUALHEAD +@@ -312,11 +335,11 @@ SISFreeRec(ScrnInfoPtr pScrn) + * and we need the BIOS image and SiS_Private for the first + * head. + */ +- if(pSiSEnt->BIOS) xfree(pSiSEnt->BIOS); ++ if(pSiSEnt->BIOS) free(pSiSEnt->BIOS); + pSiSEnt->BIOS = pSiS->BIOS = NULL; +- if(pSiSEnt->SiS_Pr) xfree(pSiSEnt->SiS_Pr); ++ if(pSiSEnt->SiS_Pr) free(pSiSEnt->SiS_Pr); + pSiSEnt->SiS_Pr = pSiS->SiS_Pr = NULL; +- if(pSiSEnt->RenderAccelArray) xfree(pSiSEnt->RenderAccelArray); ++ if(pSiSEnt->RenderAccelArray) free(pSiSEnt->RenderAccelArray); + pSiSEnt->RenderAccelArray = pSiS->RenderAccelArray = NULL; + pSiSEnt->pScrn_1 = NULL; + } else { +@@ -327,21 +350,21 @@ SISFreeRec(ScrnInfoPtr pScrn) + } + } else { + #endif +- if(pSiS->BIOS) xfree(pSiS->BIOS); ++ if(pSiS->BIOS) free(pSiS->BIOS); + pSiS->BIOS = NULL; +- if(pSiS->SiS_Pr) xfree(pSiS->SiS_Pr); ++ if(pSiS->SiS_Pr) free(pSiS->SiS_Pr); + pSiS->SiS_Pr = NULL; +- if(pSiS->RenderAccelArray) xfree(pSiS->RenderAccelArray); ++ if(pSiS->RenderAccelArray) free(pSiS->RenderAccelArray); + pSiS->RenderAccelArray = NULL; + #ifdef SISDUALHEAD + } + #endif + #ifdef SISMERGED +- if(pSiS->CRT2HSync) xfree(pSiS->CRT2HSync); ++ if(pSiS->CRT2HSync) free(pSiS->CRT2HSync); + pSiS->CRT2HSync = NULL; +- if(pSiS->CRT2VRefresh) xfree(pSiS->CRT2VRefresh); ++ if(pSiS->CRT2VRefresh) free(pSiS->CRT2VRefresh); + pSiS->CRT2VRefresh = NULL; +- if(pSiS->MetaModes) xfree(pSiS->MetaModes); ++ if(pSiS->MetaModes) free(pSiS->MetaModes); + pSiS->MetaModes = NULL; + if(pSiS->CRT2pScrn) { + if(pSiS->CRT2pScrn->modes) { +@@ -353,10 +376,10 @@ SISFreeRec(ScrnInfoPtr pScrn) + while(pSiS->CRT2pScrn->monitor->Modes) + xf86DeleteMode(&pSiS->CRT2pScrn->monitor->Modes, pSiS->CRT2pScrn->monitor->Modes); + } +- if(pSiS->CRT2pScrn->monitor->DDC) xfree(pSiS->CRT2pScrn->monitor->DDC); +- xfree(pSiS->CRT2pScrn->monitor); ++ if(pSiS->CRT2pScrn->monitor->DDC) free(pSiS->CRT2pScrn->monitor->DDC); ++ free(pSiS->CRT2pScrn->monitor); + } +- xfree(pSiS->CRT2pScrn); ++ free(pSiS->CRT2pScrn); + pSiS->CRT2pScrn = NULL; + } + if(pSiS->CRT1Modes) { +@@ -366,8 +389,8 @@ SISFreeRec(ScrnInfoPtr pScrn) + do { + DisplayModePtr p = pScrn->currentMode->next; + if(pScrn->currentMode->Private) +- xfree(pScrn->currentMode->Private); +- xfree(pScrn->currentMode); ++ free(pScrn->currentMode->Private); ++ free(pScrn->currentMode); + pScrn->currentMode = p; + } while(pScrn->currentMode != pScrn->modes); + } +@@ -380,7 +403,7 @@ SISFreeRec(ScrnInfoPtr pScrn) + #endif + while(pSiS->SISVESAModeList) { + sisModeInfoPtr mp = pSiS->SISVESAModeList->next; +- xfree(pSiS->SISVESAModeList); ++ free(pSiS->SISVESAModeList); + pSiS->SISVESAModeList = mp; + } + if(pSiS->pVbe) vbeFree(pSiS->pVbe); +@@ -392,7 +415,7 @@ SISFreeRec(ScrnInfoPtr pScrn) + + if(pScrn->driverPrivate == NULL) + return; +- xfree(pScrn->driverPrivate); ++ free(pScrn->driverPrivate); + pScrn->driverPrivate = NULL; + } + +@@ -501,7 +524,7 @@ SISProbe(DriverPtr drv, int flags) + numDevSections, drv, &usedChipsXGI); + + /* Free it since we don't need that list after this */ +- xfree(devSections); ++ free(devSections); + + numUsed = numUsedSiS + numUsedXGI; + +@@ -577,8 +600,8 @@ SISProbe(DriverPtr drv, int flags) + + } + +- if(usedChipsSiS) xfree(usedChipsSiS); +- if(usedChipsXGI) xfree(usedChipsXGI); ++ if(usedChipsSiS) free(usedChipsSiS); ++ if(usedChipsXGI) free(usedChipsXGI); + + return foundScreen; + } +@@ -642,10 +665,10 @@ SISCalculateGammaRamp(ScreenPtr pScreen, ScrnInfoPtr pScrn) + if(!(nramp = xf86GetGammaRampSize(pScreen))) return; + + for(i=0; i<3; i++) { +- ramp[i] = (UShort *)xalloc(nramp * sizeof(UShort)); ++ ramp[i] = (UShort *)malloc(nramp * sizeof(UShort)); + if(!ramp[i]) { +- if(ramp[0]) { xfree(ramp[0]); ramp[0] = NULL; } +- if(ramp[1]) { xfree(ramp[1]); ramp[1] = NULL; } ++ if(ramp[0]) { free(ramp[0]); ramp[0] = NULL; } ++ if(ramp[1]) { free(ramp[1]); ramp[1] = NULL; } + return; + } + } +@@ -705,9 +728,9 @@ SISCalculateGammaRamp(ScreenPtr pScreen, ScrnInfoPtr pScrn) + + xf86ChangeGammaRamp(pScreen, nramp, ramp[0], ramp[1], ramp[2]); + +- xfree(ramp[0]); +- xfree(ramp[1]); +- xfree(ramp[2]); ++ free(ramp[0]); ++ free(ramp[1]); ++ free(ramp[2]); + ramp[0] = ramp[1] = ramp[2] = NULL; + } + #endif +@@ -1135,10 +1158,10 @@ SiSCopyModeNLink(ScrnInfoPtr pScrn, DisplayModePtr dest, + DisplayModePtr mode; + int dx = 0,dy = 0; + +- if(!((mode = xalloc(sizeof(DisplayModeRec))))) return dest; ++ if(!((mode = malloc(sizeof(DisplayModeRec))))) return dest; + memcpy(mode, i, sizeof(DisplayModeRec)); +- if(!((mode->Private = xalloc(sizeof(SiSMergedDisplayModeRec))))) { +- xfree(mode); ++ if(!((mode->Private = malloc(sizeof(SiSMergedDisplayModeRec))))) { ++ free(mode); + return dest; + } + ((SiSMergedDisplayModePtr)mode->Private)->CRT1 = i; +@@ -1223,8 +1246,8 @@ SiSCopyModeNLink(ScrnInfoPtr pScrn, DisplayModePtr dest, + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "Skipped \"%s\" (%dx%d), not enough video RAM or beyond hardware specs\n", + mode->name, mode->HDisplay, mode->VDisplay); +- xfree(mode->Private); +- xfree(mode); ++ free(mode->Private); ++ free(mode); + + return dest; + } +@@ -2131,10 +2154,10 @@ SiSProcXineramaQueryVersion(ClientPtr client) + rep.majorVersion = SIS_XINERAMA_MAJOR_VERSION; + rep.minorVersion = SIS_XINERAMA_MINOR_VERSION; + if(client->swapped) { +- swaps(&rep.sequenceNumber, n); +- swapl(&rep.length, n); +- swaps(&rep.majorVersion, n); +- swaps(&rep.minorVersion, n); ++ _swaps(&rep.sequenceNumber, n); ++ _swapl(&rep.length, n); ++ _swaps(&rep.majorVersion, n); ++ _swaps(&rep.minorVersion, n); + } + WriteToClient(client, sizeof(xPanoramiXQueryVersionReply), (char *)&rep); + return (client->noClientException); +@@ -2147,19 +2170,20 @@ SiSProcXineramaGetState(ClientPtr client) + WindowPtr pWin; + xPanoramiXGetStateReply rep; + register int n; ++ int rc; + + REQUEST_SIZE_MATCH(xPanoramiXGetStateReq); +- pWin = LookupWindow(stuff->window, client); +- if(!pWin) return BadWindow; ++ rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess); ++ if (rc != Success) ++ return rc; + + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; + rep.state = !SiSnoPanoramiXExtension; + if(client->swapped) { +- swaps (&rep.sequenceNumber, n); +- swapl (&rep.length, n); +- swaps (&rep.state, n); ++ _swaps (&rep.sequenceNumber, n); ++ _swapl (&rep.length, n); + } + WriteToClient(client, sizeof(xPanoramiXGetStateReply), (char *)&rep); + return client->noClientException; +@@ -2172,19 +2196,20 @@ SiSProcXineramaGetScreenCount(ClientPtr client) + WindowPtr pWin; + xPanoramiXGetScreenCountReply rep; + register int n; ++ int rc; + + REQUEST_SIZE_MATCH(xPanoramiXGetScreenCountReq); +- pWin = LookupWindow(stuff->window, client); +- if(!pWin) return BadWindow; ++ rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess); ++ if (rc != Success) ++ return rc; + + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; + rep.ScreenCount = SiSXineramaNumScreens; + if(client->swapped) { +- swaps(&rep.sequenceNumber, n); +- swapl(&rep.length, n); +- swaps(&rep.ScreenCount, n); ++ _swaps(&rep.sequenceNumber, n); ++ _swapl(&rep.length, n); + } + WriteToClient(client, sizeof(xPanoramiXGetScreenCountReply), (char *)&rep); + return client->noClientException; +@@ -2197,10 +2222,12 @@ SiSProcXineramaGetScreenSize(ClientPtr client) + WindowPtr pWin; + xPanoramiXGetScreenSizeReply rep; + register int n; ++ int rc; + + REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq); +- pWin = LookupWindow (stuff->window, client); +- if(!pWin) return BadWindow; ++ rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess); ++ if (rc != Success) ++ return rc; + + rep.type = X_Reply; + rep.length = 0; +@@ -2208,10 +2235,10 @@ SiSProcXineramaGetScreenSize(ClientPtr client) + rep.width = SiSXineramadataPtr[stuff->screen].width; + rep.height = SiSXineramadataPtr[stuff->screen].height; + if(client->swapped) { +- swaps(&rep.sequenceNumber, n); +- swapl(&rep.length, n); +- swaps(&rep.width, n); +- swaps(&rep.height, n); ++ _swaps(&rep.sequenceNumber, n); ++ _swapl(&rep.length, n); ++ _swapl(&rep.width, n); ++ _swapl(&rep.height, n); + } + WriteToClient(client, sizeof(xPanoramiXGetScreenSizeReply), (char *)&rep); + return client->noClientException; +@@ -2230,9 +2257,9 @@ SiSProcXineramaIsActive(ClientPtr client) + rep.state = !SiSnoPanoramiXExtension; + if(client->swapped) { + register int n; +- swaps(&rep.sequenceNumber, n); +- swapl(&rep.length, n); +- swapl(&rep.state, n); ++ _swaps(&rep.sequenceNumber, n); ++ _swapl(&rep.length, n); ++ _swapl(&rep.state, n); + } + WriteToClient(client, sizeof(xXineramaIsActiveReply), (char *) &rep); + return client->noClientException; +@@ -2251,9 +2278,9 @@ SiSProcXineramaQueryScreens(ClientPtr client) + rep.length = rep.number * sz_XineramaScreenInfo >> 2; + if(client->swapped) { + register int n; +- swaps(&rep.sequenceNumber, n); +- swapl(&rep.length, n); +- swapl(&rep.number, n); ++ _swaps(&rep.sequenceNumber, n); ++ _swapl(&rep.length, n); ++ _swapl(&rep.number, n); + } + WriteToClient(client, sizeof(xXineramaQueryScreensReply), (char *)&rep); + +@@ -2268,10 +2295,10 @@ SiSProcXineramaQueryScreens(ClientPtr client) + scratch.height = SiSXineramadataPtr[i].height; + if(client->swapped) { + register int n; +- swaps(&scratch.x_org, n); +- swaps(&scratch.y_org, n); +- swaps(&scratch.width, n); +- swaps(&scratch.height, n); ++ _swaps(&scratch.x_org, n); ++ _swaps(&scratch.y_org, n); ++ _swaps(&scratch.width, n); ++ _swaps(&scratch.height, n); + } + WriteToClient(client, sz_XineramaScreenInfo, (char *)&scratch); + } +@@ -2308,7 +2335,7 @@ SiSSProcXineramaQueryVersion (ClientPtr client) + { + REQUEST(xPanoramiXQueryVersionReq); + register int n; +- swaps(&stuff->length,n); ++ _swaps(&stuff->length,n); + REQUEST_SIZE_MATCH (xPanoramiXQueryVersionReq); + return SiSProcXineramaQueryVersion(client); + } +@@ -2318,7 +2345,7 @@ SiSSProcXineramaGetState(ClientPtr client) + { + REQUEST(xPanoramiXGetStateReq); + register int n; +- swaps (&stuff->length, n); ++ _swaps (&stuff->length, n); + REQUEST_SIZE_MATCH(xPanoramiXGetStateReq); + return SiSProcXineramaGetState(client); + } +@@ -2328,7 +2355,7 @@ SiSSProcXineramaGetScreenCount(ClientPtr client) + { + REQUEST(xPanoramiXGetScreenCountReq); + register int n; +- swaps (&stuff->length, n); ++ _swaps (&stuff->length, n); + REQUEST_SIZE_MATCH(xPanoramiXGetScreenCountReq); + return SiSProcXineramaGetScreenCount(client); + } +@@ -2338,7 +2365,7 @@ SiSSProcXineramaGetScreenSize(ClientPtr client) + { + REQUEST(xPanoramiXGetScreenSizeReq); + register int n; +- swaps (&stuff->length, n); ++ _swaps (&stuff->length, n); + REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq); + return SiSProcXineramaGetScreenSize(client); + } +@@ -2348,7 +2375,7 @@ SiSSProcXineramaIsActive(ClientPtr client) + { + REQUEST(xXineramaIsActiveReq); + register int n; +- swaps (&stuff->length, n); ++ _swaps (&stuff->length, n); + REQUEST_SIZE_MATCH(xXineramaIsActiveReq); + return SiSProcXineramaIsActive(client); + } +@@ -2358,7 +2385,7 @@ SiSSProcXineramaQueryScreens(ClientPtr client) + { + REQUEST(xXineramaQueryScreensReq); + register int n; +- swaps (&stuff->length, n); ++ _swaps (&stuff->length, n); + REQUEST_SIZE_MATCH(xXineramaQueryScreensReq); + return SiSProcXineramaQueryScreens(client); + } +@@ -2389,7 +2416,7 @@ SiSXineramaResetProc(ExtensionEntry* extEntry) + { + /* Called by CloseDownExtensions() */ + if(SiSXineramadataPtr) { +- Xfree(SiSXineramadataPtr); ++ free(SiSXineramadataPtr); + SiSXineramadataPtr = NULL; + } + } +@@ -2454,7 +2481,7 @@ SiSXineramaExtensionInit(ScrnInfoPtr pScrn) + if(!pSiS->XineramaExtEntry) break; + + if(!(SiSXineramadataPtr = (SiSXineramaData *) +- xcalloc(SiSXineramaNumScreens, sizeof(SiSXineramaData)))) break; ++ calloc(SiSXineramaNumScreens, sizeof(SiSXineramaData)))) break; + + SiSXineramaGeneration = serverGeneration; + success = TRUE; +@@ -2493,10 +2520,10 @@ SiSFreeCRT2Structs(SISPtr pSiS) + while(pSiS->CRT2pScrn->monitor->Modes) + xf86DeleteMode(&pSiS->CRT2pScrn->monitor->Modes, pSiS->CRT2pScrn->monitor->Modes); + } +- if(pSiS->CRT2pScrn->monitor->DDC) xfree(pSiS->CRT2pScrn->monitor->DDC); +- xfree(pSiS->CRT2pScrn->monitor); ++ if(pSiS->CRT2pScrn->monitor->DDC) free(pSiS->CRT2pScrn->monitor->DDC); ++ free(pSiS->CRT2pScrn->monitor); + } +- xfree(pSiS->CRT2pScrn); ++ free(pSiS->CRT2pScrn); + pSiS->CRT2pScrn = NULL; + } + } +@@ -2902,22 +2929,22 @@ SiS_CheckKernelFB(ScrnInfoPtr pScrn) + Bool gotit = FALSE; + + if(!ioctl(fd, SISFB_GET_INFO_SIZE, &sisfbinfosize)) { +- if((mysisfbinfo = xalloc(sisfbinfosize))) { ++ if((mysisfbinfo = malloc(sisfbinfosize))) { + if(!ioctl(fd, (SISFB_GET_INFO | (sisfbinfosize << 16)), mysisfbinfo)) { + gotit = TRUE; + } else { +- xfree(mysisfbinfo); ++ free(mysisfbinfo); + mysisfbinfo = NULL; + } + } + } else { +- if((mysisfbinfo = xalloc(sizeof(*mysisfbinfo) + 16))) { ++ if((mysisfbinfo = malloc(sizeof(*mysisfbinfo) + 16))) { + if(!ioctl(fd, SISFB_GET_INFO_OLD, mysisfbinfo)) { + gotit = TRUE; + xf86DrvMsg(pScrn->scrnIndex, X_WARNING, + "Possibly old version of sisfb detected. Please update.\n"); + } else { +- xfree(mysisfbinfo); ++ free(mysisfbinfo); + mysisfbinfo = NULL; + } + } +@@ -3056,7 +3083,7 @@ SiS_CheckKernelFB(ScrnInfoPtr pScrn) + } + } + } +- xfree(mysisfbinfo); ++ free(mysisfbinfo); + mysisfbinfo = NULL; + } + close (fd); +@@ -3216,7 +3243,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + pSiS->pInt = NULL; + + /* Save PCI Domain Base */ +-#if XF86_VERSION_CURRENT < XF86_VERSION_NUMERIC(4,2,99,0,0) ++#if XF86_VERSION_CURRENT < XF86_VERSION_NUMERIC(4,2,99,0,0) || GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) >= 12 + pSiS->IODBase = 0; + #else + pSiS->IODBase = pScrn->domainIOBase; +@@ -4078,7 +4105,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + } + #endif + if(!pSiS->BIOS) { +- if(!(pSiS->BIOS = xcalloc(1, BIOS_SIZE))) { ++ if(!(pSiS->BIOS = calloc(1, BIOS_SIZE))) { + xf86DrvMsg(pScrn->scrnIndex, X_WARNING, + "Could not allocate memory for video BIOS image\n"); + } else { +@@ -4173,7 +4200,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + } else { + xf86DrvMsg(pScrn->scrnIndex, X_WARNING, + "Could not find/read video BIOS\n"); +- xfree(pSiS->BIOS); ++ free(pSiS->BIOS); + pSiS->BIOS = NULL; + } + } +@@ -5559,7 +5586,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + /* Do some MergedFB mode initialisation */ + #ifdef SISMERGED + if(pSiS->MergedFB) { +- pSiS->CRT2pScrn = xalloc(sizeof(ScrnInfoRec)); ++ pSiS->CRT2pScrn = malloc(sizeof(ScrnInfoRec)); + if(!pSiS->CRT2pScrn) { + SISErrorLog(pScrn, "Failed to allocate memory for 2nd pScrn, %s\n", mergeddisstr); + pSiS->MergedFB = FALSE; +@@ -5592,7 +5619,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + } else { + SISErrorLog(pScrn, mergednocrt1, mergeddisstr); + } +- if(pSiS->CRT2pScrn) xfree(pSiS->CRT2pScrn); ++ if(pSiS->CRT2pScrn) free(pSiS->CRT2pScrn); + pSiS->CRT2pScrn = NULL; + pSiS->MergedFB = FALSE; + } +@@ -5639,7 +5666,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + } else { + SISErrorLog(pScrn, mergednocrt2, mergeddisstr); + } +- if(pSiS->CRT2pScrn) xfree(pSiS->CRT2pScrn); ++ if(pSiS->CRT2pScrn) free(pSiS->CRT2pScrn); + pSiS->CRT2pScrn = NULL; + pSiS->MergedFB = FALSE; + } +@@ -6016,7 +6043,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + + #ifdef SISMERGED + if(pSiS->MergedFB) { +- pSiS->CRT2pScrn->monitor = xalloc(sizeof(MonRec)); ++ pSiS->CRT2pScrn->monitor = malloc(sizeof(MonRec)); + if(pSiS->CRT2pScrn->monitor) { + DisplayModePtr tempm = NULL, currentm = NULL, newm = NULL; + memcpy(pSiS->CRT2pScrn->monitor, pScrn->monitor, sizeof(MonRec)); +@@ -6025,10 +6052,10 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + pSiS->CRT2pScrn->monitor->id = (char *)crt2monname; + tempm = pScrn->monitor->Modes; + while(tempm) { +- if(!(newm = xalloc(sizeof(DisplayModeRec)))) break; ++ if(!(newm = malloc(sizeof(DisplayModeRec)))) break; + memcpy(newm, tempm, sizeof(DisplayModeRec)); +- if(!(newm->name = xalloc(strlen(tempm->name) + 1))) { +- xfree(newm); ++ if(!(newm->name = malloc(strlen(tempm->name) + 1))) { ++ free(newm); + break; + } + strcpy(newm->name, tempm->name); +@@ -6070,7 +6097,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + } else { + SISErrorLog(pScrn, "Failed to allocate memory for CRT2 monitor, %s.\n", + mergeddisstr); +- if(pSiS->CRT2pScrn) xfree(pSiS->CRT2pScrn); ++ if(pSiS->CRT2pScrn) free(pSiS->CRT2pScrn); + pSiS->CRT2pScrn = NULL; + pSiS->MergedFB = FALSE; + } +@@ -6835,8 +6862,10 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + #ifdef SIS_USE_XAA + if(!pSiS->useEXA) { + if (!xf86LoadSubModule(pScrn, "xaa")) { +- SISErrorLog(pScrn, "Could not load xaa module\n"); +- goto my_error_1; ++ xf86DrvMsg(pScrn->scrnIndex, X_INFO, ++ "Falling back to shadowfb\n"); ++ pSiS->NoAccel = 1; ++ pSiS->ShadowFB = 1; + } + } + #endif +@@ -6855,7 +6884,6 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + } + } + #endif +- xf86DrvMsg(pScrn->scrnIndex, X_INFO, "2D acceleration enabled\n"); + } + + /* Load shadowfb (if needed) */ +@@ -6867,7 +6895,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + } + + /* Load the dri and glx modules if requested. */ +-#ifdef XF86DRI ++#ifdef SISDRI + if(pSiS->loadDRI) { + if(!xf86LoaderCheckSymbol("DRIScreenInit")) { + if(xf86LoadSubModule(pScrn, "dri")) { +@@ -7454,7 +7482,7 @@ SISVESASaveRestore(ScrnInfoPtr pScrn, vbeSaveRestoreFunction function) + (function == MODE_SAVE)) { + /* don't rely on the memory not being touched */ + if(!pSiS->pstate) { +- pSiS->pstate = xalloc(pSiS->stateSize); ++ pSiS->pstate = malloc(pSiS->stateSize); + } + memcpy(pSiS->pstate, pSiS->state, pSiS->stateSize); + } +@@ -8675,7 +8703,7 @@ SISScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + + if(pSiS->ShadowFB) { + pSiS->ShadowPitch = BitmapBytePad(pScrn->bitsPerPixel * width); +- pSiS->ShadowPtr = xalloc(pSiS->ShadowPitch * height); ++ pSiS->ShadowPtr = malloc(pSiS->ShadowPitch * height); + displayWidth = pSiS->ShadowPitch / (pScrn->bitsPerPixel >> 3); + FBStart = pSiS->ShadowPtr; + } else { +@@ -8703,7 +8731,7 @@ SISScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + + pSiS->cmdQueueLen = 0; /* Force an EngineIdle() at start */ + +-#ifdef XF86DRI ++#ifdef SISDRI + if(pSiS->loadDRI) { + #ifdef SISDUALHEAD + /* No DRI in dual head mode */ +@@ -8849,14 +8877,14 @@ SISScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + + pSiS->CRT2ColNum = 1 << pScrn->rgbBits; + +- if((pSiS->crt2gcolortable = xalloc(pSiS->CRT2ColNum * 2 * sizeof(LOCO)))) { ++ if((pSiS->crt2gcolortable = malloc(pSiS->CRT2ColNum * 2 * sizeof(LOCO)))) { + pSiS->crt2colors = &pSiS->crt2gcolortable[pSiS->CRT2ColNum]; +- if((pSiS->crt2cindices = xalloc(256 * sizeof(int)))) { ++ if((pSiS->crt2cindices = malloc(256 * sizeof(int)))) { + int i = pSiS->CRT2ColNum; + SISCalculateGammaRampCRT2(pScrn); + while(i--) pSiS->crt2cindices[i] = i; + } else { +- xfree(pSiS->crt2gcolortable); ++ free(pSiS->crt2gcolortable); + pSiS->crt2gcolortable = NULL; + pSiS->CRT2SepGamma = FALSE; + } +@@ -9016,7 +9044,7 @@ SISScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + } + #endif + +-#ifdef XF86DRI ++#ifdef SISDRI + if(pSiS->loadDRI) { + if(pSiS->directRenderingEnabled) { + /* Now that mi, drm and others have done their thing, +@@ -9322,9 +9350,22 @@ SISMergedPointerMoved(int scrnIndex, int x, int y) + } + } + if(doit) { +- UpdateCurrentTime(); + sigstate = xf86BlockSIGIO(); ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15 ++ { ++ double dx = x, dy = y; ++ miPointerSetPosition(inputInfo.pointer, Absolute, &dx, &dy); ++ x = (int)dx; ++ y = (int)dy; ++ } ++#elif GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 13 ++ miPointerSetPosition(inputInfo.pointer, Absolute, x, y); ++#elif GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 5 ++ miPointerSetPosition(inputInfo.pointer, x, y); ++#else ++ UpdateCurrentTime(); + miPointerAbsoluteCursor(x, y, currentTime.milliseconds); ++#endif + xf86UnblockSIGIO(sigstate); + return; + } +@@ -9737,7 +9778,7 @@ SISEnterVT(int scrnIndex, int flags) + + SISAdjustFrame(scrnIndex, pScrn->frameX0, pScrn->frameY0, 0); + +-#ifdef XF86DRI ++#ifdef SISDRI + if(pSiS->directRenderingEnabled) { + DRIUnlock(screenInfo.screens[scrnIndex]); + } +@@ -9763,7 +9804,7 @@ SISLeaveVT(int scrnIndex, int flags) + { + ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; + SISPtr pSiS = SISPTR(pScrn); +-#ifdef XF86DRI ++#ifdef SISDRI + ScreenPtr pScreen; + + if(pSiS->directRenderingEnabled) { +@@ -9847,7 +9888,7 @@ SISCloseScreen(int scrnIndex, ScreenPtr pScreen) + SiSCtrlExtUnregister(pSiS, pScrn->scrnIndex); + } + +-#ifdef XF86DRI ++#ifdef SISDRI + if(pSiS->directRenderingEnabled) { + SISDRICloseScreen(pScreen); + pSiS->directRenderingEnabled = FALSE; +@@ -9941,7 +9982,7 @@ SISCloseScreen(int scrnIndex, ScreenPtr pScreen) + if(pSiS->useEXA) { + if(pSiS->EXADriverPtr) { + exaDriverFini(pScreen); +- xfree(pSiS->EXADriverPtr); ++ free(pSiS->EXADriverPtr); + pSiS->EXADriverPtr = NULL; + pSiS->exa_scratch = NULL; + } +@@ -9954,33 +9995,33 @@ SISCloseScreen(int scrnIndex, ScreenPtr pScreen) + } + + if(pSiS->ShadowPtr) { +- xfree(pSiS->ShadowPtr); ++ free(pSiS->ShadowPtr); + pSiS->ShadowPtr = NULL; + } + + if(pSiS->DGAModes) { +- xfree(pSiS->DGAModes); ++ free(pSiS->DGAModes); + pSiS->DGAModes = NULL; + } + + if(pSiS->adaptor) { +- xfree(pSiS->adaptor); ++ free(pSiS->adaptor); + pSiS->adaptor = NULL; + pSiS->ResetXv = pSiS->ResetXvGamma = pSiS->ResetXvDisplay = NULL; + } + + if(pSiS->blitadaptor) { +- xfree(pSiS->blitadaptor); ++ free(pSiS->blitadaptor); + pSiS->blitadaptor = NULL; + } + + if(pSiS->crt2gcolortable) { +- xfree(pSiS->crt2gcolortable); ++ free(pSiS->crt2gcolortable); + pSiS->crt2gcolortable = NULL; + } + + if(pSiS->crt2cindices) { +- xfree(pSiS->crt2cindices); ++ free(pSiS->crt2cindices); + pSiS->crt2cindices = NULL; + } + +diff --git a/src/sis_memcpy.c b/src/sis_memcpy.c +index 6ad62e8..3634401 100644 +--- a/src/sis_memcpy.c ++++ b/src/sis_memcpy.c +@@ -638,13 +638,13 @@ SiS_AllocBuffers(ScrnInfoPtr pScrn, UChar **buf1, UChar **buf2, UChar **buf3) + (*buf1) = (UChar *)pSiS->FbBase + offset; + (*buf1) = (UChar *)(((ULong)(*buf1) + 31) & ~31); + +- if(!((*buf2) = (UChar *)xalloc(BUFFERSIZE + 15))) { ++ if(!((*buf2) = (UChar *)malloc(BUFFERSIZE + 15))) { + SISFreeFBMemory(pScrn, &handle); + return NULL; + } + +- if(!((*buf3) = (UChar *)xalloc(BUFFERSIZE + 15))) { +- xfree((*buf2)); ++ if(!((*buf3) = (UChar *)malloc(BUFFERSIZE + 15))) { ++ free((*buf2)); + SISFreeFBMemory(pScrn, &handle); + return NULL; + } +@@ -1098,8 +1098,8 @@ SiSVidCopyInitGen(ScreenPtr pScreen, SISMCFuncData *MCFunctions, vidCopyFunc *UM + + /* Free buffers */ + SISFreeFBMemory(pScrn, &fbhandle); +- xfree(buf2); +- xfree(buf3); ++ free(buf2); ++ free(buf3); + + xf86DrvMsg(pScrn->scrnIndex, X_PROBED, + "Using %s method for aligned data transfers %s video RAM\n", +diff --git a/src/sis_opt.c b/src/sis_opt.c +index 3517549..3fa12c9 100644 +--- a/src/sis_opt.c ++++ b/src/sis_opt.c +@@ -448,7 +448,7 @@ SiSOptions(ScrnInfoPtr pScrn) + xf86CollectOptions(pScrn, NULL); + + /* Process the options */ +- if(!(pSiS->Options = xalloc(sizeof(SISOptions)))) return; ++ if(!(pSiS->Options = malloc(sizeof(SISOptions)))) return; + + memcpy(pSiS->Options, SISOptions, sizeof(SISOptions)); + +@@ -480,7 +480,7 @@ SiSOptions(ScrnInfoPtr pScrn) + #endif + pSiS->ShadowFB = FALSE; + pSiS->loadDRI = FALSE; +-#ifdef XF86DRI ++#ifdef SISDRI + pSiS->agpWantedPages = AGP_PAGES; + #endif + pSiS->VESA = -1; +@@ -888,7 +888,7 @@ SiSOptions(ScrnInfoPtr pScrn) + if((strptr = (char *)xf86GetOptValString(pSiS->Options, OPTION_CRT2POS))) { + int result; + Bool valid = FALSE; +- char *tempstr = xalloc(strlen(strptr) + 1); ++ char *tempstr = malloc(strlen(strptr) + 1); + result = sscanf(strptr, "%s %d", tempstr, &ival); + if(result >= 1) { + if(!xf86NameCmp(tempstr,"LeftOf")) { +@@ -946,18 +946,18 @@ SiSOptions(ScrnInfoPtr pScrn) + xf86DrvMsg(pScrn->scrnIndex, X_INFO, + "Except for \"Clone\", the parameter may be followed by an integer.\n"); + } +- xfree(tempstr); ++ free(tempstr); + } + if((strptr = (char *)xf86GetOptValString(pSiS->Options, OPTION_METAMODES))) { +- pSiS->MetaModes = xalloc(strlen(strptr) + 1); ++ pSiS->MetaModes = malloc(strlen(strptr) + 1); + if(pSiS->MetaModes) memcpy(pSiS->MetaModes, strptr, strlen(strptr) + 1); + } + if((strptr = (char *)xf86GetOptValString(pSiS->Options, OPTION_CRT2HSYNC))) { +- pSiS->CRT2HSync = xalloc(strlen(strptr) + 1); ++ pSiS->CRT2HSync = malloc(strlen(strptr) + 1); + if(pSiS->CRT2HSync) memcpy(pSiS->CRT2HSync, strptr, strlen(strptr) + 1); + } + if((strptr = (char *)xf86GetOptValString(pSiS->Options, OPTION_CRT2VREFRESH))) { +- pSiS->CRT2VRefresh = xalloc(strlen(strptr) + 1); ++ pSiS->CRT2VRefresh = malloc(strlen(strptr) + 1); + if(pSiS->CRT2VRefresh) memcpy(pSiS->CRT2VRefresh, strptr, strlen(strptr) + 1); + } + if((strptr = (char *)xf86GetOptValString(pSiS->Options, OPTION_MERGEDDPI))) { +@@ -2034,7 +2034,7 @@ SiSOptions(ScrnInfoPtr pScrn) + } + } + +-#ifdef XF86DRI ++#ifdef SISDRI + /* DRI */ + from = X_DEFAULT; + if(xf86GetOptValBool(pSiS->Options, OPTION_DRI, &pSiS->loadDRI)) { +diff --git a/src/sis_utility.c b/src/sis_utility.c +index a9bcd2b..eda194f 100644 +--- a/src/sis_utility.c ++++ b/src/sis_utility.c +@@ -34,8 +34,6 @@ + #endif + + #include "sis.h" +-#define NEED_REPLIES +-#define NEED_EVENTS + #include <X11/X.h> + #include "dixstruct.h" + +@@ -1882,10 +1880,10 @@ SiSProcSiSCtrlQueryVersion(ClientPtr client) + rep.majorVersion = SISCTRL_MAJOR_VERSION; + rep.minorVersion = SISCTRL_MINOR_VERSION; + if(client->swapped) { +- swaps(&rep.sequenceNumber, n); +- swapl(&rep.length, n); +- swaps(&rep.majorVersion, n); +- swaps(&rep.minorVersion, n); ++ _swaps(&rep.sequenceNumber, n); ++ _swapl(&rep.length, n); ++ _swaps(&rep.majorVersion, n); ++ _swaps(&rep.minorVersion, n); + } + WriteToClient(client, sizeof(xSiSCtrlQueryVersionReply), (char *)&rep); + return (client->noClientException); +@@ -1926,15 +1924,15 @@ SiSProcSiSCtrlCommand(ClientPtr client) + rep.sequenceNumber = client->sequence; + + if(client->swapped) { +- swaps(&rep.sequenceNumber, n); +- swapl(&rep.length, n); +- swapl(&rep.screen, n); +- swapl(&rep.sdc_id, n); +- swapl(&rep.sdc_command, n); +- swapl(&rep.sdc_result_header, n); ++ _swaps(&rep.sequenceNumber, n); ++ _swapl(&rep.length, n); ++ _swapl(&rep.screen, n); ++ _swapl(&rep.sdc_id, n); ++ _swapl(&rep.sdc_command, n); ++ _swapl(&rep.sdc_result_header, n); + for(i = 0; i < SDC_NUM_PARM_RESULT; i++) { +- swapl(&rep.sdc_parm[i], n); +- swapl(&rep.sdc_result[i], n); ++ _swapl(&rep.sdc_parm[i], n); ++ _swapl(&rep.sdc_result[i], n); + } + } + WriteToClient(client, sizeof(xSiSCtrlCommandReply), (char *)&rep); +@@ -1961,7 +1959,7 @@ SiSSProcSiSCtrlQueryVersion(ClientPtr client) + { + REQUEST(xSiSCtrlQueryVersionReq); + register int n; +- swaps(&stuff->length, n); ++ _swaps(&stuff->length, n); + REQUEST_SIZE_MATCH(xSiSCtrlQueryVersionReq); + return SiSProcSiSCtrlQueryVersion(client); + } +@@ -1972,14 +1970,14 @@ SiSSProcSiSCtrlCommand(ClientPtr client) + REQUEST(xSiSCtrlCommandReq); + register int n; + int i; +- swaps(&stuff->length, n); +- swapl(&stuff->screen, n); +- swapl(&stuff->sdc_id, n); +- swapl(&stuff->sdc_command, n); +- swapl(&stuff->sdc_result_header, n); ++ _swaps(&stuff->length, n); ++ _swapl(&stuff->screen, n); ++ _swapl(&stuff->sdc_id, n); ++ _swapl(&stuff->sdc_command, n); ++ _swapl(&stuff->sdc_result_header, n); + for(i = 0; i < SDC_NUM_PARM_RESULT; i++) { +- swapl(&stuff->sdc_parm[i], n); +- swapl(&stuff->sdc_result[i], n); ++ _swapl(&stuff->sdc_parm[i], n); ++ _swapl(&stuff->sdc_result[i], n); + } + REQUEST_SIZE_MATCH(xSiSCtrlCommandReq); + return SiSProcSiSCtrlCommand(client); +@@ -2007,7 +2005,7 @@ SiSCtrlResetProc(ExtensionEntry* extEntry) + * in SiSCtrlExtUnregister()) + */ + if(extEntry->extPrivate) { +- xfree(extEntry->extPrivate); ++ free(extEntry->extPrivate); + extEntry->extPrivate = NULL; + } + } +@@ -2028,7 +2026,7 @@ SiSCtrlExtInit(ScrnInfoPtr pScrn) + + if(!(myext = CheckExtension(SISCTRL_PROTOCOL_NAME))) { + +- if(!(myctrl = xcalloc(sizeof(xSiSCtrlScreenTable), 1))) ++ if(!(myctrl = calloc(sizeof(xSiSCtrlScreenTable), 1))) + return; + + if(!(myext = AddExtension(SISCTRL_PROTOCOL_NAME, 0, 0, +@@ -2038,7 +2036,7 @@ SiSCtrlExtInit(ScrnInfoPtr pScrn) + StandardMinorOpcode))) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "Failed to add SISCTRL extension\n"); +- xfree(myctrl); ++ free(myctrl); + return; + } + +diff --git a/src/sis_vga.c b/src/sis_vga.c +index 3f6219b..4c887b8 100644 +--- a/src/sis_vga.c ++++ b/src/sis_vga.c +@@ -1429,7 +1429,7 @@ SiSVGASaveFonts(ScrnInfoPtr pScrn) + attr10 = SiS_ReadAttr(pSiS, 0x10); + if(attr10 & 0x01) return; + +- if(!(pSiS->fonts = xalloc(SIS_FONTS_SIZE * 2))) { ++ if(!(pSiS->fonts = malloc(SIS_FONTS_SIZE * 2))) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "Could not save console fonts, mem allocation failed\n"); + return; +@@ -1716,8 +1716,8 @@ SiSVGAMapMem(ScrnInfoPtr pScrn) + + #if XF86_VERSION_CURRENT >= XF86_VERSION_NUMERIC(4,3,0,0,0) + #if XSERVER_LIBPCIACCESS +- pSiS->VGAMemBase = xf86MapDomainMemory(pScrn->scrnIndex, VIDMEM_MMIO_32BIT, +- pSiS->PciInfo, pSiS->VGAMapPhys, pSiS->VGAMapSize); ++ (void) pci_device_map_legacy(pSiS->PciInfo, pSiS->VGAMapPhys, pSiS->VGAMapSize, ++ PCI_DEV_MAP_FLAG_WRITABLE, &pSiS->VGAMemBase); + #else + pSiS->VGAMemBase = xf86MapDomainMemory(pScrn->scrnIndex, VIDMEM_MMIO_32BIT, + pSiS->PciTag, pSiS->VGAMapPhys, pSiS->VGAMapSize); +@@ -1737,7 +1737,12 @@ SiSVGAUnmapMem(ScrnInfoPtr pScrn) + + if(pSiS->VGAMemBase == NULL) return; + ++#if XSERVER_LIBPCIACCESS ++ (void) pci_device_unmap_legacy(pSiS->PciInfo, pSiS->VGAMemBase, pSiS->VGAMapSize); ++#else + xf86UnMapVidMem(pScrn->scrnIndex, pSiS->VGAMemBase, pSiS->VGAMapSize); ++#endif ++ + pSiS->VGAMemBase = NULL; + } + #endif +diff --git a/src/sis_video.c b/src/sis_video.c +index 7322efb..2006858 100644 +--- a/src/sis_video.c ++++ b/src/sis_video.c +@@ -326,7 +326,7 @@ SISInitVideo(ScreenPtr pScreen) + if(newAdaptor) size++; + if(newBlitAdaptor) size++; + +- newAdaptors = xalloc(size * sizeof(XF86VideoAdaptorPtr*)); ++ newAdaptors = malloc(size * sizeof(XF86VideoAdaptorPtr*)); + if(newAdaptors) { + if(num_adaptors) { + memcpy(newAdaptors, adaptors, num_adaptors * sizeof(XF86VideoAdaptorPtr)); +@@ -356,7 +356,7 @@ SISInitVideo(ScreenPtr pScreen) + } + + if(newAdaptors) { +- xfree(newAdaptors); ++ free(newAdaptors); + } + } + +@@ -877,7 +877,7 @@ SISSetupImageVideo(ScreenPtr pScreen) + } + #endif + +- if(!(adapt = xcalloc(1, sizeof(XF86VideoAdaptorRec) + ++ if(!(adapt = calloc(1, sizeof(XF86VideoAdaptorRec) + + sizeof(SISPortPrivRec) + + sizeof(DevUnion)))) { + return NULL; +@@ -4067,7 +4067,7 @@ SISSetupBlitVideo(ScreenPtr pScreen) + } + #endif + +- if(!(adapt = xcalloc(1, sizeof(XF86VideoAdaptorRec) + ++ if(!(adapt = calloc(1, sizeof(XF86VideoAdaptorRec) + + (sizeof(DevUnion) * NUM_BLIT_PORTS) + + sizeof(SISBPortPrivRec)))) { + return NULL; +diff --git a/src/sispcirename.h b/src/sispcirename.h +index c4beac6..a354ac4 100644 +--- a/src/sispcirename.h ++++ b/src/sispcirename.h +@@ -29,11 +29,40 @@ + #ifndef SISPCIRENAME_H + #define SISPCIRENAME_H + ++#include <stdint.h> ++ + enum region_type { + REGION_MEM, + REGION_IO + }; + ++#include "xf86Module.h" ++ ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) >= 12 ++ ++#if (defined(__alpha__) || defined(__ia64__)) && defined (linux) ++#define PCI_DOM_MASK 0x01fful ++#else ++#define PCI_DOM_MASK 0x0ffu ++#endif ++ ++#ifndef PCI_DOM_MASK ++# define PCI_DOM_MASK 0x0ffu ++#endif ++#define PCI_DOMBUS_MASK (((PCI_DOM_MASK) << 8) | 0x0ffu) ++ ++static inline uint32_t ++pciTag(int busnum, int devnum, int funcnum) ++{ ++ uint32_t tag; ++ tag = (busnum & (PCI_DOMBUS_MASK)) << 16; ++ tag |= (devnum & 0x00001fu) << 11; ++ tag |= (funcnum & 0x000007u) << 8; ++ ++ return tag; ++} ++#endif /* GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) >= 12 */ ++ + #ifndef XSERVER_LIBPCIACCESS + + /* pciVideoPtr */ +diff --git a/src/vgatypes.h b/src/vgatypes.h +index 4be31e4..d6e7b6e 100644 +--- a/src/vgatypes.h ++++ b/src/vgatypes.h +@@ -69,8 +69,9 @@ typedef unsigned int BOOLEAN; + + #define SISIOMEMTYPE + +-#ifdef SIS_LINUX_KERNEL + typedef unsigned long SISIOADDRESS; ++ ++#ifdef SIS_LINUX_KERNEL + #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,8) + #include <linux/types.h> /* Need __iomem */ + #undef SISIOMEMTYPE +@@ -78,15 +79,6 @@ typedef unsigned long SISIOADDRESS; + #endif + #endif + +-#ifdef SIS_XORG_XF86 +-#if XF86_VERSION_CURRENT < XF86_VERSION_NUMERIC(4,2,0,0,0) +-typedef unsigned long IOADDRESS; +-typedef unsigned long SISIOADDRESS; +-#else +-typedef IOADDRESS SISIOADDRESS; +-#endif +-#endif +- + typedef enum _SIS_CHIP_TYPE { + SIS_VGALegacy = 0, + SIS_530, diff --git a/extra/xf86-video-sisusb/PKGBUILD b/extra/xf86-video-sisusb/PKGBUILD index aad955f07..57339c20f 100644 --- a/extra/xf86-video-sisusb/PKGBUILD +++ b/extra/xf86-video-sisusb/PKGBUILD @@ -1,25 +1,32 @@ -# $Id: PKGBUILD 140300 2011-10-11 21:28:37Z jgc $ +# $Id: PKGBUILD 153370 2012-03-12 20:54:32Z andyrtr $ #Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-sisusb pkgver=0.9.4 -pkgrel=5 +pkgrel=6 pkgdesc="X.org SiS USB video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel>=1.10.99.902') -conflicts=('xorg-server<1.10.99.902') +makedepends=('xorg-server-devel>=1.11.99.903') +conflicts=('xorg-server<1.11.99.903') groups=('xorg-drivers' 'xorg') options=('!libtool') -source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) -sha1sums=('600fd49dffe00121f9042555fea55948653d1a7e') +source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 + sisusb-0.9.4-git.patch) +sha1sums=('600fd49dffe00121f9042555fea55948653d1a7e' + 'd74ce7732889c7a00d9d2dcd2bfc8be05c6eb912') build() { cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i ${srcdir}/sisusb-0.9.4-git.patch ./configure --prefix=/usr make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-sisusb/sisusb-0.9.4-git.patch b/extra/xf86-video-sisusb/sisusb-0.9.4-git.patch new file mode 100644 index 000000000..24474954a --- /dev/null +++ b/extra/xf86-video-sisusb/sisusb-0.9.4-git.patch @@ -0,0 +1,794 @@ +diff --git a/configure.ac b/configure.ac +index 86c6ac5..725d6cb 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -20,49 +20,48 @@ + # + # Process this file with autoconf to produce a configure script + +-AC_PREREQ(2.57) ++# Initialize Autoconf ++AC_PREREQ([2.60]) + AC_INIT([xf86-video-sisusb], +- 0.9.4, ++ [0.9.4], + [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], +- xf86-video-sisusb) +- ++ [xf86-video-sisusb]) + AC_CONFIG_SRCDIR([Makefile.am]) +-AM_CONFIG_HEADER([config.h]) ++AC_CONFIG_HEADERS([config.h]) + AC_CONFIG_AUX_DIR(.) + ++# Initialize Automake + AM_INIT_AUTOMAKE([foreign dist-bzip2]) +- + AM_MAINTAINER_MODE + +-# Require xorg-macros: XORG_DEFAULT_OPTIONS ++# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS + m4_ifndef([XORG_MACROS_VERSION], +- [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])]) +-XORG_MACROS_VERSION(1.3) ++ [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])]) ++XORG_MACROS_VERSION(1.8) + XORG_DEFAULT_OPTIONS + +-# Checks for programs. ++# Initialize libtool + AC_DISABLE_STATIC + AC_PROG_LIBTOOL +-AC_PROG_CC +-XORG_PROG_RAWCPP + + AH_TOP([#include "xorg-server.h"]) + ++# Define a configure option for an alternate module directory + AC_ARG_WITH(xorg-module-dir, +- AC_HELP_STRING([--with-xorg-module-dir=DIR], ++ AS_HELP_STRING([--with-xorg-module-dir=DIR], + [Default xorg module directory [[default=$libdir/xorg/modules]]]), + [moduledir="$withval"], + [moduledir="$libdir/xorg/modules"]) + +-# Checks for extensions ++# Store the list of server defined optional extensions in REQUIRED_MODULES + XORG_DRIVER_CHECK_EXT(XINERAMA, xineramaproto) + XORG_DRIVER_CHECK_EXT(RANDR, randrproto) + XORG_DRIVER_CHECK_EXT(RENDER, renderproto) + XORG_DRIVER_CHECK_EXT(XV, videoproto) + XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto) + +-# Checks for pkg-config packages +-PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901 xproto fontsproto $REQUIRED_MODULES]) ++# Obtain compiler/linker options for the driver dependencies ++PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901 xproto fontsproto pciaccess $REQUIRED_MODULES]) + PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1], + HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]), + HAVE_XEXTPROTO_71="no") +@@ -70,17 +69,14 @@ AM_CONDITIONAL(HAVE_XEXTPROTO_71, [ test "$HAVE_XEXTPROTO_71" = "yes" ]) + + # Checks for libraries. + +-# Checks for header files. +-AC_HEADER_STDC +- +-AC_SUBST([XORG_CFLAGS]) + AC_SUBST([moduledir]) + + DRIVER_NAME=sisusb + AC_SUBST([DRIVER_NAME]) + +-AC_OUTPUT([ +- Makefile +- src/Makefile +- man/Makefile ++AC_CONFIG_FILES([ ++ Makefile ++ src/Makefile ++ man/Makefile + ]) ++AC_OUTPUT +diff --git a/man/Makefile.am b/man/Makefile.am +index 1b26ac2..9ceb36f 100644 +--- a/man/Makefile.am ++++ b/man/Makefile.am +@@ -31,39 +31,9 @@ EXTRA_DIST = @DRIVER_NAME@.man + + CLEANFILES = $(driverman_DATA) + +-SED = sed +- +-# Strings to replace in man pages +-XORGRELSTRING = @PACKAGE_STRING@ +- XORGMANNAME = X Version 11 +- +-MANDEFS = \ +- -D__vendorversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \ +- -D__appmansuffix__=$(APP_MAN_SUFFIX) \ +- -D__filemansuffix__=$(FILE_MAN_SUFFIX) \ +- -D__libmansuffix__=$(LIB_MAN_SUFFIX) \ +- -D__miscmansuffix__=$(MISC_MAN_SUFFIX) \ +- -D__drivermansuffix__=$(DRIVER_MAN_SUFFIX) \ +- -D__adminmansuffix__=$(ADMIN_MAN_SUFFIX) \ +- -D__xconfigfile__=xorg.conf \ +- -D__xservername__=Xorg +- +-# Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM +-# to cpp, because that trick does not work on all ANSI C preprocessors. +-# Delete line numbers from the cpp output (-P is not portable, I guess). +-# Allow XCOMM to be preceded by whitespace and provide a means of generating +-# output lines with trailing backslashes. +-# Allow XHASH to always be substituted, even in cases where XCOMM isn't. +- +-CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \ +- -e '/^\#line *[0-9][0-9]* *.*$$/d' \ +- -e '/^[ ]*XCOMM$$/s/XCOMM/\#/' \ +- -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \ +- -e '/^[ ]*XHASH/s/XHASH/\#/' \ +- -e '/\@\@$$/s/\@\@$$/\\/' +- + SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man + ++# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure + .man.$(DRIVER_MAN_SUFFIX): +- $(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@ ++ $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@ + +diff --git a/man/sisusb.man b/man/sisusb.man +index 7817cb5..6eafb8e 100644 +--- a/man/sisusb.man ++++ b/man/sisusb.man +@@ -1,17 +1,5 @@ +-.\" $XFree86$ +-.\" $XdotOrg$ + .\" shorthand for double quote that works everywhere. + .ds q \N'34' +-#ifdef __xservername__ +-#define __myservername__ __xservername__ +-#else +-#define __myservername__ XFree86 +-#endif +-#ifdef __xconfigfile__ +-#define __myxconfigfile__ __xconfigfile__ +-#else +-#define __myxconfigfile__ XF86Config +-#endif + .TH SISUSB __drivermansuffix__ __vendorversion__ + .SH NAME + sisusb \- SiS USB video driver +@@ -25,7 +13,7 @@ sisusb \- SiS USB video driver + .fi + .SH DESCRIPTION + .B sisusb +-is an __myservername__ driver for SiS (Silicon Integrated Systems) video chips that ++is an __xservername__ driver for SiS (Silicon Integrated Systems) video chips that + are connected via a Net2280-based USB dongle. The driver is not accelerated, but + provides support for colordepths of 8, 16 and 24 bpp as well as Render and other + extensions. +@@ -39,7 +27,7 @@ driver supports USB video cards based on the following chipsets: + The SiS315E/PRO features two CRT controllers. However, in its USB version, only + the first output, referred to as "CRT1", is being used. + .SH CONFIGURATION DETAILS +-Please refer to __myxconfigfile__(__filemansuffix__) for general configuration ++Please refer to __xconfigfile__(__filemansuffix__) for general configuration + details and to sis(__drivermansuffix__) for more information. This manpage only + covers a subset of the supported options. + .PP +@@ -81,11 +69,7 @@ for device reconnection). + .SH "KNOWN BUGS" + none. + .SH "SEE ALSO" +-#ifdef __xservername__ + __xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__), sis(__drivermansuffix__) +-#else +-XFree86(1), XF86Config(__filemansuffix__), xf86config(1), Xserver(1), X(__miscmansuffix__), sis(__drivermansuffix__) +-#endif + .PP + .B "http://www.winischhofer.at/linuxsisvga.shtml" + for more information and updates +diff --git a/src/sisusb.h b/src/sisusb.h +index b9992ac..82ed509 100644 +--- a/src/sisusb.h ++++ b/src/sisusb.h +@@ -113,6 +113,14 @@ + #include <X11/extensions/Xv.h> + #endif + ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 ++#define _swapl(x, n) swapl(x,n) ++#define _swaps(x, n) swaps(x,n) ++#else ++#define _swapl(x, n) swapl(x) ++#define _swaps(x, n) swaps(x) ++#endif ++ + /* Platform/architecture related definitions: */ + + #undef SIS_PC_PLATFORM +@@ -141,7 +149,6 @@ + #define UNLOCK_ALWAYS /* Always unlock the registers (should be set!) */ + + /* Need that for SiSCtrl */ +-#define NEED_REPLIES /* ? */ + #define EXTENSION_PROC_ARGS void * + #include "extnsionst.h" /* required */ + #include <X11/extensions/panoramiXproto.h> /* required */ +@@ -732,7 +739,7 @@ typedef struct { + Bool skipswitchcheck; + ULong VBFlagsInit; + DisplayModePtr currentModeLast; +- IOADDRESS MyPIOOffset; ++ unsigned long MyPIOOffset; + + char messagebuffer[64]; + unsigned int VGAMapSize; /* SiSVGA stuff */ +diff --git a/src/sisusb_dac.c b/src/sisusb_dac.c +index 5e3eb7f..b5c4dce 100644 +--- a/src/sisusb_dac.c ++++ b/src/sisusb_dac.c +@@ -672,7 +672,7 @@ SiSUSBMemCopyToVideoRam(SISUSBPtr pSiSUSB, UChar *to, UChar *from, int size) + int num, retry = 3; + if(pSiSUSB->sisusbfatalerror) return; + do { +- lseek(pSiSUSB->sisusbdev, (int)to, SEEK_SET); ++ lseek(pSiSUSB->sisusbdev, (uintptr_t)to, SEEK_SET); + num = write(pSiSUSB->sisusbdev, from, size); + } while((num != size) && --retry); + if(!retry) SiSLostConnection(pSiSUSB); +@@ -958,7 +958,7 @@ void sisclearvram(SISUSBPtr pSiSUSB, UChar *where, unsigned int howmuch) + if(pSiSUSB->sisusbfatalerror) return; + do { + x.operation = SUCMD_CLRSCR; +- x.data3 = (CARD32)where; ++ x.data3 = (CARD32)(uintptr_t)where; + x.data0 = (howmuch >> 16) & 0xff; + x.data1 = (howmuch >> 8) & 0xff; + x.data2 = howmuch & 0xff; +@@ -990,7 +990,7 @@ void SIS_MMIO_OUT8(SISUSBPtr pSiSUSB, UChar *base, unsigned int offset, CARD8 va + int num, retry = 3; + if(pSiSUSB->sisusbfatalerror) return; + do { +- lseek(pSiSUSB->sisusbdev, (int)base + offset, SEEK_SET); ++ lseek(pSiSUSB->sisusbdev, (uintptr_t)base + offset, SEEK_SET); + num = write(pSiSUSB->sisusbdev, &val, 1); + } while((num != 1) && --retry); + if(!retry) SiSLostConnection(pSiSUSB); +@@ -1002,7 +1002,7 @@ void SIS_MMIO_OUT16(SISUSBPtr pSiSUSB, UChar *base, unsigned int offset, CARD16 + CARD16 buf = sisusb_cpu_to_le16(val); + if(pSiSUSB->sisusbfatalerror) return; + do { +- lseek(pSiSUSB->sisusbdev, (int)base + offset, SEEK_SET); ++ lseek(pSiSUSB->sisusbdev, (uintptr_t)base + offset, SEEK_SET); + num = write(pSiSUSB->sisusbdev, &buf, 2); + } while((num != 2) && --retry); + if(!retry) SiSLostConnection(pSiSUSB); +@@ -1014,7 +1014,7 @@ void SIS_MMIO_OUT32(SISUSBPtr pSiSUSB, UChar *base, unsigned int offset, CARD32 + CARD32 buf = sisusb_cpu_to_le32(val); + if(pSiSUSB->sisusbfatalerror) return; + do { +- lseek(pSiSUSB->sisusbdev, (int)base + offset, SEEK_SET); ++ lseek(pSiSUSB->sisusbdev, (uintptr_t)base + offset, SEEK_SET); + num = write(pSiSUSB->sisusbdev, &buf, 4); + } while((num != 4) && --retry); + if(!retry) SiSLostConnection(pSiSUSB); +@@ -1026,7 +1026,7 @@ CARD8 SIS_MMIO_IN8(SISUSBPtr pSiSUSB, UChar *base, unsigned int offset) + CARD8 tmp; + if(pSiSUSB->sisusbfatalerror) return 0; + do { +- lseek(pSiSUSB->sisusbdev, (int)base + offset, SEEK_SET); ++ lseek(pSiSUSB->sisusbdev, (uintptr_t)base + offset, SEEK_SET); + num = read(pSiSUSB->sisusbdev, &tmp, 1); + } while((num != 1) && --retry); + if(!retry) SiSLostConnection(pSiSUSB); +@@ -1039,7 +1039,7 @@ CARD16 SIS_MMIO_IN16(SISUSBPtr pSiSUSB, UChar *base, unsigned int offset) + CARD16 tmp; + if(pSiSUSB->sisusbfatalerror) return 0; + do { +- lseek(pSiSUSB->sisusbdev, (int)base + offset, SEEK_SET); ++ lseek(pSiSUSB->sisusbdev, (uintptr_t)base + offset, SEEK_SET); + num = read(pSiSUSB->sisusbdev, &tmp, 2); + } while((num != 2) && --retry); + if(!retry) SiSLostConnection(pSiSUSB); +@@ -1052,7 +1052,7 @@ CARD32 SIS_MMIO_IN32(SISUSBPtr pSiSUSB, UChar *base, unsigned int offset) + CARD32 tmp; + if(pSiSUSB->sisusbfatalerror) return 0; + do { +- lseek(pSiSUSB->sisusbdev, (int)base + offset, SEEK_SET); ++ lseek(pSiSUSB->sisusbdev, (uintptr_t)base + offset, SEEK_SET); + num = read(pSiSUSB->sisusbdev, &tmp, 4); + } while((num != 4) && --retry); + if(!retry) SiSLostConnection(pSiSUSB); +diff --git a/src/sisusb_driver.c b/src/sisusb_driver.c +index 8ba2c33..032225c 100644 +--- a/src/sisusb_driver.c ++++ b/src/sisusb_driver.c +@@ -186,12 +186,12 @@ SISUSBFreeRec(ScrnInfoPtr pScrn) + /* Just to make sure... */ + if(!pSiSUSB) return; + +- if(pSiSUSB->pstate) xfree(pSiSUSB->pstate); ++ if(pSiSUSB->pstate) free(pSiSUSB->pstate); + pSiSUSB->pstate = NULL; +- if(pSiSUSB->fonts) xfree(pSiSUSB->fonts); ++ if(pSiSUSB->fonts) free(pSiSUSB->fonts); + pSiSUSB->fonts = NULL; + +- if(pSiSUSB->SiS_Pr) xfree(pSiSUSB->SiS_Pr); ++ if(pSiSUSB->SiS_Pr) free(pSiSUSB->SiS_Pr); + pSiSUSB->SiS_Pr = NULL; + + if(pSiSUSB->sisusbdevopen) { +@@ -200,12 +200,12 @@ SISUSBFreeRec(ScrnInfoPtr pScrn) + } + + if(pScrn->chipset) { +- xfree(pScrn->chipset); ++ free(pScrn->chipset); + pScrn->chipset = NULL; + } + + if(pScrn->driverPrivate) { +- xfree(pScrn->driverPrivate); ++ free(pScrn->driverPrivate); + pScrn->driverPrivate = NULL; + } + } +@@ -217,14 +217,14 @@ SISUSBErrorLog(ScrnInfoPtr pScrn, const char *format, ...) + static const char *str = "**************************************************\n"; + + va_start(ap, format); +- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str); ++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "%s", str); + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + " ERROR:\n"); + xf86VDrvMsgVerb(pScrn->scrnIndex, X_ERROR, 1, format, ap); + va_end(ap); + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + " END OF MESSAGE\n"); +- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str); ++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "%s", str); + } + + static int +@@ -248,7 +248,7 @@ SiSUSBCheckForUSBDongle(char *filename, SISUSBPtr pSiSUSB, int *filehandle) + + if((myfile = open(filename, O_RDWR, 0)) != -1) { + if(!ioctl(myfile, SISUSB_GET_CONFIG_SIZE, &sisusbinfosize)) { +- if((mysisusbinfo = xalloc(sisusbinfosize))) { ++ if((mysisusbinfo = malloc(sisusbinfosize))) { + if(!ioctl(myfile, (SISUSB_GET_CONFIG | (sisusbinfosize << 16)), mysisusbinfo)) { + if(mysisusbinfo->sisusb_id == SISUSB_ID) { + sisusbversion = (mysisusbinfo->sisusb_version << 16) | +@@ -280,7 +280,7 @@ SiSUSBCheckForUSBDongle(char *filename, SISUSBPtr pSiSUSB, int *filehandle) + retval = mysisusbinfo->sisusb_minor; + } + } +- xfree(mysisusbinfo); ++ free(mysisusbinfo); + mysisusbinfo = NULL; + } + } +@@ -307,13 +307,13 @@ SiSUSBFindUSBDongle(GDevPtr dev, int *minorArray, int numDevSections, char **nam + } + if((p) && (*p) && (*p == '/')) { + gotdev = 1; +- *nameptr = xalloc(strlen(p) + 1); ++ *nameptr = malloc(strlen(p) + 1); + strcpy(*nameptr, p); + retval = SiSUSBCheckForUSBDongle(*nameptr, NULL, NULL); + } else if((p) && (*p) && (sscanf(p, "%d", &i) == 1)) { + if(i >= 0 && i <= 31) { + gotdev = 1; +- *nameptr = xalloc(32); ++ *nameptr = malloc(32); + sprintf(*nameptr, "/dev/sisusbvga%d", i); + retval = SiSUSBCheckForUSBDongle(*nameptr, NULL, NULL); + if(retval < 0) { +@@ -324,7 +324,7 @@ SiSUSBFindUSBDongle(GDevPtr dev, int *minorArray, int numDevSections, char **nam + } + } + if(!gotdev) { +- *nameptr = xalloc(32); ++ *nameptr = malloc(32); + for(i = 0; i < 64; i++) { + if(i < 32) sprintf(*nameptr, "/dev/sisusbvga%d", i); + else sprintf(*nameptr, "/dev/usb/sisusbvga%d", i); +@@ -338,7 +338,7 @@ SiSUSBFindUSBDongle(GDevPtr dev, int *minorArray, int numDevSections, char **nam + if(retval >= 0) { + xf86Msg(X_INFO, "Found SiSUSB dongle (node %s, minor %d)\n", *nameptr, retval); + } else if((*nameptr)) { +- xfree(*nameptr); ++ free(*nameptr); + *nameptr = NULL; + } + +@@ -401,14 +401,14 @@ SISUSBProbe(DriverPtr drv, int flags) + */ + + /* Allocate and initialize an array of ints for storing the minors */ +- if(!(minorArray = (int *)xalloc(numDevSections * sizeof(int)))) { ++ if(!(minorArray = (int *)malloc(numDevSections * sizeof(int)))) { + return FALSE; + } + for(i = 0; i < numDevSections; i++) minorArray[i] = -1; + + /* Allocate an array of char ptrs for storing the device node names */ +- if(!(devnameArray = (char **)xalloc(numDevSections * sizeof(char *)))) { +- xfree(minorArray); ++ if(!(devnameArray = (char **)malloc(numDevSections * sizeof(char *)))) { ++ free(minorArray); + return FALSE; + } + +@@ -420,20 +420,20 @@ SISUSBProbe(DriverPtr drv, int flags) + if((myminor = SiSUSBFindUSBDongle(devSections[i], minorArray, numDevSections, &nameptr)) >= 0) { + if(!SiSUSBFindDuplicate(myminor, minorArray, numDevSections)) { + minorArray[numUsed] = myminor; +- devnameArray[numUsed] = xalloc(strlen(nameptr) + 1); ++ devnameArray[numUsed] = malloc(strlen(nameptr) + 1); + strcpy(devnameArray[numUsed], nameptr); + numUsed++; + } +- xfree(nameptr); ++ free(nameptr); + } + } + + /* Free the minor array, we don't need it anymore */ +- xfree(minorArray); ++ free(minorArray); + + if(numUsed <= 0) { +- xfree(devSections); +- xfree(devnameArray); ++ free(devSections); ++ free(devnameArray); + return FALSE; + } + +@@ -470,8 +470,8 @@ SISUSBProbe(DriverPtr drv, int flags) + + } + +- xfree(devSections); +- xfree(devnameArray); ++ free(devSections); ++ free(devnameArray); + return foundScreen; + } + +@@ -622,10 +622,10 @@ SISUSBCalculateGammaRamp(ScreenPtr pScreen, ScrnInfoPtr pScrn) + if(!(nramp = xf86GetGammaRampSize(pScreen))) return; + + for(i=0; i<3; i++) { +- ramp[i] = (UShort *)xalloc(nramp * sizeof(UShort)); ++ ramp[i] = (UShort *)malloc(nramp * sizeof(UShort)); + if(!ramp[i]) { +- if(ramp[0]) { xfree(ramp[0]); ramp[0] = NULL; } +- if(ramp[1]) { xfree(ramp[1]); ramp[1] = NULL; } ++ if(ramp[0]) { free(ramp[0]); ramp[0] = NULL; } ++ if(ramp[1]) { free(ramp[1]); ramp[1] = NULL; } + return; + } + } +@@ -685,9 +685,9 @@ SISUSBCalculateGammaRamp(ScreenPtr pScreen, ScrnInfoPtr pScrn) + + xf86ChangeGammaRamp(pScreen, nramp, ramp[0], ramp[1], ramp[2]); + +- xfree(ramp[0]); +- xfree(ramp[1]); +- xfree(ramp[2]); ++ free(ramp[0]); ++ free(ramp[1]); ++ free(ramp[2]); + ramp[0] = ramp[1] = ramp[2] = NULL; + } + #endif +@@ -906,11 +906,11 @@ SISUSBPreInit(ScrnInfoPtr pScrn, int flags) + Bool gotit = FALSE; + + if(!ioctl(fd, SISUSBFB_GET_INFO_SIZE, &sisfbinfosize)) { +- if((mysisfbinfo = xalloc(sisfbinfosize))) { ++ if((mysisfbinfo = malloc(sisfbinfosize))) { + if(!ioctl(fd, (SISUSBFB_GET_INFO | (sisfbinfosize << 16)), mysisfbinfo)) { + gotit = TRUE; + } else { +- xfree(mysisfbinfo); ++ free(mysisfbinfo); + mysisfbinfo = NULL; + } + } +@@ -944,7 +944,7 @@ SISUSBPreInit(ScrnInfoPtr pScrn, int flags) + + } + } +- xfree(mysisfbinfo); ++ free(mysisfbinfo); + mysisfbinfo = NULL; + } + close (fd); +@@ -1147,7 +1147,7 @@ SISUSBPreInit(ScrnInfoPtr pScrn, int flags) + #endif + + if(pSiSUSB->HWCursor) { +- if(!(pSiSUSB->USBCursorBuf = xcalloc(pSiSUSB->CursorSize * 4, 1))) pSiSUSB->HWCursor = FALSE; ++ if(!(pSiSUSB->USBCursorBuf = calloc(pSiSUSB->CursorSize * 4, 1))) pSiSUSB->HWCursor = FALSE; + + pSiSUSB->availMem -= (pSiSUSB->CursorSize * 2); + if(pSiSUSB->OptUseColorCursor) pSiSUSB->availMem -= (pSiSUSB->CursorSize * 2); +@@ -1456,8 +1456,8 @@ SISUSBMapMem(ScrnInfoPtr pScrn) + { + SISUSBPtr pSiSUSB = SISUSBPTR(pScrn); + +- pSiSUSB->FbBase = (UChar *)pSiSUSB->FbAddress; +- pSiSUSB->IOBase = (UChar *)pSiSUSB->IOAddress; ++ pSiSUSB->FbBase = (UChar *)(uintptr_t)pSiSUSB->FbAddress; ++ pSiSUSB->IOBase = (UChar *)(uintptr_t)pSiSUSB->IOAddress; + + return TRUE; + } +@@ -1811,7 +1811,7 @@ SISUSBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + + if(pSiSUSB->ShadowFB) { + pSiSUSB->ShadowPitch = BitmapBytePad(pScrn->bitsPerPixel * displayWidth); +- pSiSUSB->ShadowPtr = xalloc(pSiSUSB->ShadowPitch * height); ++ pSiSUSB->ShadowPtr = malloc(pSiSUSB->ShadowPitch * height); + if(!(FBStart = pSiSUSB->ShadowPtr)) { + SISUSBSaveScreen(pScreen, SCREEN_SAVER_OFF); + SISUSBErrorLog(pScrn, "Failed to allocate shadow framebuffer\n"); +@@ -1820,7 +1820,7 @@ SISUSBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + #if X_BYTE_ORDER == X_BIG_ENDIAN + if(pScrn->bitsPerPixel == 16) { + /* For 16bpp, we need to swap the bytes in the framebuffer */ +- if(!(pSiSUSB->ShadowPtrSwap = xalloc(pSiSUSB->ShadowPitch * height))) { ++ if(!(pSiSUSB->ShadowPtrSwap = malloc(pSiSUSB->ShadowPitch * height))) { + SISUSBSaveScreen(pScreen, SCREEN_SAVER_OFF); + SISUSBErrorLog(pScrn, "Failed to allocate swap buffer for shadow framebuffer\n"); + return FALSE; +@@ -2238,24 +2238,24 @@ SISUSBCloseScreen(int scrnIndex, ScreenPtr pScreen) + } + + if(pSiSUSB->USBCursorBuf) { +- xfree(pSiSUSB->USBCursorBuf); ++ free(pSiSUSB->USBCursorBuf); + pSiSUSB->USBCursorBuf = NULL; + } + + if(pSiSUSB->ShadowPtr) { +- xfree(pSiSUSB->ShadowPtr); ++ free(pSiSUSB->ShadowPtr); + pSiSUSB->ShadowPtr = NULL; + } + + #if 0 + if(pSiSUSB->PreAllocMem) { +- xfree(pSiSUSB->PreAllocMem); ++ free(pSiSUSB->PreAllocMem); + pSiSUSB->PreAllocMem = NULL; + } + #endif + + if(pSiSUSB->adaptor) { +- xfree(pSiSUSB->adaptor); ++ free(pSiSUSB->adaptor); + pSiSUSB->adaptor = NULL; + pSiSUSB->ResetXv = pSiSUSB->ResetXvGamma = NULL; + } +diff --git a/src/sisusb_init.c b/src/sisusb_init.c +index ba44431..99ec519 100644 +--- a/src/sisusb_init.c ++++ b/src/sisusb_init.c +@@ -1301,10 +1301,10 @@ SiSUSBBuildBuiltInModeList(ScrnInfoPtr pScrn, BOOLEAN includelcdmodes, BOOLEAN i + } + } + +- if(!(new = xalloc(sizeof(DisplayModeRec)))) return first; ++ if(!(new = malloc(sizeof(DisplayModeRec)))) return first; + memset(new, 0, sizeof(DisplayModeRec)); +- if(!(new->name = xalloc(10))) { +- xfree(new); ++ if(!(new->name = malloc(10))) { ++ free(new); + return first; + } + if(!first) first = new; +diff --git a/src/sisusb_opt.c b/src/sisusb_opt.c +index d4612b0..4d5cfa3 100644 +--- a/src/sisusb_opt.c ++++ b/src/sisusb_opt.c +@@ -228,7 +228,7 @@ SiSUSBOptions(ScrnInfoPtr pScrn) + xf86CollectOptions(pScrn, NULL); + + /* Process the options */ +- if(!(pSiSUSB->Options = xalloc(sizeof(SISUSBOptions)))) return; ++ if(!(pSiSUSB->Options = malloc(sizeof(SISUSBOptions)))) return; + + memcpy(pSiSUSB->Options, SISUSBOptions, sizeof(SISUSBOptions)); + +diff --git a/src/sisusb_osdef.h b/src/sisusb_osdef.h +index 2d938ad..500bffb 100644 +--- a/src/sisusb_osdef.h ++++ b/src/sisusb_osdef.h +@@ -77,11 +77,11 @@ + + #define SIS315H + +-#define OutPortByte(p,v) outSISREG((IOADDRESS)(p),(CARD8)(v)) +-#define OutPortWord(p,v) outSISREGW((IOADDRESS)(p),(CARD16)(v)) +-#define OutPortLong(p,v) outSISREGL((IOADDRESS)(p),(CARD32)(v)) +-#define InPortByte(p) inSISREG((IOADDRESS)(p)) +-#define InPortWord(p) inSISREGW((IOADDRESS)(p)) +-#define InPortLong(p) inSISREGL((IOADDRESS)(p)) ++#define OutPortByte(p,v) outSISREG((unsigned long)(p),(CARD8)(v)) ++#define OutPortWord(p,v) outSISREGW((unsigned long)(p),(CARD16)(v)) ++#define OutPortLong(p,v) outSISREGL((unsigned long)(p),(CARD32)(v)) ++#define InPortByte(p) inSISREG((unsigned long)(p)) ++#define InPortWord(p) inSISREGW((unsigned long)(p)) ++#define InPortLong(p) inSISREGL((unsigned long)(p)) + + #endif /* _SISUSB_OSDEF_H_ */ +diff --git a/src/sisusb_types.h b/src/sisusb_types.h +index 04c7a7a..9fc6b41 100644 +--- a/src/sisusb_types.h ++++ b/src/sisusb_types.h +@@ -51,6 +51,8 @@ + #ifndef _VGATYPES_ + #define _VGATYPES_ + ++#include <xf86Pci.h> ++ + #ifndef FALSE + #define FALSE 0 + #endif +@@ -93,7 +95,7 @@ typedef unsigned char BOOLEAN; + + #define SISIOMEMTYPE + +-typedef IOADDRESS SISIOADDRESS; ++typedef unsigned long SISIOADDRESS; + + typedef enum _SIS_CHIP_TYPE { + SIS_VGALegacy = 0, +diff --git a/src/sisusb_utility.c b/src/sisusb_utility.c +index 8c03d63..a9c1ee1 100644 +--- a/src/sisusb_utility.c ++++ b/src/sisusb_utility.c +@@ -34,8 +34,6 @@ + #endif + + #include "sisusb.h" +-#define NEED_REPLIES +-#define NEED_EVENTS + #include <X11/X.h> + #include "dixstruct.h" + +@@ -789,10 +787,10 @@ SiSUSBProcSiSCtrlQueryVersion(ClientPtr client) + rep.majorVersion = SISCTRL_MAJOR_VERSION; + rep.minorVersion = SISCTRL_MINOR_VERSION; + if(client->swapped) { +- swaps(&rep.sequenceNumber, n); +- swapl(&rep.length, n); +- swaps(&rep.majorVersion, n); +- swaps(&rep.minorVersion, n); ++ _swaps(&rep.sequenceNumber, n); ++ _swapl(&rep.length, n); ++ _swaps(&rep.majorVersion, n); ++ _swaps(&rep.minorVersion, n); + } + WriteToClient(client, sizeof(xSiSCtrlQueryVersionReply), (char *)&rep); + return (client->noClientException); +@@ -834,15 +832,15 @@ SiSUSBProcSiSCtrlCommand(ClientPtr client) + rep.sequenceNumber = client->sequence; + + if(client->swapped) { +- swaps(&rep.sequenceNumber, n); +- swapl(&rep.length, n); +- swapl(&rep.screen, n); +- swapl(&rep.sdc_id, n); +- swapl(&rep.sdc_command, n); +- swapl(&rep.sdc_result_header, n); ++ _swaps(&rep.sequenceNumber, n); ++ _swapl(&rep.length, n); ++ _swapl(&rep.screen, n); ++ _swapl(&rep.sdc_id, n); ++ _swapl(&rep.sdc_command, n); ++ _swapl(&rep.sdc_result_header, n); + for(i = 0; i < SDC_NUM_PARM_RESULT; i++) { +- swapl(&rep.sdc_parm[i], n); +- swapl(&rep.sdc_result[i], n); ++ _swapl(&rep.sdc_parm[i], n); ++ _swapl(&rep.sdc_result[i], n); + } + } + WriteToClient(client, sizeof(xSiSCtrlCommandReply), (char *)&rep); +@@ -869,7 +867,7 @@ SiSUSBSProcSiSCtrlQueryVersion(ClientPtr client) + { + REQUEST(xSiSCtrlQueryVersionReq); + register int n; +- swaps(&stuff->length, n); ++ _swaps(&stuff->length, n); + REQUEST_SIZE_MATCH(xSiSCtrlQueryVersionReq); + return SiSUSBProcSiSCtrlQueryVersion(client); + } +@@ -880,14 +878,14 @@ SiSUSBSProcSiSCtrlCommand(ClientPtr client) + REQUEST(xSiSCtrlCommandReq); + register int n; + int i; +- swaps(&stuff->length, n); +- swapl(&stuff->screen, n); +- swapl(&stuff->sdc_id, n); +- swapl(&stuff->sdc_command, n); +- swapl(&stuff->sdc_result_header, n); ++ _swaps(&stuff->length, n); ++ _swapl(&stuff->screen, n); ++ _swapl(&stuff->sdc_id, n); ++ _swapl(&stuff->sdc_command, n); ++ _swapl(&stuff->sdc_result_header, n); + for(i = 0; i < SDC_NUM_PARM_RESULT; i++) { +- swapl(&stuff->sdc_parm[i], n); +- swapl(&stuff->sdc_result[i], n); ++ _swapl(&stuff->sdc_parm[i], n); ++ _swapl(&stuff->sdc_result[i], n); + } + REQUEST_SIZE_MATCH(xSiSCtrlCommandReq); + return SiSUSBProcSiSCtrlCommand(client); +@@ -911,7 +909,7 @@ SiSUSBCtrlResetProc(ExtensionEntry* extEntry) + { + /* Called by CloseDownExtensions() */ + if(extEntry->extPrivate) { +- xfree(extEntry->extPrivate); ++ free(extEntry->extPrivate); + extEntry->extPrivate = NULL; + } + } +@@ -928,7 +926,7 @@ SiSUSBCtrlExtInit(ScrnInfoPtr pScrn) + + if(!(myext = CheckExtension(SISCTRL_PROTOCOL_NAME))) { + +- if(!(myctrl = xcalloc(sizeof(xSiSCtrlScreenTable), 1))) ++ if(!(myctrl = calloc(sizeof(xSiSCtrlScreenTable), 1))) + return; + + if(!(myext = AddExtension(SISCTRL_PROTOCOL_NAME, 0, 0, +@@ -938,7 +936,7 @@ SiSUSBCtrlExtInit(ScrnInfoPtr pScrn) + StandardMinorOpcode))) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "Failed to add SISCTRL extension\n"); +- xfree(myctrl); ++ free(myctrl); + return; + } + +diff --git a/src/sisusb_video.c b/src/sisusb_video.c +index bc469b0..1dbf4f1 100644 +--- a/src/sisusb_video.c ++++ b/src/sisusb_video.c +@@ -216,7 +216,7 @@ void SISUSBInitVideo(ScreenPtr pScreen) + + if(newAdaptor) size++; + +- newAdaptors = xalloc(size * sizeof(XF86VideoAdaptorPtr*)); ++ newAdaptors = malloc(size * sizeof(XF86VideoAdaptorPtr*)); + if(newAdaptors) { + if(num_adaptors) { + memcpy(newAdaptors, adaptors, num_adaptors * sizeof(XF86VideoAdaptorPtr)); +@@ -234,7 +234,7 @@ void SISUSBInitVideo(ScreenPtr pScreen) + } + + if(newAdaptors) { +- xfree(newAdaptors); ++ free(newAdaptors); + } + } + +@@ -377,7 +377,7 @@ SISUSBSetupImageVideo(ScreenPtr pScreen) + XF86VideoAdaptorPtr adapt; + SISUSBPortPrivPtr pPriv; + +- if(!(adapt = xcalloc(1, sizeof(XF86VideoAdaptorRec) + ++ if(!(adapt = calloc(1, sizeof(XF86VideoAdaptorRec) + + sizeof(SISUSBPortPrivRec) + + sizeof(DevUnion)))) + return NULL; diff --git a/extra/xf86-video-tdfx/PKGBUILD b/extra/xf86-video-tdfx/PKGBUILD index 1d8a6948b..ecbb31fcb 100644 --- a/extra/xf86-video-tdfx/PKGBUILD +++ b/extra/xf86-video-tdfx/PKGBUILD @@ -1,28 +1,34 @@ -# $Id: PKGBUILD 140298 2011-10-11 21:28:35Z jgc $ +# $Id: PKGBUILD 153372 2012-03-12 20:54:36Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-tdfx pkgver=1.4.3 -pkgrel=7 +pkgrel=8 +_gitver=a985b54c8559d7ff8f5481004d54989ed7499237 pkgdesc="X.org tdfx video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') -depends=('glibc' 'tdfx-dri') -makedepends=('xorg-server-devel>=1.10.99.902' 'libdrm' 'xf86driproto' 'mesa' 'glproto') -conflicts=('xorg-server<1.10.99.902') +depends=('glibc') +makedepends=('xorg-server-devel>=1.11.99.903' 'libdrm' 'xf86driproto' 'mesa>=8.0') # 'glproto') +conflicts=('xorg-server<1.11.99.902') options=(!libtool) groups=('xorg-drivers' 'xorg') -source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 - copyright.patch) -md5sums=('8161bbf2b100c21b609163f0010766b3' - 'a3be7ac534ceb846d3f155ddbe14378f') +source=(#${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 + http://cgit.freedesktop.org/xorg/driver/xf86-video-tdfx/snapshot/xf86-video-tdfx-${_gitver}.tar.gz) +sha1sums=('01c13cdec926c1aaa9c8c8855995c6cc38149ab2') build() { - cd "${srcdir}/${pkgname}-${pkgver}" - patch -Np1 -i "${srcdir}/copyright.patch" - ./configure --prefix=/usr --enable-dri + #cd "${srcdir}/${pkgname}-${pkgver}" + cd ${srcdir}/${pkgname}* + autoreconf -fi + ./configure --prefix=/usr #--enable-dri make +} + +package() { + #cd "${srcdir}/${pkgname}-${pkgver}" + cd ${srcdir}/${pkgname}* make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" diff --git a/extra/xf86-video-trident/PKGBUILD b/extra/xf86-video-trident/PKGBUILD index f7d60ed27..c8551a0f9 100644 --- a/extra/xf86-video-trident/PKGBUILD +++ b/extra/xf86-video-trident/PKGBUILD @@ -1,25 +1,32 @@ -# $Id: PKGBUILD 140296 2011-10-11 21:28:33Z jgc $ +# $Id: PKGBUILD 153374 2012-03-12 20:54:43Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-trident pkgver=1.3.4 -pkgrel=5 +pkgrel=6 pkgdesc="X.org Trident video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel>=1.10.99.902' 'xf86dgaproto') -conflicts=('xorg-server<1.10.99.902') +makedepends=('xorg-server-devel>=1.11.99.903' 'xf86dgaproto') +conflicts=('xorg-server<1.11.99.903') groups=('xorg-drivers' 'xorg') options=(!libtool) -source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) -sha1sums=('7c40f5c02bddf399862782b708941e79302318af') +source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 + trident-1.3.4-git.patch) +sha1sums=('7c40f5c02bddf399862782b708941e79302318af' + 'cba17aad6cf2f051d89e65ffe26242ed62ea4454') build() { cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i ${srcdir}/trident-1.3.4-git.patch ./configure --prefix=/usr make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" diff --git a/extra/xf86-video-trident/trident-1.3.4-git.patch b/extra/xf86-video-trident/trident-1.3.4-git.patch new file mode 100644 index 000000000..4e0cc27b2 --- /dev/null +++ b/extra/xf86-video-trident/trident-1.3.4-git.patch @@ -0,0 +1,523 @@ +diff --git a/configure.ac b/configure.ac +index be54427..0fc2066 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -20,47 +20,47 @@ + # + # Process this file with autoconf to produce a configure script + +-AC_PREREQ(2.57) ++# Initialize Autoconf ++AC_PREREQ([2.60]) + AC_INIT([xf86-video-trident], +- 1.3.4, ++ [1.3.4], + [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], +- xf86-video-trident) +- ++ [xf86-video-trident]) + AC_CONFIG_SRCDIR([Makefile.am]) +-AM_CONFIG_HEADER([config.h]) ++AC_CONFIG_HEADERS([config.h]) + AC_CONFIG_AUX_DIR(.) + ++# Initialize Automake + AM_INIT_AUTOMAKE([foreign dist-bzip2]) +- + AM_MAINTAINER_MODE + +-# Require xorg-macros: XORG_DEFAULT_OPTIONS ++# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS + m4_ifndef([XORG_MACROS_VERSION], +- [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])]) +-XORG_MACROS_VERSION(1.3) ++ [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])]) ++XORG_MACROS_VERSION(1.8) + XORG_DEFAULT_OPTIONS + +-# Checks for programs. ++# Initialize libtool + AC_DISABLE_STATIC + AC_PROG_LIBTOOL +-AC_PROG_CC + + AH_TOP([#include "xorg-server.h"]) + ++# Define a configure option for an alternate module directory + AC_ARG_WITH(xorg-module-dir, +- AC_HELP_STRING([--with-xorg-module-dir=DIR], ++ AS_HELP_STRING([--with-xorg-module-dir=DIR], + [Default xorg module directory [[default=$libdir/xorg/modules]]]), + [moduledir="$withval"], + [moduledir="$libdir/xorg/modules"]) + +-# Checks for extensions ++# Store the list of server defined optional extensions in REQUIRED_MODULES + XORG_DRIVER_CHECK_EXT(RANDR, randrproto) + XORG_DRIVER_CHECK_EXT(RENDER, renderproto) + XORG_DRIVER_CHECK_EXT(XV, videoproto) + XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto) + XORG_DRIVER_CHECK_EXT(XFreeXDGA, xf86dgaproto) + +-# Checks for pkg-config packages ++# Obtain compiler/linker options for the driver dependencies + PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901 xproto fontsproto $REQUIRED_MODULES]) + PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1], + HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]), +@@ -90,17 +90,14 @@ AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes) + + # Checks for libraries. + +-# Checks for header files. +-AC_HEADER_STDC +- +-AC_SUBST([XORG_CFLAGS]) + AC_SUBST([moduledir]) + + DRIVER_NAME=trident + AC_SUBST([DRIVER_NAME]) + +-AC_OUTPUT([ +- Makefile +- src/Makefile +- man/Makefile ++AC_CONFIG_FILES([ ++ Makefile ++ src/Makefile ++ man/Makefile + ]) ++AC_OUTPUT +diff --git a/man/Makefile.am b/man/Makefile.am +index 8f2454b..b3688ce 100644 +--- a/man/Makefile.am ++++ b/man/Makefile.am +@@ -31,25 +31,11 @@ EXTRA_DIST = @DRIVER_NAME@.man + + CLEANFILES = $(driverman_DATA) + +-SED = sed +- +-# Strings to replace in man pages +-XORGRELSTRING = @PACKAGE_STRING@ +- XORGMANNAME = X Version 11 +- +-MAN_SUBSTS = \ +- -e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \ +- -e 's|__xorgversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \ +- -e 's|__xservername__|Xorg|g' \ +- -e 's|__xconfigfile__|xorg.conf|g' \ +- -e 's|__projectroot__|$(prefix)|g' \ +- -e 's|__appmansuffix__|$(APP_MAN_SUFFIX)|g' \ +- -e 's|__drivermansuffix__|$(DRIVER_MAN_SUFFIX)|g' \ +- -e 's|__adminmansuffix__|$(ADMIN_MAN_SUFFIX)|g' \ +- -e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' \ +- -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g' ++ ++# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure ++ + + SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man + + .man.$(DRIVER_MAN_SUFFIX): +- sed $(MAN_SUBSTS) < $< > $@ ++ $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@ +diff --git a/man/trident.man b/man/trident.man +index 8d04ed0..f461e10 100644 +--- a/man/trident.man ++++ b/man/trident.man +@@ -1,4 +1,3 @@ +-.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident.man,v 1.14 2003/05/29 21:48:09 herrb Exp $ + .\" shorthand for double quote that works everywhere. + .ds q \N'34' + .TH TRIDENT __drivermansuffix__ __vendorversion__ +diff --git a/src/blade_accel_exa.c b/src/blade_accel_exa.c +index 80e3f23..3129623 100644 +--- a/src/blade_accel_exa.c ++++ b/src/blade_accel_exa.c +@@ -251,14 +251,6 @@ static void WaitMarker(ScreenPtr pScreen, int marker) + } + } + +-static Bool PrepareAccess(PixmapPtr pPix, int index) +-{ +-} +- +-static void FinishAccess(PixmapPtr pPix, int index) +-{ +-} +- + static void BladeInitializeAccelerator(ScrnInfoPtr pScrn) + { + TRIDENTPtr pTrident = TRIDENTPTR(pScrn); +diff --git a/src/trident.h b/src/trident.h +index c15d39c..a28c9fc 100644 +--- a/src/trident.h ++++ b/src/trident.h +@@ -70,7 +70,7 @@ typedef struct { + typedef struct { + ScrnInfoPtr pScrn; + pciVideoPtr PciInfo; +- PCITAG PciTag; ++ uint32_t PciTag; + EntityInfoPtr pEnt; + ExaDriverPtr EXADriverPtr; + int useEXA; +@@ -85,7 +85,7 @@ typedef struct { + unsigned char * IOBase; + unsigned char * FbBase; + long FbMapSize; +- IOADDRESS PIOBase; ++ unsigned long PIOBase; + Bool NoAccel; + Bool HWCursor; + Bool UsePCIRetry; +diff --git a/src/trident_dga.c b/src/trident_dga.c +index 78fa8f4..dd836a6 100644 +--- a/src/trident_dga.c ++++ b/src/trident_dga.c +@@ -83,15 +83,15 @@ TRIDENTDGAInit(ScreenPtr pScreen) + while(pMode) { + + if(0 /*pScrn->displayWidth != pMode->HDisplay*/) { +- newmodes = xrealloc(modes, (num + 2) * sizeof(DGAModeRec)); ++ newmodes = realloc(modes, (num + 2) * sizeof(DGAModeRec)); + oneMore = TRUE; + } else { +- newmodes = xrealloc(modes, (num + 1) * sizeof(DGAModeRec)); ++ newmodes = realloc(modes, (num + 1) * sizeof(DGAModeRec)); + oneMore = FALSE; + } + + if(!newmodes) { +- xfree(modes); ++ free(modes); + return FALSE; + } + modes = newmodes; +diff --git a/src/trident_driver.c b/src/trident_driver.c +index 31cbb83..472c9b7 100644 +--- a/src/trident_driver.c ++++ b/src/trident_driver.c +@@ -63,7 +63,7 @@ + + #ifdef XFreeXDGA + #define _XF86DGA_SERVER_ +-#include <X11/extensions/xf86dgastr.h> ++#include <X11/extensions/xf86dgaproto.h> + #endif + + #include "globals.h" +@@ -560,7 +560,7 @@ TRIDENTFreeRec(ScrnInfoPtr pScrn) + { + if (pScrn->driverPrivate == NULL) + return; +- xfree(pScrn->driverPrivate); ++ free(pScrn->driverPrivate); + pScrn->driverPrivate = NULL; + } + +@@ -900,7 +900,7 @@ TRIDENTProbe(DriverPtr drv, int flags) + foundScreen = TRUE; + } + } +- xfree(usedChips); ++ free(usedChips); + } + } + +@@ -933,11 +933,11 @@ TRIDENTProbe(DriverPtr drv, int flags) + foundScreen = TRUE; + } + } +- xfree(usedChips); ++ free(usedChips); + } + #endif + +- xfree(devSections); ++ free(devSections); + return foundScreen; + } + +@@ -1109,7 +1109,12 @@ TRIDENTPreInit(ScrnInfoPtr pScrn, int flags) + hwp = VGAHWPTR(pScrn); + vgaHWGetIOBase(hwp); + vgaIOBase = hwp->IOBase; ++ ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 + pTrident->PIOBase = hwp->PIOOffset; ++#else ++ pTrident->PIOBase = 0; ++#endif + + #ifndef XSERVER_LIBPCIACCESS + xf86SetOperatingState(resVga, pTrident->pEnt->index, ResUnusedOpr); +@@ -1163,7 +1168,7 @@ TRIDENTPreInit(ScrnInfoPtr pScrn, int flags) + xf86CollectOptions(pScrn, NULL); + + /* Process the options */ +- if (!(pTrident->Options = xalloc(sizeof(TRIDENTOptions)))) ++ if (!(pTrident->Options = malloc(sizeof(TRIDENTOptions)))) + return FALSE; + memcpy(pTrident->Options, TRIDENTOptions, sizeof(TRIDENTOptions)); + xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, pTrident->Options); +@@ -2617,7 +2622,10 @@ TRIDENTModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode) + TRIDENTPtr pTrident = TRIDENTPTR(pScrn); + TRIDENTRegPtr tridentReg; + +- if (!xf86IsPc98()) WAITFORVSYNC; ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 ++ if (!xf86IsPc98()) ++#endif ++ WAITFORVSYNC; + + TridentFindClock(pScrn,mode->Clock); + +@@ -2709,8 +2717,10 @@ TRIDENTModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode) + + vgaHWProtect(pScrn, FALSE); + ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 + if (xf86IsPc98()) + PC98TRIDENTEnable(pScrn); ++#endif + + if (pTrident->TVChipset != 0) + VIA_TVInit(pScrn); +@@ -2782,7 +2792,10 @@ TRIDENTScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + if (!TRIDENTMapMem(pScrn)) + return FALSE; + +- if (!xf86IsPc98()) { ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 ++ if (!xf86IsPc98()) ++#endif ++ { + #ifdef VBE_INFO + if (pTrident->vbeModes) { + pTrident->pVbe = VBEInit(NULL,pTrident->pEnt->index); +@@ -2796,7 +2809,7 @@ TRIDENTScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + } + } + } +- ++ + hwp = VGAHWPTR(pScrn); + + if (IsPciCard && UseMMIO) { +@@ -2813,9 +2826,12 @@ TRIDENTScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + * Some Trident chip on PC-9821 needs setup, + * because VGA chip is not initialized by VGA BIOS. + */ ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 + if (IsPciCard && xf86IsPc98()) { + PC98TRIDENTInit(pScrn); +- } else tridentSetModeBIOS(pScrn,pScrn->currentMode); ++ } else ++#endif ++ tridentSetModeBIOS(pScrn,pScrn->currentMode); + + /* Initialise the first mode */ + if (!TRIDENTModeInit(pScrn, pScrn->currentMode)) +@@ -2868,7 +2884,7 @@ TRIDENTScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + + if(pTrident->ShadowFB) { + pTrident->ShadowPitch = BitmapBytePad(pScrn->bitsPerPixel * width); +- pTrident->ShadowPtr = xalloc(pTrident->ShadowPitch * height); ++ pTrident->ShadowPtr = malloc(pTrident->ShadowPitch * height); + displayWidth = pTrident->ShadowPitch / (pScrn->bitsPerPixel >> 3); + FBStart = pTrident->ShadowPtr; + } else { +@@ -2958,7 +2974,7 @@ TRIDENTScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + (miBankProcPtr)TVGA8900SetReadWrite; + if (!miInitializeBanking(pScreen, pScrn->virtualX, pScrn->virtualY, + pScrn->displayWidth, pBankInfo)) { +- xfree(pBankInfo); ++ free(pBankInfo); + pBankInfo = NULL; + if (pTrident->pVbe) + vbeFree(pTrident->pVbe); +@@ -3200,8 +3216,10 @@ TRIDENTLeaveVT(int scrnIndex, int flags) + TRIDENTRestore(pScrn); + vgaHWLock(hwp); + ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 + if (xf86IsPc98()) + PC98TRIDENTDisable(pScrn); ++#endif + + if (IsPciCard && UseMMIO) TRIDENTDisableMMIO(pScrn); + } +@@ -3225,28 +3243,31 @@ TRIDENTCloseScreen(int scrnIndex, ScreenPtr pScreen) + pTrident->AccelInfoRec->Sync(pScrn); + else if (!pTrident->NoAccel && pTrident->useEXA) + pTrident->EXADriverPtr->WaitMarker(pScreen, 0); +- ++ ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 + if (xf86IsPc98()) + PC98TRIDENTDisable(pScrn); ++#endif + + TRIDENTRestore(pScrn); + vgaHWLock(hwp); + if (IsPciCard && UseMMIO) TRIDENTDisableMMIO(pScrn); + TRIDENTUnmapMem(pScrn); + } ++ + if (pTrident->AccelInfoRec) + XAADestroyInfoRec(pTrident->AccelInfoRec); + if (pTrident->EXADriverPtr) { + exaDriverFini(pScreen); +- xfree(pTrident->EXADriverPtr); ++ free(pTrident->EXADriverPtr); + pTrident->EXADriverPtr = NULL; + } + if (pTrident->CursorInfoRec) + xf86DestroyCursorInfoRec(pTrident->CursorInfoRec); + if (pTrident->ShadowPtr) +- xfree(pTrident->ShadowPtr); ++ free(pTrident->ShadowPtr); + if (pTrident->DGAModes) +- xfree(pTrident->DGAModes); ++ free(pTrident->DGAModes); + pScrn->vtSema = FALSE; + + if(pTrident->BlockHandler) +@@ -3317,15 +3338,17 @@ static void + TRIDENTEnableMMIO(ScrnInfoPtr pScrn) + { + TRIDENTPtr pTrident = TRIDENTPTR(pScrn); +- IOADDRESS vgaIOBase = pTrident->PIOBase + VGAHWPTR(pScrn)->IOBase; ++ unsigned long vgaIOBase = pTrident->PIOBase + VGAHWPTR(pScrn)->IOBase; + CARD8 temp = 0, protect = 0; + + /* + * Skip MMIO Enable in PC-9821 PCI Trident Card!! + * Because of lack of non PCI VGA port + */ ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 + if (IsPciCard && xf86IsPc98()) + return; ++#endif + + /* Goto New Mode */ + outb(pTrident->PIOBase + 0x3C4, 0x0B); +@@ -3366,8 +3389,10 @@ TRIDENTDisableMMIO(ScrnInfoPtr pScrn) + * Skip MMIO Disable in PC-9821 PCI Trident Card!! + * Because of lack of non PCI VGA port + */ ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 + if (IsPciCard && xf86IsPc98()) + return; ++#endif + + /* Goto New Mode */ + OUTB(0x3C4, 0x0B); temp = INB(0x3C5); +@@ -3395,6 +3420,7 @@ TRIDENTDisableMMIO(ScrnInfoPtr pScrn) + outb(pTrident->PIOBase + 0x3C5, temp); + } + ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 + /* Initialize VGA Block for Trident Chip on PC-98x1 */ + static void + PC98TRIDENTInit(ScrnInfoPtr pScrn) +@@ -3637,7 +3663,7 @@ PC98TRIDENT96xxDisable(ScrnInfoPtr pScrn) + outb(0x6A, 0x06); + outb(0x68, 0x0F); + } +- ++#endif + + /* + * This is a terrible hack! If we are on a notebook in a stretched +diff --git a/src/trident_video.c b/src/trident_video.c +index 0c5497b..0ae1d14 100644 +--- a/src/trident_video.c ++++ b/src/trident_video.c +@@ -125,7 +125,7 @@ void TRIDENTInitVideo(ScreenPtr pScreen) + adaptors = &newAdaptor; + } else { + newAdaptors = /* need to free this someplace */ +- xalloc((num_adaptors + 1) * sizeof(XF86VideoAdaptorPtr*)); ++ malloc((num_adaptors + 1) * sizeof(XF86VideoAdaptorPtr*)); + if(newAdaptors) { + memcpy(newAdaptors, adaptors, num_adaptors * + sizeof(XF86VideoAdaptorPtr)); +@@ -140,7 +140,7 @@ void TRIDENTInitVideo(ScreenPtr pScreen) + xf86XVScreenInit(pScreen, adaptors, num_adaptors); + + if(newAdaptors) +- xfree(newAdaptors); ++ free(newAdaptors); + + if (pTrident->videoFlags) + xf86DrvMsgVerb(pScrn->scrnIndex,X_INFO,3, +@@ -321,7 +321,7 @@ TRIDENTSetupImageVideo(ScreenPtr pScreen) + XF86VideoAdaptorPtr adapt; + TRIDENTPortPrivPtr pPriv; + +- if(!(adapt = xcalloc(1, sizeof(XF86VideoAdaptorRec) + ++ if(!(adapt = calloc(1, sizeof(XF86VideoAdaptorRec) + + sizeof(TRIDENTPortPrivRec) + + sizeof(DevUnion)))) + return NULL; +@@ -978,18 +978,18 @@ TRIDENTAllocateSurface( + surface->width = w; + surface->height = h; + +- if(!(surface->pitches = xalloc(sizeof(int)))) { ++ if(!(surface->pitches = malloc(sizeof(int)))) { + xf86FreeOffscreenLinear(linear); + return BadAlloc; + } +- if(!(surface->offsets = xalloc(sizeof(int)))) { +- xfree(surface->pitches); ++ if(!(surface->offsets = malloc(sizeof(int)))) { ++ free(surface->pitches); + xf86FreeOffscreenLinear(linear); + return BadAlloc; + } +- if(!(pPriv = xalloc(sizeof(OffscreenPrivRec)))) { +- xfree(surface->pitches); +- xfree(surface->offsets); ++ if(!(pPriv = malloc(sizeof(OffscreenPrivRec)))) { ++ free(surface->pitches); ++ free(surface->offsets); + xf86FreeOffscreenLinear(linear); + return BadAlloc; + } +@@ -1034,9 +1034,9 @@ TRIDENTFreeSurface( + if(pPriv->isOn) + TRIDENTStopSurface(surface); + xf86FreeOffscreenLinear(pPriv->linear); +- xfree(surface->pitches); +- xfree(surface->offsets); +- xfree(surface->devPrivate.ptr); ++ free(surface->pitches); ++ free(surface->offsets); ++ free(surface->devPrivate.ptr); + + return Success; + } +@@ -1128,7 +1128,7 @@ TRIDENTInitOffscreenImages(ScreenPtr pScreen) + XF86OffscreenImagePtr offscreenImages; + + /* need to free this someplace */ +- if(!(offscreenImages = xalloc(sizeof(XF86OffscreenImageRec)))) ++ if(!(offscreenImages = malloc(sizeof(XF86OffscreenImageRec)))) + return; + + offscreenImages[0].image = &Images[0]; +@@ -1342,7 +1342,10 @@ WaitForVBlank(ScrnInfoPtr pScrn) + * full vblank has passed. + * - Alan. + */ +- if (!xf86IsPc98()) { ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 ++ if (!xf86IsPc98()) ++#endif ++ { + WAITFORVSYNC; + WAITFORVSYNC; + } diff --git a/extra/xf86-video-tseng/PKGBUILD b/extra/xf86-video-tseng/PKGBUILD index ce88b5e0b..cab1cfcda 100644 --- a/extra/xf86-video-tseng/PKGBUILD +++ b/extra/xf86-video-tseng/PKGBUILD @@ -1,28 +1,32 @@ -# $Id: PKGBUILD 140294 2011-10-11 21:28:31Z jgc $ +# $Id: PKGBUILD 153376 2012-03-12 20:54:48Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-tseng pkgver=1.2.4 -pkgrel=5 +pkgrel=6 pkgdesc="X.org tseng video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel>=1.10.99.902') -conflicts=('xorg-server<1.10.99.902') +makedepends=('xorg-server-devel>=1.11.99.903') +conflicts=('xorg-server<1.11.99.903') groups=('xorg-drivers' 'xorg') options=('!libtool') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 - fix-regression-from-pciaccess-conversion.patch) + tseng-1.2.4-git.patch) sha1sums=('1b45f55657b2c92f30abb0769cae57fca98d93b7' - 'df7660ec18cce3e9f04a7c70f72c75daa947e4a9') + 'd84bb75d62888096da7477b38e8b13f9c23d4e3a') build() { cd "${srcdir}/${pkgname}-${pkgver}" - patch -Np1 -i "${srcdir}/fix-regression-from-pciaccess-conversion.patch" + patch -Np1 -i ${srcdir}/tseng-1.2.4-git.patch ./configure --prefix=/usr make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-tseng/tseng-1.2.4-git.patch b/extra/xf86-video-tseng/tseng-1.2.4-git.patch new file mode 100644 index 000000000..082b2cb0b --- /dev/null +++ b/extra/xf86-video-tseng/tseng-1.2.4-git.patch @@ -0,0 +1,317 @@ +diff --git a/configure.ac b/configure.ac +index 62cc318..8458c06 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -20,46 +20,46 @@ + # + # Process this file with autoconf to produce a configure script + +-AC_PREREQ(2.57) ++# Initialize Autoconf ++AC_PREREQ([2.60]) + AC_INIT([xf86-video-tseng], +- 1.2.4, ++ [1.2.4], + [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], +- xf86-video-tseng) +- ++ [xf86-video-tseng]) + AC_CONFIG_SRCDIR([Makefile.am]) +-AM_CONFIG_HEADER([config.h]) ++AC_CONFIG_HEADERS([config.h]) + AC_CONFIG_AUX_DIR(.) + ++# Initialize Automake + AM_INIT_AUTOMAKE([foreign dist-bzip2]) +- + AM_MAINTAINER_MODE + +-# Require xorg-macros: XORG_DEFAULT_OPTIONS ++# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS + m4_ifndef([XORG_MACROS_VERSION], +- [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])]) +-XORG_MACROS_VERSION(1.3) ++ [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])]) ++XORG_MACROS_VERSION(1.8) + XORG_DEFAULT_OPTIONS + +-# Checks for programs. ++# Initialize libtool + AC_DISABLE_STATIC + AC_PROG_LIBTOOL +-AC_PROG_CC + + AH_TOP([#include "xorg-server.h"]) + ++# Define a configure option for an alternate module directory + AC_ARG_WITH(xorg-module-dir, +- AC_HELP_STRING([--with-xorg-module-dir=DIR], ++ AS_HELP_STRING([--with-xorg-module-dir=DIR], + [Default xorg module directory [[default=$libdir/xorg/modules]]]), + [moduledir="$withval"], + [moduledir="$libdir/xorg/modules"]) + +-# Checks for extensions ++# Store the list of server defined optional extensions in REQUIRED_MODULES + XORG_DRIVER_CHECK_EXT(RANDR, randrproto) + XORG_DRIVER_CHECK_EXT(RENDER, renderproto) + XORG_DRIVER_CHECK_EXT(XV, videoproto) + XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto) + +-# Checks for pkg-config packages ++# Obtain compiler/linker options for the driver dependencies + PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901 xproto fontsproto $REQUIRED_MODULES]) + + # Checks for libraries. +@@ -78,17 +78,14 @@ if test "x$XSERVER_LIBPCIACCESS" = xyes; then + fi + AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes) + +-# Checks for header files. +-AC_HEADER_STDC +- +-AC_SUBST([XORG_CFLAGS]) + AC_SUBST([moduledir]) + + DRIVER_NAME=tseng + AC_SUBST([DRIVER_NAME]) + +-AC_OUTPUT([ +- Makefile +- src/Makefile +- man/Makefile ++AC_CONFIG_FILES([ ++ Makefile ++ src/Makefile ++ man/Makefile + ]) ++AC_OUTPUT +diff --git a/man/Makefile.am b/man/Makefile.am +index 8f2454b..b3688ce 100644 +--- a/man/Makefile.am ++++ b/man/Makefile.am +@@ -31,25 +31,11 @@ EXTRA_DIST = @DRIVER_NAME@.man + + CLEANFILES = $(driverman_DATA) + +-SED = sed +- +-# Strings to replace in man pages +-XORGRELSTRING = @PACKAGE_STRING@ +- XORGMANNAME = X Version 11 +- +-MAN_SUBSTS = \ +- -e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \ +- -e 's|__xorgversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \ +- -e 's|__xservername__|Xorg|g' \ +- -e 's|__xconfigfile__|xorg.conf|g' \ +- -e 's|__projectroot__|$(prefix)|g' \ +- -e 's|__appmansuffix__|$(APP_MAN_SUFFIX)|g' \ +- -e 's|__drivermansuffix__|$(DRIVER_MAN_SUFFIX)|g' \ +- -e 's|__adminmansuffix__|$(ADMIN_MAN_SUFFIX)|g' \ +- -e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' \ +- -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g' ++ ++# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure ++ + + SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man + + .man.$(DRIVER_MAN_SUFFIX): +- sed $(MAN_SUBSTS) < $< > $@ ++ $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@ +diff --git a/man/tseng.man b/man/tseng.man +index 403782f..984c8e7 100644 +--- a/man/tseng.man ++++ b/man/tseng.man +@@ -1,4 +1,3 @@ +-.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/tseng/tseng.man,v 1.2 2001/01/27 18:20:55 dawes Exp $ + .\" shorthand for double quote that works everywhere. + .ds q \N'34' + .TH TSENG __drivermansuffix__ __vendorversion__ +diff --git a/src/tseng_cursor.c b/src/tseng_cursor.c +index d4fb847..2412b31 100644 +--- a/src/tseng_cursor.c ++++ b/src/tseng_cursor.c +@@ -159,7 +159,7 @@ TsengSetCursorColors(ScrnInfoPtr pScrn, int bg, int fg) + } + } + +-void ++static void + TsengLoadCursorImage(ScrnInfoPtr pScrn, unsigned char *bits) + { + vgaHWPtr hwp = VGAHWPTR(pScrn); +diff --git a/src/tseng_dga.c b/src/tseng_dga.c +index 70ebe23..528ba4c 100644 +--- a/src/tseng_dga.c ++++ b/src/tseng_dga.c +@@ -74,9 +74,9 @@ TsengDGAInit(ScreenPtr pScreen) + if (!pTseng->DGAnumModes) { + pMode = firstMode = pScrn->modes; + while (pMode) { +- newmodes = xrealloc(modes, (num + 1) * sizeof (DGAModeRec)); ++ newmodes = realloc(modes, (num + 1) * sizeof (DGAModeRec)); + if (!newmodes) { +- xfree(modes); ++ free(modes); + return FALSE; + } + modes = newmodes; +@@ -135,7 +135,7 @@ Tseng_OpenFramebuffer( + TsengPtr pTseng = TsengPTR(pScrn); + + *name = NULL; /* no special device */ +- *mem = (unsigned char*)pTseng->FbAddress; ++ *mem = (unsigned char*)(uintptr_t)pTseng->FbAddress; + *size = pTseng->FbMapSize; + *offset = 0; /* Always */ + *flags = 0; /* Root permissions OS-dependent */ +diff --git a/src/tseng_driver.c b/src/tseng_driver.c +index 445c17e..d36b62c 100644 +--- a/src/tseng_driver.c ++++ b/src/tseng_driver.c +@@ -269,9 +269,9 @@ TsengFreeRec(ScrnInfoPtr pScrn) + pTseng = TsengPTR(pScrn); + + if (pTseng->SavedReg.RAMDAC) +- xfree(pTseng->SavedReg.RAMDAC); ++ free(pTseng->SavedReg.RAMDAC); + +- xfree(pScrn->driverPrivate); ++ free(pScrn->driverPrivate); + pScrn->driverPrivate = NULL; + } + +@@ -395,10 +395,10 @@ TsengProbe(DriverPtr drv, int flags) + foundScreen = TRUE; + } + } +- xfree(usedChips); ++ free(usedChips); + } + +- xfree(devSections); ++ free(devSections); + return foundScreen; + } + +@@ -806,7 +806,7 @@ TsengProcessOptions(ScrnInfoPtr pScrn) + xf86CollectOptions(pScrn, NULL); + + /* Process the options */ +- if (!(pTseng->Options = xalloc(sizeof(TsengOptions)))) ++ if (!(pTseng->Options = malloc(sizeof(TsengOptions)))) + return FALSE; + memcpy(pTseng->Options, TsengOptions, sizeof(TsengOptions)); + xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, pTseng->Options); +@@ -883,7 +883,7 @@ TsengGetFbAddress(ScrnInfoPtr pScrn) + PDEBUG(" TsengGetFbAddress\n"); + + /* base0 is the framebuffer and base1 is the PCI IO space. */ +- if (PCI_REGION_BASE(pTseng->PciInfo, 0, REGION_MEM)) { ++ if (!PCI_REGION_BASE(pTseng->PciInfo, 0, REGION_MEM)) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "No valid Framebuffer address in PCI config space;\n"); + return FALSE; +diff --git a/src/tseng_mode.c b/src/tseng_mode.c +index f075226..a3ff87d 100644 +--- a/src/tseng_mode.c ++++ b/src/tseng_mode.c +@@ -41,7 +41,11 @@ vgaHWWriteBank(vgaHWPtr hwp, CARD8 value) + if (hwp->MMIOBase) + MMIO_OUT8(hwp->MMIOBase, hwp->MMIOOffset + VGA_BANK, value); + else ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 + outb(hwp->PIOOffset + VGA_BANK, value); ++#else ++ pci_io_write8(hwp->io, VGA_BANK, value); ++#endif + } + + CARD8 +@@ -50,7 +54,11 @@ vgaHWReadBank(vgaHWPtr hwp) + if (hwp->MMIOBase) + return MMIO_IN8(hwp->MMIOBase, hwp->MMIOOffset + VGA_BANK); + else ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 + return inb(hwp->PIOOffset + VGA_BANK); ++#else ++ return pci_io_read8(hwp->io, VGA_BANK); ++#endif + } + + #define VGA_SEGMENT 0x3CD +@@ -61,7 +69,11 @@ vgaHWWriteSegment(vgaHWPtr hwp, CARD8 value) + if (hwp->MMIOBase) + MMIO_OUT8(hwp->MMIOBase, hwp->MMIOOffset + VGA_SEGMENT, value); + else ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 + outb(hwp->PIOOffset + VGA_SEGMENT, value); ++#else ++ pci_io_write8(hwp->io, VGA_SEGMENT, value); ++#endif + } + + CARD8 +@@ -70,7 +82,11 @@ vgaHWReadSegment(vgaHWPtr hwp) + if (hwp->MMIOBase) + return MMIO_IN8(hwp->MMIOBase, hwp->MMIOOffset + VGA_SEGMENT); + else ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 + return inb(hwp->PIOOffset + VGA_SEGMENT); ++#else ++ return pci_io_read8(hwp->io, VGA_SEGMENT); ++#endif + } + + /* +@@ -84,8 +100,12 @@ vgaHWWriteModeControl(vgaHWPtr hwp, CARD8 value) + if (hwp->MMIOBase) + MMIO_OUT8(hwp->MMIOBase, + hwp->MMIOOffset + hwp->IOBase + VGA_MODE_CONTROL, value); +- else +- outb(hwp->IOBase + hwp->PIOOffset + VGA_MODE_CONTROL, value); ++ else ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 ++ outb(hwp->PIOOffset + VGA_MODE_CONTROL, value); ++#else ++ pci_io_write8(hwp->io, VGA_MODE_CONTROL, value); ++#endif + } + + /* +@@ -110,14 +130,22 @@ vgaHWHerculesSecondPage(vgaHWPtr hwp, Bool Enable) + + MMIO_OUT8(hwp->MMIOBase, hwp->MMIOOffset + VGA_HERCULES, tmp); + } else { +- tmp = inb(hwp->PIOOffset + VGA_HERCULES); ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 ++ tmp = inb(hwp->PIOOffset + VGA_HERCULES); ++#else ++ tmp = pci_io_read8(hwp->io, VGA_HERCULES); ++#endif + + if (Enable) + tmp |= 0x02; + else + tmp &= ~0x02; + +- outb(hwp->PIOOffset + VGA_HERCULES, tmp); ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 ++ outb(hwp->PIOOffset + VGA_HERCULES, tmp); ++#else ++ pci_io_write8(hwp->io, VGA_HERCULES, tmp); ++#endif + } + } + +@@ -1502,7 +1530,7 @@ TsengModeInit(ScrnInfoPtr pScrn, DisplayModePtr OrigMode) + + /* clean up */ + if (new->RAMDAC) +- xfree(new->RAMDAC); ++ free(new->RAMDAC); + + return TRUE; + } diff --git a/extra/xf86-video-unichrome/PKGBUILD b/extra/xf86-video-unichrome/PKGBUILD index ca012bc28..1647f8cf1 100644 --- a/extra/xf86-video-unichrome/PKGBUILD +++ b/extra/xf86-video-unichrome/PKGBUILD @@ -1,25 +1,29 @@ -# $Id: PKGBUILD 140292 2011-10-11 21:28:27Z jgc $ +# $Id: PKGBUILD 153378 2012-03-12 20:54:55Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-unichrome pkgver=0.2.7 -pkgrel=6 +pkgrel=7 _gitversion=b917bee87db8a65b8e8da0ca12c24a176c9e9fb2 pkgdesc="Unichrome video drivers for X.Org" arch=(i686 x86_64) url="http://unichrome.sf.net/" license=('custom') -depends=('glibc' 'unichrome-dri') -makedepends=('xorg-server-devel>=1.10.99.902' 'libx11' 'libdrm' 'xf86driproto' 'mesa' 'libxvmc' 'glproto') +depends=('glibc') +makedepends=('xorg-server-devel>=1.11.99.903' 'libx11' 'libdrm' 'xf86driproto' 'mesa' 'libxvmc') # 'glproto') options=('!libtool') -conflicts=('xf86-video-via' 'openchrome' 'xf86-video-openchrome' 'xorg-server<1.10.99.902') +conflicts=('xf86-video-via' 'openchrome' 'xf86-video-openchrome' 'xorg-server<1.11.99.903') source=(http://cgit.freedesktop.org/~libv/${pkgname}/snapshot/${pkgname}-${_gitversion}.tar.bz2) md5sums=('f7adef052de08a01af86e245d1932239') build() { cd "${srcdir}/${pkgname}-${_gitversion}" - ./autogen.sh --prefix=/usr --enable-dri + ./autogen.sh --prefix=/usr #--enable-dri make +} + +package() { + cd "${srcdir}/${pkgname}-${_gitversion}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 debian/copyright "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" diff --git a/extra/xf86-video-v4l/PKGBUILD b/extra/xf86-video-v4l/PKGBUILD index bc3f36b95..16a11493d 100644 --- a/extra/xf86-video-v4l/PKGBUILD +++ b/extra/xf86-video-v4l/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 140290 2011-10-11 21:28:21Z jgc $ +# $Id: PKGBUILD 153380 2012-03-12 20:55:02Z andyrtr $ #Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-v4l pkgver=0.2.0 -pkgrel=9 +pkgrel=10 pkgdesc="X.org v4l video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel') -conflicts=('xorg-server<1.10.0') +makedepends=('xorg-server-devel>=1.11.99.903') +conflicts=('xorg-server<1.11.99.903') groups=('xorg-drivers' 'xorg') options=('!libtool') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 @@ -26,6 +26,10 @@ build() { autoreconf -fi ./configure --prefix=/usr make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-v4l/git-fixes.patch b/extra/xf86-video-v4l/git-fixes.patch new file mode 100644 index 000000000..2f752fc8c --- /dev/null +++ b/extra/xf86-video-v4l/git-fixes.patch @@ -0,0 +1,4362 @@ +diff --git a/ChangeLog b/ChangeLog +deleted file mode 100644 +index 02fc6fa..0000000 +--- a/ChangeLog ++++ /dev/null +@@ -1,57 +0,0 @@ +-2006-04-07 Adam Jackson <ajax@freedesktop.org> +- +- * configure.ac: +- * src/v4l.c: +- Bump to 0.1.1 for Xv changes. +- +-2006-04-07 Aaron Plattner <aplattner@nvidia.com> +- +- * src/v4l.c: (V4lPutVideo), (V4lPutStill): +- Add a DrawablePtr argument to the XV functions to pave the way for +- redirected video. +- +-2006-04-07 Adam Jackson <ajax@freedesktop.org> +- +- * configure.ac: +- * src/v4l.c: +- Unlibcwrap. Bump server version requirement. Bump to 0.1.0. +- +-2005-12-20 Kevin E. Martin <kem-at-freedesktop-dot-org> +- +- * configure.ac: +- Update package version for X11R7 release. +- +-2005-12-14 Kevin E. Martin <kem-at-freedesktop-dot-org> +- +- * configure.ac: +- Update package version number for final X11R7 release candidate. +- +-2005-12-06 Kevin E. Martin <kem-at-freedesktop-dot-org> +- +- * man/Makefile.am: +- Change *man_SOURCES ==> *man_PRE to fix autotools warnings. +- +-2005-12-03 Kevin E. Martin <kem-at-freedesktop-dot-org> +- +- * configure.ac: +- Update package version number for X11R7 RC3 release. +- +-2005-12-01 Kevin E. Martin <kem-at-freedesktop-dot-org> +- +- * configure.ac: +- Remove extraneous AC_MSG_RESULT. +- +-2005-11-29 Adam Jackson <ajax@freedesktop.org> +- +- * configure.ac: +- Only build dlloader modules by default. +- +-2005-11-09 Kevin E. Martin <kem-at-freedesktop-dot-org> +- +- * configure.ac: +- Update package version number for X11R7 RC2 release. +- +-2005-11-01 Kevin E. Martin <kem-at-freedesktop-dot-org> +- +- * configure.ac: +- Update pkgcheck dependencies to work with separate build roots. +diff --git a/Makefile.am b/Makefile.am +index 3ae2692..4c278ba 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -18,6 +18,15 @@ + # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +-AUTOMAKE_OPTIONS = foreign + SUBDIRS = src man +-EXTRA_DIST = README ++MAINTAINERCLEANFILES = ChangeLog INSTALL ++ ++.PHONY: ChangeLog INSTALL ++ ++INSTALL: ++ $(INSTALL_CMD) ++ ++ChangeLog: ++ $(CHANGELOG_CMD) ++ ++dist-hook: ChangeLog INSTALL +diff --git a/configure.ac b/configure.ac +index d9ac542..c490919 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -20,57 +20,56 @@ + # + # Process this file with autoconf to produce a configure script + +-AC_PREREQ(2.57) ++# Initialize Autoconf ++AC_PREREQ([2.60]) + AC_INIT([xf86-video-v4l], +- 0.2.0, ++ [0.2.0], + [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], +- xf86-video-v4l) +- ++ [xf86-video-v4l]) + AC_CONFIG_SRCDIR([Makefile.am]) +-AM_CONFIG_HEADER([config.h]) ++AC_CONFIG_HEADERS([config.h]) + AC_CONFIG_AUX_DIR(.) + +-AM_INIT_AUTOMAKE([dist-bzip2]) +- ++# Initialize Automake ++AM_INIT_AUTOMAKE([foreign dist-bzip2]) + AM_MAINTAINER_MODE + +-# Checks for programs. ++# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS ++m4_ifndef([XORG_MACROS_VERSION], ++ [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])]) ++XORG_MACROS_VERSION(1.8) ++XORG_DEFAULT_OPTIONS ++ ++# Initialize libtool + AC_DISABLE_STATIC + AC_PROG_LIBTOOL +-AC_PROG_CC + + AH_TOP([#include "xorg-server.h"]) + ++# Define a configure option for an alternate module directory + AC_ARG_WITH(xorg-module-dir, +- AC_HELP_STRING([--with-xorg-module-dir=DIR], ++ AS_HELP_STRING([--with-xorg-module-dir=DIR], + [Default xorg module directory [[default=$libdir/xorg/modules]]]), + [moduledir="$withval"], + [moduledir="$libdir/xorg/modules"]) + +-# Checks for extensions ++# Store the list of server defined optional extensions in REQUIRED_MODULES + XORG_DRIVER_CHECK_EXT(RANDR, randrproto) + XORG_DRIVER_CHECK_EXT(XV, videoproto) + +-# Checks for pkg-config packages ++# Obtain compiler/linker options for the driver dependencies + PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901 xproto $REQUIRED_MODULES]) +-sdkdir=$(pkg-config --variable=sdkdir xorg-server) + + # Checks for libraries. + +-# Checks for header files. +-AC_HEADER_STDC +- +-AC_SUBST([XORG_CFLAGS]) + AC_SUBST([moduledir]) + + DRIVER_NAME=v4l + AC_SUBST([DRIVER_NAME]) + +-XORG_MANPAGE_SECTIONS +-XORG_RELEASE_VERSION +- +-AC_OUTPUT([ +- Makefile +- src/Makefile +- man/Makefile ++AC_CONFIG_FILES([ ++ Makefile ++ src/Makefile ++ man/Makefile + ]) ++AC_OUTPUT +diff --git a/man/Makefile.am b/man/Makefile.am +index f0eb29b..b3688ce 100644 +--- a/man/Makefile.am ++++ b/man/Makefile.am +@@ -1,27 +1,24 @@ + # + # Copyright 2005 Sun Microsystems, Inc. All rights reserved. +-# +-# Permission to use, copy, modify, distribute, and sell this software and its +-# documentation for any purpose is hereby granted without fee, provided that +-# the above copyright notice appear in all copies and that both that +-# copyright notice and this permission notice appear in supporting +-# documentation. +-# +-# The above copyright notice and this permission notice shall be included +-# in all copies or substantial portions of the Software. +-# +-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +-# IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +-# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +-# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +-# OTHER DEALINGS IN THE SOFTWARE. +-# +-# Except as contained in this notice, the name of the copyright holders shall +-# not be used in advertising or otherwise to promote the sale, use or +-# other dealings in this Software without prior written authorization +-# from the copyright holders. ++# ++# Permission is hereby granted, free of charge, to any person obtaining a ++# copy of this software and associated documentation files (the "Software"), ++# to deal in the Software without restriction, including without limitation ++# the rights to use, copy, modify, merge, publish, distribute, sublicense, ++# and/or sell copies of the Software, and to permit persons to whom the ++# Software is furnished to do so, subject to the following conditions: ++# ++# The above copyright notice and this permission notice (including the next ++# paragraph) shall be included in all copies or substantial portions of the ++# Software. ++# ++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ++# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER ++# DEALINGS IN THE SOFTWARE. + # + + drivermandir = $(DRIVER_MAN_DIR) +@@ -34,25 +31,11 @@ EXTRA_DIST = @DRIVER_NAME@.man + + CLEANFILES = $(driverman_DATA) + +-SED = sed + +-# Strings to replace in man pages +-XORGRELSTRING = @PACKAGE_STRING@ +- XORGMANNAME = X Version 11 ++# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure + +-MAN_SUBSTS = \ +- -e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \ +- -e 's|__xorgversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \ +- -e 's|__xservername__|Xorg|g' \ +- -e 's|__xconfigfile__|xorg.conf|g' \ +- -e 's|__projectroot__|$(prefix)|g' \ +- -e 's|__appmansuffix__|$(APP_MAN_SUFFIX)|g' \ +- -e 's|__drivermansuffix__|$(DRIVER_MAN_SUFFIX)|g' \ +- -e 's|__adminmansuffix__|$(ADMIN_MAN_SUFFIX)|g' \ +- -e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' \ +- -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g' + + SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man + + .man.$(DRIVER_MAN_SUFFIX): +- sed $(MAN_SUBSTS) < $< > $@ ++ $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@ +diff --git a/man/v4l.man b/man/v4l.man +index 7d35b86..dc1e201 100644 +--- a/man/v4l.man ++++ b/man/v4l.man +@@ -34,6 +34,6 @@ Please refer to __xconfigfile__(__filemansuffix__) for general configuration + details. This section only covers configuration details specific to this + driver. + .SH "SEE ALSO" +-__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__) ++__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__) + .SH AUTHORS + Authors include: Gerd Knorr <kraxel@bytesex.org> +diff --git a/src/Makefile.am b/src/Makefile.am +index ed30a80..08afe60 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -28,7 +28,6 @@ v4l_drv_la_LTLIBRARIES = v4l_drv.la + v4l_drv_la_LDFLAGS = -module -avoid-version + v4l_drv_ladir = @moduledir@/drivers + +-v4l_drv_la_SOURCES = \ +- v4l.c +- +-EXTRA_DIST = videodev.h ++v4l_drv_la_SOURCES = \ ++ v4l.c \ ++ videodev.h +diff --git a/src/v4l.c b/src/v4l.c +index b827f80..10e782b 100644 +--- a/src/v4l.c ++++ b/src/v4l.c +@@ -1,6 +1,9 @@ + /* +- * video4linux Xv Driver ++ * video4linux Xv Driver + * based on Michael Schimek's permedia 2 driver. ++ * ++ * Copyright (c) 2011 Mauro Carvalho Chehab <mchehab@redhat.com> for: ++ * - Major rewrite, as driver got ported to V4L2 API + */ + + #ifdef HAVE_CONFIG_H +@@ -9,12 +12,16 @@ + + #include <sys/types.h> + #include <sys/stat.h> ++#include <ctype.h> ++ + #include <fcntl.h> + #include <errno.h> + #include <string.h> + #include <stdio.h> ++#include <unistd.h> ++#include <sys/ioctl.h> + +-#include "videodev.h" ++#include "videodev2.h" + #include "xf86.h" + #include "xf86_OSproc.h" + #include "xf86Pci.h" +@@ -25,8 +32,9 @@ + #include "regionstr.h" + #include "dgaproc.h" + #include "xf86str.h" ++#include "fourcc.h" + +-#include <asm/ioctl.h> /* _IORW(xxx) #defines are here */ ++#include <asm/ioctl.h> /* _IORW(xxx) #defines are here */ + + #if 0 + # define DEBUG(x) (x) +@@ -34,20 +42,22 @@ + # define DEBUG(x) + #endif + ++/***************************************************************************/ ++ + static void V4LIdentify(int flags); + static Bool V4LProbe(DriverPtr drv, int flags); + static const OptionInfoRec * V4LAvailableOptions(int chipid, int busid); + + _X_EXPORT DriverRec V4L = { +- 40000, +- "v4l", +- V4LIdentify, /* Identify*/ +- V4LProbe, /* Probe */ +- V4LAvailableOptions, +- NULL, +- 0 +-}; +- ++ .driverVersion = 50000, ++ .driverName = "v4l", ++ .Identify = V4LIdentify, ++ .Probe = V4LProbe, ++ .AvailableOptions = V4LAvailableOptions, ++ .module = NULL, ++ .refCount = 0, ++ .driverFunc = NULL, /* FIXME: Need to implement for new probing mode */ ++}; + + #ifdef XFree86LOADER + +@@ -55,16 +65,16 @@ static MODULESETUPPROTO(v4lSetup); + + static XF86ModuleVersionInfo v4lVersRec = + { +- "v4l", +- MODULEVENDORSTRING, +- MODINFOSTRING1, +- MODINFOSTRING2, +- XORG_VERSION_CURRENT, +- 0, 1, 1, +- ABI_CLASS_VIDEODRV, +- ABI_VIDEODRV_VERSION, +- MOD_CLASS_NONE, +- {0,0,0,0} ++ "v4l", ++ MODULEVENDORSTRING, ++ MODINFOSTRING1, ++ MODINFOSTRING2, ++ XORG_VERSION_CURRENT, ++ 0, 1, 1, ++ ABI_CLASS_VIDEODRV, ++ ABI_VIDEODRV_VERSION, ++ MOD_CLASS_NONE, ++ {0,0,0,0} + }; + + _X_EXPORT XF86ModuleData v4lModuleData = { &v4lVersRec, v4lSetup, NULL }; +@@ -72,32 +82,32 @@ _X_EXPORT XF86ModuleData v4lModuleData = { &v4lVersRec, v4lSetup, NULL }; + static pointer + v4lSetup(pointer module, pointer opts, int *errmaj, int *errmin) + { +- const char *osname; +- static Bool setupDone = FALSE; +- +- if (setupDone) { +- if (errmaj) +- *errmaj = LDR_ONCEONLY; +- return NULL; +- } +- +- setupDone = TRUE; +- +- /* Check that we're being loaded on a Linux system */ +- LoaderGetOS(&osname, NULL, NULL, NULL); +- if (!osname || strcmp(osname, "linux") != 0) { +- if (errmaj) +- *errmaj = LDR_BADOS; +- if (errmin) +- *errmin = 0; +- return NULL; +- } else { +- /* OK */ +- +- xf86AddDriver (&V4L, module, 0); +- +- return (pointer)1; +- } ++ const char *osname; ++ static Bool setupDone = FALSE; ++ ++ if (setupDone) { ++ if (errmaj) ++ *errmaj = LDR_ONCEONLY; ++ return NULL; ++ } ++ ++ setupDone = TRUE; ++ ++ /* Check that we're being loaded on a Linux system */ ++ LoaderGetOS(&osname, NULL, NULL, NULL); ++ if (!osname || strcmp(osname, "linux") != 0) { ++ if (errmaj) ++ *errmaj = LDR_BADOS; ++ if (errmin) ++ *errmin = 0; ++ return NULL; ++ } else { ++ /* OK */ ++ ++ xf86AddDriver (&V4L, module, 0); ++ ++ return (pointer)1; ++ } + } + + #else +@@ -112,25 +122,28 @@ v4lSetup(pointer module, pointer opts, int *errmaj, int *errmin) + #define VIDEO_YUV 2 /* yuv overlay (to offscreen memory + hw scaling) */ + #define VIDEO_RECLIP 3 /* temporarly off, window clipping changes */ + ++typedef struct _XvV4LCtrlRec { ++ struct v4l2_queryctrl qctrl; ++ Atom xv; ++} XvV4LCtrlRec, *XvV4LCtrlPtr; ++ + typedef struct _PortPrivRec { + ScrnInfoPtr pScrn; +- FBAreaPtr pFBArea[2]; +- int VideoOn; +- Bool StreamOn; ++ FBAreaPtr pFBArea[2]; ++ int VideoOn; ++ Bool StreamOn; + + /* file handle */ +- int nr; +- struct video_capability cap; ++ int nr; ++ struct v4l2_capability cap; + + /* RGB overlay */ +- struct video_buffer rgb_fbuf; +- struct video_window rgb_win; +- int rgbpalette; ++ struct v4l2_framebuffer rgb_fbuf; ++ struct v4l2_window rgb_win; + int rgbdepth; + + /* attributes */ +- struct video_picture pict; +- struct video_audio audio; ++ CARD32 pixelformat; + + XF86VideoEncodingPtr enc; + int *input; +@@ -145,24 +158,21 @@ typedef struct _PortPrivRec { + + int yuv_width,yuv_height; + XF86SurfacePtr surface; +- struct video_buffer yuv_fbuf; +- struct video_window yuv_win; +-} PortPrivRec, *PortPrivPtr; ++ struct v4l2_framebuffer yuv_fbuf; ++ struct v4l2_window yuv_win; ++ ++ struct v4l2_standard *standard; /* FIXME: can be removed */ + +-#define XV_ENCODING "XV_ENCODING" +-#define XV_BRIGHTNESS "XV_BRIGHTNESS" +-#define XV_CONTRAST "XV_CONTRAST" +-#define XV_SATURATION "XV_SATURATION" +-#define XV_HUE "XV_HUE" ++ XvV4LCtrlPtr XvV4LCtrl; ++ int n_qctrl; ++} PortPrivRec, *PortPrivPtr; + +-#define XV_FREQ "XV_FREQ" +-#define XV_MUTE "XV_MUTE" +-#define XV_VOLUME "XV_VOLUME" ++#define XV_ENCODING "XV_ENCODING" ++#define XV_FREQ "XV_FREQ" + +-#define MAKE_ATOM(a) MakeAtom(a, sizeof(a) - 1, TRUE) ++#define MAKE_ATOM(a) MakeAtom(a, strlen(a), TRUE) + +-static Atom xvEncoding, xvBrightness, xvContrast, xvSaturation, xvHue; +-static Atom xvFreq, xvMute, xvVolume; ++static Atom xvEncoding, xvFreq; + + static XF86VideoFormatRec + InputVideoFormats[] = { +@@ -176,16 +186,8 @@ InputVideoFormats[] = { + + static const XF86AttributeRec Attributes[] = { + {XvSettable | XvGettable, -1000, 1000, XV_ENCODING}, +- {XvSettable | XvGettable, -1000, 1000, XV_BRIGHTNESS}, +- {XvSettable | XvGettable, -1000, 1000, XV_CONTRAST}, +- {XvSettable | XvGettable, -1000, 1000, XV_SATURATION}, +- {XvSettable | XvGettable, -1000, 1000, XV_HUE}, + }; +-static const XF86AttributeRec VolumeAttr = +- {XvSettable | XvGettable, -1000, 1000, XV_VOLUME}; +-static const XF86AttributeRec MuteAttr = +- {XvSettable | XvGettable, 0, 1, XV_MUTE}; +-static const XF86AttributeRec FreqAttr = ++static const XF86AttributeRec FreqAttr = + {XvSettable | XvGettable, 0, 16*1000, XV_FREQ}; + + +@@ -206,59 +208,247 @@ static struct V4L_DEVICE { + }; + + /* ---------------------------------------------------------------------- */ +-/* forward decl */ + +-static void V4lQueryBestSize(ScrnInfoPtr pScrn, Bool motion, +- short vid_w, short vid_h, short drw_w, short drw_h, +- unsigned int *p_w, unsigned int *p_h, pointer data); ++static int SetV4LFmt(int fd, CARD32 pixelformat) ++{ ++ struct v4l2_framebuffer fbuf; ++ char *p = (char *)&pixelformat; ++ ++ memset(&fbuf, 0, sizeof(fbuf)); ++ if (ioctl(fd, VIDIOC_G_FBUF, &fbuf) == -1) { ++ xf86Msg(X_ERROR, "v4l: Error %d: Can't get FBUF\n", errno); ++ return errno; ++ } ++ if (fbuf.fmt.pixelformat != pixelformat) { ++ fbuf.fmt.pixelformat = pixelformat; ++ if (ioctl(fd, VIDIOC_S_FBUF, &fbuf) == -1) { ++ xf86Msg(X_ERROR, "v4l: Error %d: Can't set FBUF to %c%c%c%c\n", ++ errno, p[0], p[1], p[2], p[3]); ++ return errno; ++ } ++ } ++ DEBUG(xf86Msg(X_INFO, "v4l: Set overlay format to %c%c%c%c\n", ++ p[0], p[1], p[2], p[3])); ++ return 0; ++} ++static int GetV4LFmt(int fd, CARD32 *pixelformat) ++{ ++ struct v4l2_framebuffer fbuf; ++ ++ memset(&fbuf, 0, sizeof(fbuf)); ++ if (ioctl(fd, VIDIOC_G_FBUF, &fbuf) == -1) { ++ xf86Msg(X_ERROR, "v4l: Error %d: Can't get FBUF\n", errno); ++ return errno; ++ } ++ ++ *pixelformat = fbuf.fmt.pixelformat; ++ ++ return 0; ++} ++ ++#define ATTR_NAME_PREFIX "XV_" ++static int AddControl(PortPrivPtr p, XF86AttributeRec **list, int *count, ++ struct v4l2_queryctrl *qctrl, int *n) ++{ ++ char *ptr; ++ ++/* v4l_add_attr */ ++ if (qctrl->flags & V4L2_CTRL_FLAG_DISABLED) ++ return 0; ++ switch (qctrl->type) { ++ case V4L2_CTRL_TYPE_INTEGER: ++ case V4L2_CTRL_TYPE_BOOLEAN: ++ case V4L2_CTRL_TYPE_MENU: ++ case V4L2_CTRL_TYPE_BUTTON: ++ break; ++ default: ++ return 0; ++ } ++ ++ p->XvV4LCtrl = realloc(p->XvV4LCtrl, sizeof(XvV4LCtrlRec) * (*n + 1)); ++ if (!p->XvV4LCtrl) { ++ if (*list) { ++ free (*list); ++ *count = 0; ++ *n = 0; ++ } ++ return -1; ++ } ++ ++ *list = realloc(*list, sizeof(XF86AttributeRec) * (*count + 1)); ++ if (NULL == *list) { ++ if (p->XvV4LCtrl) ++ free (p->XvV4LCtrl); ++ *count = 0; ++ return -1; ++ } ++ ++ memset(*list + *count, 0, sizeof(XF86AttributeRec)); ++ (*list)[*count].flags = XvSettable | XvGettable; ++ ++ if (qctrl->flags & V4L2_CTRL_FLAG_READ_ONLY) ++ (*list)[*count].flags &= ~XvSettable; ++ if (qctrl->flags & V4L2_CTRL_FLAG_WRITE_ONLY) ++ (*list)[*count].flags &= ~XvGettable; ++ (*list)[*count].min_value = qctrl->minimum; ++ (*list)[*count].max_value = qctrl->maximum; ++ (*list)[*count].name = malloc(strlen((char *)qctrl->name) + 1 + sizeof (ATTR_NAME_PREFIX)); ++ strcpy((*list)[*count].name, ATTR_NAME_PREFIX); ++ strcat((*list)[*count].name, (char *)qctrl->name); ++ for (ptr = (*list)[*count].name; *ptr; ptr++) { ++ *ptr = toupper(*ptr); ++ if (*ptr == ' ') ++ *ptr = '_'; ++ } ++ ++ p->XvV4LCtrl[*n].xv = MAKE_ATOM((*list)[*count].name); ++ memcpy(&p->XvV4LCtrl[*n].qctrl, qctrl, sizeof(*qctrl)); ++ ++ xf86Msg(X_INFO, "v4l: add attr %s (Xv/GPA %d) (%d to %d)\n", ++ (*list)[*count].name, (int)p->XvV4LCtrl[*n].xv, ++ p->XvV4LCtrl[*n].qctrl.minimum, ++ p->XvV4LCtrl[*n].qctrl.maximum); ++ ++ (*count)++; ++ (*n)++; ++ ++ return 0; ++} ++ ++static void AddAllV4LControls(PortPrivPtr p, XF86AttributeRec **list, ++ int *count, int fd) ++{ ++ int entries = 0; ++ CARD32 id; ++ struct v4l2_queryctrl qctrl; ++ ++ memset(&qctrl, 0, sizeof(qctrl)); ++ qctrl.id = V4L2_CTRL_FLAG_NEXT_CTRL; ++ while (!ioctl(fd, VIDIOC_QUERYCTRL, &qctrl)) { ++ if (AddControl(p, list, count, &qctrl, &entries)) ++ return; ++ qctrl.id |= V4L2_CTRL_FLAG_NEXT_CTRL; ++ } ++ if (qctrl.id != V4L2_CTRL_FLAG_NEXT_CTRL) ++ return; ++ for (id = V4L2_CID_USER_BASE; id < V4L2_CID_LASTP1; id++) { ++ qctrl.id = id; ++ if (!ioctl(fd, VIDIOC_QUERYCTRL, &qctrl)) { ++ if (AddControl(p, list, count, &qctrl, &entries)) ++ return; ++ } ++ } ++ qctrl.id = V4L2_CID_PRIVATE_BASE; ++ while (!ioctl(fd, VIDIOC_QUERYCTRL, &qctrl)) { ++ if (AddControl(p, list, count, &qctrl, &entries)) ++ return; ++ qctrl.id++; ++ } ++ p->n_qctrl = entries; ++} + + /* ---------------------------------------------------------------------- */ + ++/* setup yuv overlay + hw scaling: look if we find some common video ++ format which both v4l driver and the X-Server can handle */ ++static int v4l_check_yuv(ScrnInfoPtr pScrn, PortPrivPtr pPPriv, ++ char *dev, int fd) ++{ ++ static const struct { ++ CARD32 v4l_palette; ++ unsigned int xv_id; ++ unsigned int xv_format; ++ } yuvlist[] = { ++ { V4L2_PIX_FMT_YUYV, FOURCC_YUY2, XvPacked }, ++ { V4L2_PIX_FMT_UYVY, FOURCC_UYVY, XvPacked }, ++ { 0 /* end of list */ }, ++ }; ++ /* FIXME: Why pScrn->scrnIndex? */ ++ ScreenPtr pScreen = screenInfo.screens[pScrn->scrnIndex]; ++ int fmt,i; ++ ++ pPPriv->format = xf86XVQueryOffscreenImages(pScreen, &pPPriv->nformat); ++ xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 2, ++ "v4l: Number of Xv formats: %d\n", pPPriv->nformat); ++ if (!pPPriv->nformat) ++ return FALSE; ++ ++ for (fmt = 0; yuvlist[fmt].v4l_palette != 0; fmt++) { ++ pPPriv->pixelformat = yuvlist[fmt].v4l_palette; ++ if (-1 == SetV4LFmt(fd, pPPriv->pixelformat)) ++ continue; ++ GetV4LFmt(fd, &pPPriv->pixelformat); ++ if (pPPriv->pixelformat != yuvlist[fmt].v4l_palette) ++ continue; ++ /* ... works, check available offscreen image formats now ... */ ++ for (i = 0; i < pPPriv->nformat; i++) { ++ if (pPPriv->format[i].image->id == yuvlist[fmt].xv_id && ++ pPPriv->format[i].image->format == yuvlist[fmt].xv_format) { ++ /* ... match found, good. */ ++ pPPriv->yuv_format = yuvlist[fmt].v4l_palette; ++ pPPriv->myfmt = pPPriv->format+i; ++ xf86DrvMsg(pScrn->scrnIndex, X_INFO, ++ "v4l[%s]: using hw video scaling [%4.4s].\n", ++ dev,(char*)&(pPPriv->format[i].image->id)); ++ return TRUE; ++ } ++ } ++ } ++ return TRUE; ++} ++ + static int V4lOpenDevice(PortPrivPtr pPPriv, ScrnInfoPtr pScrn) + { + static int first = 1; + ++#if 0 ++ /* ++ * It may be a good idea to probe here, but this would break ++ * some things, as initialization uses yuv_format ++ */ ++ if (!pPPriv->yuv_format && first) ++ v4l_check_yuv(pScrn, pPPriv, V4L_NAME, V4L_FD); ++#endif + if (-1 == V4L_FD) { +- V4L_FD = open(V4L_NAME, O_RDWR, 0); +- +- pPPriv->rgb_fbuf.width = pScrn->virtualX; +- pPPriv->rgb_fbuf.height = pScrn->virtualY; +- pPPriv->rgb_fbuf.depth = pScrn->bitsPerPixel; +- pPPriv->rgb_fbuf.bytesperline = pScrn->displayWidth * ((pScrn->bitsPerPixel + 7)/8); +- pPPriv->rgb_fbuf.base = (pointer)(pScrn->memPhysBase + pScrn->fbOffset); +- if (first) { +- first = 0; +- xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 2, +- "v4l: memPhysBase=0x%lx\n", pScrn->memPhysBase); +- } +- +- switch (pScrn->bitsPerPixel) { +- case 16: +- if (pScrn->weight.green == 5) { +- pPPriv->rgbpalette = VIDEO_PALETTE_RGB555; +- pPPriv->rgbdepth = 16; +- } else { +- pPPriv->rgbpalette = VIDEO_PALETTE_RGB565; +- pPPriv->rgbdepth = 16; +- } +- break; +- case 24: +- pPPriv->rgbpalette = VIDEO_PALETTE_RGB24; +- pPPriv->rgbdepth = 24; +- break; +- case 32: +- pPPriv->rgbpalette = VIDEO_PALETTE_RGB32; +- pPPriv->rgbdepth = 32; +- break; +- } ++ V4L_FD = open(V4L_NAME, O_RDWR, 0); ++ ++ if (-1 == V4L_FD) ++ return errno; ++ ++ if (-1 == ioctl(V4L_FD, VIDIOC_G_FBUF, &pPPriv->rgb_fbuf)) { ++ xf86Msg(X_ERROR, "v4l: Error %d: Can't get FBUF\n", errno); ++ return errno; ++ } ++ pPPriv->rgb_fbuf.fmt.width = pScrn->virtualX; ++ pPPriv->rgb_fbuf.fmt.height = pScrn->virtualY; ++ pPPriv->rgb_fbuf.fmt.bytesperline = pScrn->displayWidth * ((pScrn->bitsPerPixel + 7)/8); ++ pPPriv->rgb_fbuf.base = (pointer)(pScrn->memPhysBase + pScrn->fbOffset); ++ if (first) { ++ xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 2, ++ "v4l: memPhysBase=0x%lx\n", pScrn->memPhysBase); ++ first = 0; ++ } ++ ++ switch (pScrn->bitsPerPixel) { ++ case 16: ++ if (pScrn->weight.green == 5) { ++ pPPriv->rgb_fbuf.fmt.pixelformat = V4L2_PIX_FMT_RGB555; ++ } else { ++ pPPriv->rgb_fbuf.fmt.pixelformat = V4L2_PIX_FMT_RGB565; ++ } ++ break; ++ case 24: ++ pPPriv->rgb_fbuf.fmt.pixelformat = V4L2_PIX_FMT_BGR24; ++ break; ++ case 32: ++ pPPriv->rgb_fbuf.fmt.pixelformat = V4L2_PIX_FMT_BGR32; ++ break; ++ } + } + +- if (-1 == V4L_FD) +- return errno; +- + V4L_REF++; + DEBUG(xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 2, +- "Xv/open: refcount=%d\n",V4L_REF)); ++ "Xv/open: refcount=%d\n",V4L_REF)); + + return 0; + } +@@ -267,10 +457,10 @@ static void V4lCloseDevice(PortPrivPtr pPPriv, ScrnInfoPtr pScrn) + { + V4L_REF--; + DEBUG(xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 2, +- "Xv/close: refcount=%d\n",V4L_REF)); ++ "Xv/close: refcount=%d\n",V4L_REF)); + if (0 == V4L_REF && -1 != V4L_FD) { +- close(V4L_FD); +- V4L_FD = -1; ++ close(V4L_FD); ++ V4L_FD = -1; + } + } + +@@ -280,8 +470,10 @@ V4lPutVideo(ScrnInfoPtr pScrn, + short vid_w, short vid_h, short drw_w, short drw_h, + RegionPtr clipBoxes, pointer data, DrawablePtr pDraw) + { ++ struct v4l2_format fmt; ++ + PortPrivPtr pPPriv = (PortPrivPtr) data; +- struct video_clip *clip; ++ struct v4l2_clip *clip; + BoxPtr pBox; + RegionRec newReg; + BoxRec newBox; +@@ -291,179 +483,214 @@ V4lPutVideo(ScrnInfoPtr pScrn, + + /* Open a file handle to the device */ + if (VIDEO_OFF == pPPriv->VideoOn) { +- if (V4lOpenDevice(pPPriv, pScrn)) +- return Success; ++ if (V4lOpenDevice(pPPriv, pScrn)) ++ return Success; + } + + if (0 != pPPriv->yuv_format) { +- DEBUG(xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 2, "Xv/PV yuv\n")); +- width = pPPriv->enc[pPPriv->cenc].width; ++ DEBUG(xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 2, "Xv/PV yuv\n")); ++ width = pPPriv->enc[pPPriv->cenc].width; + height = pPPriv->enc[pPPriv->cenc].height/2; /* no interlace */ +- if (drw_w < width) +- width = drw_w; +- if (drw_h < height) +- height = drw_h; +- if ((height != pPPriv->yuv_height) || (width != pPPriv->yuv_width)) { +- /* new size -- free old surface */ +- DEBUG(xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 2, " surface resize\n")); +- if (pPPriv->surface) { +- pPPriv->VideoOn = VIDEO_OFF; +- pPPriv->myfmt->stop(pPPriv->surface); +- pPPriv->myfmt->free_surface(pPPriv->surface); +- xfree(pPPriv->surface); +- pPPriv->surface = NULL; +- } +- pPPriv->yuv_width = width; +- pPPriv->yuv_height = height; +- } +- if (!pPPriv->surface) { +- /* allocate + setup offscreen surface */ +- if (NULL == (pPPriv->surface = xalloc(sizeof(XF86SurfaceRec)))) +- return FALSE; +- if (Success != pPPriv->myfmt->alloc_surface +- (pScrn,pPPriv->myfmt->image->id, +- pPPriv->yuv_width,pPPriv->yuv_height,pPPriv->surface)) { +- xfree(pPPriv->surface); +- pPPriv->surface = NULL; +- goto fallback_to_rgb; +- } +- pPPriv->yuv_fbuf.width = pPPriv->surface->width; +- pPPriv->yuv_fbuf.height = pPPriv->surface->height; +- pPPriv->yuv_fbuf.depth = 16; +- pPPriv->yuv_fbuf.bytesperline = pPPriv->surface->pitches[0]; +- pPPriv->yuv_fbuf.base = +- (pointer)(pScrn->memPhysBase + pPPriv->surface->offsets[0]); +- DEBUG(xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 2, " surface: %p+%d = %p, %dx%d, pitch %d\n", +- pScrn->memPhysBase,pPPriv->surface->offsets[0], +- pScrn->memPhysBase+pPPriv->surface->offsets[0], +- pPPriv->surface->width,pPPriv->surface->height, +- pPPriv->surface->pitches[0])); +- pPPriv->yuv_win.width = pPPriv->surface->width; +- pPPriv->yuv_win.height = pPPriv->surface->height; +- } +- +- /* program driver */ +- if (-1 == ioctl(V4L_FD,VIDIOCSFBUF,&(pPPriv->yuv_fbuf))) +- perror("ioctl VIDIOCSFBUF"); +- if (-1 == ioctl(V4L_FD,VIDIOCGPICT,&pPPriv->pict)) +- perror("ioctl VIDIOCGPICT"); +- pPPriv->pict.palette = pPPriv->yuv_format; +- pPPriv->pict.depth = 16; +- if (-1 == ioctl(V4L_FD,VIDIOCSPICT,&pPPriv->pict)) +- perror("ioctl VIDIOCSPICT"); +- if (-1 == ioctl(V4L_FD,VIDIOCSWIN,&(pPPriv->yuv_win))) +- perror("ioctl VIDIOCSWIN"); +- if (-1 == ioctl(V4L_FD, VIDIOCCAPTURE, &one)) +- perror("ioctl VIDIOCCAPTURE(1)"); +- +- if (0 == (pPPriv->myfmt->flags & VIDEO_INVERT_CLIPLIST)) { +- /* invert cliplist */ +- newBox.x1 = drw_x; +- newBox.y1 = drw_y; +- newBox.x2 = drw_x + drw_w; +- newBox.y2 = drw_y + drw_h; +- +- if (pPPriv->myfmt->flags & VIDEO_CLIP_TO_VIEWPORT) { +- /* trim to the viewport */ +- if(newBox.x1 < pScrn->frameX0) +- newBox.x1 = pScrn->frameX0; +- if(newBox.x2 > pScrn->frameX1) +- newBox.x2 = pScrn->frameX1; +- +- if(newBox.y1 < pScrn->frameY0) +- newBox.y1 = pScrn->frameY0; +- if(newBox.y2 > pScrn->frameY1) +- newBox.y2 = pScrn->frameY1; +- } ++ if (drw_w < width) ++ width = drw_w; ++ if (drw_h < height) ++ height = drw_h; ++ if ((height != pPPriv->yuv_height) || (width != pPPriv->yuv_width)) { ++ /* new size -- free old surface */ ++ DEBUG(xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 2, " surface resize\n")); ++ if (pPPriv->surface) { ++ pPPriv->VideoOn = VIDEO_OFF; ++ pPPriv->myfmt->stop(pPPriv->surface); ++ pPPriv->myfmt->free_surface(pPPriv->surface); ++ free(pPPriv->surface); ++ pPPriv->surface = NULL; ++ } ++ pPPriv->yuv_width = width; ++ pPPriv->yuv_height = height; ++ } ++ if (!pPPriv->surface) { ++ /* allocate + setup offscreen surface */ ++ if (NULL == (pPPriv->surface = malloc(sizeof(XF86SurfaceRec)))) ++ return FALSE; ++ if (Success != pPPriv->myfmt->alloc_surface ++ (pScrn,pPPriv->myfmt->image->id, ++ pPPriv->yuv_width,pPPriv->yuv_height,pPPriv->surface)) { ++ free(pPPriv->surface); ++ pPPriv->surface = NULL; ++ goto fallback_to_rgb; ++ } ++ ++ if (-1 == ioctl(V4L_FD, VIDIOC_G_FBUF, &pPPriv->yuv_fbuf)) { ++ xf86Msg(X_ERROR, "v4l: Error %d: Can't get FBUF\n", errno); ++ return errno; ++ } ++ pPPriv->yuv_fbuf.fmt.width = pPPriv->surface->width; ++ pPPriv->yuv_fbuf.fmt.height = pPPriv->surface->height; ++ pPPriv->yuv_fbuf.fmt.bytesperline = pPPriv->surface->pitches[0]; ++ pPPriv->yuv_fbuf.fmt.pixelformat = pPPriv->yuv_format; ++ pPPriv->yuv_fbuf.base = ++ (pointer)(pScrn->memPhysBase + pPPriv->surface->offsets[0]); ++ DEBUG(xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 2, ++ " surface: %p+%d = %p, %dx%d, pitch %d\n", ++ (void *)pScrn->memPhysBase, pPPriv->surface->offsets[0], ++ (void *)pScrn->memPhysBase+pPPriv->surface->offsets[0], ++ pPPriv->surface->width, pPPriv->surface->height, ++ pPPriv->surface->pitches[0])); ++ memset(&pPPriv->yuv_win, 0, sizeof(pPPriv->yuv_win)); ++ pPPriv->yuv_win.w.left = 0; ++ pPPriv->yuv_win.w.top = 0; ++ pPPriv->yuv_win.w.width = pPPriv->surface->width; ++ pPPriv->yuv_win.w.height = pPPriv->surface->height; ++ } + +- REGION_INIT(pScrn->pScreen, &newReg, &newBox, 1); +- REGION_SUBTRACT(pScrn->pScreen, &newReg, &newReg, clipBoxes); +- clipBoxes = &newReg; +- } +- +- /* start overlay */ +- DEBUG(xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 2, +- "over: - %d,%d -> %d,%d (%dx%d) (yuv=%dx%d)\n", +- drw_x, drw_y, +- drw_x+drw_w, drw_y+drw_h, +- drw_w, drw_h, +- pPPriv->surface->width,pPPriv->surface->height)); +- pPPriv->myfmt->display(pPPriv->surface, +- 0, 0, drw_x, drw_y, +- pPPriv->surface->width, +- pPPriv->surface->height, +- drw_w, drw_h, +- clipBoxes); +- if (0 == (pPPriv->myfmt->flags & VIDEO_INVERT_CLIPLIST)) { +- REGION_UNINIT(pScrn->pScreen, &newReg); +- } +- pPPriv->VideoOn = VIDEO_YUV; +- return Success; ++ /* program driver */ ++ if (-1 == ioctl(V4L_FD, VIDIOC_S_FBUF, &pPPriv->yuv_fbuf)) { ++ xf86Msg(X_ERROR, "Error %d at VIDIOC_S_FBUF\n", errno); ++ return BadValue; ++ } ++ pPPriv->pixelformat = pPPriv->yuv_format; ++ if (-1 == SetV4LFmt(V4L_FD, pPPriv->pixelformat)) ++ return BadValue; ++ ++ memset(&fmt, 0, sizeof(fmt)); ++ fmt.type = V4L2_BUF_TYPE_VIDEO_OVERLAY; ++ memcpy(&fmt.fmt.win, &pPPriv->yuv_win, sizeof(pPPriv->yuv_win)); ++ if (-1 == ioctl(V4L_FD, VIDIOC_S_FMT, &fmt)) { ++ xf86Msg(X_ERROR, "Error %d at VIDIOC_S_FMT\n", errno); ++ return BadValue; ++ } ++ if (-1 == ioctl(V4L_FD, VIDIOC_OVERLAY, &one)) { ++ xf86Msg(X_ERROR, "v4l: Error %d while enabling Overlay\n", errno); ++ return BadValue; ++ } ++ ++ if (0 == (pPPriv->myfmt->flags & VIDEO_INVERT_CLIPLIST)) { ++ /* invert cliplist */ ++ newBox.x1 = drw_x; ++ newBox.y1 = drw_y; ++ newBox.x2 = drw_x + drw_w; ++ newBox.y2 = drw_y + drw_h; ++ ++ if (pPPriv->myfmt->flags & VIDEO_CLIP_TO_VIEWPORT) { ++ /* trim to the viewport */ ++ if(newBox.x1 < pScrn->frameX0) ++ newBox.x1 = pScrn->frameX0; ++ if(newBox.x2 > pScrn->frameX1) ++ newBox.x2 = pScrn->frameX1; ++ ++ if(newBox.y1 < pScrn->frameY0) ++ newBox.y1 = pScrn->frameY0; ++ if(newBox.y2 > pScrn->frameY1) ++ newBox.y2 = pScrn->frameY1; ++ } ++ ++ REGION_INIT(pScrn->pScreen, &newReg, &newBox, 1); ++ REGION_SUBTRACT(pScrn->pScreen, &newReg, &newReg, clipBoxes); ++ clipBoxes = &newReg; ++ } ++ ++ /* start overlay */ ++ DEBUG(xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 2, ++ "over: - %d,%d -> %d,%d (%dx%d) (yuv=%dx%d)\n", ++ drw_x, drw_y, ++ drw_x+drw_w, drw_y+drw_h, ++ drw_w, drw_h, ++ pPPriv->surface->width,pPPriv->surface->height)); ++ pPPriv->myfmt->display(pPPriv->surface, ++ 0, 0, drw_x, drw_y, ++ pPPriv->surface->width, ++ pPPriv->surface->height, ++ drw_w, drw_h, ++ clipBoxes); ++ if (0 == (pPPriv->myfmt->flags & VIDEO_INVERT_CLIPLIST)) { ++ REGION_UNINIT(pScrn->pScreen, &newReg); ++ } ++ pPPriv->VideoOn = VIDEO_YUV; ++ return Success; + } + +- fallback_to_rgb: ++fallback_to_rgb: + DEBUG(xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 2, "Xv/PV rgb\n")); + /* FIXME: vid-* is ignored for now, not supported by v4l */ + + dw = (drw_w < pPPriv->enc[pPPriv->cenc].width) ? +- drw_w : pPPriv->enc[pPPriv->cenc].width; ++ drw_w : pPPriv->enc[pPPriv->cenc].width; + dh = (drw_h < pPPriv->enc[pPPriv->cenc].height) ? +- drw_h : pPPriv->enc[pPPriv->cenc].height; ++ drw_h : pPPriv->enc[pPPriv->cenc].height; + /* if the window is too big, center the video */ + dx = drw_x + (drw_w - dw)/2; + dy = drw_y + (drw_h - dh)/2; + /* bttv prefeares aligned addresses */ + dx &= ~3; +- if (dx < drw_x) dx += 4; +- if (dx+dw > drw_x+drw_w) dw -= 4; ++ if (dx < drw_x) ++ dx += 4; ++ if (dx+dw > drw_x+drw_w) ++ dw -= 4; + + /* window */ + DEBUG(xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 2, " win: %dx%d+%d+%d\n", +- drw_w,drw_h,drw_x,drw_y)); ++ drw_w,drw_h,drw_x,drw_y)); + DEBUG(xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 2, " use: %dx%d+%d+%d\n", +- dw,dh,dx,dy)); +- pPPriv->rgb_win.x = dx; +- pPPriv->rgb_win.y = dy; +- pPPriv->rgb_win.width = dw; +- pPPriv->rgb_win.height = dh; +- pPPriv->rgb_win.flags = 0; +- ++ dw,dh,dx,dy)); ++ memset(&pPPriv->rgb_win, 0, sizeof(pPPriv->rgb_win)); ++ pPPriv->rgb_win.w.left = dx; ++ pPPriv->rgb_win.w.top = dy; ++ pPPriv->rgb_win.w.width = dw; ++ pPPriv->rgb_win.w.height = dh; ++ + /* clipping */ + if (pPPriv->rgb_win.clips) { +- xfree(pPPriv->rgb_win.clips); +- pPPriv->rgb_win.clips = NULL; ++ free(pPPriv->rgb_win.clips); ++ pPPriv->rgb_win.clips = NULL; + } + pPPriv->rgb_win.clipcount = REGION_NUM_RECTS(clipBoxes); + DEBUG(xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 2," clip: have #%d\n", +- pPPriv->rgb_win.clipcount)); ++ pPPriv->rgb_win.clipcount)); + if (0 != pPPriv->rgb_win.clipcount) { +- pPPriv->rgb_win.clips = xalloc(pPPriv->rgb_win.clipcount*sizeof(struct video_clip)); +- if (NULL != pPPriv->rgb_win.clips) { +- memset(pPPriv->rgb_win.clips,0,pPPriv->rgb_win.clipcount*sizeof(struct video_clip)); +- pBox = REGION_RECTS(clipBoxes); +- clip = pPPriv->rgb_win.clips; +- for (i = 0; i < REGION_NUM_RECTS(clipBoxes); i++, pBox++, clip++) { +- clip->x = pBox->x1 - dx; +- clip->y = pBox->y1 - dy; +- clip->width = pBox->x2 - pBox->x1; +- clip->height = pBox->y2 - pBox->y1; +- } +- } ++ pPPriv->rgb_win.clips = malloc(pPPriv->rgb_win.clipcount*sizeof(struct v4l2_clip)); ++ if (NULL != pPPriv->rgb_win.clips) { ++ memset(pPPriv->rgb_win.clips,0,pPPriv->rgb_win.clipcount*sizeof(struct v4l2_clip)); ++ pBox = REGION_RECTS(clipBoxes); ++ clip = pPPriv->rgb_win.clips; ++ ++ /* ++ * FIXME: This code currently does nothing, as we don't emulate ++ * The V4L1 clipping stuff ++ */ ++ for (i = 0; i < REGION_NUM_RECTS(clipBoxes); i++, pBox++, clip++) { ++ clip->c.left = pBox->x1 - dx; ++ clip->c.top = pBox->y1 - dy; ++ clip->c.width = pBox->x2 - pBox->x1; ++ clip->c.height = pBox->y2 - pBox->y1; ++ } ++ } + } + + /* start */ +- if (-1 == ioctl(V4L_FD,VIDIOCSFBUF,&(pPPriv->rgb_fbuf))) +- perror("ioctl VIDIOCSFBUF"); +- if (-1 == ioctl(V4L_FD,VIDIOCGPICT,&pPPriv->pict)) +- perror("ioctl VIDIOCGPICT"); +- pPPriv->pict.palette = pPPriv->rgbpalette; +- pPPriv->pict.depth = pPPriv->rgbdepth; +- if (-1 == ioctl(V4L_FD,VIDIOCSPICT,&pPPriv->pict)) +- perror("ioctl VIDIOCSPICT"); +- if (-1 == ioctl(V4L_FD,VIDIOCSWIN,&(pPPriv->rgb_win))) +- perror("ioctl VIDIOCSWIN"); +- if (-1 == ioctl(V4L_FD, VIDIOCCAPTURE, &one)) +- perror("ioctl VIDIOCCAPTURE(1)"); ++ if (-1 == ioctl(V4L_FD, VIDIOC_S_FBUF, &pPPriv->rgb_fbuf)) { ++ xf86Msg(X_ERROR, "Error %d at VIDIOC_S_FBUF\n", errno); ++ return BadValue; ++ } ++ if (-1 == GetV4LFmt(V4L_FD, &pPPriv->pixelformat)) { ++ xf86Msg(X_ERROR, "Error %d getting pixelformat\n", errno); ++ return BadValue; ++ } ++ pPPriv->pixelformat = pPPriv->rgb_fbuf.fmt.pixelformat; ++ if (-1 == SetV4LFmt(V4L_FD, pPPriv->pixelformat)) { ++ xf86Msg(X_ERROR, "Error %d getting pixelformat\n", errno); ++ return BadValue; ++ } ++ memset(&fmt, 0, sizeof(fmt)); ++ fmt.type = V4L2_BUF_TYPE_VIDEO_OVERLAY; ++ memcpy(&fmt.fmt.win, &pPPriv->rgb_win, sizeof(pPPriv->rgb_win)); ++ if (-1 == ioctl(V4L_FD, VIDIOC_S_FMT, &fmt)) { ++ xf86Msg(X_ERROR, "Error %d at VIDIOC_S_FMT\n", errno); ++ return BadValue; ++ } ++ if (-1 == ioctl(V4L_FD, VIDIOC_OVERLAY, &one)) { ++ xf86Msg(X_ERROR, "v4l: Error %d while enabling Overlay\n", errno); ++ return BadValue; ++ } + pPPriv->VideoOn = VIDEO_RGB; + + return Success; +@@ -476,7 +703,7 @@ V4lPutStill(ScrnInfoPtr pScrn, + RegionPtr clipBoxes, pointer data, DrawablePtr pDraw) + { + #if 0 +- PortPrivPtr pPPriv = (PortPrivPtr) data; ++ PortPrivPtr pPPriv = (PortPrivPtr) data; + #endif + + DEBUG(xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 2, "Xv/PS\n")); +@@ -488,177 +715,152 @@ V4lPutStill(ScrnInfoPtr pScrn, + static void + V4lStopVideo(ScrnInfoPtr pScrn, pointer data, Bool shutdown) + { +- PortPrivPtr pPPriv = (PortPrivPtr) data; ++ PortPrivPtr pPPriv = (PortPrivPtr) data; + int zero=0; + + if (VIDEO_OFF == pPPriv->VideoOn) { +- DEBUG(xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 2, +- "Xv/StopVideo called with video already off\n")); +- return; ++ DEBUG(xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 2, ++ "Xv/StopVideo called with video already off\n")); ++ return; + } + DEBUG(xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 2, "Xv/StopVideo shutdown=%d\n",shutdown)); + + if (!shutdown) { +- /* just reclipping, we have to stop DMA transfers to the visible screen */ +- if (VIDEO_RGB == pPPriv->VideoOn) { +- if (-1 == ioctl(V4L_FD, VIDIOCCAPTURE, &zero)) +- perror("ioctl VIDIOCCAPTURE(0)"); +- pPPriv->VideoOn = VIDEO_RECLIP; +- } ++ /* just reclipping, we have to stop DMA transfers to the visible screen */ ++ if (VIDEO_RGB == pPPriv->VideoOn) { ++ if (-1 == ioctl(V4L_FD, VIDIOC_OVERLAY, &zero)) ++ xf86Msg(X_ERROR, "v4l: Error %d while disabling Overlay\n", errno); ++ pPPriv->VideoOn = VIDEO_RECLIP; ++ } + } else { +- /* video stop - turn off and free everything */ +- if (VIDEO_YUV == pPPriv->VideoOn) { +- pPPriv->myfmt->stop(pPPriv->surface); +- pPPriv->myfmt->free_surface(pPPriv->surface); +- xfree(pPPriv->surface); +- pPPriv->surface = NULL; +- } +- if (-1 == ioctl(V4L_FD, VIDIOCCAPTURE, &zero)) +- perror("ioctl VIDIOCCAPTURE(0)"); +- +- V4lCloseDevice(pPPriv,pScrn); +- pPPriv->VideoOn = VIDEO_OFF; +- } +-} ++ /* video stop - turn off and free everything */ ++ if (VIDEO_YUV == pPPriv->VideoOn) { ++ pPPriv->myfmt->stop(pPPriv->surface); ++ pPPriv->myfmt->free_surface(pPPriv->surface); ++ free(pPPriv->surface); ++ pPPriv->surface = NULL; ++ } ++ if (-1 == ioctl(V4L_FD, VIDIOC_OVERLAY, &zero)) ++ xf86Msg(X_ERROR, "v4l: Error %d while disabling Overlay\n", errno); + +-/* v4l uses range 0 - 65535; Xv uses -1000 - 1000 */ +-static int +-v4l_to_xv(int val) { +- val = val * 2000 / 65536 - 1000; +- if (val < -1000) val = -1000; +- if (val > 1000) val = 1000; +- return val; +-} +-static int +-xv_to_v4l(int val) { +- val = val * 65536 / 2000 + 32768; +- if (val < -0) val = 0; +- if (val > 65535) val = 65535; +- return val; ++ V4lCloseDevice(pPPriv,pScrn); ++ pPPriv->VideoOn = VIDEO_OFF; ++ } + } + + static int + V4lSetPortAttribute(ScrnInfoPtr pScrn, + Atom attribute, INT32 value, pointer data) + { +- PortPrivPtr pPPriv = (PortPrivPtr) data; +- struct video_channel chan; +- int ret = Success; ++ struct v4l2_control ctrl; ++ PortPrivPtr pPPriv = (PortPrivPtr) data; ++ int i, ret = BadValue; + + if (V4lOpenDevice(pPPriv, pScrn)) +- return Success; ++ return Success; + + DEBUG(xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 2, "Xv/SPA %d, %d\n", +- attribute, value)); ++ (int)attribute, (int)value)); + + if (-1 == V4L_FD) { +- ret = Success; ++ ret = Success; + } else if (attribute == xvEncoding) { +- if (value >= 0 && value < pPPriv->nenc) { +- pPPriv->cenc = value; +- chan.channel = pPPriv->input[value]; +- chan.norm = pPPriv->norm[value]; +- if (-1 == ioctl(V4L_FD,VIDIOCSCHAN,&chan)) +- perror("ioctl VIDIOCSCHAN"); +- } else { +- ret = BadValue; +- } +- } else if (attribute == xvBrightness || +- attribute == xvContrast || +- attribute == xvSaturation || +- attribute == xvHue) { +- ioctl(V4L_FD,VIDIOCGPICT,&pPPriv->pict); +- if (attribute == xvBrightness) pPPriv->pict.brightness = xv_to_v4l(value); +- if (attribute == xvContrast) pPPriv->pict.contrast = xv_to_v4l(value); +- if (attribute == xvSaturation) pPPriv->pict.colour = xv_to_v4l(value); +- if (attribute == xvHue) pPPriv->pict.hue = xv_to_v4l(value); +- if (-1 == ioctl(V4L_FD,VIDIOCSPICT,&pPPriv->pict)) +- perror("ioctl VIDIOCSPICT"); +- } else if (attribute == xvMute || +- attribute == xvVolume) { +- ioctl(V4L_FD,VIDIOCGAUDIO,&pPPriv->audio); +- if (attribute == xvMute) { +- if (value) +- pPPriv->audio.flags |= VIDEO_AUDIO_MUTE; +- else +- pPPriv->audio.flags &= ~VIDEO_AUDIO_MUTE; +- } else if (attribute == xvVolume) { +- if (pPPriv->audio.flags & VIDEO_AUDIO_VOLUME) +- pPPriv->audio.volume = xv_to_v4l(value); +- } else { +- ret = BadValue; +- } +- if (ret != BadValue) +- if (-1 == ioctl(V4L_FD,VIDIOCSAUDIO,&pPPriv->audio)) +- perror("ioctl VIDIOCSAUDIO"); ++ if (value < 0 || value >= pPPriv->nenc) ++ goto err; ++ if (ioctl(V4L_FD, VIDIOC_S_INPUT, &pPPriv->input[value]) == -1) { ++ xf86Msg(X_ERROR, "v4l: Error %d while setting input\n", errno); ++ goto err; ++ } ++ if (ioctl(V4L_FD, VIDIOC_S_STD, &pPPriv->norm[value]) == -1) { ++ xf86Msg(X_ERROR, "v4l: Error %d while setting standard\n", errno); ++ goto err; ++ } ++ pPPriv->cenc = value; ++ ret = Success; + } else if (attribute == xvFreq) { +- unsigned long freq = value; +- if (-1 == ioctl(V4L_FD,VIDIOCSFREQ,&freq)) +- perror("ioctl VIDIOCSFREQ"); +- } else if (0 != pPPriv->yuv_format && +- pPPriv->myfmt->setAttribute) { +- /* not mine -> pass to yuv scaler driver */ +- ret = pPPriv->myfmt->setAttribute(pScrn, attribute, value); ++ struct v4l2_frequency freq; ++ memset(&freq, 0, sizeof(freq)); ++ ioctl(V4L_FD, VIDIOC_G_FREQUENCY, &freq); ++ freq.frequency = value; ++ if (ioctl(V4L_FD, VIDIOC_S_FREQUENCY, &freq) == -1) ++ xf86Msg(X_ERROR, "v4l: Error %d while setting frequency\n", errno); ++ else ++ ret = Success; + } else { +- ret = BadValue; ++ for (i = 0; i < pPPriv->n_qctrl; i++) ++ if (pPPriv->XvV4LCtrl[i].xv == attribute) ++ break; ++ if (i == pPPriv->n_qctrl) { ++ /* not mine -> pass to yuv scaler driver */ ++ if (0 != pPPriv->yuv_format && pPPriv->myfmt->setAttribute) ++ ret = pPPriv->myfmt->setAttribute(pScrn, attribute, value); ++ else ++ ret = BadMatch; ++ goto err; ++ } ++ if (pPPriv->XvV4LCtrl[i].qctrl.flags & V4L2_CTRL_FLAG_DISABLED) ++ goto err; ++ ctrl.id = pPPriv->XvV4LCtrl[i].qctrl.id; ++ ctrl.value = value; ++ if (ioctl(V4L_FD, VIDIOC_S_CTRL, &ctrl) != 1) ++ ret = Success; + } + ++err: + V4lCloseDevice(pPPriv,pScrn); + return ret; + } + + static int +-V4lGetPortAttribute(ScrnInfoPtr pScrn, ++V4lGetPortAttribute(ScrnInfoPtr pScrn, + Atom attribute, INT32 *value, pointer data) + { ++ struct v4l2_control ctrl; + PortPrivPtr pPPriv = (PortPrivPtr) data; +- int ret = Success; ++ int i, ret = BadValue; + + if (V4lOpenDevice(pPPriv, pScrn)) +- return Success; ++ return Success; + + DEBUG(xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 2, "Xv/GPA %d\n", +- attribute)); ++ (int)attribute)); + + if (-1 == V4L_FD) { +- ret = Success; ++ ret = Success; + } else if (attribute == xvEncoding) { +- *value = pPPriv->cenc; +- } else if (attribute == xvBrightness || +- attribute == xvContrast || +- attribute == xvSaturation || +- attribute == xvHue) { +- ioctl(V4L_FD,VIDIOCGPICT,&pPPriv->pict); +- if (attribute == xvBrightness) *value = v4l_to_xv(pPPriv->pict.brightness); +- if (attribute == xvContrast) *value = v4l_to_xv(pPPriv->pict.contrast); +- if (attribute == xvSaturation) *value = v4l_to_xv(pPPriv->pict.colour); +- if (attribute == xvHue) *value = v4l_to_xv(pPPriv->pict.hue); +- } else if (attribute == xvMute || +- attribute == xvVolume) { +- ioctl(V4L_FD,VIDIOCGAUDIO,&pPPriv->audio); +- if (attribute == xvMute) { +- *value = (pPPriv->audio.flags & VIDEO_AUDIO_MUTE) ? 1 : 0; +- } else if (attribute == xvVolume) { +- if (pPPriv->audio.flags & VIDEO_AUDIO_VOLUME) +- *value = v4l_to_xv(pPPriv->audio.volume); +- } else { +- ret = BadValue; +- } ++ *value = pPPriv->cenc; ++ ret = Success; + } else if (attribute == xvFreq) { +- unsigned long freq; +- ioctl(V4L_FD,VIDIOCGFREQ,&freq); +- *value = freq; +- } else if (0 != pPPriv->yuv_format && +- pPPriv->myfmt->getAttribute) { +- /* not mine -> pass to yuv scaler driver */ +- ret = pPPriv->myfmt->getAttribute(pScrn, attribute, value); ++ struct v4l2_frequency freq; ++ memset(&freq, 0, sizeof(freq)); ++ if (ioctl(V4L_FD, VIDIOC_G_FREQUENCY, &freq) != -1) { ++ *value = freq.frequency; ++ ret = Success; ++ } + } else { +- ret = BadValue; ++ for (i = 0; i < pPPriv->n_qctrl; i++) ++ if (pPPriv->XvV4LCtrl[i].xv == attribute) ++ break; ++ if (i == pPPriv->n_qctrl) { ++ /* not mine -> pass to yuv scaler driver */ ++ if (0 != pPPriv->yuv_format && pPPriv->myfmt->getAttribute) ++ ret = pPPriv->myfmt->getAttribute(pScrn, attribute, value); ++ else ++ ret = BadMatch; ++ goto err; ++ } ++ if (pPPriv->XvV4LCtrl[i].qctrl.flags & V4L2_CTRL_FLAG_DISABLED) ++ goto err; ++ ctrl.id = pPPriv->XvV4LCtrl[i].qctrl.id; ++ if (ioctl(V4L_FD, VIDIOC_G_CTRL, &ctrl) != -1) { ++ *value = ctrl.value; ++ ret = Success; ++ } + } +- + DEBUG(xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 2, "Xv/GPA %d, %d\n", +- attribute, *value)); ++ (int)attribute, (int)*value)); + ++err: + V4lCloseDevice(pPPriv,pScrn); + return ret; + } +@@ -673,15 +875,15 @@ V4lQueryBestSize(ScrnInfoPtr pScrn, Bool motion, + int maxy = pPPriv->enc[pPPriv->cenc].height; + + if (0 != pPPriv->yuv_format) { +- *p_w = pPPriv->myfmt->max_width; +- *p_h = pPPriv->myfmt->max_height; ++ *p_w = pPPriv->myfmt->max_width; ++ *p_h = pPPriv->myfmt->max_height; + } else { +- *p_w = (drw_w < maxx) ? drw_w : maxx; +- *p_h = (drw_h < maxy) ? drw_h : maxy; ++ *p_w = (drw_w < maxx) ? drw_w : maxx; ++ *p_h = (drw_h < maxy) ? drw_h : maxy; + } + + DEBUG(xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 2, "Xv/BS %d %dx%d %dx%d\n", +- pPPriv->cenc,drw_w,drw_h,*p_w,*p_h)); ++ pPPriv->cenc,drw_w,drw_h,*p_w,*p_h)); + } + + static const OptionInfoRec * +@@ -693,132 +895,198 @@ V4LAvailableOptions(int chipid, int busid) + static void + V4LIdentify(int flags) + { +- xf86Msg(X_INFO, "v4l driver for Video4Linux\n"); +-} ++ xf86Msg(X_INFO, "v4l driver for Video4Linux overlay mode (V4L2)\n"); ++} + + static char* + fixname(char *str) + { + int s,d; + for (s=0, d=0;; s++) { +- if (str[s] == '-') +- continue; +- str[d++] = tolower(str[s]); +- if (0 == str[s]) +- break; ++ if (str[s] == '-') ++ continue; ++ str[d++] = tolower(str[s]); ++ if (0 == str[s]) ++ break; + } + return str; + } + + static int +-v4l_add_enc(XF86VideoEncodingPtr enc, int i, +- char *norm, char *input, int width, int height, int n, int d) ++AddV4LEnc(XF86VideoEncodingPtr enc, int entry, ++ char *norm, char *input, int width, int height, int n, int d) + { +- enc[i].id = i; +- enc[i].name = xalloc(strlen(norm)+strlen(input)+2); +- if (NULL == enc[i].name) +- return -1; +- enc[i].width = width; +- enc[i].height = height; +- enc[i].rate.numerator = n; +- enc[i].rate.denominator = d; +- sprintf(enc[i].name,"%s-%s",norm,fixname(input)); ++ enc->id = entry; ++ enc->name = malloc(strlen(norm) + strlen(input) + 2); ++ if (!enc->name) ++ return -1; ++ ++ enc->width = width; ++ enc->height = height; ++ enc->rate.numerator = n; ++ enc->rate.denominator = d * 2; /* Refresh rate is twice, due to interlace */ ++ sprintf(enc->name,"%s-%s",norm,fixname(input)); ++ ++ xf86Msg(X_INFO, "v4l: adding input %s, %dx%d %d fps\n", ++ enc->name, enc->width, enc->height, (d + n - 1)/n); ++ + return 0; + } + ++static int ++V4LGetStd(PortPrivPtr p, int fd) ++{ ++ struct v4l2_standard standard; ++ int entries = 0; ++ ++ /* ++ * 128 is just an arbitrary large number. There aren't that many video stds ++ * The max value is there just to avoid an endless loop, if the driver is ++ * broken. ++ */ ++ for (entries = 0; entries < 128; entries++) { ++ memset(&standard, 0, sizeof(standard)); ++ standard.index = entries; ++ if (-1 == ioctl(fd,VIDIOC_ENUMSTD, &standard)) ++ break; ++ p->standard = realloc(p->standard, sizeof(standard) * (entries + 1)); ++ memcpy(&p->standard[entries], &standard, sizeof(standard)); ++ } ++ ++ /* ++ * Some webcam drivers don't implement VIDIOC_ENUMSTD. Fake it ++ * This is currently unused, as no webcam driver allows OVERLAY mode, ++ * but the code is here, in the case some webcam driver starts allowing ++ * overlay. ++ * FIXME: Webcam drivers may use VIDIOC_ENUM_FRAMESIZES and ++ * VIDIOC_ENUM_FRAMEINTERVALS ioctl's that may help to fine-tune ++ * their needs. Those ioctl's could be used here in order to better ++ * support webcams. ++ */ ++ if (!entries) { ++ xf86Msg(X_INFO, "v4l: VIDIOC_ENUMSTD error %d.\n",errno); ++ p->standard = realloc(p->standard, sizeof(standard) * (entries + 1)); ++ p->standard[0].id = V4L2_STD_ALL; ++ strcpy((char *)p->standard[0].name, "CAMERA"); ++ p->standard[0].frameperiod.numerator = 1001; ++ p->standard[0].frameperiod.denominator = 300001; ++ p->standard[0].framelines = 480; ++ entries++; ++ } ++ return entries; ++} ++ + static void +-V4LBuildEncodings(PortPrivPtr p, int fd, int channels) ++V4LBuildEncodings(PortPrivPtr p, int fd) + { +- static struct video_channel channel; +- int i,entries,have_bttv,bttv_ver; +- +-#define BTTV_VERSION _IOR('v' , BASE_VIDIOCPRIVATE+6, int) +- have_bttv = 0; +- if (-1 != ioctl(fd,BTTV_VERSION,&bttv_ver)) +- have_bttv = 1; +- +- entries = (have_bttv ? 7 : 3) * channels; +- p->enc = xalloc(sizeof(XF86VideoEncodingRec) * entries); +- if (NULL == p->enc) +- goto fail; +- memset(p->enc,0,sizeof(XF86VideoEncodingRec) * entries); +- p->norm = xalloc(sizeof(int) * entries); +- if (NULL == p->norm) +- goto fail; +- memset(p->norm,0,sizeof(int) * entries); +- p->input = xalloc(sizeof(int) * entries); +- if (NULL == p->input) +- goto fail; +- memset(p->input,0,sizeof(int) * entries); ++ unsigned int inp, std, num_std; ++ ++ num_std = V4LGetStd(p, fd); + + p->nenc = 0; +- for (i = 0; i < channels; i++) { +- channel.channel = i; +- if (-1 == ioctl(fd,VIDIOCGCHAN,&channel)) { +- perror("ioctl VIDIOCGCHAN"); +- continue; +- } +- +- v4l_add_enc(p->enc, p->nenc,"PAL", channel.name, 768,576, 1,50); +- p->norm[p->nenc] = VIDEO_MODE_PAL; +- p->input[p->nenc] = i; +- p->nenc++; +- +- v4l_add_enc(p->enc,p->nenc,"NTSC", channel.name, 640,480, 1001,60000); +- p->norm[p->nenc] = VIDEO_MODE_NTSC; +- p->input[p->nenc] = i; +- p->nenc++; +- +- v4l_add_enc(p->enc,p->nenc,"SECAM",channel.name, 768,576, 1,50); +- p->norm[p->nenc] = VIDEO_MODE_SECAM; +- p->input[p->nenc] = i; +- p->nenc++; +- +- if (have_bttv) { +- /* workaround for a v4l design flaw: The v4l API knows just pal, +- ntsc and secam. But there are a few more norms (pal versions +- with a different timings used in south america for example). +- The bttv driver can handle these too. */ +- if (0 != v4l_add_enc(p->enc,p->nenc,"PAL-Nc",channel.name, +- 640, 576, 1,50)) +- goto fail; +- p->norm[p->nenc] = 3; +- p->input[p->nenc] = i; +- p->nenc++; +- +- if (0 != v4l_add_enc(p->enc,p->nenc,"PAL-M",channel.name, +- 640, 576, 1,50)) +- goto fail; +- p->norm[p->nenc] = 4; +- p->input[p->nenc] = i; +- p->nenc++; +- +- if (0 != v4l_add_enc(p->enc, p->nenc,"PAL-N", channel.name, +- 768,576, 1,50)) +- goto fail; +- p->norm[p->nenc] = 5; +- p->input[p->nenc] = i; +- p->nenc++; +- +- if (0 != v4l_add_enc(p->enc,p->nenc,"NTSC-JP", channel.name, +- 640,480, 1001,60000)) +- goto fail; +- p->norm[p->nenc] = 6; +- p->input[p->nenc] = i; +- p->nenc++; +- } ++ ++ /* ++ * 256 is just an arbitrary large number. There aren't that many video ++ * inputs on any driver. The max value is there just to avoid an endless ++ * loop, if the driver is broken. ++ */ ++ for (inp = 0; inp < 256; inp++) { ++ struct v4l2_input input; ++ ++ memset(&input, 0, sizeof(input)); ++ input.index = inp; ++ if (ioctl(fd, VIDIOC_ENUMINPUT, &input) == -1) ++ break; ++ ++ for (std = 0; std < num_std; std++) { ++ int width, height; ++ ++ /* ++ * Currently, this code is not reliable, due to driver ++ * non-compliance on both saa7134 and bttv. So, instead, ++ * just use the video standard information ++ */ ++#if 0 ++ struct v4l2_framebuffer fbuf; ++ ++ /* Some webcam drivers will fail here, but that's OK */ ++ ioctl(fd, VIDIOC_S_STD, &p->standard[std].id); ++ ++ memset(&fbuf, 0, sizeof(fbuf)); ++ if (ioctl(fd, VIDIOC_G_FBUF, &fbuf) == -1) { ++ xf86Msg(X_INFO, "v4l: Error %d: Can't get FBUF\n", errno); ++ return; ++ } ++ height = fbuf.fmt.height; ++ width = fbuf.fmt.width; ++ ++ /* ++ * If the overlay method fails, get the resolution ++ * via checking V4L2_BUF_TYPE_VIDEO_CAPTURE ++ */ ++ if (!height || !width) { ++ struct v4l2_format format; ++ ++ format.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; ++ if (ioctl(fd, VIDIOC_G_FMT, &format) == -1) { ++ /* Hmm... device doesn't support capture. */ ++ height = p->standard[std].framelines; ++ if (height == 480) ++ width = 640; ++ else if (height == 576) ++ width = 768; ++ else ++ continue; ++ } else { ++ height = format.fmt.pix.height; ++ width = format.fmt.pix.width; ++ } ++ } ++#else ++ if (p->standard[std].id & V4L2_STD_525_60) { ++ height = 480; ++ width = 640; ++ } else { ++ height = 576; ++ width = 768; ++ } ++ ++#endif ++ /* Fixup for some driver bug */ ++ if ((p->standard[std].id & V4L2_STD_525_60) && (height == 576)) ++ height = 480; ++ ++ p->enc = realloc(p->enc, sizeof(XF86VideoEncodingRec) * (p->nenc + 1)); ++ p->norm = realloc(p->norm, sizeof(int) * (p->nenc + 1)); ++ p->input = realloc(p->input, sizeof(int) * (p->nenc + 1)); ++ if (!p->enc || !p->norm || !p->input) ++ goto fail; ++ if (AddV4LEnc(&p->enc[p->nenc], p->nenc, ++ (char *)p->standard[std].name, ++ (char *)input.name, width, height, ++ p->standard[std].frameperiod.numerator, ++ p->standard[std].frameperiod.denominator)) ++ goto fail; ++ p->norm[p->nenc] = p->standard[std].id; ++ p->input[p->nenc] = inp; ++ p->nenc++; ++ } + } ++ ++ if (!p->nenc) ++ xf86Msg(X_ERROR, "v4l: couldn't detect any valid input/standard\n"); + return; +- +- fail: ++ ++fail: ++ xf86Msg(X_ERROR, "v4l: Fail to get standards: %d\n", errno); + if (p->input) +- xfree(p->input); ++ free(p->input); + p->input = NULL; + if (p->norm) +- xfree(p->norm); ++ free(p->norm); + p->norm = NULL; + if (p->enc) +- xfree(p->enc); ++ free(p->enc); + p->enc = NULL; + p->nenc = 0; + } +@@ -826,73 +1094,33 @@ V4LBuildEncodings(PortPrivPtr p, int fd, int channels) + /* add a attribute a list */ + static void + v4l_add_attr(XF86AttributeRec **list, int *count, +- const XF86AttributeRec *attr) ++ const XF86AttributeRec *attr) + { + XF86AttributeRec *oldlist = *list; + int i; ++ Atom gpa; + + for (i = 0; i < *count; i++) { +- if (0 == strcmp((*list)[i].name,attr->name)) { +- DEBUG(xf86Msg(X_INFO, "v4l: skip dup attr %s\n",attr->name)); +- return; +- } ++ if (0 == strcmp((*list)[i].name,attr->name)) { ++ DEBUG(xf86Msg(X_INFO, "v4l: skip dup attr %s\n",attr->name)); ++ return; ++ } + } +- +- DEBUG(xf86Msg(X_INFO, "v4l: add attr %s\n",attr->name)); +- *list = xalloc((*count + 1) * sizeof(XF86AttributeRec)); ++ ++ *list = malloc((*count + 1) * sizeof(XF86AttributeRec)); + if (NULL == *list) { +- *count = 0; +- return; ++ *count = 0; ++ return; + } + if (*count) +- memcpy(*list, oldlist, *count * sizeof(XF86AttributeRec)); ++ memcpy(*list, oldlist, *count * sizeof(XF86AttributeRec)); + memcpy(*list + *count, attr, sizeof(XF86AttributeRec)); +- (*count)++; +-} + +-/* setup yuv overlay + hw scaling: look if we find some common video +- format which both v4l driver and the X-Server can handle */ +-static void v4l_check_yuv(ScrnInfoPtr pScrn, PortPrivPtr pPPriv, +- char *dev, int fd) +-{ +- static const struct { +- unsigned int v4l_palette; +- unsigned int v4l_depth; +- unsigned int xv_id; +- unsigned int xv_format; +- } yuvlist[] = { +- { VIDEO_PALETTE_YUV422, 16, 0x32595559, XvPacked }, +- { VIDEO_PALETTE_UYVY, 16, 0x59565955, XvPacked }, +- { 0 /* end of list */ }, +- }; +- ScreenPtr pScreen = screenInfo.screens[pScrn->scrnIndex]; +- int fmt,i; ++ gpa = MAKE_ATOM((*list)[*count].name); ++ xf86Msg(X_INFO, "v4l: add attr %s (Xv/GPA %d) (%d to %d)\n", ++ attr->name, (int)gpa, attr->min_value, attr->max_value); + +- pPPriv->format = xf86XVQueryOffscreenImages(pScreen,&pPPriv->nformat); +- for (fmt = 0; yuvlist[fmt].v4l_palette != 0; fmt++) { +- /* check v4l ... */ +- ioctl(fd,VIDIOCGPICT,&pPPriv->pict); +- pPPriv->pict.palette = yuvlist[fmt].v4l_palette; +- pPPriv->pict.depth = yuvlist[fmt].v4l_depth; +- if (-1 == ioctl(fd,VIDIOCSPICT,&pPPriv->pict)) +- continue; +- ioctl(fd,VIDIOCGPICT,&pPPriv->pict); +- if (pPPriv->pict.palette != yuvlist[fmt].v4l_palette) +- continue; +- /* ... works, check available offscreen image formats now ... */ +- for (i = 0; i < pPPriv->nformat; i++) { +- if (pPPriv->format[i].image->id == yuvlist[fmt].xv_id && +- pPPriv->format[i].image->format == yuvlist[fmt].xv_format) { +- /* ... match found, good. */ +- pPPriv->yuv_format = yuvlist[fmt].v4l_palette; +- pPPriv->myfmt = pPPriv->format+i; +- xf86DrvMsg(pScrn->scrnIndex, X_INFO, +- "v4l[%s]: using hw video scaling [%4.4s].\n", +- dev,(char*)&(pPPriv->format[i].image->id)); +- return; +- } +- } +- } ++ (*count)++; + } + + static int +@@ -904,118 +1132,114 @@ V4LInit(ScrnInfoPtr pScrn, XF86VideoAdaptorPtr **adaptors) + char dev[18]; + int fd,i,j,d; + +- DEBUG(xf86Msg(X_INFO, "v4l: init start\n")); +- + for (i = 0, d = 0; d < MAX_V4L_DEVICES; d++) { +- sprintf(dev, "/dev/video%d", d); +- fd = open(dev, O_RDWR, 0); +- if (fd == -1) { +- sprintf(dev, "/dev/v4l/video%d", d); +- fd = open(dev, O_RDWR, 0); +- if (fd == -1) +- break; +- } +- DEBUG(xf86Msg(X_INFO, "v4l: %s open ok\n",dev)); +- +- /* our private data */ +- pPPriv = xalloc(sizeof(PortPrivRec)); +- if (!pPPriv) +- return FALSE; +- memset(pPPriv,0,sizeof(PortPrivRec)); +- pPPriv->nr = d; +- +- /* check device */ +- if (-1 == ioctl(fd,VIDIOCGCAP,&pPPriv->cap) || +- 0 == (pPPriv->cap.type & VID_TYPE_OVERLAY)) { +- DEBUG(xf86Msg(X_INFO, "v4l: %s: no overlay support\n",dev)); +- xfree(pPPriv); +- close(fd); +- continue; +- } +- strncpy(V4L_NAME, dev, 16); +- V4LBuildEncodings(pPPriv,fd,pPPriv->cap.channels); +- if (NULL == pPPriv->enc) +- return FALSE; +- v4l_check_yuv(pScrn,pPPriv,dev,fd); +- +- /* alloc VideoAdaptorRec */ +- VAR = xrealloc(VAR,sizeof(XF86VideoAdaptorPtr)*(i+1)); +- VAR[i] = xalloc(sizeof(XF86VideoAdaptorRec)); +- if (!VAR[i]) +- return FALSE; +- memset(VAR[i],0,sizeof(XF86VideoAdaptorRec)); +- +- +- /* build attribute list */ +- for (j = 0; j < V4L_ATTR; j++) { +- /* video attributes */ +- v4l_add_attr(&VAR[i]->pAttributes, &VAR[i]->nAttributes, +- &Attributes[j]); +- } +- if (0 == ioctl(fd,VIDIOCGAUDIO,&pPPriv->audio)) { +- /* audio attributes */ +- if (pPPriv->audio.flags & VIDEO_AUDIO_VOLUME) +- v4l_add_attr(&VAR[i]->pAttributes, &VAR[i]->nAttributes, +- &VolumeAttr); +- if (pPPriv->audio.flags & VIDEO_AUDIO_MUTABLE) +- v4l_add_attr(&VAR[i]->pAttributes, &VAR[i]->nAttributes, +- &MuteAttr); +- } +- if (pPPriv->cap.type & VID_TYPE_TUNER) { +- /* tuner attributes */ +- v4l_add_attr(&VAR[i]->pAttributes, &VAR[i]->nAttributes, +- &FreqAttr); +- } +- if (0 != pPPriv->yuv_format) { +- /* pass throuth scaler attributes */ +- for (j = 0; j < pPPriv->myfmt->num_attributes; j++) { +- v4l_add_attr(&VAR[i]->pAttributes, &VAR[i]->nAttributes, +- pPPriv->myfmt->attributes+j); +- } +- } +- +- +- /* hook in private data */ +- Private = xalloc(sizeof(DevUnion)); +- if (!Private) +- return FALSE; +- memset(Private,0,sizeof(DevUnion)); +- Private->ptr = (pointer)pPPriv; +- VAR[i]->pPortPrivates = Private; +- VAR[i]->nPorts = 1; +- +- /* init VideoAdaptorRec */ +- VAR[i]->type = XvInputMask | XvWindowMask | XvVideoMask; +- VAR[i]->name = "video4linux"; +- VAR[i]->flags = VIDEO_INVERT_CLIPLIST; +- +- VAR[i]->PutVideo = V4lPutVideo; +- VAR[i]->PutStill = V4lPutStill; +- VAR[i]->StopVideo = V4lStopVideo; +- VAR[i]->SetPortAttribute = V4lSetPortAttribute; +- VAR[i]->GetPortAttribute = V4lGetPortAttribute; +- VAR[i]->QueryBestSize = V4lQueryBestSize; +- +- VAR[i]->nEncodings = pPPriv->nenc; +- VAR[i]->pEncodings = pPPriv->enc; +- VAR[i]->nFormats = +- sizeof(InputVideoFormats) / sizeof(InputVideoFormats[0]); +- VAR[i]->pFormats = InputVideoFormats; +- +- if (fd != -1) +- close(fd); +- i++; ++ sprintf(dev, "/dev/video%d", d); ++ fd = open(dev, O_RDWR, 0); ++ if (fd == -1) { ++ sprintf(dev, "/dev/v4l/video%d", d); ++ fd = open(dev, O_RDWR, 0); ++ if (fd == -1) ++ break; ++ } ++ DEBUG(xf86Msg(X_INFO, "v4l: %s open ok\n",dev)); ++ ++ /* our private data */ ++ pPPriv = malloc(sizeof(PortPrivRec)); ++ if (!pPPriv) ++ return FALSE; ++ memset(pPPriv,0,sizeof(PortPrivRec)); ++ pPPriv->nr = d; ++ ++ /* check device capabilities */ ++ memset(&pPPriv->cap, 0, sizeof(&pPPriv->cap)); ++ if (-1 == ioctl(fd, VIDIOC_QUERYCAP, &pPPriv->cap) || ++ 0 == (pPPriv->cap.capabilities & V4L2_CAP_VIDEO_OVERLAY)) { ++ xf86Msg(X_ERROR, "v4l: %s: no overlay support\n",dev); ++ free(pPPriv); ++ close(fd); ++ continue; ++ } ++ ++ if (v4l_check_yuv(pScrn, pPPriv, dev, fd) == FALSE) { ++ xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 2, ++ "Xv Overlay not supported. Can't use v4l driver\n"); ++ free(pPPriv); ++ close(fd); ++ continue; ++ } ++ ++ xf86Msg(X_INFO, "v4l: enabling overlay mode for %s.\n", dev); ++ strncpy(V4L_NAME, dev, 16); ++ V4LBuildEncodings(pPPriv, fd); ++ if (NULL == pPPriv->enc) ++ return FALSE; ++ ++ /* alloc VideoAdaptorRec */ ++ VAR = realloc(VAR,sizeof(XF86VideoAdaptorPtr)*(i+1)); ++ VAR[i] = malloc(sizeof(XF86VideoAdaptorRec)); ++ if (!VAR[i]) ++ return FALSE; ++ memset(VAR[i],0,sizeof(XF86VideoAdaptorRec)); ++ ++ /* build attribute list */ ++ AddAllV4LControls(pPPriv, &VAR[i]->pAttributes, &VAR[i]->nAttributes, fd); ++ ++ for (j = 0; j < V4L_ATTR; j++) { ++ /* Other video attributes */ ++ v4l_add_attr(&VAR[i]->pAttributes, &VAR[i]->nAttributes, ++ &Attributes[j]); ++ } ++ if (pPPriv->cap.capabilities & V4L2_CAP_TUNER) { ++ /* tuner attributes */ ++ v4l_add_attr(&VAR[i]->pAttributes, &VAR[i]->nAttributes, ++ &FreqAttr); ++ } ++ ++ /* Initialize yuv_format */ ++ if (0 != pPPriv->yuv_format) { ++ /* pass throuth scaler attributes */ ++ for (j = 0; j < pPPriv->myfmt->num_attributes; j++) { ++ v4l_add_attr(&VAR[i]->pAttributes, &VAR[i]->nAttributes, ++ pPPriv->myfmt->attributes+j); ++ } ++ } ++ ++ DEBUG(xf86Msg(X_INFO, "v4l: saving config into driver data\n")); ++ /* hook in private data */ ++ Private = malloc(sizeof(DevUnion)); ++ if (!Private) ++ return FALSE; ++ memset(Private,0,sizeof(DevUnion)); ++ Private->ptr = (pointer)pPPriv; ++ VAR[i]->pPortPrivates = Private; ++ VAR[i]->nPorts = 1; ++ ++ /* init VideoAdaptorRec */ ++ VAR[i]->type = XvInputMask | XvWindowMask | XvVideoMask; ++ VAR[i]->name = "video4linux"; ++ VAR[i]->flags = VIDEO_INVERT_CLIPLIST; ++ ++ VAR[i]->PutVideo = V4lPutVideo; ++ VAR[i]->PutStill = V4lPutStill; ++ VAR[i]->StopVideo = V4lStopVideo; ++ VAR[i]->SetPortAttribute = V4lSetPortAttribute; ++ VAR[i]->GetPortAttribute = V4lGetPortAttribute; ++ VAR[i]->QueryBestSize = V4lQueryBestSize; ++ ++ VAR[i]->nEncodings = pPPriv->nenc; ++ VAR[i]->pEncodings = pPPriv->enc; ++ VAR[i]->nFormats = sizeof(InputVideoFormats) / sizeof(InputVideoFormats[0]); ++ VAR[i]->pFormats = InputVideoFormats; ++ ++ if (fd != -1) { ++ DEBUG(xf86Msg(X_INFO, "v4l: %s init finished.\n",dev)); ++ close(fd); ++ } ++ i++; + } + + xvEncoding = MAKE_ATOM(XV_ENCODING); +- xvHue = MAKE_ATOM(XV_HUE); +- xvSaturation = MAKE_ATOM(XV_SATURATION); +- xvBrightness = MAKE_ATOM(XV_BRIGHTNESS); +- xvContrast = MAKE_ATOM(XV_CONTRAST); +- + xvFreq = MAKE_ATOM(XV_FREQ); +- xvMute = MAKE_ATOM(XV_MUTE); +- xvVolume = MAKE_ATOM(XV_VOLUME); + + DEBUG(xf86Msg(X_INFO, "v4l: init done, %d device(s) found\n",i)); + +@@ -1024,10 +1248,43 @@ V4LInit(ScrnInfoPtr pScrn, XF86VideoAdaptorPtr **adaptors) + } + + static Bool ++V4LDetect(void) ++{ ++ struct v4l2_capability cap; ++ int fd, d, n = 0; ++ char dev[18]; ++ ++ for (d = 0; d < MAX_V4L_DEVICES; d++) { ++ sprintf(dev, "/dev/video%d", d); ++ fd = open(dev, O_RDWR, 0); ++ if (fd == -1) { ++ sprintf(dev, "/dev/v4l/video%d", d); ++ fd = open(dev, O_RDWR, 0); ++ if (fd == -1) ++ break; ++ } ++ close (fd); ++ memset(&cap, 0, sizeof(cap)); ++ if (!ioctl(fd, VIDIOC_QUERYCAP, &cap) && ++ (cap.capabilities & V4L2_CAP_VIDEO_OVERLAY)) ++ n++; ++ } ++ xf86Msg(X_INFO, "v4l: %d video adapters with overlay support detected\n", n); ++ ++ return (n > 0) ? TRUE : FALSE; ++} ++ ++static Bool + V4LProbe(DriverPtr drv, int flags) + { +- if (flags & PROBE_DETECT) +- return TRUE; ++ /* ++ * Don't try to register adapter at the detection phase, as Xv ++ * extensions won't be there ++ */ ++ if (flags == PROBE_DETECT) ++ return V4LDetect(); ++ ++ DEBUG(xf86Msg(X_INFO, "v4l: Initiating device probe\n")); + + xf86XVRegisterGenericAdaptorDriver(V4LInit); + drv->refCount++; +diff --git a/src/videodev.h b/src/videodev.h +deleted file mode 100644 +index 3c9a7d8..0000000 +--- a/src/videodev.h ++++ /dev/null +@@ -1,254 +0,0 @@ +-#ifndef __LINUX_VIDEODEV_H +-#define __LINUX_VIDEODEV_H +- +-/* Linux V4L API, Version 1 +- * videodev.h from v4l driver in Linux 2.2.3 +- * +- * Used here with the explicit permission of the original author, Alan Cox. +- * <alan@lxorguk.ukuu.org.uk> +- */ +- +-#include <X11/Xmd.h> +- +-#define VID_TYPE_CAPTURE 1 /* Can capture */ +-#define VID_TYPE_TUNER 2 /* Can tune */ +-#define VID_TYPE_TELETEXT 4 /* Does teletext */ +-#define VID_TYPE_OVERLAY 8 /* Overlay onto frame buffer */ +-#define VID_TYPE_CHROMAKEY 16 /* Overlay by chromakey */ +-#define VID_TYPE_CLIPPING 32 /* Can clip */ +-#define VID_TYPE_FRAMERAM 64 /* Uses the frame buffer memory */ +-#define VID_TYPE_SCALES 128 /* Scalable */ +-#define VID_TYPE_MONOCHROME 256 /* Monochrome only */ +-#define VID_TYPE_SUBCAPTURE 512 /* Can capture subareas of the image */ +- +-struct video_capability +-{ +- char name[32]; +- int type; +- int channels; /* Num channels */ +- int audios; /* Num audio devices */ +- int maxwidth; /* Supported width */ +- int maxheight; /* And height */ +- int minwidth; /* Supported width */ +- int minheight; /* And height */ +-}; +- +- +-struct video_channel +-{ +- int channel; +- char name[32]; +- int tuners; +- CARD32 flags; +-#define VIDEO_VC_TUNER 1 /* Channel has a tuner */ +-#define VIDEO_VC_AUDIO 2 /* Channel has audio */ +- CARD16 type; +-#define VIDEO_TYPE_TV 1 +-#define VIDEO_TYPE_CAMERA 2 +- CARD16 norm; /* Norm set by channel */ +-}; +- +-struct video_tuner +-{ +- int tuner; +- char name[32]; +- unsigned long rangelow, rangehigh; /* Tuner range */ +- CARD32 flags; +-#define VIDEO_TUNER_PAL 1 +-#define VIDEO_TUNER_NTSC 2 +-#define VIDEO_TUNER_SECAM 4 +-#define VIDEO_TUNER_LOW 8 /* Uses KHz not MHz */ +-#define VIDEO_TUNER_NORM 16 /* Tuner can set norm */ +-#define VIDEO_TUNER_STEREO_ON 128 /* Tuner is seeing stereo */ +- CARD16 mode; /* PAL/NTSC/SECAM/OTHER */ +-#define VIDEO_MODE_PAL 0 +-#define VIDEO_MODE_NTSC 1 +-#define VIDEO_MODE_SECAM 2 +-#define VIDEO_MODE_AUTO 3 +- CARD16 signal; /* Signal strength 16bit scale */ +-}; +- +-struct video_picture +-{ +- CARD16 brightness; +- CARD16 hue; +- CARD16 colour; +- CARD16 contrast; +- CARD16 whiteness; /* Black and white only */ +- CARD16 depth; /* Capture depth */ +- CARD16 palette; /* Palette in use */ +-#define VIDEO_PALETTE_GREY 1 /* Linear greyscale */ +-#define VIDEO_PALETTE_HI240 2 /* High 240 cube (BT848) */ +-#define VIDEO_PALETTE_RGB565 3 /* 565 16 bit RGB */ +-#define VIDEO_PALETTE_RGB24 4 /* 24bit RGB */ +-#define VIDEO_PALETTE_RGB32 5 /* 32bit RGB */ +-#define VIDEO_PALETTE_RGB555 6 /* 555 15bit RGB */ +-#define VIDEO_PALETTE_YUV422 7 /* YUV422 capture */ +-#define VIDEO_PALETTE_YUYV 8 +-#define VIDEO_PALETTE_UYVY 9 /* The great thing about standards is ... */ +-#define VIDEO_PALETTE_YUV420 10 +-#define VIDEO_PALETTE_YUV411 11 /* YUV411 capture */ +-#define VIDEO_PALETTE_RAW 12 /* RAW capture (BT848) */ +-#define VIDEO_PALETTE_YUV422P 13 /* YUV 4:2:2 Planar */ +-#define VIDEO_PALETTE_YUV411P 14 /* YUV 4:1:1 Planar */ +-#define VIDEO_PALETTE_YUV420P 15 /* YUV 4:2:0 Planar */ +-#define VIDEO_PALETTE_YUV410P 16 /* YUV 4:1:0 Planar */ +-#define VIDEO_PALETTE_PLANAR 13 /* start of planar entries */ +-#define VIDEO_PALETTE_COMPONENT 7 /* start of component entries */ +-}; +- +-struct video_audio +-{ +- int audio; /* Audio channel */ +- CARD16 volume; /* If settable */ +- CARD16 bass, treble; +- CARD32 flags; +-#define VIDEO_AUDIO_MUTE 1 +-#define VIDEO_AUDIO_MUTABLE 2 +-#define VIDEO_AUDIO_VOLUME 4 +-#define VIDEO_AUDIO_BASS 8 +-#define VIDEO_AUDIO_TREBLE 16 +- char name[16]; +-#define VIDEO_SOUND_MONO 1 +-#define VIDEO_SOUND_STEREO 2 +-#define VIDEO_SOUND_LANG1 4 +-#define VIDEO_SOUND_LANG2 8 +- CARD16 mode; +- CARD16 balance; /* Stereo balance */ +- CARD16 step; /* Step actual volume uses */ +-}; +- +-struct video_clip +-{ +- INT32 x,y; +- INT32 width, height; +- struct video_clip *next; /* For user use/driver use only */ +-}; +- +-struct video_window +-{ +- CARD32 x,y; /* Position of window */ +- CARD32 width,height; /* Its size */ +- CARD32 chromakey; +- CARD32 flags; +- struct video_clip *clips; /* Set only */ +- int clipcount; +-#define VIDEO_WINDOW_INTERLACE 1 +-#define VIDEO_CLIP_BITMAP -1 +-/* bitmap is 1024x625, a '1' bit represents a clipped pixel */ +-#define VIDEO_CLIPMAP_SIZE (128 * 625) +-}; +- +-struct video_capture +-{ +- CARD32 x,y; /* Offsets into image */ +- CARD32 width, height; /* Area to capture */ +- CARD16 decimation; /* Decimation divder */ +- CARD16 flags; /* Flags for capture */ +-#define VIDEO_CAPTURE_ODD 0 /* Temporal */ +-#define VIDEO_CAPTURE_EVEN 1 +-}; +- +-struct video_buffer +-{ +- void *base; +- int height,width; +- int depth; +- int bytesperline; +-}; +- +-struct video_mmap +-{ +- unsigned int frame; /* Frame (0 - n) for double buffer */ +- int height,width; +- unsigned int format; /* should be VIDEO_PALETTE_* */ +-}; +- +-struct video_key +-{ +- CARD8 key[8]; +- CARD32 flags; +-}; +- +- +-#define VIDEO_MAX_FRAME 32 +- +-struct video_mbuf +-{ +- int size; /* Total memory to map */ +- int frames; /* Frames */ +- int offsets[VIDEO_MAX_FRAME]; +-}; +- +- +-#define VIDEO_NO_UNIT (-1) +- +- +-struct video_unit +-{ +- int video; /* Video minor */ +- int vbi; /* VBI minor */ +- int radio; /* Radio minor */ +- int audio; /* Audio minor */ +- int teletext; /* Teletext minor */ +-}; +- +-#define VIDIOCGCAP _IOR('v',1,struct video_capability) /* Get capabilities */ +-#define VIDIOCGCHAN _IOWR('v',2,struct video_channel) /* Get channel info (sources) */ +-#define VIDIOCSCHAN _IOW('v',3,struct video_channel) /* Set channel */ +-#define VIDIOCGTUNER _IOWR('v',4,struct video_tuner) /* Get tuner abilities */ +-#define VIDIOCSTUNER _IOW('v',5,struct video_tuner) /* Tune the tuner for the current channel */ +-#define VIDIOCGPICT _IOR('v',6,struct video_picture) /* Get picture properties */ +-#define VIDIOCSPICT _IOW('v',7,struct video_picture) /* Set picture properties */ +-#define VIDIOCCAPTURE _IOW('v',8,int) /* Start, end capture */ +-#define VIDIOCGWIN _IOR('v',9, struct video_window) /* Set the video overlay window */ +-#define VIDIOCSWIN _IOW('v',10, struct video_window) /* Set the video overlay window - passes clip list for hardware smarts , chromakey etc */ +-#define VIDIOCGFBUF _IOR('v',11, struct video_buffer) /* Get frame buffer */ +-#define VIDIOCSFBUF _IOW('v',12, struct video_buffer) /* Set frame buffer - root only */ +-#define VIDIOCKEY _IOR('v',13, struct video_key) /* Video key event - to dev 255 is to all - cuts capture on all DMA windows with this key (0xFFFFFFFF == all) */ +-#define VIDIOCGFREQ _IOR('v',14, unsigned long) /* Set tuner */ +-#define VIDIOCSFREQ _IOW('v',15, unsigned long) /* Set tuner */ +-#define VIDIOCGAUDIO _IOR('v',16, struct video_audio) /* Get audio info */ +-#define VIDIOCSAUDIO _IOW('v',17, struct video_audio) /* Audio source, mute etc */ +-#define VIDIOCSYNC _IOW('v',18, int) /* Sync with mmap grabbing */ +-#define VIDIOCMCAPTURE _IOW('v',19, struct video_mmap) /* Grab frames */ +-#define VIDIOCGMBUF _IOR('v', 20, struct video_mbuf) /* Memory map buffer info */ +-#define VIDIOCGUNIT _IOR('v', 21, struct video_unit) /* Get attached units */ +-#define VIDIOCGCAPTURE _IOR('v',22, struct video_capture) /* Get frame buffer */ +-#define VIDIOCSCAPTURE _IOW('v',23, struct video_capture) /* Set frame buffer - root only */ +- +-#define BASE_VIDIOCPRIVATE 192 /* 192-255 are private */ +- +- +-#define VID_HARDWARE_BT848 1 +-#define VID_HARDWARE_QCAM_BW 2 +-#define VID_HARDWARE_PMS 3 +-#define VID_HARDWARE_QCAM_C 4 +-#define VID_HARDWARE_PSEUDO 5 +-#define VID_HARDWARE_SAA5249 6 +-#define VID_HARDWARE_AZTECH 7 +-#define VID_HARDWARE_SF16MI 8 +-#define VID_HARDWARE_RTRACK 9 +-#define VID_HARDWARE_ZOLTRIX 10 +-#define VID_HARDWARE_SAA7146 11 +-#define VID_HARDWARE_VIDEUM 12 /* Reserved for Winnov videum */ +-#define VID_HARDWARE_RTRACK2 13 +-#define VID_HARDWARE_PERMEDIA2 14 /* Reserved for Permedia2 */ +-#define VID_HARDWARE_RIVA128 15 /* Reserved for RIVA 128 */ +-#define VID_HARDWARE_PLANB 16 /* PowerMac motherboard video-in */ +-#define VID_HARDWARE_BROADWAY 17 /* Broadway project */ +-#define VID_HARDWARE_GEMTEK 18 +-#define VID_HARDWARE_TYPHOON 19 +-#define VID_HARDWARE_VINO 20 /* Reserved for SGI Indy Vino */ +- +-/* +- * Initialiser list +- */ +- +-struct video_init +-{ +- char *name; +- int (*init)(struct video_init *); +-}; +- +-#endif +diff --git a/src/videodev2.h b/src/videodev2.h +new file mode 100644 +index 0000000..bf6dde2 +--- /dev/null ++++ b/src/videodev2.h +@@ -0,0 +1,1929 @@ ++/* ++ * Video for Linux Two header file ++ * ++ * Copyright (C) 1999-2007 the contributors ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * Alternatively you can redistribute this file under the terms of the ++ * BSD license as stated below: ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in ++ * the documentation and/or other materials provided with the ++ * distribution. ++ * 3. The names of its contributors may not be used to endorse or promote ++ * products derived from this software without specific prior written ++ * permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT ++ * OWNER 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. ++ * ++ * Header file for v4l or V4L2 drivers and applications ++ * with public API. ++ * All kernel-specific stuff were moved to media/v4l2-dev.h, so ++ * no #if __KERNEL tests are allowed here ++ * ++ * See http://linuxtv.org for more info ++ * ++ * Author: Bill Dirks <bill@thedirks.org> ++ * Justin Schoeman ++ * Hans Verkuil <hverkuil@xs4all.nl> ++ * et al. ++ */ ++#ifndef __LINUX_VIDEODEV2_H ++#define __LINUX_VIDEODEV2_H ++ ++#include <linux/ioctl.h> ++#include <linux/types.h> ++#include <sys/time.h> ++ ++/* ++ * Common stuff for both V4L1 and V4L2 ++ * Moved from videodev.h ++ */ ++#define VIDEO_MAX_FRAME 32 ++#define VIDEO_MAX_PLANES 8 ++ ++/* These defines are V4L1 specific and should not be used with the V4L2 API! ++ They will be removed from this header in the future. */ ++ ++#define VID_TYPE_CAPTURE 1 /* Can capture */ ++#define VID_TYPE_TUNER 2 /* Can tune */ ++#define VID_TYPE_TELETEXT 4 /* Does teletext */ ++#define VID_TYPE_OVERLAY 8 /* Overlay onto frame buffer */ ++#define VID_TYPE_CHROMAKEY 16 /* Overlay by chromakey */ ++#define VID_TYPE_CLIPPING 32 /* Can clip */ ++#define VID_TYPE_FRAMERAM 64 /* Uses the frame buffer memory */ ++#define VID_TYPE_SCALES 128 /* Scalable */ ++#define VID_TYPE_MONOCHROME 256 /* Monochrome only */ ++#define VID_TYPE_SUBCAPTURE 512 /* Can capture subareas of the image */ ++#define VID_TYPE_MPEG_DECODER 1024 /* Can decode MPEG streams */ ++#define VID_TYPE_MPEG_ENCODER 2048 /* Can encode MPEG streams */ ++#define VID_TYPE_MJPEG_DECODER 4096 /* Can decode MJPEG streams */ ++#define VID_TYPE_MJPEG_ENCODER 8192 /* Can encode MJPEG streams */ ++ ++/* ++ * M I S C E L L A N E O U S ++ */ ++ ++/* Four-character-code (FOURCC) */ ++#define v4l2_fourcc(a, b, c, d)\ ++ ((__u32)(a) | ((__u32)(b) << 8) | ((__u32)(c) << 16) | ((__u32)(d) << 24)) ++ ++/* ++ * E N U M S ++ */ ++enum v4l2_field { ++ V4L2_FIELD_ANY = 0, /* driver can choose from none, ++ top, bottom, interlaced ++ depending on whatever it thinks ++ is approximate ... */ ++ V4L2_FIELD_NONE = 1, /* this device has no fields ... */ ++ V4L2_FIELD_TOP = 2, /* top field only */ ++ V4L2_FIELD_BOTTOM = 3, /* bottom field only */ ++ V4L2_FIELD_INTERLACED = 4, /* both fields interlaced */ ++ V4L2_FIELD_SEQ_TB = 5, /* both fields sequential into one ++ buffer, top-bottom order */ ++ V4L2_FIELD_SEQ_BT = 6, /* same as above + bottom-top order */ ++ V4L2_FIELD_ALTERNATE = 7, /* both fields alternating into ++ separate buffers */ ++ V4L2_FIELD_INTERLACED_TB = 8, /* both fields interlaced, top field ++ first and the top field is ++ transmitted first */ ++ V4L2_FIELD_INTERLACED_BT = 9, /* both fields interlaced, top field ++ first and the bottom field is ++ transmitted first */ ++}; ++#define V4L2_FIELD_HAS_TOP(field) \ ++ ((field) == V4L2_FIELD_TOP ||\ ++ (field) == V4L2_FIELD_INTERLACED ||\ ++ (field) == V4L2_FIELD_INTERLACED_TB ||\ ++ (field) == V4L2_FIELD_INTERLACED_BT ||\ ++ (field) == V4L2_FIELD_SEQ_TB ||\ ++ (field) == V4L2_FIELD_SEQ_BT) ++#define V4L2_FIELD_HAS_BOTTOM(field) \ ++ ((field) == V4L2_FIELD_BOTTOM ||\ ++ (field) == V4L2_FIELD_INTERLACED ||\ ++ (field) == V4L2_FIELD_INTERLACED_TB ||\ ++ (field) == V4L2_FIELD_INTERLACED_BT ||\ ++ (field) == V4L2_FIELD_SEQ_TB ||\ ++ (field) == V4L2_FIELD_SEQ_BT) ++#define V4L2_FIELD_HAS_BOTH(field) \ ++ ((field) == V4L2_FIELD_INTERLACED ||\ ++ (field) == V4L2_FIELD_INTERLACED_TB ||\ ++ (field) == V4L2_FIELD_INTERLACED_BT ||\ ++ (field) == V4L2_FIELD_SEQ_TB ||\ ++ (field) == V4L2_FIELD_SEQ_BT) ++ ++enum v4l2_buf_type { ++ V4L2_BUF_TYPE_VIDEO_CAPTURE = 1, ++ V4L2_BUF_TYPE_VIDEO_OUTPUT = 2, ++ V4L2_BUF_TYPE_VIDEO_OVERLAY = 3, ++ V4L2_BUF_TYPE_VBI_CAPTURE = 4, ++ V4L2_BUF_TYPE_VBI_OUTPUT = 5, ++ V4L2_BUF_TYPE_SLICED_VBI_CAPTURE = 6, ++ V4L2_BUF_TYPE_SLICED_VBI_OUTPUT = 7, ++#if 1 ++ /* Experimental */ ++ V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY = 8, ++#endif ++ V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE = 9, ++ V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE = 10, ++ V4L2_BUF_TYPE_PRIVATE = 0x80, ++}; ++ ++#define V4L2_TYPE_IS_MULTIPLANAR(type) \ ++ ((type) == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE \ ++ || (type) == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) ++ ++#define V4L2_TYPE_IS_OUTPUT(type) \ ++ ((type) == V4L2_BUF_TYPE_VIDEO_OUTPUT \ ++ || (type) == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE \ ++ || (type) == V4L2_BUF_TYPE_VIDEO_OVERLAY \ ++ || (type) == V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY \ ++ || (type) == V4L2_BUF_TYPE_VBI_OUTPUT \ ++ || (type) == V4L2_BUF_TYPE_SLICED_VBI_OUTPUT) ++ ++enum v4l2_tuner_type { ++ V4L2_TUNER_RADIO = 1, ++ V4L2_TUNER_ANALOG_TV = 2, ++ V4L2_TUNER_DIGITAL_TV = 3, ++}; ++ ++enum v4l2_memory { ++ V4L2_MEMORY_MMAP = 1, ++ V4L2_MEMORY_USERPTR = 2, ++ V4L2_MEMORY_OVERLAY = 3, ++}; ++ ++/* see also http://vektor.theorem.ca/graphics/ycbcr/ */ ++enum v4l2_colorspace { ++ /* ITU-R 601 -- broadcast NTSC/PAL */ ++ V4L2_COLORSPACE_SMPTE170M = 1, ++ ++ /* 1125-Line (US) HDTV */ ++ V4L2_COLORSPACE_SMPTE240M = 2, ++ ++ /* HD and modern captures. */ ++ V4L2_COLORSPACE_REC709 = 3, ++ ++ /* broken BT878 extents (601, luma range 16-253 instead of 16-235) */ ++ V4L2_COLORSPACE_BT878 = 4, ++ ++ /* These should be useful. Assume 601 extents. */ ++ V4L2_COLORSPACE_470_SYSTEM_M = 5, ++ V4L2_COLORSPACE_470_SYSTEM_BG = 6, ++ ++ /* I know there will be cameras that send this. So, this is ++ * unspecified chromaticities and full 0-255 on each of the ++ * Y'CbCr components ++ */ ++ V4L2_COLORSPACE_JPEG = 7, ++ ++ /* For RGB colourspaces, this is probably a good start. */ ++ V4L2_COLORSPACE_SRGB = 8, ++}; ++ ++enum v4l2_priority { ++ V4L2_PRIORITY_UNSET = 0, /* not initialized */ ++ V4L2_PRIORITY_BACKGROUND = 1, ++ V4L2_PRIORITY_INTERACTIVE = 2, ++ V4L2_PRIORITY_RECORD = 3, ++ V4L2_PRIORITY_DEFAULT = V4L2_PRIORITY_INTERACTIVE, ++}; ++ ++struct v4l2_rect { ++ __s32 left; ++ __s32 top; ++ __s32 width; ++ __s32 height; ++}; ++ ++struct v4l2_fract { ++ __u32 numerator; ++ __u32 denominator; ++}; ++ ++/* ++ * D R I V E R C A P A B I L I T I E S ++ */ ++struct v4l2_capability { ++ __u8 driver[16]; /* i.e. "bttv" */ ++ __u8 card[32]; /* i.e. "Hauppauge WinTV" */ ++ __u8 bus_info[32]; /* "PCI:" + pci_name(pci_dev) */ ++ __u32 version; /* should use KERNEL_VERSION() */ ++ __u32 capabilities; /* Device capabilities */ ++ __u32 reserved[4]; ++}; ++ ++/* Values for 'capabilities' field */ ++#define V4L2_CAP_VIDEO_CAPTURE 0x00000001 /* Is a video capture device */ ++#define V4L2_CAP_VIDEO_OUTPUT 0x00000002 /* Is a video output device */ ++#define V4L2_CAP_VIDEO_OVERLAY 0x00000004 /* Can do video overlay */ ++#define V4L2_CAP_VBI_CAPTURE 0x00000010 /* Is a raw VBI capture device */ ++#define V4L2_CAP_VBI_OUTPUT 0x00000020 /* Is a raw VBI output device */ ++#define V4L2_CAP_SLICED_VBI_CAPTURE 0x00000040 /* Is a sliced VBI capture device */ ++#define V4L2_CAP_SLICED_VBI_OUTPUT 0x00000080 /* Is a sliced VBI output device */ ++#define V4L2_CAP_RDS_CAPTURE 0x00000100 /* RDS data capture */ ++#define V4L2_CAP_VIDEO_OUTPUT_OVERLAY 0x00000200 /* Can do video output overlay */ ++#define V4L2_CAP_HW_FREQ_SEEK 0x00000400 /* Can do hardware frequency seek */ ++#define V4L2_CAP_RDS_OUTPUT 0x00000800 /* Is an RDS encoder */ ++ ++/* Is a video capture device that supports multiplanar formats */ ++#define V4L2_CAP_VIDEO_CAPTURE_MPLANE 0x00001000 ++/* Is a video output device that supports multiplanar formats */ ++#define V4L2_CAP_VIDEO_OUTPUT_MPLANE 0x00002000 ++ ++#define V4L2_CAP_TUNER 0x00010000 /* has a tuner */ ++#define V4L2_CAP_AUDIO 0x00020000 /* has audio support */ ++#define V4L2_CAP_RADIO 0x00040000 /* is a radio device */ ++#define V4L2_CAP_MODULATOR 0x00080000 /* has a modulator */ ++ ++#define V4L2_CAP_READWRITE 0x01000000 /* read/write systemcalls */ ++#define V4L2_CAP_ASYNCIO 0x02000000 /* async I/O */ ++#define V4L2_CAP_STREAMING 0x04000000 /* streaming I/O ioctls */ ++ ++/* ++ * V I D E O I M A G E F O R M A T ++ */ ++struct v4l2_pix_format { ++ __u32 width; ++ __u32 height; ++ __u32 pixelformat; ++ enum v4l2_field field; ++ __u32 bytesperline; /* for padding, zero if unused */ ++ __u32 sizeimage; ++ enum v4l2_colorspace colorspace; ++ __u32 priv; /* private data, depends on pixelformat */ ++}; ++ ++/* Pixel format FOURCC depth Description */ ++ ++/* RGB formats */ ++#define V4L2_PIX_FMT_RGB332 v4l2_fourcc('R', 'G', 'B', '1') /* 8 RGB-3-3-2 */ ++#define V4L2_PIX_FMT_RGB444 v4l2_fourcc('R', '4', '4', '4') /* 16 xxxxrrrr ggggbbbb */ ++#define V4L2_PIX_FMT_RGB555 v4l2_fourcc('R', 'G', 'B', 'O') /* 16 RGB-5-5-5 */ ++#define V4L2_PIX_FMT_RGB565 v4l2_fourcc('R', 'G', 'B', 'P') /* 16 RGB-5-6-5 */ ++#define V4L2_PIX_FMT_RGB555X v4l2_fourcc('R', 'G', 'B', 'Q') /* 16 RGB-5-5-5 BE */ ++#define V4L2_PIX_FMT_RGB565X v4l2_fourcc('R', 'G', 'B', 'R') /* 16 RGB-5-6-5 BE */ ++#define V4L2_PIX_FMT_BGR666 v4l2_fourcc('B', 'G', 'R', 'H') /* 18 BGR-6-6-6 */ ++#define V4L2_PIX_FMT_BGR24 v4l2_fourcc('B', 'G', 'R', '3') /* 24 BGR-8-8-8 */ ++#define V4L2_PIX_FMT_RGB24 v4l2_fourcc('R', 'G', 'B', '3') /* 24 RGB-8-8-8 */ ++#define V4L2_PIX_FMT_BGR32 v4l2_fourcc('B', 'G', 'R', '4') /* 32 BGR-8-8-8-8 */ ++#define V4L2_PIX_FMT_RGB32 v4l2_fourcc('R', 'G', 'B', '4') /* 32 RGB-8-8-8-8 */ ++ ++/* Grey formats */ ++#define V4L2_PIX_FMT_GREY v4l2_fourcc('G', 'R', 'E', 'Y') /* 8 Greyscale */ ++#define V4L2_PIX_FMT_Y4 v4l2_fourcc('Y', '0', '4', ' ') /* 4 Greyscale */ ++#define V4L2_PIX_FMT_Y6 v4l2_fourcc('Y', '0', '6', ' ') /* 6 Greyscale */ ++#define V4L2_PIX_FMT_Y10 v4l2_fourcc('Y', '1', '0', ' ') /* 10 Greyscale */ ++#define V4L2_PIX_FMT_Y16 v4l2_fourcc('Y', '1', '6', ' ') /* 16 Greyscale */ ++ ++/* Palette formats */ ++#define V4L2_PIX_FMT_PAL8 v4l2_fourcc('P', 'A', 'L', '8') /* 8 8-bit palette */ ++ ++/* Luminance+Chrominance formats */ ++#define V4L2_PIX_FMT_YVU410 v4l2_fourcc('Y', 'V', 'U', '9') /* 9 YVU 4:1:0 */ ++#define V4L2_PIX_FMT_YVU420 v4l2_fourcc('Y', 'V', '1', '2') /* 12 YVU 4:2:0 */ ++#define V4L2_PIX_FMT_YUYV v4l2_fourcc('Y', 'U', 'Y', 'V') /* 16 YUV 4:2:2 */ ++#define V4L2_PIX_FMT_YYUV v4l2_fourcc('Y', 'Y', 'U', 'V') /* 16 YUV 4:2:2 */ ++#define V4L2_PIX_FMT_YVYU v4l2_fourcc('Y', 'V', 'Y', 'U') /* 16 YVU 4:2:2 */ ++#define V4L2_PIX_FMT_UYVY v4l2_fourcc('U', 'Y', 'V', 'Y') /* 16 YUV 4:2:2 */ ++#define V4L2_PIX_FMT_VYUY v4l2_fourcc('V', 'Y', 'U', 'Y') /* 16 YUV 4:2:2 */ ++#define V4L2_PIX_FMT_YUV422P v4l2_fourcc('4', '2', '2', 'P') /* 16 YVU422 planar */ ++#define V4L2_PIX_FMT_YUV411P v4l2_fourcc('4', '1', '1', 'P') /* 16 YVU411 planar */ ++#define V4L2_PIX_FMT_Y41P v4l2_fourcc('Y', '4', '1', 'P') /* 12 YUV 4:1:1 */ ++#define V4L2_PIX_FMT_YUV444 v4l2_fourcc('Y', '4', '4', '4') /* 16 xxxxyyyy uuuuvvvv */ ++#define V4L2_PIX_FMT_YUV555 v4l2_fourcc('Y', 'U', 'V', 'O') /* 16 YUV-5-5-5 */ ++#define V4L2_PIX_FMT_YUV565 v4l2_fourcc('Y', 'U', 'V', 'P') /* 16 YUV-5-6-5 */ ++#define V4L2_PIX_FMT_YUV32 v4l2_fourcc('Y', 'U', 'V', '4') /* 32 YUV-8-8-8-8 */ ++#define V4L2_PIX_FMT_YUV410 v4l2_fourcc('Y', 'U', 'V', '9') /* 9 YUV 4:1:0 */ ++#define V4L2_PIX_FMT_YUV420 v4l2_fourcc('Y', 'U', '1', '2') /* 12 YUV 4:2:0 */ ++#define V4L2_PIX_FMT_HI240 v4l2_fourcc('H', 'I', '2', '4') /* 8 8-bit color */ ++#define V4L2_PIX_FMT_HM12 v4l2_fourcc('H', 'M', '1', '2') /* 8 YUV 4:2:0 16x16 macroblocks */ ++ ++/* two planes -- one Y, one Cr + Cb interleaved */ ++#define V4L2_PIX_FMT_NV12 v4l2_fourcc('N', 'V', '1', '2') /* 12 Y/CbCr 4:2:0 */ ++#define V4L2_PIX_FMT_NV21 v4l2_fourcc('N', 'V', '2', '1') /* 12 Y/CrCb 4:2:0 */ ++#define V4L2_PIX_FMT_NV16 v4l2_fourcc('N', 'V', '1', '6') /* 16 Y/CbCr 4:2:2 */ ++#define V4L2_PIX_FMT_NV61 v4l2_fourcc('N', 'V', '6', '1') /* 16 Y/CrCb 4:2:2 */ ++ ++/* two non contiguous planes - one Y, one Cr + Cb interleaved */ ++#define V4L2_PIX_FMT_NV12M v4l2_fourcc('N', 'M', '1', '2') /* 12 Y/CbCr 4:2:0 */ ++#define V4L2_PIX_FMT_NV12MT v4l2_fourcc('T', 'M', '1', '2') /* 12 Y/CbCr 4:2:0 64x32 macroblocks */ ++ ++/* three non contiguous planes - Y, Cb, Cr */ ++#define V4L2_PIX_FMT_YUV420M v4l2_fourcc('Y', 'M', '1', '2') /* 12 YUV420 planar */ ++ ++/* Bayer formats - see http://www.siliconimaging.com/RGB%20Bayer.htm */ ++#define V4L2_PIX_FMT_SBGGR8 v4l2_fourcc('B', 'A', '8', '1') /* 8 BGBG.. GRGR.. */ ++#define V4L2_PIX_FMT_SGBRG8 v4l2_fourcc('G', 'B', 'R', 'G') /* 8 GBGB.. RGRG.. */ ++#define V4L2_PIX_FMT_SGRBG8 v4l2_fourcc('G', 'R', 'B', 'G') /* 8 GRGR.. BGBG.. */ ++#define V4L2_PIX_FMT_SRGGB8 v4l2_fourcc('R', 'G', 'G', 'B') /* 8 RGRG.. GBGB.. */ ++#define V4L2_PIX_FMT_SBGGR10 v4l2_fourcc('B', 'G', '1', '0') /* 10 BGBG.. GRGR.. */ ++#define V4L2_PIX_FMT_SGBRG10 v4l2_fourcc('G', 'B', '1', '0') /* 10 GBGB.. RGRG.. */ ++#define V4L2_PIX_FMT_SGRBG10 v4l2_fourcc('B', 'A', '1', '0') /* 10 GRGR.. BGBG.. */ ++#define V4L2_PIX_FMT_SRGGB10 v4l2_fourcc('R', 'G', '1', '0') /* 10 RGRG.. GBGB.. */ ++ /* 10bit raw bayer DPCM compressed to 8 bits */ ++#define V4L2_PIX_FMT_SGRBG10DPCM8 v4l2_fourcc('B', 'D', '1', '0') ++ /* ++ * 10bit raw bayer, expanded to 16 bits ++ * xxxxrrrrrrrrrrxxxxgggggggggg xxxxggggggggggxxxxbbbbbbbbbb... ++ */ ++#define V4L2_PIX_FMT_SBGGR16 v4l2_fourcc('B', 'Y', 'R', '2') /* 16 BGBG.. GRGR.. */ ++ ++/* compressed formats */ ++#define V4L2_PIX_FMT_MJPEG v4l2_fourcc('M', 'J', 'P', 'G') /* Motion-JPEG */ ++#define V4L2_PIX_FMT_JPEG v4l2_fourcc('J', 'P', 'E', 'G') /* JFIF JPEG */ ++#define V4L2_PIX_FMT_DV v4l2_fourcc('d', 'v', 's', 'd') /* 1394 */ ++#define V4L2_PIX_FMT_MPEG v4l2_fourcc('M', 'P', 'E', 'G') /* MPEG-1/2/4 */ ++ ++/* Vendor-specific formats */ ++#define V4L2_PIX_FMT_CPIA1 v4l2_fourcc('C', 'P', 'I', 'A') /* cpia1 YUV */ ++#define V4L2_PIX_FMT_WNVA v4l2_fourcc('W', 'N', 'V', 'A') /* Winnov hw compress */ ++#define V4L2_PIX_FMT_SN9C10X v4l2_fourcc('S', '9', '1', '0') /* SN9C10x compression */ ++#define V4L2_PIX_FMT_SN9C20X_I420 v4l2_fourcc('S', '9', '2', '0') /* SN9C20x YUV 4:2:0 */ ++#define V4L2_PIX_FMT_PWC1 v4l2_fourcc('P', 'W', 'C', '1') /* pwc older webcam */ ++#define V4L2_PIX_FMT_PWC2 v4l2_fourcc('P', 'W', 'C', '2') /* pwc newer webcam */ ++#define V4L2_PIX_FMT_ET61X251 v4l2_fourcc('E', '6', '2', '5') /* ET61X251 compression */ ++#define V4L2_PIX_FMT_SPCA501 v4l2_fourcc('S', '5', '0', '1') /* YUYV per line */ ++#define V4L2_PIX_FMT_SPCA505 v4l2_fourcc('S', '5', '0', '5') /* YYUV per line */ ++#define V4L2_PIX_FMT_SPCA508 v4l2_fourcc('S', '5', '0', '8') /* YUVY per line */ ++#define V4L2_PIX_FMT_SPCA561 v4l2_fourcc('S', '5', '6', '1') /* compressed GBRG bayer */ ++#define V4L2_PIX_FMT_PAC207 v4l2_fourcc('P', '2', '0', '7') /* compressed BGGR bayer */ ++#define V4L2_PIX_FMT_MR97310A v4l2_fourcc('M', '3', '1', '0') /* compressed BGGR bayer */ ++#define V4L2_PIX_FMT_SN9C2028 v4l2_fourcc('S', 'O', 'N', 'X') /* compressed GBRG bayer */ ++#define V4L2_PIX_FMT_SQ905C v4l2_fourcc('9', '0', '5', 'C') /* compressed RGGB bayer */ ++#define V4L2_PIX_FMT_PJPG v4l2_fourcc('P', 'J', 'P', 'G') /* Pixart 73xx JPEG */ ++#define V4L2_PIX_FMT_OV511 v4l2_fourcc('O', '5', '1', '1') /* ov511 JPEG */ ++#define V4L2_PIX_FMT_OV518 v4l2_fourcc('O', '5', '1', '8') /* ov518 JPEG */ ++#define V4L2_PIX_FMT_STV0680 v4l2_fourcc('S', '6', '8', '0') /* stv0680 bayer */ ++#define V4L2_PIX_FMT_TM6000 v4l2_fourcc('T', 'M', '6', '0') /* tm5600/tm60x0 */ ++#define V4L2_PIX_FMT_CIT_YYVYUY v4l2_fourcc('C', 'I', 'T', 'V') /* one line of Y then 1 line of VYUY */ ++#define V4L2_PIX_FMT_KONICA420 v4l2_fourcc('K', 'O', 'N', 'I') /* YUV420 planar in blocks of 256 pixels */ ++ ++/* ++ * F O R M A T E N U M E R A T I O N ++ */ ++struct v4l2_fmtdesc { ++ __u32 index; /* Format number */ ++ enum v4l2_buf_type type; /* buffer type */ ++ __u32 flags; ++ __u8 description[32]; /* Description string */ ++ __u32 pixelformat; /* Format fourcc */ ++ __u32 reserved[4]; ++}; ++ ++#define V4L2_FMT_FLAG_COMPRESSED 0x0001 ++#define V4L2_FMT_FLAG_EMULATED 0x0002 ++ ++#if 1 ++ /* Experimental Frame Size and frame rate enumeration */ ++/* ++ * F R A M E S I Z E E N U M E R A T I O N ++ */ ++enum v4l2_frmsizetypes { ++ V4L2_FRMSIZE_TYPE_DISCRETE = 1, ++ V4L2_FRMSIZE_TYPE_CONTINUOUS = 2, ++ V4L2_FRMSIZE_TYPE_STEPWISE = 3, ++}; ++ ++struct v4l2_frmsize_discrete { ++ __u32 width; /* Frame width [pixel] */ ++ __u32 height; /* Frame height [pixel] */ ++}; ++ ++struct v4l2_frmsize_stepwise { ++ __u32 min_width; /* Minimum frame width [pixel] */ ++ __u32 max_width; /* Maximum frame width [pixel] */ ++ __u32 step_width; /* Frame width step size [pixel] */ ++ __u32 min_height; /* Minimum frame height [pixel] */ ++ __u32 max_height; /* Maximum frame height [pixel] */ ++ __u32 step_height; /* Frame height step size [pixel] */ ++}; ++ ++struct v4l2_frmsizeenum { ++ __u32 index; /* Frame size number */ ++ __u32 pixel_format; /* Pixel format */ ++ __u32 type; /* Frame size type the device supports. */ ++ ++ union { /* Frame size */ ++ struct v4l2_frmsize_discrete discrete; ++ struct v4l2_frmsize_stepwise stepwise; ++ }; ++ ++ __u32 reserved[2]; /* Reserved space for future use */ ++}; ++ ++/* ++ * F R A M E R A T E E N U M E R A T I O N ++ */ ++enum v4l2_frmivaltypes { ++ V4L2_FRMIVAL_TYPE_DISCRETE = 1, ++ V4L2_FRMIVAL_TYPE_CONTINUOUS = 2, ++ V4L2_FRMIVAL_TYPE_STEPWISE = 3, ++}; ++ ++struct v4l2_frmival_stepwise { ++ struct v4l2_fract min; /* Minimum frame interval [s] */ ++ struct v4l2_fract max; /* Maximum frame interval [s] */ ++ struct v4l2_fract step; /* Frame interval step size [s] */ ++}; ++ ++struct v4l2_frmivalenum { ++ __u32 index; /* Frame format index */ ++ __u32 pixel_format; /* Pixel format */ ++ __u32 width; /* Frame width */ ++ __u32 height; /* Frame height */ ++ __u32 type; /* Frame interval type the device supports. */ ++ ++ union { /* Frame interval */ ++ struct v4l2_fract discrete; ++ struct v4l2_frmival_stepwise stepwise; ++ }; ++ ++ __u32 reserved[2]; /* Reserved space for future use */ ++}; ++#endif ++ ++/* ++ * T I M E C O D E ++ */ ++struct v4l2_timecode { ++ __u32 type; ++ __u32 flags; ++ __u8 frames; ++ __u8 seconds; ++ __u8 minutes; ++ __u8 hours; ++ __u8 userbits[4]; ++}; ++ ++/* Type */ ++#define V4L2_TC_TYPE_24FPS 1 ++#define V4L2_TC_TYPE_25FPS 2 ++#define V4L2_TC_TYPE_30FPS 3 ++#define V4L2_TC_TYPE_50FPS 4 ++#define V4L2_TC_TYPE_60FPS 5 ++ ++/* Flags */ ++#define V4L2_TC_FLAG_DROPFRAME 0x0001 /* "drop-frame" mode */ ++#define V4L2_TC_FLAG_COLORFRAME 0x0002 ++#define V4L2_TC_USERBITS_field 0x000C ++#define V4L2_TC_USERBITS_USERDEFINED 0x0000 ++#define V4L2_TC_USERBITS_8BITCHARS 0x0008 ++/* The above is based on SMPTE timecodes */ ++ ++struct v4l2_jpegcompression { ++ int quality; ++ ++ int APPn; /* Number of APP segment to be written, ++ * must be 0..15 */ ++ int APP_len; /* Length of data in JPEG APPn segment */ ++ char APP_data[60]; /* Data in the JPEG APPn segment. */ ++ ++ int COM_len; /* Length of data in JPEG COM segment */ ++ char COM_data[60]; /* Data in JPEG COM segment */ ++ ++ __u32 jpeg_markers; /* Which markers should go into the JPEG ++ * output. Unless you exactly know what ++ * you do, leave them untouched. ++ * Inluding less markers will make the ++ * resulting code smaller, but there will ++ * be fewer applications which can read it. ++ * The presence of the APP and COM marker ++ * is influenced by APP_len and COM_len ++ * ONLY, not by this property! */ ++ ++#define V4L2_JPEG_MARKER_DHT (1<<3) /* Define Huffman Tables */ ++#define V4L2_JPEG_MARKER_DQT (1<<4) /* Define Quantization Tables */ ++#define V4L2_JPEG_MARKER_DRI (1<<5) /* Define Restart Interval */ ++#define V4L2_JPEG_MARKER_COM (1<<6) /* Comment segment */ ++#define V4L2_JPEG_MARKER_APP (1<<7) /* App segment, driver will ++ * allways use APP0 */ ++}; ++ ++/* ++ * M E M O R Y - M A P P I N G B U F F E R S ++ */ ++struct v4l2_requestbuffers { ++ __u32 count; ++ enum v4l2_buf_type type; ++ enum v4l2_memory memory; ++ __u32 reserved[2]; ++}; ++ ++/** ++ * struct v4l2_plane - plane info for multi-planar buffers ++ * @bytesused: number of bytes occupied by data in the plane (payload) ++ * @length: size of this plane (NOT the payload) in bytes ++ * @mem_offset: when memory in the associated struct v4l2_buffer is ++ * V4L2_MEMORY_MMAP, equals the offset from the start of ++ * the device memory for this plane (or is a "cookie" that ++ * should be passed to mmap() called on the video node) ++ * @userptr: when memory is V4L2_MEMORY_USERPTR, a userspace pointer ++ * pointing to this plane ++ * @data_offset: offset in the plane to the start of data; usually 0, ++ * unless there is a header in front of the data ++ * ++ * Multi-planar buffers consist of one or more planes, e.g. an YCbCr buffer ++ * with two planes can have one plane for Y, and another for interleaved CbCr ++ * components. Each plane can reside in a separate memory buffer, or even in ++ * a completely separate memory node (e.g. in embedded devices). ++ */ ++struct v4l2_plane { ++ __u32 bytesused; ++ __u32 length; ++ union { ++ __u32 mem_offset; ++ unsigned long userptr; ++ } m; ++ __u32 data_offset; ++ __u32 reserved[11]; ++}; ++ ++/** ++ * struct v4l2_buffer - video buffer info ++ * @index: id number of the buffer ++ * @type: buffer type (type == *_MPLANE for multiplanar buffers) ++ * @bytesused: number of bytes occupied by data in the buffer (payload); ++ * unused (set to 0) for multiplanar buffers ++ * @flags: buffer informational flags ++ * @field: field order of the image in the buffer ++ * @timestamp: frame timestamp ++ * @timecode: frame timecode ++ * @sequence: sequence count of this frame ++ * @memory: the method, in which the actual video data is passed ++ * @offset: for non-multiplanar buffers with memory == V4L2_MEMORY_MMAP; ++ * offset from the start of the device memory for this plane, ++ * (or a "cookie" that should be passed to mmap() as offset) ++ * @userptr: for non-multiplanar buffers with memory == V4L2_MEMORY_USERPTR; ++ * a userspace pointer pointing to this buffer ++ * @planes: for multiplanar buffers; userspace pointer to the array of plane ++ * info structs for this buffer ++ * @length: size in bytes of the buffer (NOT its payload) for single-plane ++ * buffers (when type != *_MPLANE); number of elements in the ++ * planes array for multi-plane buffers ++ * @input: input number from which the video data has has been captured ++ * ++ * Contains data exchanged by application and driver using one of the Streaming ++ * I/O methods. ++ */ ++struct v4l2_buffer { ++ __u32 index; ++ enum v4l2_buf_type type; ++ __u32 bytesused; ++ __u32 flags; ++ enum v4l2_field field; ++ struct timeval timestamp; ++ struct v4l2_timecode timecode; ++ __u32 sequence; ++ ++ /* memory location */ ++ enum v4l2_memory memory; ++ union { ++ __u32 offset; ++ unsigned long userptr; ++ struct v4l2_plane *planes; ++ } m; ++ __u32 length; ++ __u32 input; ++ __u32 reserved; ++}; ++ ++/* Flags for 'flags' field */ ++#define V4L2_BUF_FLAG_MAPPED 0x0001 /* Buffer is mapped (flag) */ ++#define V4L2_BUF_FLAG_QUEUED 0x0002 /* Buffer is queued for processing */ ++#define V4L2_BUF_FLAG_DONE 0x0004 /* Buffer is ready */ ++#define V4L2_BUF_FLAG_KEYFRAME 0x0008 /* Image is a keyframe (I-frame) */ ++#define V4L2_BUF_FLAG_PFRAME 0x0010 /* Image is a P-frame */ ++#define V4L2_BUF_FLAG_BFRAME 0x0020 /* Image is a B-frame */ ++/* Buffer is ready, but the data contained within is corrupted. */ ++#define V4L2_BUF_FLAG_ERROR 0x0040 ++#define V4L2_BUF_FLAG_TIMECODE 0x0100 /* timecode field is valid */ ++#define V4L2_BUF_FLAG_INPUT 0x0200 /* input field is valid */ ++ ++/* ++ * O V E R L A Y P R E V I E W ++ */ ++struct v4l2_framebuffer { ++ __u32 capability; ++ __u32 flags; ++/* FIXME: in theory we should pass something like PCI device + memory ++ * region + offset instead of some physical address */ ++ void *base; ++ struct v4l2_pix_format fmt; ++}; ++/* Flags for the 'capability' field. Read only */ ++#define V4L2_FBUF_CAP_EXTERNOVERLAY 0x0001 ++#define V4L2_FBUF_CAP_CHROMAKEY 0x0002 ++#define V4L2_FBUF_CAP_LIST_CLIPPING 0x0004 ++#define V4L2_FBUF_CAP_BITMAP_CLIPPING 0x0008 ++#define V4L2_FBUF_CAP_LOCAL_ALPHA 0x0010 ++#define V4L2_FBUF_CAP_GLOBAL_ALPHA 0x0020 ++#define V4L2_FBUF_CAP_LOCAL_INV_ALPHA 0x0040 ++#define V4L2_FBUF_CAP_SRC_CHROMAKEY 0x0080 ++/* Flags for the 'flags' field. */ ++#define V4L2_FBUF_FLAG_PRIMARY 0x0001 ++#define V4L2_FBUF_FLAG_OVERLAY 0x0002 ++#define V4L2_FBUF_FLAG_CHROMAKEY 0x0004 ++#define V4L2_FBUF_FLAG_LOCAL_ALPHA 0x0008 ++#define V4L2_FBUF_FLAG_GLOBAL_ALPHA 0x0010 ++#define V4L2_FBUF_FLAG_LOCAL_INV_ALPHA 0x0020 ++#define V4L2_FBUF_FLAG_SRC_CHROMAKEY 0x0040 ++ ++struct v4l2_clip { ++ struct v4l2_rect c; ++ struct v4l2_clip *next; ++}; ++ ++struct v4l2_window { ++ struct v4l2_rect w; ++ enum v4l2_field field; ++ __u32 chromakey; ++ struct v4l2_clip *clips; ++ __u32 clipcount; ++ void *bitmap; ++ __u8 global_alpha; ++}; ++ ++/* ++ * C A P T U R E P A R A M E T E R S ++ */ ++struct v4l2_captureparm { ++ __u32 capability; /* Supported modes */ ++ __u32 capturemode; /* Current mode */ ++ struct v4l2_fract timeperframe; /* Time per frame in .1us units */ ++ __u32 extendedmode; /* Driver-specific extensions */ ++ __u32 readbuffers; /* # of buffers for read */ ++ __u32 reserved[4]; ++}; ++ ++/* Flags for 'capability' and 'capturemode' fields */ ++#define V4L2_MODE_HIGHQUALITY 0x0001 /* High quality imaging mode */ ++#define V4L2_CAP_TIMEPERFRAME 0x1000 /* timeperframe field is supported */ ++ ++struct v4l2_outputparm { ++ __u32 capability; /* Supported modes */ ++ __u32 outputmode; /* Current mode */ ++ struct v4l2_fract timeperframe; /* Time per frame in seconds */ ++ __u32 extendedmode; /* Driver-specific extensions */ ++ __u32 writebuffers; /* # of buffers for write */ ++ __u32 reserved[4]; ++}; ++ ++/* ++ * I N P U T I M A G E C R O P P I N G ++ */ ++struct v4l2_cropcap { ++ enum v4l2_buf_type type; ++ struct v4l2_rect bounds; ++ struct v4l2_rect defrect; ++ struct v4l2_fract pixelaspect; ++}; ++ ++struct v4l2_crop { ++ enum v4l2_buf_type type; ++ struct v4l2_rect c; ++}; ++ ++/* ++ * A N A L O G V I D E O S T A N D A R D ++ */ ++ ++typedef __u64 v4l2_std_id; ++ ++/* one bit for each */ ++#define V4L2_STD_PAL_B ((v4l2_std_id)0x00000001) ++#define V4L2_STD_PAL_B1 ((v4l2_std_id)0x00000002) ++#define V4L2_STD_PAL_G ((v4l2_std_id)0x00000004) ++#define V4L2_STD_PAL_H ((v4l2_std_id)0x00000008) ++#define V4L2_STD_PAL_I ((v4l2_std_id)0x00000010) ++#define V4L2_STD_PAL_D ((v4l2_std_id)0x00000020) ++#define V4L2_STD_PAL_D1 ((v4l2_std_id)0x00000040) ++#define V4L2_STD_PAL_K ((v4l2_std_id)0x00000080) ++ ++#define V4L2_STD_PAL_M ((v4l2_std_id)0x00000100) ++#define V4L2_STD_PAL_N ((v4l2_std_id)0x00000200) ++#define V4L2_STD_PAL_Nc ((v4l2_std_id)0x00000400) ++#define V4L2_STD_PAL_60 ((v4l2_std_id)0x00000800) ++ ++#define V4L2_STD_NTSC_M ((v4l2_std_id)0x00001000) ++#define V4L2_STD_NTSC_M_JP ((v4l2_std_id)0x00002000) ++#define V4L2_STD_NTSC_443 ((v4l2_std_id)0x00004000) ++#define V4L2_STD_NTSC_M_KR ((v4l2_std_id)0x00008000) ++ ++#define V4L2_STD_SECAM_B ((v4l2_std_id)0x00010000) ++#define V4L2_STD_SECAM_D ((v4l2_std_id)0x00020000) ++#define V4L2_STD_SECAM_G ((v4l2_std_id)0x00040000) ++#define V4L2_STD_SECAM_H ((v4l2_std_id)0x00080000) ++#define V4L2_STD_SECAM_K ((v4l2_std_id)0x00100000) ++#define V4L2_STD_SECAM_K1 ((v4l2_std_id)0x00200000) ++#define V4L2_STD_SECAM_L ((v4l2_std_id)0x00400000) ++#define V4L2_STD_SECAM_LC ((v4l2_std_id)0x00800000) ++ ++/* ATSC/HDTV */ ++#define V4L2_STD_ATSC_8_VSB ((v4l2_std_id)0x01000000) ++#define V4L2_STD_ATSC_16_VSB ((v4l2_std_id)0x02000000) ++ ++/* FIXME: ++ Although std_id is 64 bits, there is an issue on PPC32 architecture that ++ makes switch(__u64) to break. So, there's a hack on v4l2-common.c rounding ++ this value to 32 bits. ++ As, currently, the max value is for V4L2_STD_ATSC_16_VSB (30 bits wide), ++ it should work fine. However, if needed to add more than two standards, ++ v4l2-common.c should be fixed. ++ */ ++ ++/* some merged standards */ ++#define V4L2_STD_MN (V4L2_STD_PAL_M|V4L2_STD_PAL_N|V4L2_STD_PAL_Nc|V4L2_STD_NTSC) ++#define V4L2_STD_B (V4L2_STD_PAL_B|V4L2_STD_PAL_B1|V4L2_STD_SECAM_B) ++#define V4L2_STD_GH (V4L2_STD_PAL_G|V4L2_STD_PAL_H|V4L2_STD_SECAM_G|V4L2_STD_SECAM_H) ++#define V4L2_STD_DK (V4L2_STD_PAL_DK|V4L2_STD_SECAM_DK) ++ ++/* some common needed stuff */ ++#define V4L2_STD_PAL_BG (V4L2_STD_PAL_B |\ ++ V4L2_STD_PAL_B1 |\ ++ V4L2_STD_PAL_G) ++#define V4L2_STD_PAL_DK (V4L2_STD_PAL_D |\ ++ V4L2_STD_PAL_D1 |\ ++ V4L2_STD_PAL_K) ++#define V4L2_STD_PAL (V4L2_STD_PAL_BG |\ ++ V4L2_STD_PAL_DK |\ ++ V4L2_STD_PAL_H |\ ++ V4L2_STD_PAL_I) ++#define V4L2_STD_NTSC (V4L2_STD_NTSC_M |\ ++ V4L2_STD_NTSC_M_JP |\ ++ V4L2_STD_NTSC_M_KR) ++#define V4L2_STD_SECAM_DK (V4L2_STD_SECAM_D |\ ++ V4L2_STD_SECAM_K |\ ++ V4L2_STD_SECAM_K1) ++#define V4L2_STD_SECAM (V4L2_STD_SECAM_B |\ ++ V4L2_STD_SECAM_G |\ ++ V4L2_STD_SECAM_H |\ ++ V4L2_STD_SECAM_DK |\ ++ V4L2_STD_SECAM_L |\ ++ V4L2_STD_SECAM_LC) ++ ++#define V4L2_STD_525_60 (V4L2_STD_PAL_M |\ ++ V4L2_STD_PAL_60 |\ ++ V4L2_STD_NTSC |\ ++ V4L2_STD_NTSC_443) ++#define V4L2_STD_625_50 (V4L2_STD_PAL |\ ++ V4L2_STD_PAL_N |\ ++ V4L2_STD_PAL_Nc |\ ++ V4L2_STD_SECAM) ++#define V4L2_STD_ATSC (V4L2_STD_ATSC_8_VSB |\ ++ V4L2_STD_ATSC_16_VSB) ++ ++#define V4L2_STD_UNKNOWN 0 ++#define V4L2_STD_ALL (V4L2_STD_525_60 |\ ++ V4L2_STD_625_50) ++ ++struct v4l2_standard { ++ __u32 index; ++ v4l2_std_id id; ++ __u8 name[24]; ++ struct v4l2_fract frameperiod; /* Frames, not fields */ ++ __u32 framelines; ++ __u32 reserved[4]; ++}; ++ ++/* ++ * V I D E O T I M I N G S D V P R E S E T ++ */ ++struct v4l2_dv_preset { ++ __u32 preset; ++ __u32 reserved[4]; ++}; ++ ++/* ++ * D V P R E S E T S E N U M E R A T I O N ++ */ ++struct v4l2_dv_enum_preset { ++ __u32 index; ++ __u32 preset; ++ __u8 name[32]; /* Name of the preset timing */ ++ __u32 width; ++ __u32 height; ++ __u32 reserved[4]; ++}; ++ ++/* ++ * D V P R E S E T V A L U E S ++ */ ++#define V4L2_DV_INVALID 0 ++#define V4L2_DV_480P59_94 1 /* BT.1362 */ ++#define V4L2_DV_576P50 2 /* BT.1362 */ ++#define V4L2_DV_720P24 3 /* SMPTE 296M */ ++#define V4L2_DV_720P25 4 /* SMPTE 296M */ ++#define V4L2_DV_720P30 5 /* SMPTE 296M */ ++#define V4L2_DV_720P50 6 /* SMPTE 296M */ ++#define V4L2_DV_720P59_94 7 /* SMPTE 274M */ ++#define V4L2_DV_720P60 8 /* SMPTE 274M/296M */ ++#define V4L2_DV_1080I29_97 9 /* BT.1120/ SMPTE 274M */ ++#define V4L2_DV_1080I30 10 /* BT.1120/ SMPTE 274M */ ++#define V4L2_DV_1080I25 11 /* BT.1120 */ ++#define V4L2_DV_1080I50 12 /* SMPTE 296M */ ++#define V4L2_DV_1080I60 13 /* SMPTE 296M */ ++#define V4L2_DV_1080P24 14 /* SMPTE 296M */ ++#define V4L2_DV_1080P25 15 /* SMPTE 296M */ ++#define V4L2_DV_1080P30 16 /* SMPTE 296M */ ++#define V4L2_DV_1080P50 17 /* BT.1120 */ ++#define V4L2_DV_1080P60 18 /* BT.1120 */ ++ ++/* ++ * D V B T T I M I N G S ++ */ ++ ++/* BT.656/BT.1120 timing data */ ++struct v4l2_bt_timings { ++ __u32 width; /* width in pixels */ ++ __u32 height; /* height in lines */ ++ __u32 interlaced; /* Interlaced or progressive */ ++ __u32 polarities; /* Positive or negative polarity */ ++ __u64 pixelclock; /* Pixel clock in HZ. Ex. 74.25MHz->74250000 */ ++ __u32 hfrontporch; /* Horizpontal front porch in pixels */ ++ __u32 hsync; /* Horizontal Sync length in pixels */ ++ __u32 hbackporch; /* Horizontal back porch in pixels */ ++ __u32 vfrontporch; /* Vertical front porch in pixels */ ++ __u32 vsync; /* Vertical Sync length in lines */ ++ __u32 vbackporch; /* Vertical back porch in lines */ ++ __u32 il_vfrontporch; /* Vertical front porch for bottom field of ++ * interlaced field formats ++ */ ++ __u32 il_vsync; /* Vertical sync length for bottom field of ++ * interlaced field formats ++ */ ++ __u32 il_vbackporch; /* Vertical back porch for bottom field of ++ * interlaced field formats ++ */ ++ __u32 reserved[16]; ++} __attribute__ ((packed)); ++ ++/* Interlaced or progressive format */ ++#define V4L2_DV_PROGRESSIVE 0 ++#define V4L2_DV_INTERLACED 1 ++ ++/* Polarities. If bit is not set, it is assumed to be negative polarity */ ++#define V4L2_DV_VSYNC_POS_POL 0x00000001 ++#define V4L2_DV_HSYNC_POS_POL 0x00000002 ++ ++ ++/* DV timings */ ++struct v4l2_dv_timings { ++ __u32 type; ++ union { ++ struct v4l2_bt_timings bt; ++ __u32 reserved[32]; ++ }; ++} __attribute__ ((packed)); ++ ++/* Values for the type field */ ++#define V4L2_DV_BT_656_1120 0 /* BT.656/1120 timing type */ ++ ++/* ++ * V I D E O I N P U T S ++ */ ++struct v4l2_input { ++ __u32 index; /* Which input */ ++ __u8 name[32]; /* Label */ ++ __u32 type; /* Type of input */ ++ __u32 audioset; /* Associated audios (bitfield) */ ++ __u32 tuner; /* Associated tuner */ ++ v4l2_std_id std; ++ __u32 status; ++ __u32 capabilities; ++ __u32 reserved[3]; ++}; ++ ++/* Values for the 'type' field */ ++#define V4L2_INPUT_TYPE_TUNER 1 ++#define V4L2_INPUT_TYPE_CAMERA 2 ++ ++/* field 'status' - general */ ++#define V4L2_IN_ST_NO_POWER 0x00000001 /* Attached device is off */ ++#define V4L2_IN_ST_NO_SIGNAL 0x00000002 ++#define V4L2_IN_ST_NO_COLOR 0x00000004 ++ ++/* field 'status' - sensor orientation */ ++/* If sensor is mounted upside down set both bits */ ++#define V4L2_IN_ST_HFLIP 0x00000010 /* Frames are flipped horizontally */ ++#define V4L2_IN_ST_VFLIP 0x00000020 /* Frames are flipped vertically */ ++ ++/* field 'status' - analog */ ++#define V4L2_IN_ST_NO_H_LOCK 0x00000100 /* No horizontal sync lock */ ++#define V4L2_IN_ST_COLOR_KILL 0x00000200 /* Color killer is active */ ++ ++/* field 'status' - digital */ ++#define V4L2_IN_ST_NO_SYNC 0x00010000 /* No synchronization lock */ ++#define V4L2_IN_ST_NO_EQU 0x00020000 /* No equalizer lock */ ++#define V4L2_IN_ST_NO_CARRIER 0x00040000 /* Carrier recovery failed */ ++ ++/* field 'status' - VCR and set-top box */ ++#define V4L2_IN_ST_MACROVISION 0x01000000 /* Macrovision detected */ ++#define V4L2_IN_ST_NO_ACCESS 0x02000000 /* Conditional access denied */ ++#define V4L2_IN_ST_VTR 0x04000000 /* VTR time constant */ ++ ++/* capabilities flags */ ++#define V4L2_IN_CAP_PRESETS 0x00000001 /* Supports S_DV_PRESET */ ++#define V4L2_IN_CAP_CUSTOM_TIMINGS 0x00000002 /* Supports S_DV_TIMINGS */ ++#define V4L2_IN_CAP_STD 0x00000004 /* Supports S_STD */ ++ ++/* ++ * V I D E O O U T P U T S ++ */ ++struct v4l2_output { ++ __u32 index; /* Which output */ ++ __u8 name[32]; /* Label */ ++ __u32 type; /* Type of output */ ++ __u32 audioset; /* Associated audios (bitfield) */ ++ __u32 modulator; /* Associated modulator */ ++ v4l2_std_id std; ++ __u32 capabilities; ++ __u32 reserved[3]; ++}; ++/* Values for the 'type' field */ ++#define V4L2_OUTPUT_TYPE_MODULATOR 1 ++#define V4L2_OUTPUT_TYPE_ANALOG 2 ++#define V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY 3 ++ ++/* capabilities flags */ ++#define V4L2_OUT_CAP_PRESETS 0x00000001 /* Supports S_DV_PRESET */ ++#define V4L2_OUT_CAP_CUSTOM_TIMINGS 0x00000002 /* Supports S_DV_TIMINGS */ ++#define V4L2_OUT_CAP_STD 0x00000004 /* Supports S_STD */ ++ ++/* ++ * C O N T R O L S ++ */ ++struct v4l2_control { ++ __u32 id; ++ __s32 value; ++}; ++ ++struct v4l2_ext_control { ++ __u32 id; ++ __u32 size; ++ __u32 reserved2[1]; ++ union { ++ __s32 value; ++ __s64 value64; ++ char *string; ++ }; ++} __attribute__ ((packed)); ++ ++struct v4l2_ext_controls { ++ __u32 ctrl_class; ++ __u32 count; ++ __u32 error_idx; ++ __u32 reserved[2]; ++ struct v4l2_ext_control *controls; ++}; ++ ++/* Values for ctrl_class field */ ++#define V4L2_CTRL_CLASS_USER 0x00980000 /* Old-style 'user' controls */ ++#define V4L2_CTRL_CLASS_MPEG 0x00990000 /* MPEG-compression controls */ ++#define V4L2_CTRL_CLASS_CAMERA 0x009a0000 /* Camera class controls */ ++#define V4L2_CTRL_CLASS_FM_TX 0x009b0000 /* FM Modulator control class */ ++ ++#define V4L2_CTRL_ID_MASK (0x0fffffff) ++#define V4L2_CTRL_ID2CLASS(id) ((id) & 0x0fff0000UL) ++#define V4L2_CTRL_DRIVER_PRIV(id) (((id) & 0xffff) >= 0x1000) ++ ++enum v4l2_ctrl_type { ++ V4L2_CTRL_TYPE_INTEGER = 1, ++ V4L2_CTRL_TYPE_BOOLEAN = 2, ++ V4L2_CTRL_TYPE_MENU = 3, ++ V4L2_CTRL_TYPE_BUTTON = 4, ++ V4L2_CTRL_TYPE_INTEGER64 = 5, ++ V4L2_CTRL_TYPE_CTRL_CLASS = 6, ++ V4L2_CTRL_TYPE_STRING = 7, ++}; ++ ++/* Used in the VIDIOC_QUERYCTRL ioctl for querying controls */ ++struct v4l2_queryctrl { ++ __u32 id; ++ enum v4l2_ctrl_type type; ++ __u8 name[32]; /* Whatever */ ++ __s32 minimum; /* Note signedness */ ++ __s32 maximum; ++ __s32 step; ++ __s32 default_value; ++ __u32 flags; ++ __u32 reserved[2]; ++}; ++ ++/* Used in the VIDIOC_QUERYMENU ioctl for querying menu items */ ++struct v4l2_querymenu { ++ __u32 id; ++ __u32 index; ++ __u8 name[32]; /* Whatever */ ++ __u32 reserved; ++}; ++ ++/* Control flags */ ++#define V4L2_CTRL_FLAG_DISABLED 0x0001 ++#define V4L2_CTRL_FLAG_GRABBED 0x0002 ++#define V4L2_CTRL_FLAG_READ_ONLY 0x0004 ++#define V4L2_CTRL_FLAG_UPDATE 0x0008 ++#define V4L2_CTRL_FLAG_INACTIVE 0x0010 ++#define V4L2_CTRL_FLAG_SLIDER 0x0020 ++#define V4L2_CTRL_FLAG_WRITE_ONLY 0x0040 ++ ++/* Query flag, to be ORed with the control ID */ ++#define V4L2_CTRL_FLAG_NEXT_CTRL 0x80000000 ++ ++/* User-class control IDs defined by V4L2 */ ++#define V4L2_CID_BASE (V4L2_CTRL_CLASS_USER | 0x900) ++#define V4L2_CID_USER_BASE V4L2_CID_BASE ++/* IDs reserved for driver specific controls */ ++#define V4L2_CID_PRIVATE_BASE 0x08000000 ++ ++#define V4L2_CID_USER_CLASS (V4L2_CTRL_CLASS_USER | 1) ++#define V4L2_CID_BRIGHTNESS (V4L2_CID_BASE+0) ++#define V4L2_CID_CONTRAST (V4L2_CID_BASE+1) ++#define V4L2_CID_SATURATION (V4L2_CID_BASE+2) ++#define V4L2_CID_HUE (V4L2_CID_BASE+3) ++#define V4L2_CID_AUDIO_VOLUME (V4L2_CID_BASE+5) ++#define V4L2_CID_AUDIO_BALANCE (V4L2_CID_BASE+6) ++#define V4L2_CID_AUDIO_BASS (V4L2_CID_BASE+7) ++#define V4L2_CID_AUDIO_TREBLE (V4L2_CID_BASE+8) ++#define V4L2_CID_AUDIO_MUTE (V4L2_CID_BASE+9) ++#define V4L2_CID_AUDIO_LOUDNESS (V4L2_CID_BASE+10) ++#define V4L2_CID_BLACK_LEVEL (V4L2_CID_BASE+11) /* Deprecated */ ++#define V4L2_CID_AUTO_WHITE_BALANCE (V4L2_CID_BASE+12) ++#define V4L2_CID_DO_WHITE_BALANCE (V4L2_CID_BASE+13) ++#define V4L2_CID_RED_BALANCE (V4L2_CID_BASE+14) ++#define V4L2_CID_BLUE_BALANCE (V4L2_CID_BASE+15) ++#define V4L2_CID_GAMMA (V4L2_CID_BASE+16) ++#define V4L2_CID_WHITENESS (V4L2_CID_GAMMA) /* Deprecated */ ++#define V4L2_CID_EXPOSURE (V4L2_CID_BASE+17) ++#define V4L2_CID_AUTOGAIN (V4L2_CID_BASE+18) ++#define V4L2_CID_GAIN (V4L2_CID_BASE+19) ++#define V4L2_CID_HFLIP (V4L2_CID_BASE+20) ++#define V4L2_CID_VFLIP (V4L2_CID_BASE+21) ++ ++/* Deprecated; use V4L2_CID_PAN_RESET and V4L2_CID_TILT_RESET */ ++#define V4L2_CID_HCENTER (V4L2_CID_BASE+22) ++#define V4L2_CID_VCENTER (V4L2_CID_BASE+23) ++ ++#define V4L2_CID_POWER_LINE_FREQUENCY (V4L2_CID_BASE+24) ++enum v4l2_power_line_frequency { ++ V4L2_CID_POWER_LINE_FREQUENCY_DISABLED = 0, ++ V4L2_CID_POWER_LINE_FREQUENCY_50HZ = 1, ++ V4L2_CID_POWER_LINE_FREQUENCY_60HZ = 2, ++}; ++#define V4L2_CID_HUE_AUTO (V4L2_CID_BASE+25) ++#define V4L2_CID_WHITE_BALANCE_TEMPERATURE (V4L2_CID_BASE+26) ++#define V4L2_CID_SHARPNESS (V4L2_CID_BASE+27) ++#define V4L2_CID_BACKLIGHT_COMPENSATION (V4L2_CID_BASE+28) ++#define V4L2_CID_CHROMA_AGC (V4L2_CID_BASE+29) ++#define V4L2_CID_COLOR_KILLER (V4L2_CID_BASE+30) ++#define V4L2_CID_COLORFX (V4L2_CID_BASE+31) ++enum v4l2_colorfx { ++ V4L2_COLORFX_NONE = 0, ++ V4L2_COLORFX_BW = 1, ++ V4L2_COLORFX_SEPIA = 2, ++ V4L2_COLORFX_NEGATIVE = 3, ++ V4L2_COLORFX_EMBOSS = 4, ++ V4L2_COLORFX_SKETCH = 5, ++ V4L2_COLORFX_SKY_BLUE = 6, ++ V4L2_COLORFX_GRASS_GREEN = 7, ++ V4L2_COLORFX_SKIN_WHITEN = 8, ++ V4L2_COLORFX_VIVID = 9, ++}; ++#define V4L2_CID_AUTOBRIGHTNESS (V4L2_CID_BASE+32) ++#define V4L2_CID_BAND_STOP_FILTER (V4L2_CID_BASE+33) ++ ++#define V4L2_CID_ROTATE (V4L2_CID_BASE+34) ++#define V4L2_CID_BG_COLOR (V4L2_CID_BASE+35) ++ ++#define V4L2_CID_CHROMA_GAIN (V4L2_CID_BASE+36) ++ ++#define V4L2_CID_ILLUMINATORS_1 (V4L2_CID_BASE+37) ++#define V4L2_CID_ILLUMINATORS_2 (V4L2_CID_BASE+38) ++ ++/* last CID + 1 */ ++#define V4L2_CID_LASTP1 (V4L2_CID_BASE+39) ++ ++/* MPEG-class control IDs defined by V4L2 */ ++#define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900) ++#define V4L2_CID_MPEG_CLASS (V4L2_CTRL_CLASS_MPEG | 1) ++ ++/* MPEG streams */ ++#define V4L2_CID_MPEG_STREAM_TYPE (V4L2_CID_MPEG_BASE+0) ++enum v4l2_mpeg_stream_type { ++ V4L2_MPEG_STREAM_TYPE_MPEG2_PS = 0, /* MPEG-2 program stream */ ++ V4L2_MPEG_STREAM_TYPE_MPEG2_TS = 1, /* MPEG-2 transport stream */ ++ V4L2_MPEG_STREAM_TYPE_MPEG1_SS = 2, /* MPEG-1 system stream */ ++ V4L2_MPEG_STREAM_TYPE_MPEG2_DVD = 3, /* MPEG-2 DVD-compatible stream */ ++ V4L2_MPEG_STREAM_TYPE_MPEG1_VCD = 4, /* MPEG-1 VCD-compatible stream */ ++ V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD = 5, /* MPEG-2 SVCD-compatible stream */ ++}; ++#define V4L2_CID_MPEG_STREAM_PID_PMT (V4L2_CID_MPEG_BASE+1) ++#define V4L2_CID_MPEG_STREAM_PID_AUDIO (V4L2_CID_MPEG_BASE+2) ++#define V4L2_CID_MPEG_STREAM_PID_VIDEO (V4L2_CID_MPEG_BASE+3) ++#define V4L2_CID_MPEG_STREAM_PID_PCR (V4L2_CID_MPEG_BASE+4) ++#define V4L2_CID_MPEG_STREAM_PES_ID_AUDIO (V4L2_CID_MPEG_BASE+5) ++#define V4L2_CID_MPEG_STREAM_PES_ID_VIDEO (V4L2_CID_MPEG_BASE+6) ++#define V4L2_CID_MPEG_STREAM_VBI_FMT (V4L2_CID_MPEG_BASE+7) ++enum v4l2_mpeg_stream_vbi_fmt { ++ V4L2_MPEG_STREAM_VBI_FMT_NONE = 0, /* No VBI in the MPEG stream */ ++ V4L2_MPEG_STREAM_VBI_FMT_IVTV = 1, /* VBI in private packets, IVTV format */ ++}; ++ ++/* MPEG audio */ ++#define V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ (V4L2_CID_MPEG_BASE+100) ++enum v4l2_mpeg_audio_sampling_freq { ++ V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100 = 0, ++ V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000 = 1, ++ V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000 = 2, ++}; ++#define V4L2_CID_MPEG_AUDIO_ENCODING (V4L2_CID_MPEG_BASE+101) ++enum v4l2_mpeg_audio_encoding { ++ V4L2_MPEG_AUDIO_ENCODING_LAYER_1 = 0, ++ V4L2_MPEG_AUDIO_ENCODING_LAYER_2 = 1, ++ V4L2_MPEG_AUDIO_ENCODING_LAYER_3 = 2, ++ V4L2_MPEG_AUDIO_ENCODING_AAC = 3, ++ V4L2_MPEG_AUDIO_ENCODING_AC3 = 4, ++}; ++#define V4L2_CID_MPEG_AUDIO_L1_BITRATE (V4L2_CID_MPEG_BASE+102) ++enum v4l2_mpeg_audio_l1_bitrate { ++ V4L2_MPEG_AUDIO_L1_BITRATE_32K = 0, ++ V4L2_MPEG_AUDIO_L1_BITRATE_64K = 1, ++ V4L2_MPEG_AUDIO_L1_BITRATE_96K = 2, ++ V4L2_MPEG_AUDIO_L1_BITRATE_128K = 3, ++ V4L2_MPEG_AUDIO_L1_BITRATE_160K = 4, ++ V4L2_MPEG_AUDIO_L1_BITRATE_192K = 5, ++ V4L2_MPEG_AUDIO_L1_BITRATE_224K = 6, ++ V4L2_MPEG_AUDIO_L1_BITRATE_256K = 7, ++ V4L2_MPEG_AUDIO_L1_BITRATE_288K = 8, ++ V4L2_MPEG_AUDIO_L1_BITRATE_320K = 9, ++ V4L2_MPEG_AUDIO_L1_BITRATE_352K = 10, ++ V4L2_MPEG_AUDIO_L1_BITRATE_384K = 11, ++ V4L2_MPEG_AUDIO_L1_BITRATE_416K = 12, ++ V4L2_MPEG_AUDIO_L1_BITRATE_448K = 13, ++}; ++#define V4L2_CID_MPEG_AUDIO_L2_BITRATE (V4L2_CID_MPEG_BASE+103) ++enum v4l2_mpeg_audio_l2_bitrate { ++ V4L2_MPEG_AUDIO_L2_BITRATE_32K = 0, ++ V4L2_MPEG_AUDIO_L2_BITRATE_48K = 1, ++ V4L2_MPEG_AUDIO_L2_BITRATE_56K = 2, ++ V4L2_MPEG_AUDIO_L2_BITRATE_64K = 3, ++ V4L2_MPEG_AUDIO_L2_BITRATE_80K = 4, ++ V4L2_MPEG_AUDIO_L2_BITRATE_96K = 5, ++ V4L2_MPEG_AUDIO_L2_BITRATE_112K = 6, ++ V4L2_MPEG_AUDIO_L2_BITRATE_128K = 7, ++ V4L2_MPEG_AUDIO_L2_BITRATE_160K = 8, ++ V4L2_MPEG_AUDIO_L2_BITRATE_192K = 9, ++ V4L2_MPEG_AUDIO_L2_BITRATE_224K = 10, ++ V4L2_MPEG_AUDIO_L2_BITRATE_256K = 11, ++ V4L2_MPEG_AUDIO_L2_BITRATE_320K = 12, ++ V4L2_MPEG_AUDIO_L2_BITRATE_384K = 13, ++}; ++#define V4L2_CID_MPEG_AUDIO_L3_BITRATE (V4L2_CID_MPEG_BASE+104) ++enum v4l2_mpeg_audio_l3_bitrate { ++ V4L2_MPEG_AUDIO_L3_BITRATE_32K = 0, ++ V4L2_MPEG_AUDIO_L3_BITRATE_40K = 1, ++ V4L2_MPEG_AUDIO_L3_BITRATE_48K = 2, ++ V4L2_MPEG_AUDIO_L3_BITRATE_56K = 3, ++ V4L2_MPEG_AUDIO_L3_BITRATE_64K = 4, ++ V4L2_MPEG_AUDIO_L3_BITRATE_80K = 5, ++ V4L2_MPEG_AUDIO_L3_BITRATE_96K = 6, ++ V4L2_MPEG_AUDIO_L3_BITRATE_112K = 7, ++ V4L2_MPEG_AUDIO_L3_BITRATE_128K = 8, ++ V4L2_MPEG_AUDIO_L3_BITRATE_160K = 9, ++ V4L2_MPEG_AUDIO_L3_BITRATE_192K = 10, ++ V4L2_MPEG_AUDIO_L3_BITRATE_224K = 11, ++ V4L2_MPEG_AUDIO_L3_BITRATE_256K = 12, ++ V4L2_MPEG_AUDIO_L3_BITRATE_320K = 13, ++}; ++#define V4L2_CID_MPEG_AUDIO_MODE (V4L2_CID_MPEG_BASE+105) ++enum v4l2_mpeg_audio_mode { ++ V4L2_MPEG_AUDIO_MODE_STEREO = 0, ++ V4L2_MPEG_AUDIO_MODE_JOINT_STEREO = 1, ++ V4L2_MPEG_AUDIO_MODE_DUAL = 2, ++ V4L2_MPEG_AUDIO_MODE_MONO = 3, ++}; ++#define V4L2_CID_MPEG_AUDIO_MODE_EXTENSION (V4L2_CID_MPEG_BASE+106) ++enum v4l2_mpeg_audio_mode_extension { ++ V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4 = 0, ++ V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8 = 1, ++ V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_12 = 2, ++ V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16 = 3, ++}; ++#define V4L2_CID_MPEG_AUDIO_EMPHASIS (V4L2_CID_MPEG_BASE+107) ++enum v4l2_mpeg_audio_emphasis { ++ V4L2_MPEG_AUDIO_EMPHASIS_NONE = 0, ++ V4L2_MPEG_AUDIO_EMPHASIS_50_DIV_15_uS = 1, ++ V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17 = 2, ++}; ++#define V4L2_CID_MPEG_AUDIO_CRC (V4L2_CID_MPEG_BASE+108) ++enum v4l2_mpeg_audio_crc { ++ V4L2_MPEG_AUDIO_CRC_NONE = 0, ++ V4L2_MPEG_AUDIO_CRC_CRC16 = 1, ++}; ++#define V4L2_CID_MPEG_AUDIO_MUTE (V4L2_CID_MPEG_BASE+109) ++#define V4L2_CID_MPEG_AUDIO_AAC_BITRATE (V4L2_CID_MPEG_BASE+110) ++#define V4L2_CID_MPEG_AUDIO_AC3_BITRATE (V4L2_CID_MPEG_BASE+111) ++enum v4l2_mpeg_audio_ac3_bitrate { ++ V4L2_MPEG_AUDIO_AC3_BITRATE_32K = 0, ++ V4L2_MPEG_AUDIO_AC3_BITRATE_40K = 1, ++ V4L2_MPEG_AUDIO_AC3_BITRATE_48K = 2, ++ V4L2_MPEG_AUDIO_AC3_BITRATE_56K = 3, ++ V4L2_MPEG_AUDIO_AC3_BITRATE_64K = 4, ++ V4L2_MPEG_AUDIO_AC3_BITRATE_80K = 5, ++ V4L2_MPEG_AUDIO_AC3_BITRATE_96K = 6, ++ V4L2_MPEG_AUDIO_AC3_BITRATE_112K = 7, ++ V4L2_MPEG_AUDIO_AC3_BITRATE_128K = 8, ++ V4L2_MPEG_AUDIO_AC3_BITRATE_160K = 9, ++ V4L2_MPEG_AUDIO_AC3_BITRATE_192K = 10, ++ V4L2_MPEG_AUDIO_AC3_BITRATE_224K = 11, ++ V4L2_MPEG_AUDIO_AC3_BITRATE_256K = 12, ++ V4L2_MPEG_AUDIO_AC3_BITRATE_320K = 13, ++ V4L2_MPEG_AUDIO_AC3_BITRATE_384K = 14, ++ V4L2_MPEG_AUDIO_AC3_BITRATE_448K = 15, ++ V4L2_MPEG_AUDIO_AC3_BITRATE_512K = 16, ++ V4L2_MPEG_AUDIO_AC3_BITRATE_576K = 17, ++ V4L2_MPEG_AUDIO_AC3_BITRATE_640K = 18, ++}; ++ ++/* MPEG video */ ++#define V4L2_CID_MPEG_VIDEO_ENCODING (V4L2_CID_MPEG_BASE+200) ++enum v4l2_mpeg_video_encoding { ++ V4L2_MPEG_VIDEO_ENCODING_MPEG_1 = 0, ++ V4L2_MPEG_VIDEO_ENCODING_MPEG_2 = 1, ++ V4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC = 2, ++}; ++#define V4L2_CID_MPEG_VIDEO_ASPECT (V4L2_CID_MPEG_BASE+201) ++enum v4l2_mpeg_video_aspect { ++ V4L2_MPEG_VIDEO_ASPECT_1x1 = 0, ++ V4L2_MPEG_VIDEO_ASPECT_4x3 = 1, ++ V4L2_MPEG_VIDEO_ASPECT_16x9 = 2, ++ V4L2_MPEG_VIDEO_ASPECT_221x100 = 3, ++}; ++#define V4L2_CID_MPEG_VIDEO_B_FRAMES (V4L2_CID_MPEG_BASE+202) ++#define V4L2_CID_MPEG_VIDEO_GOP_SIZE (V4L2_CID_MPEG_BASE+203) ++#define V4L2_CID_MPEG_VIDEO_GOP_CLOSURE (V4L2_CID_MPEG_BASE+204) ++#define V4L2_CID_MPEG_VIDEO_PULLDOWN (V4L2_CID_MPEG_BASE+205) ++#define V4L2_CID_MPEG_VIDEO_BITRATE_MODE (V4L2_CID_MPEG_BASE+206) ++enum v4l2_mpeg_video_bitrate_mode { ++ V4L2_MPEG_VIDEO_BITRATE_MODE_VBR = 0, ++ V4L2_MPEG_VIDEO_BITRATE_MODE_CBR = 1, ++}; ++#define V4L2_CID_MPEG_VIDEO_BITRATE (V4L2_CID_MPEG_BASE+207) ++#define V4L2_CID_MPEG_VIDEO_BITRATE_PEAK (V4L2_CID_MPEG_BASE+208) ++#define V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION (V4L2_CID_MPEG_BASE+209) ++#define V4L2_CID_MPEG_VIDEO_MUTE (V4L2_CID_MPEG_BASE+210) ++#define V4L2_CID_MPEG_VIDEO_MUTE_YUV (V4L2_CID_MPEG_BASE+211) ++ ++/* MPEG-class control IDs specific to the CX2341x driver as defined by V4L2 */ ++#define V4L2_CID_MPEG_CX2341X_BASE (V4L2_CTRL_CLASS_MPEG | 0x1000) ++#define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE (V4L2_CID_MPEG_CX2341X_BASE+0) ++enum v4l2_mpeg_cx2341x_video_spatial_filter_mode { ++ V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL = 0, ++ V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO = 1, ++}; ++#define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER (V4L2_CID_MPEG_CX2341X_BASE+1) ++#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+2) ++enum v4l2_mpeg_cx2341x_video_luma_spatial_filter_type { ++ V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF = 0, ++ V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR = 1, ++ V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_VERT = 2, ++ V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE = 3, ++ V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE = 4, ++}; ++#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+3) ++enum v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type { ++ V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF = 0, ++ V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR = 1, ++}; ++#define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE (V4L2_CID_MPEG_CX2341X_BASE+4) ++enum v4l2_mpeg_cx2341x_video_temporal_filter_mode { ++ V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL = 0, ++ V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO = 1, ++}; ++#define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER (V4L2_CID_MPEG_CX2341X_BASE+5) ++#define V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+6) ++enum v4l2_mpeg_cx2341x_video_median_filter_type { ++ V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF = 0, ++ V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR = 1, ++ V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_VERT = 2, ++ V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT = 3, ++ V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG = 4, ++}; ++#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM (V4L2_CID_MPEG_CX2341X_BASE+7) ++#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP (V4L2_CID_MPEG_CX2341X_BASE+8) ++#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM (V4L2_CID_MPEG_CX2341X_BASE+9) ++#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP (V4L2_CID_MPEG_CX2341X_BASE+10) ++#define V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS (V4L2_CID_MPEG_CX2341X_BASE+11) ++ ++/* Camera class control IDs */ ++#define V4L2_CID_CAMERA_CLASS_BASE (V4L2_CTRL_CLASS_CAMERA | 0x900) ++#define V4L2_CID_CAMERA_CLASS (V4L2_CTRL_CLASS_CAMERA | 1) ++ ++#define V4L2_CID_EXPOSURE_AUTO (V4L2_CID_CAMERA_CLASS_BASE+1) ++enum v4l2_exposure_auto_type { ++ V4L2_EXPOSURE_AUTO = 0, ++ V4L2_EXPOSURE_MANUAL = 1, ++ V4L2_EXPOSURE_SHUTTER_PRIORITY = 2, ++ V4L2_EXPOSURE_APERTURE_PRIORITY = 3 ++}; ++#define V4L2_CID_EXPOSURE_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+2) ++#define V4L2_CID_EXPOSURE_AUTO_PRIORITY (V4L2_CID_CAMERA_CLASS_BASE+3) ++ ++#define V4L2_CID_PAN_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+4) ++#define V4L2_CID_TILT_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+5) ++#define V4L2_CID_PAN_RESET (V4L2_CID_CAMERA_CLASS_BASE+6) ++#define V4L2_CID_TILT_RESET (V4L2_CID_CAMERA_CLASS_BASE+7) ++ ++#define V4L2_CID_PAN_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+8) ++#define V4L2_CID_TILT_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+9) ++ ++#define V4L2_CID_FOCUS_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+10) ++#define V4L2_CID_FOCUS_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+11) ++#define V4L2_CID_FOCUS_AUTO (V4L2_CID_CAMERA_CLASS_BASE+12) ++ ++#define V4L2_CID_ZOOM_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+13) ++#define V4L2_CID_ZOOM_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+14) ++#define V4L2_CID_ZOOM_CONTINUOUS (V4L2_CID_CAMERA_CLASS_BASE+15) ++ ++#define V4L2_CID_PRIVACY (V4L2_CID_CAMERA_CLASS_BASE+16) ++ ++#define V4L2_CID_IRIS_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+17) ++#define V4L2_CID_IRIS_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+18) ++ ++/* FM Modulator class control IDs */ ++#define V4L2_CID_FM_TX_CLASS_BASE (V4L2_CTRL_CLASS_FM_TX | 0x900) ++#define V4L2_CID_FM_TX_CLASS (V4L2_CTRL_CLASS_FM_TX | 1) ++ ++#define V4L2_CID_RDS_TX_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 1) ++#define V4L2_CID_RDS_TX_PI (V4L2_CID_FM_TX_CLASS_BASE + 2) ++#define V4L2_CID_RDS_TX_PTY (V4L2_CID_FM_TX_CLASS_BASE + 3) ++#define V4L2_CID_RDS_TX_PS_NAME (V4L2_CID_FM_TX_CLASS_BASE + 5) ++#define V4L2_CID_RDS_TX_RADIO_TEXT (V4L2_CID_FM_TX_CLASS_BASE + 6) ++ ++#define V4L2_CID_AUDIO_LIMITER_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 64) ++#define V4L2_CID_AUDIO_LIMITER_RELEASE_TIME (V4L2_CID_FM_TX_CLASS_BASE + 65) ++#define V4L2_CID_AUDIO_LIMITER_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 66) ++ ++#define V4L2_CID_AUDIO_COMPRESSION_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 80) ++#define V4L2_CID_AUDIO_COMPRESSION_GAIN (V4L2_CID_FM_TX_CLASS_BASE + 81) ++#define V4L2_CID_AUDIO_COMPRESSION_THRESHOLD (V4L2_CID_FM_TX_CLASS_BASE + 82) ++#define V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME (V4L2_CID_FM_TX_CLASS_BASE + 83) ++#define V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME (V4L2_CID_FM_TX_CLASS_BASE + 84) ++ ++#define V4L2_CID_PILOT_TONE_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 96) ++#define V4L2_CID_PILOT_TONE_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 97) ++#define V4L2_CID_PILOT_TONE_FREQUENCY (V4L2_CID_FM_TX_CLASS_BASE + 98) ++ ++#define V4L2_CID_TUNE_PREEMPHASIS (V4L2_CID_FM_TX_CLASS_BASE + 112) ++enum v4l2_preemphasis { ++ V4L2_PREEMPHASIS_DISABLED = 0, ++ V4L2_PREEMPHASIS_50_uS = 1, ++ V4L2_PREEMPHASIS_75_uS = 2, ++}; ++#define V4L2_CID_TUNE_POWER_LEVEL (V4L2_CID_FM_TX_CLASS_BASE + 113) ++#define V4L2_CID_TUNE_ANTENNA_CAPACITOR (V4L2_CID_FM_TX_CLASS_BASE + 114) ++ ++/* ++ * T U N I N G ++ */ ++struct v4l2_tuner { ++ __u32 index; ++ __u8 name[32]; ++ enum v4l2_tuner_type type; ++ __u32 capability; ++ __u32 rangelow; ++ __u32 rangehigh; ++ __u32 rxsubchans; ++ __u32 audmode; ++ __s32 signal; ++ __s32 afc; ++ __u32 reserved[4]; ++}; ++ ++struct v4l2_modulator { ++ __u32 index; ++ __u8 name[32]; ++ __u32 capability; ++ __u32 rangelow; ++ __u32 rangehigh; ++ __u32 txsubchans; ++ __u32 reserved[4]; ++}; ++ ++/* Flags for the 'capability' field */ ++#define V4L2_TUNER_CAP_LOW 0x0001 ++#define V4L2_TUNER_CAP_NORM 0x0002 ++#define V4L2_TUNER_CAP_STEREO 0x0010 ++#define V4L2_TUNER_CAP_LANG2 0x0020 ++#define V4L2_TUNER_CAP_SAP 0x0020 ++#define V4L2_TUNER_CAP_LANG1 0x0040 ++#define V4L2_TUNER_CAP_RDS 0x0080 ++#define V4L2_TUNER_CAP_RDS_BLOCK_IO 0x0100 ++#define V4L2_TUNER_CAP_RDS_CONTROLS 0x0200 ++ ++/* Flags for the 'rxsubchans' field */ ++#define V4L2_TUNER_SUB_MONO 0x0001 ++#define V4L2_TUNER_SUB_STEREO 0x0002 ++#define V4L2_TUNER_SUB_LANG2 0x0004 ++#define V4L2_TUNER_SUB_SAP 0x0004 ++#define V4L2_TUNER_SUB_LANG1 0x0008 ++#define V4L2_TUNER_SUB_RDS 0x0010 ++ ++/* Values for the 'audmode' field */ ++#define V4L2_TUNER_MODE_MONO 0x0000 ++#define V4L2_TUNER_MODE_STEREO 0x0001 ++#define V4L2_TUNER_MODE_LANG2 0x0002 ++#define V4L2_TUNER_MODE_SAP 0x0002 ++#define V4L2_TUNER_MODE_LANG1 0x0003 ++#define V4L2_TUNER_MODE_LANG1_LANG2 0x0004 ++ ++struct v4l2_frequency { ++ __u32 tuner; ++ enum v4l2_tuner_type type; ++ __u32 frequency; ++ __u32 reserved[8]; ++}; ++ ++struct v4l2_hw_freq_seek { ++ __u32 tuner; ++ enum v4l2_tuner_type type; ++ __u32 seek_upward; ++ __u32 wrap_around; ++ __u32 spacing; ++ __u32 reserved[7]; ++}; ++ ++/* ++ * R D S ++ */ ++ ++struct v4l2_rds_data { ++ __u8 lsb; ++ __u8 msb; ++ __u8 block; ++} __attribute__ ((packed)); ++ ++#define V4L2_RDS_BLOCK_MSK 0x7 ++#define V4L2_RDS_BLOCK_A 0 ++#define V4L2_RDS_BLOCK_B 1 ++#define V4L2_RDS_BLOCK_C 2 ++#define V4L2_RDS_BLOCK_D 3 ++#define V4L2_RDS_BLOCK_C_ALT 4 ++#define V4L2_RDS_BLOCK_INVALID 7 ++ ++#define V4L2_RDS_BLOCK_CORRECTED 0x40 ++#define V4L2_RDS_BLOCK_ERROR 0x80 ++ ++/* ++ * A U D I O ++ */ ++struct v4l2_audio { ++ __u32 index; ++ __u8 name[32]; ++ __u32 capability; ++ __u32 mode; ++ __u32 reserved[2]; ++}; ++ ++/* Flags for the 'capability' field */ ++#define V4L2_AUDCAP_STEREO 0x00001 ++#define V4L2_AUDCAP_AVL 0x00002 ++ ++/* Flags for the 'mode' field */ ++#define V4L2_AUDMODE_AVL 0x00001 ++ ++struct v4l2_audioout { ++ __u32 index; ++ __u8 name[32]; ++ __u32 capability; ++ __u32 mode; ++ __u32 reserved[2]; ++}; ++ ++/* ++ * M P E G S E R V I C E S ++ * ++ * NOTE: EXPERIMENTAL API ++ */ ++#if 1 ++#define V4L2_ENC_IDX_FRAME_I (0) ++#define V4L2_ENC_IDX_FRAME_P (1) ++#define V4L2_ENC_IDX_FRAME_B (2) ++#define V4L2_ENC_IDX_FRAME_MASK (0xf) ++ ++struct v4l2_enc_idx_entry { ++ __u64 offset; ++ __u64 pts; ++ __u32 length; ++ __u32 flags; ++ __u32 reserved[2]; ++}; ++ ++#define V4L2_ENC_IDX_ENTRIES (64) ++struct v4l2_enc_idx { ++ __u32 entries; ++ __u32 entries_cap; ++ __u32 reserved[4]; ++ struct v4l2_enc_idx_entry entry[V4L2_ENC_IDX_ENTRIES]; ++}; ++ ++ ++#define V4L2_ENC_CMD_START (0) ++#define V4L2_ENC_CMD_STOP (1) ++#define V4L2_ENC_CMD_PAUSE (2) ++#define V4L2_ENC_CMD_RESUME (3) ++ ++/* Flags for V4L2_ENC_CMD_STOP */ ++#define V4L2_ENC_CMD_STOP_AT_GOP_END (1 << 0) ++ ++struct v4l2_encoder_cmd { ++ __u32 cmd; ++ __u32 flags; ++ union { ++ struct { ++ __u32 data[8]; ++ } raw; ++ }; ++}; ++ ++#endif ++ ++ ++/* ++ * D A T A S E R V I C E S ( V B I ) ++ * ++ * Data services API by Michael Schimek ++ */ ++ ++/* Raw VBI */ ++struct v4l2_vbi_format { ++ __u32 sampling_rate; /* in 1 Hz */ ++ __u32 offset; ++ __u32 samples_per_line; ++ __u32 sample_format; /* V4L2_PIX_FMT_* */ ++ __s32 start[2]; ++ __u32 count[2]; ++ __u32 flags; /* V4L2_VBI_* */ ++ __u32 reserved[2]; /* must be zero */ ++}; ++ ++/* VBI flags */ ++#define V4L2_VBI_UNSYNC (1 << 0) ++#define V4L2_VBI_INTERLACED (1 << 1) ++ ++/* Sliced VBI ++ * ++ * This implements is a proposal V4L2 API to allow SLICED VBI ++ * required for some hardware encoders. It should change without ++ * notice in the definitive implementation. ++ */ ++ ++struct v4l2_sliced_vbi_format { ++ __u16 service_set; ++ /* service_lines[0][...] specifies lines 0-23 (1-23 used) of the first field ++ service_lines[1][...] specifies lines 0-23 (1-23 used) of the second field ++ (equals frame lines 313-336 for 625 line video ++ standards, 263-286 for 525 line standards) */ ++ __u16 service_lines[2][24]; ++ __u32 io_size; ++ __u32 reserved[2]; /* must be zero */ ++}; ++ ++/* Teletext World System Teletext ++ (WST), defined on ITU-R BT.653-2 */ ++#define V4L2_SLICED_TELETEXT_B (0x0001) ++/* Video Program System, defined on ETS 300 231*/ ++#define V4L2_SLICED_VPS (0x0400) ++/* Closed Caption, defined on EIA-608 */ ++#define V4L2_SLICED_CAPTION_525 (0x1000) ++/* Wide Screen System, defined on ITU-R BT1119.1 */ ++#define V4L2_SLICED_WSS_625 (0x4000) ++ ++#define V4L2_SLICED_VBI_525 (V4L2_SLICED_CAPTION_525) ++#define V4L2_SLICED_VBI_625 (V4L2_SLICED_TELETEXT_B | V4L2_SLICED_VPS | V4L2_SLICED_WSS_625) ++ ++struct v4l2_sliced_vbi_cap { ++ __u16 service_set; ++ /* service_lines[0][...] specifies lines 0-23 (1-23 used) of the first field ++ service_lines[1][...] specifies lines 0-23 (1-23 used) of the second field ++ (equals frame lines 313-336 for 625 line video ++ standards, 263-286 for 525 line standards) */ ++ __u16 service_lines[2][24]; ++ enum v4l2_buf_type type; ++ __u32 reserved[3]; /* must be 0 */ ++}; ++ ++struct v4l2_sliced_vbi_data { ++ __u32 id; ++ __u32 field; /* 0: first field, 1: second field */ ++ __u32 line; /* 1-23 */ ++ __u32 reserved; /* must be 0 */ ++ __u8 data[48]; ++}; ++ ++/* ++ * Sliced VBI data inserted into MPEG Streams ++ */ ++ ++/* ++ * V4L2_MPEG_STREAM_VBI_FMT_IVTV: ++ * ++ * Structure of payload contained in an MPEG 2 Private Stream 1 PES Packet in an ++ * MPEG-2 Program Pack that contains V4L2_MPEG_STREAM_VBI_FMT_IVTV Sliced VBI ++ * data ++ * ++ * Note, the MPEG-2 Program Pack and Private Stream 1 PES packet header ++ * definitions are not included here. See the MPEG-2 specifications for details ++ * on these headers. ++ */ ++ ++/* Line type IDs */ ++#define V4L2_MPEG_VBI_IVTV_TELETEXT_B (1) ++#define V4L2_MPEG_VBI_IVTV_CAPTION_525 (4) ++#define V4L2_MPEG_VBI_IVTV_WSS_625 (5) ++#define V4L2_MPEG_VBI_IVTV_VPS (7) ++ ++struct v4l2_mpeg_vbi_itv0_line { ++ __u8 id; /* One of V4L2_MPEG_VBI_IVTV_* above */ ++ __u8 data[42]; /* Sliced VBI data for the line */ ++} __attribute__ ((packed)); ++ ++struct v4l2_mpeg_vbi_itv0 { ++ __le32 linemask[2]; /* Bitmasks of VBI service lines present */ ++ struct v4l2_mpeg_vbi_itv0_line line[35]; ++} __attribute__ ((packed)); ++ ++struct v4l2_mpeg_vbi_ITV0 { ++ struct v4l2_mpeg_vbi_itv0_line line[36]; ++} __attribute__ ((packed)); ++ ++#define V4L2_MPEG_VBI_IVTV_MAGIC0 "itv0" ++#define V4L2_MPEG_VBI_IVTV_MAGIC1 "ITV0" ++ ++struct v4l2_mpeg_vbi_fmt_ivtv { ++ __u8 magic[4]; ++ union { ++ struct v4l2_mpeg_vbi_itv0 itv0; ++ struct v4l2_mpeg_vbi_ITV0 ITV0; ++ }; ++} __attribute__ ((packed)); ++ ++/* ++ * A G G R E G A T E S T R U C T U R E S ++ */ ++ ++/** ++ * struct v4l2_plane_pix_format - additional, per-plane format definition ++ * @sizeimage: maximum size in bytes required for data, for which ++ * this plane will be used ++ * @bytesperline: distance in bytes between the leftmost pixels in two ++ * adjacent lines ++ */ ++struct v4l2_plane_pix_format { ++ __u32 sizeimage; ++ __u16 bytesperline; ++ __u16 reserved[7]; ++} __attribute__ ((packed)); ++ ++/** ++ * struct v4l2_pix_format_mplane - multiplanar format definition ++ * @width: image width in pixels ++ * @height: image height in pixels ++ * @pixelformat: little endian four character code (fourcc) ++ * @field: field order (for interlaced video) ++ * @colorspace: supplemental to pixelformat ++ * @plane_fmt: per-plane information ++ * @num_planes: number of planes for this format ++ */ ++struct v4l2_pix_format_mplane { ++ __u32 width; ++ __u32 height; ++ __u32 pixelformat; ++ enum v4l2_field field; ++ enum v4l2_colorspace colorspace; ++ ++ struct v4l2_plane_pix_format plane_fmt[VIDEO_MAX_PLANES]; ++ __u8 num_planes; ++ __u8 reserved[11]; ++} __attribute__ ((packed)); ++ ++/** ++ * struct v4l2_format - stream data format ++ * @type: type of the data stream ++ * @pix: definition of an image format ++ * @pix_mp: definition of a multiplanar image format ++ * @win: definition of an overlaid image ++ * @vbi: raw VBI capture or output parameters ++ * @sliced: sliced VBI capture or output parameters ++ * @raw_data: placeholder for future extensions and custom formats ++ */ ++struct v4l2_format { ++ enum v4l2_buf_type type; ++ union { ++ struct v4l2_pix_format pix; /* V4L2_BUF_TYPE_VIDEO_CAPTURE */ ++ struct v4l2_pix_format_mplane pix_mp; /* V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE */ ++ struct v4l2_window win; /* V4L2_BUF_TYPE_VIDEO_OVERLAY */ ++ struct v4l2_vbi_format vbi; /* V4L2_BUF_TYPE_VBI_CAPTURE */ ++ struct v4l2_sliced_vbi_format sliced; /* V4L2_BUF_TYPE_SLICED_VBI_CAPTURE */ ++ __u8 raw_data[200]; /* user-defined */ ++ } fmt; ++}; ++ ++/* Stream type-dependent parameters ++ */ ++struct v4l2_streamparm { ++ enum v4l2_buf_type type; ++ union { ++ struct v4l2_captureparm capture; ++ struct v4l2_outputparm output; ++ __u8 raw_data[200]; /* user-defined */ ++ } parm; ++}; ++ ++/* ++ * E V E N T S ++ */ ++ ++#define V4L2_EVENT_ALL 0 ++#define V4L2_EVENT_VSYNC 1 ++#define V4L2_EVENT_EOS 2 ++#define V4L2_EVENT_PRIVATE_START 0x08000000 ++ ++/* Payload for V4L2_EVENT_VSYNC */ ++struct v4l2_event_vsync { ++ /* Can be V4L2_FIELD_ANY, _NONE, _TOP or _BOTTOM */ ++ __u8 field; ++} __attribute__ ((packed)); ++ ++struct v4l2_event { ++ __u32 type; ++ union { ++ struct v4l2_event_vsync vsync; ++ __u8 data[64]; ++ } u; ++ __u32 pending; ++ __u32 sequence; ++ struct timespec timestamp; ++ __u32 reserved[9]; ++}; ++ ++struct v4l2_event_subscription { ++ __u32 type; ++ __u32 reserved[7]; ++}; ++ ++/* ++ * A D V A N C E D D E B U G G I N G ++ * ++ * NOTE: EXPERIMENTAL API, NEVER RELY ON THIS IN APPLICATIONS! ++ * FOR DEBUGGING, TESTING AND INTERNAL USE ONLY! ++ */ ++ ++/* VIDIOC_DBG_G_REGISTER and VIDIOC_DBG_S_REGISTER */ ++ ++#define V4L2_CHIP_MATCH_HOST 0 /* Match against chip ID on host (0 for the host) */ ++#define V4L2_CHIP_MATCH_I2C_DRIVER 1 /* Match against I2C driver name */ ++#define V4L2_CHIP_MATCH_I2C_ADDR 2 /* Match against I2C 7-bit address */ ++#define V4L2_CHIP_MATCH_AC97 3 /* Match against anciliary AC97 chip */ ++ ++struct v4l2_dbg_match { ++ __u32 type; /* Match type */ ++ union { /* Match this chip, meaning determined by type */ ++ __u32 addr; ++ char name[32]; ++ }; ++} __attribute__ ((packed)); ++ ++struct v4l2_dbg_register { ++ struct v4l2_dbg_match match; ++ __u32 size; /* register size in bytes */ ++ __u64 reg; ++ __u64 val; ++} __attribute__ ((packed)); ++ ++/* VIDIOC_DBG_G_CHIP_IDENT */ ++struct v4l2_dbg_chip_ident { ++ struct v4l2_dbg_match match; ++ __u32 ident; /* chip identifier as specified in <media/v4l2-chip-ident.h> */ ++ __u32 revision; /* chip revision, chip specific */ ++} __attribute__ ((packed)); ++ ++/* ++ * I O C T L C O D E S F O R V I D E O D E V I C E S ++ * ++ */ ++#define VIDIOC_QUERYCAP _IOR('V', 0, struct v4l2_capability) ++#define VIDIOC_RESERVED _IO('V', 1) ++#define VIDIOC_ENUM_FMT _IOWR('V', 2, struct v4l2_fmtdesc) ++#define VIDIOC_G_FMT _IOWR('V', 4, struct v4l2_format) ++#define VIDIOC_S_FMT _IOWR('V', 5, struct v4l2_format) ++#define VIDIOC_REQBUFS _IOWR('V', 8, struct v4l2_requestbuffers) ++#define VIDIOC_QUERYBUF _IOWR('V', 9, struct v4l2_buffer) ++#define VIDIOC_G_FBUF _IOR('V', 10, struct v4l2_framebuffer) ++#define VIDIOC_S_FBUF _IOW('V', 11, struct v4l2_framebuffer) ++#define VIDIOC_OVERLAY _IOW('V', 14, int) ++#define VIDIOC_QBUF _IOWR('V', 15, struct v4l2_buffer) ++#define VIDIOC_DQBUF _IOWR('V', 17, struct v4l2_buffer) ++#define VIDIOC_STREAMON _IOW('V', 18, int) ++#define VIDIOC_STREAMOFF _IOW('V', 19, int) ++#define VIDIOC_G_PARM _IOWR('V', 21, struct v4l2_streamparm) ++#define VIDIOC_S_PARM _IOWR('V', 22, struct v4l2_streamparm) ++#define VIDIOC_G_STD _IOR('V', 23, v4l2_std_id) ++#define VIDIOC_S_STD _IOW('V', 24, v4l2_std_id) ++#define VIDIOC_ENUMSTD _IOWR('V', 25, struct v4l2_standard) ++#define VIDIOC_ENUMINPUT _IOWR('V', 26, struct v4l2_input) ++#define VIDIOC_G_CTRL _IOWR('V', 27, struct v4l2_control) ++#define VIDIOC_S_CTRL _IOWR('V', 28, struct v4l2_control) ++#define VIDIOC_G_TUNER _IOWR('V', 29, struct v4l2_tuner) ++#define VIDIOC_S_TUNER _IOW('V', 30, struct v4l2_tuner) ++#define VIDIOC_G_AUDIO _IOR('V', 33, struct v4l2_audio) ++#define VIDIOC_S_AUDIO _IOW('V', 34, struct v4l2_audio) ++#define VIDIOC_QUERYCTRL _IOWR('V', 36, struct v4l2_queryctrl) ++#define VIDIOC_QUERYMENU _IOWR('V', 37, struct v4l2_querymenu) ++#define VIDIOC_G_INPUT _IOR('V', 38, int) ++#define VIDIOC_S_INPUT _IOWR('V', 39, int) ++#define VIDIOC_G_OUTPUT _IOR('V', 46, int) ++#define VIDIOC_S_OUTPUT _IOWR('V', 47, int) ++#define VIDIOC_ENUMOUTPUT _IOWR('V', 48, struct v4l2_output) ++#define VIDIOC_G_AUDOUT _IOR('V', 49, struct v4l2_audioout) ++#define VIDIOC_S_AUDOUT _IOW('V', 50, struct v4l2_audioout) ++#define VIDIOC_G_MODULATOR _IOWR('V', 54, struct v4l2_modulator) ++#define VIDIOC_S_MODULATOR _IOW('V', 55, struct v4l2_modulator) ++#define VIDIOC_G_FREQUENCY _IOWR('V', 56, struct v4l2_frequency) ++#define VIDIOC_S_FREQUENCY _IOW('V', 57, struct v4l2_frequency) ++#define VIDIOC_CROPCAP _IOWR('V', 58, struct v4l2_cropcap) ++#define VIDIOC_G_CROP _IOWR('V', 59, struct v4l2_crop) ++#define VIDIOC_S_CROP _IOW('V', 60, struct v4l2_crop) ++#define VIDIOC_G_JPEGCOMP _IOR('V', 61, struct v4l2_jpegcompression) ++#define VIDIOC_S_JPEGCOMP _IOW('V', 62, struct v4l2_jpegcompression) ++#define VIDIOC_QUERYSTD _IOR('V', 63, v4l2_std_id) ++#define VIDIOC_TRY_FMT _IOWR('V', 64, struct v4l2_format) ++#define VIDIOC_ENUMAUDIO _IOWR('V', 65, struct v4l2_audio) ++#define VIDIOC_ENUMAUDOUT _IOWR('V', 66, struct v4l2_audioout) ++#define VIDIOC_G_PRIORITY _IOR('V', 67, enum v4l2_priority) ++#define VIDIOC_S_PRIORITY _IOW('V', 68, enum v4l2_priority) ++#define VIDIOC_G_SLICED_VBI_CAP _IOWR('V', 69, struct v4l2_sliced_vbi_cap) ++#define VIDIOC_LOG_STATUS _IO('V', 70) ++#define VIDIOC_G_EXT_CTRLS _IOWR('V', 71, struct v4l2_ext_controls) ++#define VIDIOC_S_EXT_CTRLS _IOWR('V', 72, struct v4l2_ext_controls) ++#define VIDIOC_TRY_EXT_CTRLS _IOWR('V', 73, struct v4l2_ext_controls) ++#if 1 ++#define VIDIOC_ENUM_FRAMESIZES _IOWR('V', 74, struct v4l2_frmsizeenum) ++#define VIDIOC_ENUM_FRAMEINTERVALS _IOWR('V', 75, struct v4l2_frmivalenum) ++#define VIDIOC_G_ENC_INDEX _IOR('V', 76, struct v4l2_enc_idx) ++#define VIDIOC_ENCODER_CMD _IOWR('V', 77, struct v4l2_encoder_cmd) ++#define VIDIOC_TRY_ENCODER_CMD _IOWR('V', 78, struct v4l2_encoder_cmd) ++#endif ++ ++#if 1 ++/* Experimental, meant for debugging, testing and internal use. ++ Only implemented if CONFIG_VIDEO_ADV_DEBUG is defined. ++ You must be root to use these ioctls. Never use these in applications! */ ++#define VIDIOC_DBG_S_REGISTER _IOW('V', 79, struct v4l2_dbg_register) ++#define VIDIOC_DBG_G_REGISTER _IOWR('V', 80, struct v4l2_dbg_register) ++ ++/* Experimental, meant for debugging, testing and internal use. ++ Never use this ioctl in applications! */ ++#define VIDIOC_DBG_G_CHIP_IDENT _IOWR('V', 81, struct v4l2_dbg_chip_ident) ++#endif ++ ++#define VIDIOC_S_HW_FREQ_SEEK _IOW('V', 82, struct v4l2_hw_freq_seek) ++#define VIDIOC_ENUM_DV_PRESETS _IOWR('V', 83, struct v4l2_dv_enum_preset) ++#define VIDIOC_S_DV_PRESET _IOWR('V', 84, struct v4l2_dv_preset) ++#define VIDIOC_G_DV_PRESET _IOWR('V', 85, struct v4l2_dv_preset) ++#define VIDIOC_QUERY_DV_PRESET _IOR('V', 86, struct v4l2_dv_preset) ++#define VIDIOC_S_DV_TIMINGS _IOWR('V', 87, struct v4l2_dv_timings) ++#define VIDIOC_G_DV_TIMINGS _IOWR('V', 88, struct v4l2_dv_timings) ++#define VIDIOC_DQEVENT _IOR('V', 89, struct v4l2_event) ++#define VIDIOC_SUBSCRIBE_EVENT _IOW('V', 90, struct v4l2_event_subscription) ++#define VIDIOC_UNSUBSCRIBE_EVENT _IOW('V', 91, struct v4l2_event_subscription) ++ ++#define BASE_VIDIOC_PRIVATE 192 /* 192-255 are private */ ++ ++#endif /* __LINUX_VIDEODEV2_H */ diff --git a/extra/xf86-video-vesa/PKGBUILD b/extra/xf86-video-vesa/PKGBUILD index 91d85103c..95ee4a1ae 100644 --- a/extra/xf86-video-vesa/PKGBUILD +++ b/extra/xf86-video-vesa/PKGBUILD @@ -1,32 +1,39 @@ -# $Id: PKGBUILD 140592 2011-10-17 09:55:09Z jgc $ +# $Id: PKGBUILD 153382 2012-03-12 20:55:11Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-vesa pkgver=2.3.0 -pkgrel=7 +pkgrel=8 +_gitver=4ba7306fd0c9533750d389829e2cbf0522e149b3 pkgdesc="X.org vesa video driver" arch=(i686 x86_64) license=('custom') url="http://xorg.freedesktop.org/" depends=('glibc') -makedepends=('pkgconfig' 'xorg-server-devel>=1.10.99.902') -conflicts=('xorg-server<1.10.99.902') +makedepends=('pkgconfig' 'xorg-server-devel>=1.11.99.903') +conflicts=('xorg-server<1.11.99.903') groups=('xorg-drivers' 'xorg') options=('!libtool') -source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 - git-fixes.patch +source=(#${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 + http://cgit.freedesktop.org/xorg/driver/xf86-video-vesa/snapshot/xf86-video-vesa-${_gitver}.tar.gz + #git-fixes.patch revert-kernelcheck.patch) -sha1sums=('4689b7c295d7a8d7326302dafecb812739617134' - '1e54ae50daa796ab0c29c8088f25e522dc6faa4a' +sha1sums=('52f5bf577038c6fe7819743ceac787bb619b6d47' 'c14454521ac91aaa08aad8a6025d7720a613d54b') build() { - cd "${srcdir}/${pkgname}-${pkgver}" - patch -Np1 -i "${srcdir}/git-fixes.patch" + #cd "${srcdir}/${pkgname}-${pkgver}" + cd ${srcdir}/${pkgname}* + #patch -Np1 -i "${srcdir}/git-fixes.patch" patch -Np1 -R -i "${srcdir}/revert-kernelcheck.patch" autoreconf -fi ./configure --prefix=/usr make +} + +package() { + #cd "${srcdir}/${pkgname}-${pkgver}" + cd ${srcdir}/${pkgname}* make DESTDIR="${pkgdir}" install install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-voodoo/PKGBUILD b/extra/xf86-video-voodoo/PKGBUILD index 2ee2775ef..61689bd1c 100644 --- a/extra/xf86-video-voodoo/PKGBUILD +++ b/extra/xf86-video-voodoo/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 140284 2011-10-11 21:28:14Z jgc $ +# $Id: PKGBUILD 153386 2012-03-12 20:55:23Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-voodoo pkgver=1.2.4 -pkgrel=5 +pkgrel=6 pkgdesc="X.org 3dfx Voodoo1/Voodoo2 2D video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel>=1.10.99.902' 'xf86dgaproto') -conflicts=('xorg-server<1.10.99.902') +makedepends=('xorg-server-devel>=1.11.99.903' 'xf86dgaproto') +conflicts=('xorg-server<1.11.99.903') groups=('xorg-drivers' 'xorg') options=('!libtool') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) @@ -20,6 +20,10 @@ build() { cd "${srcdir}/${pkgname}-${pkgver}" ./configure --prefix=/usr make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" diff --git a/extra/xf86-video-xgixp/PKGBUILD b/extra/xf86-video-xgixp/PKGBUILD index c3dd3e706..c44223f1b 100644 --- a/extra/xf86-video-xgixp/PKGBUILD +++ b/extra/xf86-video-xgixp/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 140282 2011-10-11 21:28:12Z jgc $ +# $Id: PKGBUILD 153388 2012-03-12 20:55:30Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-xgixp pkgver=1.8.0 -pkgrel=4 +pkgrel=5 pkgdesc="X.org XGIXP video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel>=1.10.99.902' 'libdrm' 'xf86driproto' 'mesa' 'glproto') -conflicts=('xorg-server<1.10.99.902') +makedepends=('xorg-server-devel>=1.11.99.903' 'libdrm' 'xf86driproto' 'mesa') # 'glproto') +conflicts=('xorg-server<1.11.99.903') options=('!libtool') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 @@ -23,6 +23,10 @@ build() { patch -Np1 -i "${srcdir}/api-compat-fix-for-DRAWABLE_BUFFER.patch" ./configure --prefix=/usr make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xorg-server/PKGBUILD b/extra/xorg-server/PKGBUILD index dd6621754..efe37aad1 100644 --- a/extra/xorg-server/PKGBUILD +++ b/extra/xorg-server/PKGBUILD @@ -1,33 +1,33 @@ -# $Id: PKGBUILD 147993 2012-01-29 15:45:06Z andyrtr $ +# $Id: PKGBUILD 153390 2012-03-12 20:55:40Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-common' 'xorg-server-devel') -pkgver=1.11.4 +pkgver=1.12.0 pkgrel=1 arch=('i686' 'x86_64' 'mips64el') license=('custom') url="http://xorg.freedesktop.org" -makedepends=('pixman' 'libx11' 'mesa' 'libgl' 'xcmiscproto' 'xtrans' 'bigreqsproto' 'randrproto' 'inputproto' 'fontsproto' 'videoproto' 'compositeproto' 'recordproto' 'scrnsaverproto' 'resourceproto' 'xineramaproto' 'libxkbfile' 'libxfont' 'renderproto' 'libpciaccess' 'libxv' 'xf86dgaproto' 'libxmu' 'libxrender' 'libxi' 'dmxproto' 'libxaw' 'libdmx' 'libxtst' 'libxres' 'xorg-xkbcomp' 'xorg-util-macros' 'xorg-font-util' 'glproto' 'udev' 'libgcrypt') -[ "$CARCH" = "mips64el" ] || makedepends+=('xf86driproto' 'dri2proto') +makedepends=('pixman' 'libx11' 'mesa' 'libgl' 'xf86driproto' 'xcmiscproto' 'xtrans' 'bigreqsproto' 'randrproto' 'inputproto' 'fontsproto' 'videoproto' + 'compositeproto' 'recordproto' 'scrnsaverproto' 'resourceproto' 'xineramaproto' 'libxkbfile' 'libxfont' 'renderproto' 'libpciaccess' + 'libxv' 'xf86dgaproto' 'libxmu' 'libxrender' 'libxi' 'dmxproto' 'libxaw' 'libdmx' 'libxtst' 'libxres' 'xorg-xkbcomp' 'xorg-util-macros' + 'xorg-font-util' 'glproto' 'udev' 'libgcrypt') +[ "$CARCH" != "mips64el" ] && makedepends+=('dri2proto') options=('!libtool') source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2 autoconfig-nvidia.patch autoconfig-sis.patch - revert-trapezoids.patch #git-fixes.patch xvfb-run xvfb-run.1 10-quirks.conf loongson.patch) -md5sums=('256325e9b17dff479d92bed97f6b0adb' - '6c7e87d63ac4b535e19a80c89d0cf091' - 'f8194638ca4872c2b0a67862a70bcebf' - 'f6c84f4936f8e00abdfbd9fb4eda83fb' - '52fd3effd80d7bc6c1660d4ecf23d31c' - '376c70308715cd2643f7bff936d9934b' - 'd4f7dfc6be4ef4e2c6dd7632a9d88abe' - 'd39c2e1a70bb4e400bb688cc74cd15f8') +sha1sums=('5f48db767f71e9f58ded6ff356f3b8340820e524' + 'f19658773d3fa4dc468bb28f9f01866acce71540' + '962fecc159c128728f14e8ba231c5b00391ff4ac' + 'c94f742d3f9cabf958ae58e4015d9dd185aabedc' + '6838fc00ef4618c924a77e0fb03c05346080908a' + '993798f3d22ad672d769dae5f48d1fa068d5578f') build() { cd "${srcdir}/${pkgbase}-${pkgver}" @@ -38,9 +38,6 @@ build() { # Use unofficial imedia SiS driver for supported SiS devices patch -Np0 -i "${srcdir}/autoconfig-sis.patch" - # Revert commit that causes huge slowdowns with binary nVidia driver - patch -Np1 -i "${srcdir}/revert-trapezoids.patch" - # Add post-release patches from 1.11 branch # patch -Np1 -i "${srcdir}/git-fixes.patch" @@ -88,6 +85,9 @@ build() { --enable-xephyr \ --enable-glx-tls \ --enable-kdrive \ + --enable-kdrive-evdev \ + --enable-kdrive-kbd \ + --enable-kdrive-mouse \ --enable-install-setuid \ --enable-config-udev \ --disable-config-dbus \ @@ -134,6 +134,7 @@ package_xorg-server() { backup=('etc/X11/xorg.conf.d/10-evdev.conf' 'etc/X11/xorg.conf.d/10-quirks.conf') provides=('x-server') groups=('xorg') + conflicts=('nvidia-utils<=290.10') cd "${srcdir}/${pkgbase}-${pkgver}" make DESTDIR="${pkgdir}" install diff --git a/extra/xorg-server/autoconfig-nvidia.patch b/extra/xorg-server/autoconfig-nvidia.patch index baa2eb601..9ed9b7aee 100644 --- a/extra/xorg-server/autoconfig-nvidia.patch +++ b/extra/xorg-server/autoconfig-nvidia.patch @@ -1,29 +1,28 @@ ---- a/hw/xfree86/common/xf86pciBus.c -+++ b/hw/xfree86/common/xf86pciBus.c -@@ -1123,7 +1123,25 @@ videoPtrToDriverList(struct pci_device * +diff -Nur xorg-server-1.11.99.902.orig/hw/xfree86/common/xf86pciBus.c xorg-server-1.11.99.902/hw/xfree86/common/xf86pciBus.c +--- xorg-server-1.11.99.902.orig/hw/xfree86/common/xf86pciBus.c 2012-02-10 10:10:37.583014924 +0000 ++++ xorg-server-1.11.99.902/hw/xfree86/common/xf86pciBus.c 2012-02-10 11:16:07.148971317 +0000 +@@ -1111,7 +1111,23 @@ + { + int idx = 0; + #ifdef __linux__ +- driverList[idx++] = "nouveau"; ++ switch (dev->device_id) ++ { ++ /* NV1 */ ++ case 0x0008: ++ case 0x0009: ++ driverList[idx++] = "vesa"; ++ break; ++ /* NV3 */ ++ case 0x0018: ++ case 0x0019: ++ driverList[idx++] = "nouveau"; ++ break; ++ default: ++ driverList[idx++] = "nouveau"; ++ driverList[idx++] = "nvidia"; ++ break; ++ } + #endif + driverList[idx++] = "nv"; break; - case 0x102b: driverList[0] = "mga"; break; - case 0x10c8: driverList[0] = "neomagic"; break; -- case 0x10de: case 0x12d2: driverList[0] = "nv"; break; -+ case 0x10de: case 0x12d2: -+ switch (dev->device_id) { -+ /* NV1 */ -+ case 0x0008: -+ case 0x0009: -+ driverList[0] = "vesa"; -+ break; -+ /* NV3 */ -+ case 0x0018: -+ case 0x0019: -+ driverList[0] = "nv"; -+ break; -+ default: -+ driverList[0] = "nouveau"; -+ driverList[1] = "nv"; -+ driverList[2] = "nvidia"; -+ break; -+ } -+ break; - case 0x1106: driverList[0] = "openchrome"; break; - case 0x1b36: driverList[0] = "qxl"; break; - case 0x1163: driverList[0] = "rendition"; break; diff --git a/extra/xorg-xinput/PKGBUILD b/extra/xorg-xinput/PKGBUILD index a7afa3c17..86769d838 100644 --- a/extra/xorg-xinput/PKGBUILD +++ b/extra/xorg-xinput/PKGBUILD @@ -1,23 +1,27 @@ -# $Id: PKGBUILD 113766 2011-03-10 15:27:48Z jgc $ +# $Id: PKGBUILD 153392 2012-03-12 20:55:45Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xorg-xinput -pkgver=1.5.3 -pkgrel=2 +pkgver=1.5.99.1 +pkgrel=1 pkgdesc="Small commandline tool to configure devices" arch=(i686 x86_64 'mips64el') url="http://xorg.freedesktop.org/" license=('custom') -depends=('libx11' 'libxi') +depends=('libx11' 'libxi>=1.5.99.2' 'xorg-xrandr' 'libxinerama') makedepends=('xorg-util-macros' 'inputproto') groups=('xorg-apps' 'xorg') source=(http://xorg.freedesktop.org/archive/individual/app/xinput-${pkgver}.tar.bz2) -sha1sums=('70f258279acaa45fb77820ae3f8c2bee9f2d2235') +sha1sums=('f979d9a4005d71db7e58064dff6ca6738bd9a345') build() { cd "${srcdir}/xinput-${pkgver}" ./configure --prefix=/usr make +} + +package() { + cd "${srcdir}/xinput-${pkgver}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/kernels/aufs2-libre/PKGBUILD b/kernels/aufs2-libre/PKGBUILD new file mode 100644 index 000000000..bd177ef9c --- /dev/null +++ b/kernels/aufs2-libre/PKGBUILD @@ -0,0 +1,64 @@ +# $Id: PKGBUILD 110689 2011-02-21 15:30:22Z tpowa $ +# Maintainer: Paul Mattal <pjmattal@elys.com> + +pkgname=aufs2-libre +pkgver=2.6.38_20110314 +pkgrel=4 +#_kernver=${pkgver%_*}-LIBRE +_kernver=2.6.38-LIBRE +pkgdesc="Another Unionfs Implementation for the Linux-Libre kernel" +arch=('i686' 'x86_64') +url="http://aufs.sourceforge.net/" +license=('GPL2') +depends=('kernel26-libre>=2.6.38' 'kernel26-libre<2.6.39') +makedepends=('kernel26-libre-headers>=2.6.38' 'kernel26-libre-headers<2.6.39') +replaces=('aufs' 'aufs2') +conflicts=('aufs2') +provides=("aufs2=$pkgver") +install=${pkgname}.install +source=("ftp://ftp.archlinux.org/other/aufs2/${pkgname%-libre}-${pkgver}.tar.gz") +options=('!makeflags' '!strip') +md5sums=('60649fa47d3f499dfbb4b68a2afde47c') + +build() { + cd ${srcdir}/${pkgname%-libre}-${pkgver} + #patch -Np1 -i ../aufs2-module-2.6.36.patch + sed -i 's|CONFIG_AUFS_HNOTIFY =.*|CONFIG_AUFS_HNOTIFY = y|' \ + config.mk || return 1 + sed -i 's|CONFIG_AUFS_HFSNOTIFY =.*|CONFIG_AUFS_HFSNOTIFY = y|' \ + config.mk || return 1 + sed -i 's|CONFIG_AUFS_EXPORT =.*|CONFIG_AUFS_EXPORT = y|' \ + config.mk || return 1 + sed -i 's|CONFIG_AUFS_SHWH =.*|CONFIG_AUFS_SHWH = y|' \ + config.mk || return 1 + sed -i 's|CONFIG_AUFS_BDEV_LOOP =.*|CONFIG_AUFS_BDEV_LOOP = y|' \ + config.mk || return 1 + sed -i 's|CONFIG_AUFS_BR_RAMFS =.*|CONFIG_AUFS_BR_RAMFS = y|' \ + config.mk || return 1 + sed -i 's|CONFIG_AUFS_DEBUG =.*|CONFIG_AUFS_DEBUG =|' \ + config.mk || return 1 + if [ "${CARCH}" = "x86_64" ]; then + inot64=" y" + else + inot64="" + fi + sed -i "s|CONFIG_AUFS_INO_T_64 =.*|CONFIG_AUFS_INO_T_64 =${inot64}|" \ + config.mk + # build, sed fixes are from gentoo portage build + sed -i "s:aufs.ko usr/include/linux/aufs_type.h:aufs.ko:g" Makefile + sed -i "s:__user::g" include/linux/aufs_type.h + make KDIR=/usr/src/linux-${_kernver} +} + +package() { + cd ${srcdir}/${pkgname%-libre}-${pkgver} + install -D -m644 fs/aufs/aufs.ko \ + $pkgdir/lib/modules/${_kernver}/kernel/fs/aufs/aufs.ko + # tweak the install script for the right kernel version + sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \ + $startdir/$pkgname.install + # install include files + install -D -m 644 include/linux/aufs_type.h $pkgdir/usr/include/linux/aufs_type.h + # gzip -9 all modules to safe 100MB + find "$pkgdir" -name '*.ko' -exec gzip -9 {} \; +} diff --git a/kernels/aufs2-libre/aufs2-libre.install b/kernels/aufs2-libre/aufs2-libre.install new file mode 100644 index 000000000..883882a54 --- /dev/null +++ b/kernels/aufs2-libre/aufs2-libre.install @@ -0,0 +1,12 @@ +post_install() { + KERNEL_VERSION=2.6.38-LIBRE + depmod $KERNEL_VERSION +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kernels/aufs2-libre/aufs2-module-2.6.36.patch b/kernels/aufs2-libre/aufs2-module-2.6.36.patch new file mode 100644 index 000000000..3b43f7aed --- /dev/null +++ b/kernels/aufs2-libre/aufs2-module-2.6.36.patch @@ -0,0 +1,47 @@ +diff --git a/ubuntu/aufs/branch.c b/ubuntu/aufs/branch.c +index cd4463c..ff6b158 100644 +--- a/fs/aufs/branch.c ++++ b/fs/aufs/branch.c +@@ -22,6 +22,8 @@ + + #include <linux/file.h> + #include <linux/statfs.h> ++#include <linux/lglock.h> ++#include <linux/percpu.h> + #include "aufs.h" + + /* +@@ -851,7 +853,8 @@ static int au_br_mod_files_ro(struct super_block *sb, aufs_bindex_t bindex) + goto out; + + /* no need file_list_lock() since sbinfo is locked? defered? */ +- list_for_each_entry(file, &sb->s_files, f_u.fu_list) { ++ lg_global_lock(files_lglock); ++ do_file_list_for_each_entry(sb, file) { + if (special_file(file->f_dentry->d_inode->i_mode)) + continue; + +@@ -861,6 +864,7 @@ static int au_br_mod_files_ro(struct super_block *sb, aufs_bindex_t bindex) + err = -EBUSY; + FiMustNoWaiters(file); + fi_read_unlock(file); ++ lg_global_unlock(files_lglock); + goto out_free; + } + +@@ -889,10 +893,13 @@ static int au_br_mod_files_ro(struct super_block *sb, aufs_bindex_t bindex) + if (p) { + a = p; + a[n++] = hf; +- } else ++ } else { ++ lg_global_unlock(files_lglock); + goto out_free; ++ } + } +- } ++ } while_file_list_for_each_entry; ++ lg_global_unlock(files_lglock); + + err = 0; + if (n) diff --git a/kernels/aufs2-libre/create-tarball.sh b/kernels/aufs2-libre/create-tarball.sh new file mode 100644 index 000000000..6801f00bd --- /dev/null +++ b/kernels/aufs2-libre/create-tarball.sh @@ -0,0 +1,14 @@ +#!/bin/sh +AUFS2VERSION="-38" +KERNELVERSION=2.6.38 +GITSNAPSHOT=20110314 +# aufs2 (no -xx) for the latest -rc version. +git clone http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git aufs2-standalone.git +cd aufs2-standalone.git +#git checkout origin/aufs2.1${AUFS2VERSION} +git checkout origin/aufs2.1 +#*** apply "aufs2-base.patch" and "aufs2-standalone.patch" to your kernel source files. +cd .. +rm -rf aufs2-${KERNELVERSION}_${GITSNAPSHOT} +cp -a aufs2-standalone.git aufs2-${KERNELVERSION}_${GITSNAPSHOT} +tar -czf aufs2-${KERNELVERSION}_${GITSNAPSHOT}.tar.gz --exclude=.git aufs2-${KERNELVERSION}_${GITSNAPSHOT} diff --git a/kernels/aufs3-libre/PKGBUILD b/kernels/aufs3-libre/PKGBUILD new file mode 100644 index 000000000..6c593e2c2 --- /dev/null +++ b/kernels/aufs3-libre/PKGBUILD @@ -0,0 +1,70 @@ +# Contributor: Paul Mattal <pjmattal@elys.com> +# Maintainer: Calimero <calimeroteknik@free.fr> +# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy> +# Contributor (Parabola): Márcio Silva <coadde@adinet.com.uy> + +pkgname=aufs3-libre +pkgver=3.2_20120109 +pkgrel=2 + +# Set to whatever the tree of your aufs-libre-friendly kernel is, and set the right dependency. +#_kernver=${pkgver%_*}-LIBRE +#depends=('aufs_friendly') + +_kernver=3.2-LIBRE-AUFS_FRIENDLY +depends=('linux-libre-aufs_friendly' 'linux-libre-aufs_friendly-headers') + +pkgdesc="Another UnionFS implementation" +arch=('i686' 'x86_64') +url="http://aufs.sourceforge.net/" +license=('GPL2') +replaces=('aufs' 'aufs2' 'aufs3') +conflicts=('aufs3') +provides=("aufs3=$pkgver") +install=aufs3-libre.install +source=("http://calimeroteknik.free.fr/src/aufs3-${pkgver}.tar.gz") +options=('!makeflags' '!strip') +md5sums=('35dd55adc3f403f532ebe6d8fb354c77') + +build() { + cd "${srcdir}/aufs3-${pkgver}" + sed -i 's|CONFIG_AUFS_HNOTIFY =.*|CONFIG_AUFS_HNOTIFY = y|' \ + config.mk + sed -i 's|CONFIG_AUFS_HFSNOTIFY =.*|CONFIG_AUFS_HFSNOTIFY = y|' \ + config.mk + sed -i 's|CONFIG_AUFS_EXPORT =.*|CONFIG_AUFS_EXPORT = y|' \ + config.mk + sed -i 's|CONFIG_AUFS_SHWH =.*|CONFIG_AUFS_SHWH = y|' \ + config.mk + sed -i 's|CONFIG_AUFS_BDEV_LOOP =.*|CONFIG_AUFS_BDEV_LOOP = y|' \ + config.mk + sed -i 's|CONFIG_AUFS_BR_RAMFS =.*|CONFIG_AUFS_BR_RAMFS = y|' \ + config.mk + sed -i 's|CONFIG_AUFS_DEBUG =.*|CONFIG_AUFS_DEBUG =|' \ + config.mk + if [ "${CARCH}" = "x86_64" ]; then + inot64=" y" + else + inot64="" + fi + sed -i "s|CONFIG_AUFS_INO_T_64 =.*|CONFIG_AUFS_INO_T_64 =${inot64}|" \ + config.mk + # build, sed fixes are from gentoo portage build + sed -i "s:aufs.ko usr/include/linux/aufs_type.h:aufs.ko:g" Makefile + sed -i "s:__user::g" include/linux/aufs_type.h + make KDIR="/usr/src/linux-$(</lib/modules/extramodules-${_kernver}/version)" +} + +package() { + cd "${srcdir}/aufs3-${pkgver}" + install -D -m644 fs/aufs/aufs.ko \ + "${pkgdir}/lib/modules/extramodules-${_kernver}/aufs.ko" + #"${pkgdir}/lib/modules/${_kernver}/kernel/fs/aufs/aufs.ko" + # tweak the install script for the right kernel version + sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \ + "${startdir}/aufs3-libre.install" + # install include file + install -D -m 644 include/linux/aufs_type.h "${pkgdir}/usr/include/linux/aufs_type.h" + # gzip -9 the module + find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \; +} diff --git a/kernels/aufs3-libre/aufs3-libre.install b/kernels/aufs3-libre/aufs3-libre.install new file mode 100644 index 000000000..e08b76b54 --- /dev/null +++ b/kernels/aufs3-libre/aufs3-libre.install @@ -0,0 +1,12 @@ +post_install() { + KERNEL_VERSION=3.2-LIBRE-AUFS_FRIENDLY + depmod $(cat /lib/modules/extramodules-$KERNEL_VERSION/version) +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kernels/linux-libre-aufs_friendly/CVE-2012-0056.patch b/kernels/linux-libre-aufs_friendly/CVE-2012-0056.patch new file mode 100644 index 000000000..6a83fef1c --- /dev/null +++ b/kernels/linux-libre-aufs_friendly/CVE-2012-0056.patch @@ -0,0 +1,268 @@ +From e268337dfe26dfc7efd422a804dbb27977a3cccc Mon Sep 17 00:00:00 2001 +From: Linus Torvalds <torvalds@linux-foundation.org> +Date: Tue, 17 Jan 2012 15:21:19 -0800 +Subject: [PATCH] proc: clean up and fix /proc/<pid>/mem handling +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf8 +Content-Transfer-Encoding: 8bit + +Jüri Aedla reported that the /proc/<pid>/mem handling really isn't very +robust, and it also doesn't match the permission checking of any of the +other related files. + +This changes it to do the permission checks at open time, and instead of +tracking the process, it tracks the VM at the time of the open. That +simplifies the code a lot, but does mean that if you hold the file +descriptor open over an execve(), you'll continue to read from the _old_ +VM. + +That is different from our previous behavior, but much simpler. If +somebody actually finds a load where this matters, we'll need to revert +this commit. + +I suspect that nobody will ever notice - because the process mapping +addresses will also have changed as part of the execve. So you cannot +actually usefully access the fd across a VM change simply because all +the offsets for IO would have changed too. + +Reported-by: Jüri Aedla <asd@ut.ee> +Cc: Al Viro <viro@zeniv.linux.org.uk> +Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> +--- + fs/proc/base.c | 145 +++++++++++++++----------------------------------------- + 1 files changed, 39 insertions(+), 106 deletions(-) + +diff --git a/fs/proc/base.c b/fs/proc/base.c +index 5485a53..662ddf2 100644 +--- a/fs/proc/base.c ++++ b/fs/proc/base.c +@@ -198,65 +198,7 @@ static int proc_root_link(struct dentry *dentry, struct path *path) + return result; + } + +-static struct mm_struct *__check_mem_permission(struct task_struct *task) +-{ +- struct mm_struct *mm; +- +- mm = get_task_mm(task); +- if (!mm) +- return ERR_PTR(-EINVAL); +- +- /* +- * A task can always look at itself, in case it chooses +- * to use system calls instead of load instructions. +- */ +- if (task == current) +- return mm; +- +- /* +- * If current is actively ptrace'ing, and would also be +- * permitted to freshly attach with ptrace now, permit it. +- */ +- if (task_is_stopped_or_traced(task)) { +- int match; +- rcu_read_lock(); +- match = (ptrace_parent(task) == current); +- rcu_read_unlock(); +- if (match && ptrace_may_access(task, PTRACE_MODE_ATTACH)) +- return mm; +- } +- +- /* +- * No one else is allowed. +- */ +- mmput(mm); +- return ERR_PTR(-EPERM); +-} +- +-/* +- * If current may access user memory in @task return a reference to the +- * corresponding mm, otherwise ERR_PTR. +- */ +-static struct mm_struct *check_mem_permission(struct task_struct *task) +-{ +- struct mm_struct *mm; +- int err; +- +- /* +- * Avoid racing if task exec's as we might get a new mm but validate +- * against old credentials. +- */ +- err = mutex_lock_killable(&task->signal->cred_guard_mutex); +- if (err) +- return ERR_PTR(err); +- +- mm = __check_mem_permission(task); +- mutex_unlock(&task->signal->cred_guard_mutex); +- +- return mm; +-} +- +-struct mm_struct *mm_for_maps(struct task_struct *task) ++static struct mm_struct *mm_access(struct task_struct *task, unsigned int mode) + { + struct mm_struct *mm; + int err; +@@ -267,7 +209,7 @@ struct mm_struct *mm_for_maps(struct task_struct *task) + + mm = get_task_mm(task); + if (mm && mm != current->mm && +- !ptrace_may_access(task, PTRACE_MODE_READ)) { ++ !ptrace_may_access(task, mode)) { + mmput(mm); + mm = ERR_PTR(-EACCES); + } +@@ -276,6 +218,11 @@ struct mm_struct *mm_for_maps(struct task_struct *task) + return mm; + } + ++struct mm_struct *mm_for_maps(struct task_struct *task) ++{ ++ return mm_access(task, PTRACE_MODE_READ); ++} ++ + static int proc_pid_cmdline(struct task_struct *task, char * buffer) + { + int res = 0; +@@ -752,38 +699,39 @@ static const struct file_operations proc_single_file_operations = { + + static int mem_open(struct inode* inode, struct file* file) + { +- file->private_data = (void*)((long)current->self_exec_id); ++ struct task_struct *task = get_proc_task(file->f_path.dentry->d_inode); ++ struct mm_struct *mm; ++ ++ if (!task) ++ return -ESRCH; ++ ++ mm = mm_access(task, PTRACE_MODE_ATTACH); ++ put_task_struct(task); ++ ++ if (IS_ERR(mm)) ++ return PTR_ERR(mm); ++ + /* OK to pass negative loff_t, we can catch out-of-range */ + file->f_mode |= FMODE_UNSIGNED_OFFSET; ++ file->private_data = mm; ++ + return 0; + } + + static ssize_t mem_read(struct file * file, char __user * buf, + size_t count, loff_t *ppos) + { +- struct task_struct *task = get_proc_task(file->f_path.dentry->d_inode); ++ int ret; + char *page; + unsigned long src = *ppos; +- int ret = -ESRCH; +- struct mm_struct *mm; ++ struct mm_struct *mm = file->private_data; + +- if (!task) +- goto out_no_task; ++ if (!mm) ++ return 0; + +- ret = -ENOMEM; + page = (char *)__get_free_page(GFP_TEMPORARY); + if (!page) +- goto out; +- +- mm = check_mem_permission(task); +- ret = PTR_ERR(mm); +- if (IS_ERR(mm)) +- goto out_free; +- +- ret = -EIO; +- +- if (file->private_data != (void*)((long)current->self_exec_id)) +- goto out_put; ++ return -ENOMEM; + + ret = 0; + +@@ -810,13 +758,7 @@ static ssize_t mem_read(struct file * file, char __user * buf, + } + *ppos = src; + +-out_put: +- mmput(mm); +-out_free: + free_page((unsigned long) page); +-out: +- put_task_struct(task); +-out_no_task: + return ret; + } + +@@ -825,27 +767,15 @@ static ssize_t mem_write(struct file * file, const char __user *buf, + { + int copied; + char *page; +- struct task_struct *task = get_proc_task(file->f_path.dentry->d_inode); + unsigned long dst = *ppos; +- struct mm_struct *mm; ++ struct mm_struct *mm = file->private_data; + +- copied = -ESRCH; +- if (!task) +- goto out_no_task; ++ if (!mm) ++ return 0; + +- copied = -ENOMEM; + page = (char *)__get_free_page(GFP_TEMPORARY); + if (!page) +- goto out_task; +- +- mm = check_mem_permission(task); +- copied = PTR_ERR(mm); +- if (IS_ERR(mm)) +- goto out_free; +- +- copied = -EIO; +- if (file->private_data != (void *)((long)current->self_exec_id)) +- goto out_mm; ++ return -ENOMEM; + + copied = 0; + while (count > 0) { +@@ -869,13 +799,7 @@ static ssize_t mem_write(struct file * file, const char __user *buf, + } + *ppos = dst; + +-out_mm: +- mmput(mm); +-out_free: + free_page((unsigned long) page); +-out_task: +- put_task_struct(task); +-out_no_task: + return copied; + } + +@@ -895,11 +819,20 @@ loff_t mem_lseek(struct file *file, loff_t offset, int orig) + return file->f_pos; + } + ++static int mem_release(struct inode *inode, struct file *file) ++{ ++ struct mm_struct *mm = file->private_data; ++ ++ mmput(mm); ++ return 0; ++} ++ + static const struct file_operations proc_mem_operations = { + .llseek = mem_lseek, + .read = mem_read, + .write = mem_write, + .open = mem_open, ++ .release = mem_release, + }; + + static ssize_t environ_read(struct file *file, char __user *buf, +-- +1.7.6.5 + diff --git a/kernels/linux-libre-aufs_friendly/Kbuild b/kernels/linux-libre-aufs_friendly/Kbuild new file mode 100644 index 000000000..8a9d7dceb --- /dev/null +++ b/kernels/linux-libre-aufs_friendly/Kbuild @@ -0,0 +1,19 @@ +# Fail on warnings - also for files referenced in subdirs +# -Werror can be disabled for specific files using: +# CFLAGS_<file.o> := -Wno-error +subdir-ccflags-y := -Wno-error + +# platform specific definitions +include arch/mips/Kbuild.platforms +obj-y := $(platform-y) + +# make clean traverses $(obj-) without having included .config, so +# everything ends up here +obj- := $(platform-) + +# mips object files +# The object files are linked as core-y files would be linked + +obj-y += kernel/ +obj-y += mm/ +obj-y += math-emu/ diff --git a/kernels/linux-libre-aufs_friendly/Kbuild.platforms b/kernels/linux-libre-aufs_friendly/Kbuild.platforms new file mode 100644 index 000000000..90a226888 --- /dev/null +++ b/kernels/linux-libre-aufs_friendly/Kbuild.platforms @@ -0,0 +1,6 @@ +# All platforms listed in alphabetic order + +platforms += loongson + +# include the platform specific files +include $(patsubst %, $(srctree)/arch/mips/%/Platform, $(platforms)) diff --git a/kernels/linux-libre-aufs_friendly/PKGBUILD b/kernels/linux-libre-aufs_friendly/PKGBUILD new file mode 100644 index 000000000..41ccc96bb --- /dev/null +++ b/kernels/linux-libre-aufs_friendly/PKGBUILD @@ -0,0 +1,383 @@ +# $Id: PKGBUILD 130991 2011-07-09 12:23:51Z thomas $ +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> +# Maintainer: Thomas Baechler <thomas@archlinux.org> +# Maintainer: Calimero <calimeroteknik@free.fr> +# Maintainer (Parabola): Nicolás Reynolds <fauno@kiwwwi.com.ar> +# Maintainer (Parabola): Sorin-Mihai Vârgolici <smv@yobicore.org> +# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy> +# Maintainer (Parabola): Michał Masłowski <mtjm@mtjm.eu> +# Contributor (Parabola): Márcio Silva <coadde@adinet.com.uy> + +# In order to just get linux-libre as it used to be, with the exported symbols for AUFS-libre: + +# Uncomment these lines +# pkgname=('linux-libre' 'linux-libre-headers' 'linux-libre-docs') # Build stock -LIBRE kernel +# pkgname=linux-custom # Build kernel with a different name +# pkgbase=linux-libre + +# Comment this line +pkgname=('linux-libre-aufs_friendly' 'linux-libre-aufs_friendly-headers') # Build stock -LIBRE kernel with AUFS-libre support + +_kernelname=-LIBRE-AUFS_FRIENDLY +_basekernel=3.2 +_sublevel=9 +pkgver=${_basekernel}.${_sublevel} +_lxopkgver=${_basekernel}.7 # nearly always the same as pkgver +pkgrel=2 +arch=('i686' 'x86_64' 'mips64el') +url="http://linux-libre.fsfla.org/" +license=('GPL2') +makedepends=('xmlto' 'docbook-xsl') +options=('!strip') +source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-libre/linux-${_basekernel}-libre.tar.xz" + "http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-libre/patch-${_basekernel}-libre-${pkgver}-libre.xz" + # the main kernel config files + 'config.i686' 'config.x86_64' + # patches exporting symbols for the aufs module (reason for this package) + 'aufs3-libre-base.patch' 'aufs3-libre-standalone.patch' + # standard config files for mkinitcpio ramdisk + "${pkgname}.preset" + 'Kbuild' + 'Kbuild.platforms' + 'boot-logo.patch' + 'change-default-console-loglevel.patch' + 'i915-fix-ghost-tv-output.patch' + 'i915-gpu-finish.patch' + 'ext4-options.patch' + "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/linux-patches-${_lxopkgver}-libre-lemote_0lxo_mipsel.tar.bz2") +md5sums=('27c641c4f6785fc647cdd3e44963a55c' + '8e601878ccdd37111cc84500ebd81387' + '1e5dd328dbf4e68072a22c05c18813c7' + '6f9df3879268e0f07f535db2b6197475' + '44a5461daf301a46adf20c475069aaa7' + '9c1d9e47a0991b9d3d1f1ede01171c04' + '318ce8b3b64e4923a840817b91035753' + '2967cecc3af9f954ccc822fd63dca6ff' + '8267264d9a8966e57fdacd1fa1fc65c4' + '04b21c79df0a952c22d681dd4f4562df' + '9d3c56a4b999c8bfbd4018089a62f662' + '263725f20c0b9eb9c353040792d644e5' + '4cd79aa147825837dc8bc9f6b736c0a0' + 'f36222e7ce20c8e4dc27376f9be60f6c' + '690e6201d219638544d2fba3996dc822') +if [ "$CARCH" != "mips64el" ]; then + # Don't use the Loongson-specific patches on non-mips64el arches. + unset source[${#source[@]}-1] + unset md5sums[${#md5sums[@]}-1] +fi + +build() { + cd "${srcdir}/linux-${_basekernel}" + + if [ "${_basekernel}" != "${pkgver}" ]; then + patch -Np1 -i "${srcdir}/patch-${_basekernel}-libre-${pkgver}-libre" + fi + + # Add freedo as boot logo + patch -Np1 -i "${srcdir}/boot-logo.patch" + + # fix FS#27883 + # drm/i915: Only clear the GPU domains upon a successful finish + patch -Np1 -i "${srcdir}/i915-gpu-finish.patch" + + # Some chips detect a ghost TV output + # mailing list discussion: http://lists.freedesktop.org/archives/intel-gfx/2011-April/010371.html + # Arch Linux bug report: FS#19234 + # + # It is unclear why this patch wasn't merged upstream, it was accepted, + # then dropped because the reasoning was unclear. However, it is clearly + # needed. + patch -Np1 -i "${srcdir}/i915-fix-ghost-tv-output.patch" + + # set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param) + # remove this when a Kconfig knob is made available by upstream + # (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227) + patch -Np1 -i "${srcdir}/change-default-console-loglevel.patch" + + msg 'AUFS3-libre patches' + patch -p1 -i "${srcdir}/aufs3-libre-base.patch" + patch -p1 -i "${srcdir}/aufs3-libre-standalone.patch" + + # fix ext4 module to mount ext3/2 correct + # https://bugs.archlinux.org/task/28653 + patch -Np1 -i "${srcdir}/ext4-options.patch" + + if [ "$CARCH" == "mips64el" ]; then + sed -i "s|^EXTRAVERSION.*|EXTRAVERSION =-libre|" Makefile + sed -r "s|^( SUBLEVEL = ).*|\1$_sublevel|" \ + < "${srcdir}/lxo-config.patch" > lxo-config.patch + msg2 "Adding loongson-community patches" + patch -Np1 -i ${srcdir}/${_basekernel}*-*-loongson-community.patch + patch -Np0 -i lxo-config.patch + +# ensure N32, add localversion, remove uevent helper as per +# https://git.kernel.org/?p=linux/hotplug/udev.git;a=blob_plain;f=README +# and make USB storage support builtin (e.g. for booting from USB +# disks without slowly loading an initramfs) + sed -ri -e "s|CONFIG_MIPS32_N32=.*|CONFIG_MIPS32_N32=y|g" \ + -e "s|CONFIG_MIPS32_N32=.*|CONFIG_MIPS32_N32=y|g" \ + -e "s|CONFIG_UEVENT_HELPER_PATH=.*|CONFIG_UEVENT_HELPER_PATH=\"\"|g" \ + -e "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"-LIBRE\"|g" \ + -e "s;(CONFIG_USB(_COMMON|_EHCI_HCD|_OHCI_HCD|_STORAGE.*|_UAS)?)=.*;\1=y;g" \ + ./.config + else + cat "${srcdir}/config.${CARCH}" > ./.config # simpler + fi + + if [ "${_kernelname}" != "" ]; then + sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" ./.config + fi + + # set extraversion to pkgrel + sed -ri "s|^(EXTRAVERSION =).*|\1 -${pkgrel}|" Makefile + + # get kernel version + make prepare + + # load configuration + # Configure the kernel. Replace the line below with one of your choice. + #make menuconfig # CLI menu for configuration + #make nconfig # new CLI menu for configuration + #make xconfig # X-based configuration + #make oldconfig # using old config from previous kernel version + # ... or manually edit .config + + #################### + # stop here + # this is useful to configure the kernel + #msg "Stopping build" + #return 1 + #################### + + yes "" | make config + + # build! + if [ "$CARCH" == "mips64el" ]; then + # The build system passes it directly to linker, disable to avoid + # having unknown -Wl,... options. + export LDFLAGS="" + # bzImage is arch-specific and not supported on mips; vmlinux is + # useful for oprofile. + make ${MAKEFLAGS} vmlinux vmlinuz modules + else + make ${MAKEFLAGS} bzImage modules + fi +} + +package_linux-libre-aufs_friendly() { + pkgdesc="The Linux-libre Kernel and modules, with symbols exported for AUFS3-libre" + depends=('coreutils' 'module-init-tools>=3.16') + optdepends=('crda: to set the correct wireless channels of your country') + provides=('kernel26-aufs_friendly' "linux-aufs_friendly=$pkgver") + conflicts=('kernel26-aufs_friendly' 'kernel26-libre-aufs_friendly' 'linux-aufs_friendly') + replaces=('kernel26-aufs_friendly' 'kernel26-libre-aufs_friendly' 'linux-aufs_friendly') + backup=("etc/mkinitcpio.d/${pkgname}.preset") + install=${pkgname}.install + if [ "$CARCH" = "mips64el" ]; then + optdepends+=('mkinitcpio: to make the initramfs (needs reinstall of this package)') + conflicts+=('mkinitcpio<0.7') + else + depends+=('mkinitcpio>=0.7') + fi + + cd "${srcdir}/linux-${_basekernel}" + + KARCH=x86 + [ $CARCH = "mips64el" ] && KARCH=mips + + # get kernel version + _kernver="$(make kernelrelease)" + + mkdir -p "${pkgdir}"/{lib/modules,lib/firmware,boot} + make INSTALL_MOD_PATH="${pkgdir}" modules_install + + if [ "$CARCH" == "mips64el" ]; then + cp vmlinuz "${pkgdir}/boot/vmlinuz-${pkgname}" + cp vmlinux "${pkgdir}/boot/vmlinux-${pkgname}" + else + cp "arch/${KARCH}/boot/bzImage" "${pkgdir}/boot/vmlinuz-${pkgname}" + fi + + # add vmlinux + install -D -m644 vmlinux "${pkgdir}/usr/src/linux-${_kernver}/vmlinux" + + # install fallback mkinitcpio.conf file and preset file for kernel + install -D -m644 "${srcdir}/${pkgname}.preset" "${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset" + + # set correct depmod command for install + sed \ + -e "s|ALL_kver=.*|ALL_kver=\"/boot/vmlinuz-${pkgname}\"|g" \ + -e "s|default_image=.*|default_image=\"/boot/initramfs-${pkgname}.img\"|g" \ + -e "s|fallback_image=.*|fallback_image=\"/boot/initramfs-${pkgname}-fallback.img\"|g" \ + -i "${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset" + +# mkinitcpio 0.7 relies on bzImage to find the kernel version + if [ "$CARCH" == "mips64el" ]; then + sed -e "s|ALL_kver=.*|ALL_kver=\"${_kernver}\"|g" \ + -i "${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset" + fi + + # remove build and source links + rm -f "${pkgdir}"/lib/modules/${_kernver}/{source,build} + # remove the firmware + rm -rf "${pkgdir}/lib/firmware" + # gzip -9 all modules to save 100MB of space + find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \; + # make room for external modules + ln -s "../extramodules-${_basekernel}${_kernelname:--LIBRE}" "${pkgdir}/lib/modules/${_kernver}/extramodules" + # add real version for building modules and running depmod from post_install/upgrade + mkdir -p "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--LIBRE}" + echo "${_kernver}" > "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--LIBRE}/version" +} + +package_linux-libre-aufs_friendly-headers() { + pkgdesc="Header files and scripts for building modules for linux-libre-aufs_friendly kernel" + provides=('kernel26-aufs_friendly-headers' "linux-aufs_friendly-headers=${pkgver}") + conflicts=('kernel26-aufs_friendly-headers' 'kernel26-libre-aufs_friendly-headers' 'linux-aufs_friendly-headers') + replaces=('kernel26-aufs_friendly-headers' 'kernel26-libre-aufs_friendly-headers' 'linux-aufs_friendly-headers') + + KARCH=x86 + [ $CARCH = "mips64el" ] && KARCH=mips + +# In case of repackaging this is empty + if [ -z "${_kernver}" ]; then + cd "${srcdir}/linux-${_basekernel}" + _kernver="$(make kernelrelease)" + fi + + mkdir -p "${pkgdir}/lib/modules/${_kernver}" + + cd "${pkgdir}/lib/modules/${_kernver}" + ln -sf ../../../usr/src/linux-${_kernver} build + + cd "${srcdir}/linux-${_basekernel}" + install -D -m644 Makefile \ + "${pkgdir}/usr/src/linux-${_kernver}/Makefile" + install -D -m644 kernel/Makefile \ + "${pkgdir}/usr/src/linux-${_kernver}/kernel/Makefile" + install -D -m644 .config \ + "${pkgdir}/usr/src/linux-${_kernver}/.config" + + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include" + + for i in acpi asm-generic config crypto drm generated linux math-emu \ + media net pcmcia scsi sound trace video xen; do + cp -a include/${i} "${pkgdir}/usr/src/linux-${_kernver}/include/" + done + + # copy arch includes for external modules + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}" + cp -a "arch/${KARCH}/include" "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/" + + # copy files necessary for later builds + cp Module.symvers "${pkgdir}/usr/src/linux-${_kernver}" + cp -a scripts "${pkgdir}/usr/src/linux-${_kernver}" + + if [ "$CARCH" = "mips64el" ]; then + cp "arch/${KARCH}/Kbuild" "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/" + cp -a "arch/${KARCH}/loongson" "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/" + cp "${srcdir}/Kbuild.platforms" "${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/" + fi + + # fix permissions on scripts dir + chmod og-w -R "${pkgdir}/usr/src/linux-${_kernver}/scripts" + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/.tmp_versions" + + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/kernel" + + cp arch/${KARCH}/Makefile "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/" + + if [ "${CARCH}" = "i686" ]; then + cp arch/${KARCH}/Makefile_32.cpu "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/" + fi + + cp arch/${KARCH}/kernel/asm-offsets.s "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/kernel/" + + # add headers for lirc package + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video" + + cp drivers/media/video/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/" + + for i in bt8xx cpia2 cx25840 cx88 em28xx et61x251 pwc saa7134 sn9c102; do + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/${i}" + cp -a drivers/media/video/${i}/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/${i}" + done + + # add docbook makefile + install -D -m644 Documentation/DocBook/Makefile \ + "${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile" + + # add dm headers + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/md" + cp drivers/md/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/md" + + # add inotify.h + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include/linux" + cp include/linux/inotify.h "${pkgdir}/usr/src/linux-${_kernver}/include/linux/" + + # add wireless headers + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/" + cp net/mac80211/*.h "${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/" + + # add dvb headers for external modules + # in reference to: + # http://bugs.archlinux.org/task/9912 + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core" + cp drivers/media/dvb/dvb-core/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core/" + # and... + # http://bugs.archlinux.org/task/11194 + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/" + cp include/config/dvb/*.h "${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/" + + # add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new + # in reference to: + # http://bugs.archlinux.org/task/13146 + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/" + cp drivers/media/dvb/frontends/lgdt330x.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/" + cp drivers/media/video/msp3400-driver.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/" + + # add dvb headers + # in reference to: + # http://bugs.archlinux.org/task/20402 + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-usb" + cp drivers/media/dvb/dvb-usb/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-usb/" + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends" + cp drivers/media/dvb/frontends/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/" + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/common/tuners" + cp drivers/media/common/tuners/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/common/tuners/" + + # add xfs and shmem for aufs building + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/fs/xfs" + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/mm" + cp fs/xfs/xfs_sb.h "${pkgdir}/usr/src/linux-${_kernver}/fs/xfs/xfs_sb.h" + + # copy in Kconfig files + for i in `find . -name "Kconfig*"`; do + mkdir -p "${pkgdir}"/usr/src/linux-${_kernver}/`echo ${i} | sed 's|/Kconfig.*||'` + cp ${i} "${pkgdir}/usr/src/linux-${_kernver}/${i}" + done + + chown -R root.root "${pkgdir}/usr/src/linux-${_kernver}" + find "${pkgdir}/usr/src/linux-${_kernver}" -type d -exec chmod 755 {} \; + + # strip scripts directory + find "${pkgdir}/usr/src/linux-${_kernver}/scripts" -type f -perm -u+w 2>/dev/null | while read binary ; do + case "$(file -bi "${binary}")" in + *application/x-sharedlib*) # Libraries (.so) + /usr/bin/strip ${STRIP_SHARED} "${binary}";; + *application/x-archive*) # Libraries (.a) + /usr/bin/strip ${STRIP_STATIC} "${binary}";; + *application/x-executable*) # Binaries + /usr/bin/strip ${STRIP_BINARIES} "${binary}";; + esac + done + + # remove unneeded architectures + rm -rf "${pkgdir}"/usr/src/linux-${_kernver}/arch/{alpha,arm,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,microblaze,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,xtensa} + if [ "$CARCH" = "mips64el" ]; then + rm -rf ${pkgdir}/usr/src/linux-${_kernver}/arch/x86 + else + rm -rf ${pkgdir}/usr/src/linux-${_kernver}/arch/mips + fi +} + diff --git a/kernels/linux-libre-aufs_friendly/aufs3-libre-base.patch b/kernels/linux-libre-aufs_friendly/aufs3-libre-base.patch new file mode 100644 index 000000000..ac30c8db9 --- /dev/null +++ b/kernels/linux-libre-aufs_friendly/aufs3-libre-base.patch @@ -0,0 +1,70 @@ +aufs3.2 base patch + +diff --git a/fs/namei.c b/fs/namei.c +index 5008f01..4cc94cf 100644 +--- a/fs/namei.c ++++ b/fs/namei.c +@@ -1753,7 +1753,7 @@ static struct dentry *__lookup_hash(struct qstr *name, + * needs parent already locked. Doesn't follow mounts. + * SMP-safe. + */ +-static struct dentry *lookup_hash(struct nameidata *nd) ++struct dentry *lookup_hash(struct nameidata *nd) + { + return __lookup_hash(&nd->last, nd->path.dentry, nd); + } +diff --git a/fs/splice.c b/fs/splice.c +index fa2defa..e3569b0 100644 +--- a/fs/splice.c ++++ b/fs/splice.c +@@ -1085,8 +1085,8 @@ EXPORT_SYMBOL(generic_splice_sendpage); + /* + * Attempt to initiate a splice from pipe to file. + */ +-static long do_splice_from(struct pipe_inode_info *pipe, struct file *out, +- loff_t *ppos, size_t len, unsigned int flags) ++long do_splice_from(struct pipe_inode_info *pipe, struct file *out, ++ loff_t *ppos, size_t len, unsigned int flags) + { + ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, + loff_t *, size_t, unsigned int); +@@ -1113,9 +1113,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out, + /* + * Attempt to initiate a splice from a file to a pipe. + */ +-static long do_splice_to(struct file *in, loff_t *ppos, +- struct pipe_inode_info *pipe, size_t len, +- unsigned int flags) ++long do_splice_to(struct file *in, loff_t *ppos, ++ struct pipe_inode_info *pipe, size_t len, ++ unsigned int flags) + { + ssize_t (*splice_read)(struct file *, loff_t *, + struct pipe_inode_info *, size_t, unsigned int); +diff --git a/include/linux/namei.h b/include/linux/namei.h +index ffc0213..ef35a31 100644 +--- a/include/linux/namei.h ++++ b/include/linux/namei.h +@@ -85,6 +85,7 @@ extern int vfs_path_lookup(struct dentry *, struct vfsmount *, + extern struct file *lookup_instantiate_filp(struct nameidata *nd, struct dentry *dentry, + int (*open)(struct inode *, struct file *)); + ++extern struct dentry *lookup_hash(struct nameidata *nd); + extern struct dentry *lookup_one_len(const char *, struct dentry *, int); + + extern int follow_down_one(struct path *); +diff --git a/include/linux/splice.h b/include/linux/splice.h +index 26e5b61..3ffef2f 100644 +--- a/include/linux/splice.h ++++ b/include/linux/splice.h +@@ -91,4 +91,10 @@ extern void splice_shrink_spd(struct pipe_inode_info *, + extern void spd_release_page(struct splice_pipe_desc *, unsigned int); + + extern const struct pipe_buf_operations page_cache_pipe_buf_ops; ++ ++extern long do_splice_from(struct pipe_inode_info *pipe, struct file *out, ++ loff_t *ppos, size_t len, unsigned int flags); ++extern long do_splice_to(struct file *in, loff_t *ppos, ++ struct pipe_inode_info *pipe, size_t len, ++ unsigned int flags); + #endif diff --git a/kernels/linux-libre-aufs_friendly/aufs3-libre-standalone.patch b/kernels/linux-libre-aufs_friendly/aufs3-libre-standalone.patch new file mode 100644 index 000000000..ae897f388 --- /dev/null +++ b/kernels/linux-libre-aufs_friendly/aufs3-libre-standalone.patch @@ -0,0 +1,257 @@ +aufs3.2 standalone patch + +diff --git a/fs/file_table.c b/fs/file_table.c +index c322794..2aad244 100644 +--- a/fs/file_table.c ++++ b/fs/file_table.c +@@ -443,6 +443,8 @@ void file_sb_list_del(struct file *file) + } + } + ++EXPORT_SYMBOL(file_sb_list_del); ++ + #ifdef CONFIG_SMP + + /* +diff --git a/fs/inode.c b/fs/inode.c +index ee4e66b..728042b 100644 +--- a/fs/inode.c ++++ b/fs/inode.c +@@ -65,6 +65,7 @@ static struct hlist_head *inode_hashtable __read_mostly; + static __cacheline_aligned_in_smp DEFINE_SPINLOCK(inode_hash_lock); + + __cacheline_aligned_in_smp DEFINE_SPINLOCK(inode_sb_list_lock); ++EXPORT_SYMBOL(inode_sb_list_lock); + + /* + * Empty aops. Can be used for the cases where the user does not +diff --git a/fs/namei.c b/fs/namei.c +index 4cc94cf..af19e30 100644 +--- a/fs/namei.c ++++ b/fs/namei.c +@@ -1757,6 +1757,7 @@ struct dentry *lookup_hash(struct nameidata *nd) + { + return __lookup_hash(&nd->last, nd->path.dentry, nd); + } ++EXPORT_SYMBOL(lookup_hash); + + /** + * lookup_one_len - filesystem helper to lookup single pathname component +diff --git a/fs/namespace.c b/fs/namespace.c +index cfc6d44..173d15a 100644 +--- a/fs/namespace.c ++++ b/fs/namespace.c +@@ -1506,6 +1506,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg, + } + return 0; + } ++EXPORT_SYMBOL(iterate_mounts); + + static void cleanup_group_ids(struct vfsmount *mnt, struct vfsmount *end) + { +diff --git a/fs/notify/group.c b/fs/notify/group.c +index 63fc294..6f4adca 100644 +--- a/fs/notify/group.c ++++ b/fs/notify/group.c +@@ -22,6 +22,7 @@ + #include <linux/srcu.h> + #include <linux/rculist.h> + #include <linux/wait.h> ++#include <linux/module.h> + + #include <linux/fsnotify_backend.h> + #include "fsnotify.h" +@@ -70,6 +71,7 @@ void fsnotify_put_group(struct fsnotify_group *group) + if (atomic_dec_and_test(&group->refcnt)) + fsnotify_destroy_group(group); + } ++EXPORT_SYMBOL(fsnotify_put_group); + + /* + * Create a new fsnotify_group and hold a reference for the group returned. +@@ -102,3 +104,4 @@ struct fsnotify_group *fsnotify_alloc_group(const struct fsnotify_ops *ops) + + return group; + } ++EXPORT_SYMBOL(fsnotify_alloc_group); +diff --git a/fs/notify/mark.c b/fs/notify/mark.c +index e14587d..be6533b 100644 +--- a/fs/notify/mark.c ++++ b/fs/notify/mark.c +@@ -112,6 +112,7 @@ void fsnotify_put_mark(struct fsnotify_mark *mark) + if (atomic_dec_and_test(&mark->refcnt)) + mark->free_mark(mark); + } ++EXPORT_SYMBOL(fsnotify_put_mark); + + /* + * Any time a mark is getting freed we end up here. +@@ -189,6 +190,7 @@ void fsnotify_destroy_mark(struct fsnotify_mark *mark) + if (unlikely(atomic_dec_and_test(&group->num_marks))) + fsnotify_final_destroy_group(group); + } ++EXPORT_SYMBOL(fsnotify_destroy_mark); + + void fsnotify_set_mark_mask_locked(struct fsnotify_mark *mark, __u32 mask) + { +@@ -276,6 +278,7 @@ err: + + return ret; + } ++EXPORT_SYMBOL(fsnotify_add_mark); + + /* + * clear any marks in a group in which mark->flags & flags is true +@@ -331,6 +334,7 @@ void fsnotify_init_mark(struct fsnotify_mark *mark, + atomic_set(&mark->refcnt, 1); + mark->free_mark = free_mark; + } ++EXPORT_SYMBOL(fsnotify_init_mark); + + static int fsnotify_mark_destroy(void *ignored) + { +diff --git a/fs/open.c b/fs/open.c +index 22c41b5..33b4033 100644 +--- a/fs/open.c ++++ b/fs/open.c +@@ -60,6 +60,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs, + mutex_unlock(&dentry->d_inode->i_mutex); + return ret; + } ++EXPORT_SYMBOL(do_truncate); + + static long do_sys_truncate(const char __user *pathname, loff_t length) + { +diff --git a/fs/splice.c b/fs/splice.c +index e3569b0..9dc07b7 100644 +--- a/fs/splice.c ++++ b/fs/splice.c +@@ -1109,6 +1109,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out, + + return splice_write(pipe, out, ppos, len, flags); + } ++EXPORT_SYMBOL(do_splice_from); + + /* + * Attempt to initiate a splice from a file to a pipe. +@@ -1135,6 +1136,7 @@ long do_splice_to(struct file *in, loff_t *ppos, + + return splice_read(in, ppos, pipe, len, flags); + } ++EXPORT_SYMBOL(do_splice_to); + + /** + * splice_direct_to_actor - splices data directly between two non-pipes +diff --git a/security/commoncap.c b/security/commoncap.c +index ee4f848..611fd70 100644 +--- a/security/commoncap.c ++++ b/security/commoncap.c +@@ -975,3 +975,4 @@ int cap_file_mmap(struct file *file, unsigned long reqprot, + } + return ret; + } ++EXPORT_SYMBOL(cap_file_mmap); +diff --git a/security/device_cgroup.c b/security/device_cgroup.c +index 4450fbe..bc94175 100644 +--- a/security/device_cgroup.c ++++ b/security/device_cgroup.c +@@ -7,6 +7,7 @@ + #include <linux/device_cgroup.h> + #include <linux/cgroup.h> + #include <linux/ctype.h> ++#include <linux/export.h> + #include <linux/list.h> + #include <linux/uaccess.h> + #include <linux/seq_file.h> +@@ -500,6 +501,7 @@ found: + + return -EPERM; + } ++EXPORT_SYMBOL(__devcgroup_inode_permission); + + int devcgroup_inode_mknod(int mode, dev_t dev) + { +diff --git a/security/security.c b/security/security.c +index e2f684a..892000c 100644 +--- a/security/security.c ++++ b/security/security.c +@@ -411,6 +411,7 @@ int security_path_rmdir(struct path *dir, struct dentry *dentry) + return 0; + return security_ops->path_rmdir(dir, dentry); + } ++EXPORT_SYMBOL(security_path_rmdir); + + int security_path_unlink(struct path *dir, struct dentry *dentry) + { +@@ -427,6 +428,7 @@ int security_path_symlink(struct path *dir, struct dentry *dentry, + return 0; + return security_ops->path_symlink(dir, dentry, old_name); + } ++EXPORT_SYMBOL(security_path_symlink); + + int security_path_link(struct dentry *old_dentry, struct path *new_dir, + struct dentry *new_dentry) +@@ -435,6 +437,7 @@ int security_path_link(struct dentry *old_dentry, struct path *new_dir, + return 0; + return security_ops->path_link(old_dentry, new_dir, new_dentry); + } ++EXPORT_SYMBOL(security_path_link); + + int security_path_rename(struct path *old_dir, struct dentry *old_dentry, + struct path *new_dir, struct dentry *new_dentry) +@@ -453,6 +456,7 @@ int security_path_truncate(struct path *path) + return 0; + return security_ops->path_truncate(path); + } ++EXPORT_SYMBOL(security_path_truncate); + + int security_path_chmod(struct dentry *dentry, struct vfsmount *mnt, + mode_t mode) +@@ -461,6 +465,7 @@ int security_path_chmod(struct dentry *dentry, struct vfsmount *mnt, + return 0; + return security_ops->path_chmod(dentry, mnt, mode); + } ++EXPORT_SYMBOL(security_path_chmod); + + int security_path_chown(struct path *path, uid_t uid, gid_t gid) + { +@@ -468,6 +473,7 @@ int security_path_chown(struct path *path, uid_t uid, gid_t gid) + return 0; + return security_ops->path_chown(path, uid, gid); + } ++EXPORT_SYMBOL(security_path_chown); + + int security_path_chroot(struct path *path) + { +@@ -544,6 +550,7 @@ int security_inode_readlink(struct dentry *dentry) + return 0; + return security_ops->inode_readlink(dentry); + } ++EXPORT_SYMBOL(security_inode_readlink); + + int security_inode_follow_link(struct dentry *dentry, struct nameidata *nd) + { +@@ -558,6 +565,7 @@ int security_inode_permission(struct inode *inode, int mask) + return 0; + return security_ops->inode_permission(inode, mask); + } ++EXPORT_SYMBOL(security_inode_permission); + + int security_inode_setattr(struct dentry *dentry, struct iattr *attr) + { +@@ -673,6 +681,7 @@ int security_file_permission(struct file *file, int mask) + + return fsnotify_perm(file, mask); + } ++EXPORT_SYMBOL(security_file_permission); + + int security_file_alloc(struct file *file) + { +@@ -700,6 +709,7 @@ int security_file_mmap(struct file *file, unsigned long reqprot, + return ret; + return ima_file_mmap(file, prot); + } ++EXPORT_SYMBOL(security_file_mmap); + + int security_file_mprotect(struct vm_area_struct *vma, unsigned long reqprot, + unsigned long prot) diff --git a/kernels/linux-libre-aufs_friendly/boot-logo.patch b/kernels/linux-libre-aufs_friendly/boot-logo.patch new file mode 100644 index 000000000..c392928a5 --- /dev/null +++ b/kernels/linux-libre-aufs_friendly/boot-logo.patch @@ -0,0 +1,23163 @@ +diff -Nur linux-2.6.39.1/drivers/video/logo/logo_linux_clut224.ppm linux-2.6.39-LIBRE/drivers/video/logo/logo_linux_clut224.ppm +--- linux-2.6.39.1/drivers/video/logo/logo_linux_clut224.ppm 2011-06-02 21:34:20.000000000 -0300 ++++ linux-2.6.39-LIBRE/drivers/video/logo/logo_linux_clut224.ppm 2011-06-22 13:42:06.000000000 -0300 +@@ -1,1604 +1,861 @@ + P3 +-# Standard 224-color Linux logo +-80 80 ++80 78 + 255 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 6 6 6 6 6 6 10 10 10 10 10 10 +- 10 10 10 6 6 6 6 6 6 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 6 6 6 10 10 10 14 14 14 +- 22 22 22 26 26 26 30 30 30 34 34 34 +- 30 30 30 30 30 30 26 26 26 18 18 18 +- 14 14 14 10 10 10 6 6 6 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 1 0 0 1 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 6 6 6 14 14 14 26 26 26 42 42 42 +- 54 54 54 66 66 66 78 78 78 78 78 78 +- 78 78 78 74 74 74 66 66 66 54 54 54 +- 42 42 42 26 26 26 18 18 18 10 10 10 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 1 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 22 22 22 42 42 42 66 66 66 86 86 86 +- 66 66 66 38 38 38 38 38 38 22 22 22 +- 26 26 26 34 34 34 54 54 54 66 66 66 +- 86 86 86 70 70 70 46 46 46 26 26 26 +- 14 14 14 6 6 6 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 1 0 0 1 0 0 1 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 10 10 10 26 26 26 +- 50 50 50 82 82 82 58 58 58 6 6 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 6 6 6 54 54 54 86 86 86 66 66 66 +- 38 38 38 18 18 18 6 6 6 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 6 6 6 22 22 22 50 50 50 +- 78 78 78 34 34 34 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 6 6 6 70 70 70 +- 78 78 78 46 46 46 22 22 22 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 1 0 0 1 0 0 1 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 6 6 6 18 18 18 42 42 42 82 82 82 +- 26 26 26 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 14 14 14 +- 46 46 46 34 34 34 6 6 6 2 2 6 +- 42 42 42 78 78 78 42 42 42 18 18 18 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 1 0 0 0 0 0 1 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 10 10 10 30 30 30 66 66 66 58 58 58 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 26 26 26 +- 86 86 86 101 101 101 46 46 46 10 10 10 +- 2 2 6 58 58 58 70 70 70 34 34 34 +- 10 10 10 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 1 0 0 1 0 0 1 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 14 14 14 42 42 42 86 86 86 10 10 10 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 30 30 30 +- 94 94 94 94 94 94 58 58 58 26 26 26 +- 2 2 6 6 6 6 78 78 78 54 54 54 +- 22 22 22 6 6 6 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 6 6 6 +- 22 22 22 62 62 62 62 62 62 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 26 26 26 +- 54 54 54 38 38 38 18 18 18 10 10 10 +- 2 2 6 2 2 6 34 34 34 82 82 82 +- 38 38 38 14 14 14 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 1 0 0 1 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 6 6 6 +- 30 30 30 78 78 78 30 30 30 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 10 10 10 +- 10 10 10 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 78 78 78 +- 50 50 50 18 18 18 6 6 6 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 1 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 38 38 38 86 86 86 14 14 14 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 54 54 54 +- 66 66 66 26 26 26 6 6 6 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 1 0 0 1 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 14 14 14 +- 42 42 42 82 82 82 2 2 6 2 2 6 +- 2 2 6 6 6 6 10 10 10 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 6 6 6 +- 14 14 14 10 10 10 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 18 18 18 +- 82 82 82 34 34 34 10 10 10 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 1 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 14 14 14 +- 46 46 46 86 86 86 2 2 6 2 2 6 +- 6 6 6 6 6 6 22 22 22 34 34 34 +- 6 6 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 18 18 18 34 34 34 +- 10 10 10 50 50 50 22 22 22 2 2 6 +- 2 2 6 2 2 6 2 2 6 10 10 10 +- 86 86 86 42 42 42 14 14 14 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 1 0 0 1 0 0 1 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 14 14 14 +- 46 46 46 86 86 86 2 2 6 2 2 6 +- 38 38 38 116 116 116 94 94 94 22 22 22 +- 22 22 22 2 2 6 2 2 6 2 2 6 +- 14 14 14 86 86 86 138 138 138 162 162 162 +-154 154 154 38 38 38 26 26 26 6 6 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 86 86 86 46 46 46 14 14 14 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 14 14 14 +- 46 46 46 86 86 86 2 2 6 14 14 14 +-134 134 134 198 198 198 195 195 195 116 116 116 +- 10 10 10 2 2 6 2 2 6 6 6 6 +-101 98 89 187 187 187 210 210 210 218 218 218 +-214 214 214 134 134 134 14 14 14 6 6 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 86 86 86 50 50 50 18 18 18 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 1 0 0 0 +- 0 0 1 0 0 1 0 0 1 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 14 14 14 +- 46 46 46 86 86 86 2 2 6 54 54 54 +-218 218 218 195 195 195 226 226 226 246 246 246 +- 58 58 58 2 2 6 2 2 6 30 30 30 +-210 210 210 253 253 253 174 174 174 123 123 123 +-221 221 221 234 234 234 74 74 74 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 70 70 70 58 58 58 22 22 22 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 14 14 14 +- 46 46 46 82 82 82 2 2 6 106 106 106 +-170 170 170 26 26 26 86 86 86 226 226 226 +-123 123 123 10 10 10 14 14 14 46 46 46 +-231 231 231 190 190 190 6 6 6 70 70 70 +- 90 90 90 238 238 238 158 158 158 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 70 70 70 58 58 58 22 22 22 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 1 0 0 0 +- 0 0 1 0 0 1 0 0 1 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 14 14 14 +- 42 42 42 86 86 86 6 6 6 116 116 116 +-106 106 106 6 6 6 70 70 70 149 149 149 +-128 128 128 18 18 18 38 38 38 54 54 54 +-221 221 221 106 106 106 2 2 6 14 14 14 +- 46 46 46 190 190 190 198 198 198 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 74 74 74 62 62 62 22 22 22 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 1 0 0 0 +- 0 0 1 0 0 0 0 0 1 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 14 14 14 +- 42 42 42 94 94 94 14 14 14 101 101 101 +-128 128 128 2 2 6 18 18 18 116 116 116 +-118 98 46 121 92 8 121 92 8 98 78 10 +-162 162 162 106 106 106 2 2 6 2 2 6 +- 2 2 6 195 195 195 195 195 195 6 6 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 74 74 74 62 62 62 22 22 22 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 1 0 0 1 +- 0 0 1 0 0 0 0 0 1 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 38 38 38 90 90 90 14 14 14 58 58 58 +-210 210 210 26 26 26 54 38 6 154 114 10 +-226 170 11 236 186 11 225 175 15 184 144 12 +-215 174 15 175 146 61 37 26 9 2 2 6 +- 70 70 70 246 246 246 138 138 138 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 70 70 70 66 66 66 26 26 26 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 38 38 38 86 86 86 14 14 14 10 10 10 +-195 195 195 188 164 115 192 133 9 225 175 15 +-239 182 13 234 190 10 232 195 16 232 200 30 +-245 207 45 241 208 19 232 195 16 184 144 12 +-218 194 134 211 206 186 42 42 42 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 50 50 50 74 74 74 30 30 30 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 34 34 34 86 86 86 14 14 14 2 2 6 +-121 87 25 192 133 9 219 162 10 239 182 13 +-236 186 11 232 195 16 241 208 19 244 214 54 +-246 218 60 246 218 38 246 215 20 241 208 19 +-241 208 19 226 184 13 121 87 25 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 50 50 50 82 82 82 34 34 34 10 10 10 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 34 34 34 82 82 82 30 30 30 61 42 6 +-180 123 7 206 145 10 230 174 11 239 182 13 +-234 190 10 238 202 15 241 208 19 246 218 74 +-246 218 38 246 215 20 246 215 20 246 215 20 +-226 184 13 215 174 15 184 144 12 6 6 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 26 26 26 94 94 94 42 42 42 14 14 14 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 30 30 30 78 78 78 50 50 50 104 69 6 +-192 133 9 216 158 10 236 178 12 236 186 11 +-232 195 16 241 208 19 244 214 54 245 215 43 +-246 215 20 246 215 20 241 208 19 198 155 10 +-200 144 11 216 158 10 156 118 10 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 6 6 6 90 90 90 54 54 54 18 18 18 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 30 30 30 78 78 78 46 46 46 22 22 22 +-137 92 6 210 162 10 239 182 13 238 190 10 +-238 202 15 241 208 19 246 215 20 246 215 20 +-241 208 19 203 166 17 185 133 11 210 150 10 +-216 158 10 210 150 10 102 78 10 2 2 6 +- 6 6 6 54 54 54 14 14 14 2 2 6 +- 2 2 6 62 62 62 74 74 74 30 30 30 +- 10 10 10 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 34 34 34 78 78 78 50 50 50 6 6 6 +- 94 70 30 139 102 15 190 146 13 226 184 13 +-232 200 30 232 195 16 215 174 15 190 146 13 +-168 122 10 192 133 9 210 150 10 213 154 11 +-202 150 34 182 157 106 101 98 89 2 2 6 +- 2 2 6 78 78 78 116 116 116 58 58 58 +- 2 2 6 22 22 22 90 90 90 46 46 46 +- 18 18 18 6 6 6 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 38 38 38 86 86 86 50 50 50 6 6 6 +-128 128 128 174 154 114 156 107 11 168 122 10 +-198 155 10 184 144 12 197 138 11 200 144 11 +-206 145 10 206 145 10 197 138 11 188 164 115 +-195 195 195 198 198 198 174 174 174 14 14 14 +- 2 2 6 22 22 22 116 116 116 116 116 116 +- 22 22 22 2 2 6 74 74 74 70 70 70 +- 30 30 30 10 10 10 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 6 6 6 18 18 18 +- 50 50 50 101 101 101 26 26 26 10 10 10 +-138 138 138 190 190 190 174 154 114 156 107 11 +-197 138 11 200 144 11 197 138 11 192 133 9 +-180 123 7 190 142 34 190 178 144 187 187 187 +-202 202 202 221 221 221 214 214 214 66 66 66 +- 2 2 6 2 2 6 50 50 50 62 62 62 +- 6 6 6 2 2 6 10 10 10 90 90 90 +- 50 50 50 18 18 18 6 6 6 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 10 10 10 34 34 34 +- 74 74 74 74 74 74 2 2 6 6 6 6 +-144 144 144 198 198 198 190 190 190 178 166 146 +-154 121 60 156 107 11 156 107 11 168 124 44 +-174 154 114 187 187 187 190 190 190 210 210 210 +-246 246 246 253 253 253 253 253 253 182 182 182 +- 6 6 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 62 62 62 +- 74 74 74 34 34 34 14 14 14 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 10 10 10 22 22 22 54 54 54 +- 94 94 94 18 18 18 2 2 6 46 46 46 +-234 234 234 221 221 221 190 190 190 190 190 190 +-190 190 190 187 187 187 187 187 187 190 190 190 +-190 190 190 195 195 195 214 214 214 242 242 242 +-253 253 253 253 253 253 253 253 253 253 253 253 +- 82 82 82 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 14 14 14 +- 86 86 86 54 54 54 22 22 22 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 6 6 6 18 18 18 46 46 46 90 90 90 +- 46 46 46 18 18 18 6 6 6 182 182 182 +-253 253 253 246 246 246 206 206 206 190 190 190 +-190 190 190 190 190 190 190 190 190 190 190 190 +-206 206 206 231 231 231 250 250 250 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-202 202 202 14 14 14 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 42 42 42 86 86 86 42 42 42 18 18 18 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 6 6 6 +- 14 14 14 38 38 38 74 74 74 66 66 66 +- 2 2 6 6 6 6 90 90 90 250 250 250 +-253 253 253 253 253 253 238 238 238 198 198 198 +-190 190 190 190 190 190 195 195 195 221 221 221 +-246 246 246 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 82 82 82 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 78 78 78 70 70 70 34 34 34 +- 14 14 14 6 6 6 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 14 14 14 +- 34 34 34 66 66 66 78 78 78 6 6 6 +- 2 2 6 18 18 18 218 218 218 253 253 253 +-253 253 253 253 253 253 253 253 253 246 246 246 +-226 226 226 231 231 231 246 246 246 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 178 178 178 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 18 18 18 90 90 90 62 62 62 +- 30 30 30 10 10 10 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 10 10 10 26 26 26 +- 58 58 58 90 90 90 18 18 18 2 2 6 +- 2 2 6 110 110 110 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-250 250 250 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 231 231 231 18 18 18 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 18 18 18 94 94 94 +- 54 54 54 26 26 26 10 10 10 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 6 6 6 22 22 22 50 50 50 +- 90 90 90 26 26 26 2 2 6 2 2 6 +- 14 14 14 195 195 195 250 250 250 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-250 250 250 242 242 242 54 54 54 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 38 38 38 +- 86 86 86 50 50 50 22 22 22 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 6 6 6 14 14 14 38 38 38 82 82 82 +- 34 34 34 2 2 6 2 2 6 2 2 6 +- 42 42 42 195 195 195 246 246 246 253 253 253 +-253 253 253 253 253 253 253 253 253 250 250 250 +-242 242 242 242 242 242 250 250 250 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 250 250 250 246 246 246 238 238 238 +-226 226 226 231 231 231 101 101 101 6 6 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 38 38 38 82 82 82 42 42 42 14 14 14 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 10 10 10 26 26 26 62 62 62 66 66 66 +- 2 2 6 2 2 6 2 2 6 6 6 6 +- 70 70 70 170 170 170 206 206 206 234 234 234 +-246 246 246 250 250 250 250 250 250 238 238 238 +-226 226 226 231 231 231 238 238 238 250 250 250 +-250 250 250 250 250 250 246 246 246 231 231 231 +-214 214 214 206 206 206 202 202 202 202 202 202 +-198 198 198 202 202 202 182 182 182 18 18 18 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 62 62 62 66 66 66 30 30 30 +- 10 10 10 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 14 14 14 42 42 42 82 82 82 18 18 18 +- 2 2 6 2 2 6 2 2 6 10 10 10 +- 94 94 94 182 182 182 218 218 218 242 242 242 +-250 250 250 253 253 253 253 253 253 250 250 250 +-234 234 234 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 246 246 246 +-238 238 238 226 226 226 210 210 210 202 202 202 +-195 195 195 195 195 195 210 210 210 158 158 158 +- 6 6 6 14 14 14 50 50 50 14 14 14 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 6 6 6 86 86 86 46 46 46 +- 18 18 18 6 6 6 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 6 6 6 +- 22 22 22 54 54 54 70 70 70 2 2 6 +- 2 2 6 10 10 10 2 2 6 22 22 22 +-166 166 166 231 231 231 250 250 250 253 253 253 +-253 253 253 253 253 253 253 253 253 250 250 250 +-242 242 242 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 246 246 246 +-231 231 231 206 206 206 198 198 198 226 226 226 +- 94 94 94 2 2 6 6 6 6 38 38 38 +- 30 30 30 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 62 62 62 66 66 66 +- 26 26 26 10 10 10 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 30 30 30 74 74 74 50 50 50 2 2 6 +- 26 26 26 26 26 26 2 2 6 106 106 106 +-238 238 238 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 246 246 246 218 218 218 202 202 202 +-210 210 210 14 14 14 2 2 6 2 2 6 +- 30 30 30 22 22 22 2 2 6 2 2 6 +- 2 2 6 2 2 6 18 18 18 86 86 86 +- 42 42 42 14 14 14 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 14 14 14 +- 42 42 42 90 90 90 22 22 22 2 2 6 +- 42 42 42 2 2 6 18 18 18 218 218 218 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 250 250 250 221 221 221 +-218 218 218 101 101 101 2 2 6 14 14 14 +- 18 18 18 38 38 38 10 10 10 2 2 6 +- 2 2 6 2 2 6 2 2 6 78 78 78 +- 58 58 58 22 22 22 6 6 6 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 6 6 6 18 18 18 +- 54 54 54 82 82 82 2 2 6 26 26 26 +- 22 22 22 2 2 6 123 123 123 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 250 250 250 +-238 238 238 198 198 198 6 6 6 38 38 38 +- 58 58 58 26 26 26 38 38 38 2 2 6 +- 2 2 6 2 2 6 2 2 6 46 46 46 +- 78 78 78 30 30 30 10 10 10 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 10 10 10 30 30 30 +- 74 74 74 58 58 58 2 2 6 42 42 42 +- 2 2 6 22 22 22 231 231 231 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 250 250 250 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 246 246 246 46 46 46 38 38 38 +- 42 42 42 14 14 14 38 38 38 14 14 14 +- 2 2 6 2 2 6 2 2 6 6 6 6 +- 86 86 86 46 46 46 14 14 14 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 6 6 6 14 14 14 42 42 42 +- 90 90 90 18 18 18 18 18 18 26 26 26 +- 2 2 6 116 116 116 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 250 250 250 238 238 238 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 94 94 94 6 6 6 +- 2 2 6 2 2 6 10 10 10 34 34 34 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 74 74 74 58 58 58 22 22 22 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 10 10 10 26 26 26 66 66 66 +- 82 82 82 2 2 6 38 38 38 6 6 6 +- 14 14 14 210 210 210 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 246 246 246 242 242 242 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 144 144 144 2 2 6 +- 2 2 6 2 2 6 2 2 6 46 46 46 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 42 42 42 74 74 74 30 30 30 10 10 10 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 6 6 6 14 14 14 42 42 42 90 90 90 +- 26 26 26 6 6 6 42 42 42 2 2 6 +- 74 74 74 250 250 250 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 242 242 242 242 242 242 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 182 182 182 2 2 6 +- 2 2 6 2 2 6 2 2 6 46 46 46 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 10 10 10 86 86 86 38 38 38 10 10 10 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 10 10 10 26 26 26 66 66 66 82 82 82 +- 2 2 6 22 22 22 18 18 18 2 2 6 +-149 149 149 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 234 234 234 242 242 242 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 206 206 206 2 2 6 +- 2 2 6 2 2 6 2 2 6 38 38 38 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 6 6 6 86 86 86 46 46 46 14 14 14 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 6 6 6 +- 18 18 18 46 46 46 86 86 86 18 18 18 +- 2 2 6 34 34 34 10 10 10 6 6 6 +-210 210 210 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 234 234 234 242 242 242 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 221 221 221 6 6 6 +- 2 2 6 2 2 6 6 6 6 30 30 30 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 82 82 82 54 54 54 18 18 18 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 26 26 26 66 66 66 62 62 62 2 2 6 +- 2 2 6 38 38 38 10 10 10 26 26 26 +-238 238 238 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 231 231 231 238 238 238 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 231 231 231 6 6 6 +- 2 2 6 2 2 6 10 10 10 30 30 30 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 66 66 66 58 58 58 22 22 22 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 38 38 38 78 78 78 6 6 6 2 2 6 +- 2 2 6 46 46 46 14 14 14 42 42 42 +-246 246 246 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 231 231 231 242 242 242 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 234 234 234 10 10 10 +- 2 2 6 2 2 6 22 22 22 14 14 14 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 66 66 66 62 62 62 22 22 22 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 6 6 6 18 18 18 +- 50 50 50 74 74 74 2 2 6 2 2 6 +- 14 14 14 70 70 70 34 34 34 62 62 62 +-250 250 250 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 231 231 231 246 246 246 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 234 234 234 14 14 14 +- 2 2 6 2 2 6 30 30 30 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 66 66 66 62 62 62 22 22 22 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 6 6 6 18 18 18 +- 54 54 54 62 62 62 2 2 6 2 2 6 +- 2 2 6 30 30 30 46 46 46 70 70 70 +-250 250 250 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 231 231 231 246 246 246 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 226 226 226 10 10 10 +- 2 2 6 6 6 6 30 30 30 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 66 66 66 58 58 58 22 22 22 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 6 6 6 22 22 22 +- 58 58 58 62 62 62 2 2 6 2 2 6 +- 2 2 6 2 2 6 30 30 30 78 78 78 +-250 250 250 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 231 231 231 246 246 246 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 206 206 206 2 2 6 +- 22 22 22 34 34 34 18 14 6 22 22 22 +- 26 26 26 18 18 18 6 6 6 2 2 6 +- 2 2 6 82 82 82 54 54 54 18 18 18 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 6 6 6 26 26 26 +- 62 62 62 106 106 106 74 54 14 185 133 11 +-210 162 10 121 92 8 6 6 6 62 62 62 +-238 238 238 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 231 231 231 246 246 246 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 158 158 158 18 18 18 +- 14 14 14 2 2 6 2 2 6 2 2 6 +- 6 6 6 18 18 18 66 66 66 38 38 38 +- 6 6 6 94 94 94 50 50 50 18 18 18 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 6 6 6 +- 10 10 10 10 10 10 18 18 18 38 38 38 +- 78 78 78 142 134 106 216 158 10 242 186 14 +-246 190 14 246 190 14 156 118 10 10 10 10 +- 90 90 90 238 238 238 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 231 231 231 250 250 250 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 246 230 190 +-238 204 91 238 204 91 181 142 44 37 26 9 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 38 38 38 46 46 46 +- 26 26 26 106 106 106 54 54 54 18 18 18 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 6 6 6 14 14 14 22 22 22 +- 30 30 30 38 38 38 50 50 50 70 70 70 +-106 106 106 190 142 34 226 170 11 242 186 14 +-246 190 14 246 190 14 246 190 14 154 114 10 +- 6 6 6 74 74 74 226 226 226 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 231 231 231 250 250 250 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 228 184 62 +-241 196 14 241 208 19 232 195 16 38 30 10 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 6 6 6 30 30 30 26 26 26 +-203 166 17 154 142 90 66 66 66 26 26 26 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 6 6 6 18 18 18 38 38 38 58 58 58 +- 78 78 78 86 86 86 101 101 101 123 123 123 +-175 146 61 210 150 10 234 174 13 246 186 14 +-246 190 14 246 190 14 246 190 14 238 190 10 +-102 78 10 2 2 6 46 46 46 198 198 198 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 234 234 234 242 242 242 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 224 178 62 +-242 186 14 241 196 14 210 166 10 22 18 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 6 6 6 121 92 8 +-238 202 15 232 195 16 82 82 82 34 34 34 +- 10 10 10 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 14 14 14 38 38 38 70 70 70 154 122 46 +-190 142 34 200 144 11 197 138 11 197 138 11 +-213 154 11 226 170 11 242 186 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-225 175 15 46 32 6 2 2 6 22 22 22 +-158 158 158 250 250 250 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 250 250 250 242 242 242 224 178 62 +-239 182 13 236 186 11 213 154 11 46 32 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 61 42 6 225 175 15 +-238 190 10 236 186 11 112 100 78 42 42 42 +- 14 14 14 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 6 6 6 +- 22 22 22 54 54 54 154 122 46 213 154 11 +-226 170 11 230 174 11 226 170 11 226 170 11 +-236 178 12 242 186 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-241 196 14 184 144 12 10 10 10 2 2 6 +- 6 6 6 116 116 116 242 242 242 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 231 231 231 198 198 198 214 170 54 +-236 178 12 236 178 12 210 150 10 137 92 6 +- 18 14 6 2 2 6 2 2 6 2 2 6 +- 6 6 6 70 47 6 200 144 11 236 178 12 +-239 182 13 239 182 13 124 112 88 58 58 58 +- 22 22 22 6 6 6 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 30 30 30 70 70 70 180 133 36 226 170 11 +-239 182 13 242 186 14 242 186 14 246 186 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 232 195 16 98 70 6 2 2 6 +- 2 2 6 2 2 6 66 66 66 221 221 221 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 206 206 206 198 198 198 214 166 58 +-230 174 11 230 174 11 216 158 10 192 133 9 +-163 110 8 116 81 8 102 78 10 116 81 8 +-167 114 7 197 138 11 226 170 11 239 182 13 +-242 186 14 242 186 14 162 146 94 78 78 78 +- 34 34 34 14 14 14 6 6 6 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 6 6 6 +- 30 30 30 78 78 78 190 142 34 226 170 11 +-239 182 13 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 241 196 14 203 166 17 22 18 6 +- 2 2 6 2 2 6 2 2 6 38 38 38 +-218 218 218 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-250 250 250 206 206 206 198 198 198 202 162 69 +-226 170 11 236 178 12 224 166 10 210 150 10 +-200 144 11 197 138 11 192 133 9 197 138 11 +-210 150 10 226 170 11 242 186 14 246 190 14 +-246 190 14 246 186 14 225 175 15 124 112 88 +- 62 62 62 30 30 30 14 14 14 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 30 30 30 78 78 78 174 135 50 224 166 10 +-239 182 13 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 241 196 14 139 102 15 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 78 78 78 250 250 250 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-250 250 250 214 214 214 198 198 198 190 150 46 +-219 162 10 236 178 12 234 174 13 224 166 10 +-216 158 10 213 154 11 213 154 11 216 158 10 +-226 170 11 239 182 13 246 190 14 246 190 14 +-246 190 14 246 190 14 242 186 14 206 162 42 +-101 101 101 58 58 58 30 30 30 14 14 14 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 30 30 30 74 74 74 174 135 50 216 158 10 +-236 178 12 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 241 196 14 226 184 13 +- 61 42 6 2 2 6 2 2 6 2 2 6 +- 22 22 22 238 238 238 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 226 226 226 187 187 187 180 133 36 +-216 158 10 236 178 12 239 182 13 236 178 12 +-230 174 11 226 170 11 226 170 11 230 174 11 +-236 178 12 242 186 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 186 14 239 182 13 +-206 162 42 106 106 106 66 66 66 34 34 34 +- 14 14 14 6 6 6 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 6 6 6 +- 26 26 26 70 70 70 163 133 67 213 154 11 +-236 178 12 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 241 196 14 +-190 146 13 18 14 6 2 2 6 2 2 6 +- 46 46 46 246 246 246 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 221 221 221 86 86 86 156 107 11 +-216 158 10 236 178 12 242 186 14 246 186 14 +-242 186 14 239 182 13 239 182 13 242 186 14 +-242 186 14 246 186 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-242 186 14 225 175 15 142 122 72 66 66 66 +- 30 30 30 10 10 10 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 6 6 6 +- 26 26 26 70 70 70 163 133 67 210 150 10 +-236 178 12 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-232 195 16 121 92 8 34 34 34 106 106 106 +-221 221 221 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-242 242 242 82 82 82 18 14 6 163 110 8 +-216 158 10 236 178 12 242 186 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 242 186 14 163 133 67 +- 46 46 46 18 18 18 6 6 6 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 30 30 30 78 78 78 163 133 67 210 150 10 +-236 178 12 246 186 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-241 196 14 215 174 15 190 178 144 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 218 218 218 +- 58 58 58 2 2 6 22 18 6 167 114 7 +-216 158 10 236 178 12 246 186 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 186 14 242 186 14 190 150 46 +- 54 54 54 22 22 22 6 6 6 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 14 14 14 +- 38 38 38 86 86 86 180 133 36 213 154 11 +-236 178 12 246 186 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 232 195 16 190 146 13 214 214 214 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 250 250 250 170 170 170 26 26 26 +- 2 2 6 2 2 6 37 26 9 163 110 8 +-219 162 10 239 182 13 246 186 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 186 14 236 178 12 224 166 10 142 122 72 +- 46 46 46 18 18 18 6 6 6 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 6 6 6 18 18 18 +- 50 50 50 109 106 95 192 133 9 224 166 10 +-242 186 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-242 186 14 226 184 13 210 162 10 142 110 46 +-226 226 226 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-198 198 198 66 66 66 2 2 6 2 2 6 +- 2 2 6 2 2 6 50 34 6 156 107 11 +-219 162 10 239 182 13 246 186 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 242 186 14 +-234 174 13 213 154 11 154 122 46 66 66 66 +- 30 30 30 10 10 10 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 6 6 6 22 22 22 +- 58 58 58 154 121 60 206 145 10 234 174 13 +-242 186 14 246 186 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 186 14 236 178 12 210 162 10 163 110 8 +- 61 42 6 138 138 138 218 218 218 250 250 250 +-253 253 253 253 253 253 253 253 253 250 250 250 +-242 242 242 210 210 210 144 144 144 66 66 66 +- 6 6 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 61 42 6 163 110 8 +-216 158 10 236 178 12 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 239 182 13 230 174 11 216 158 10 +-190 142 34 124 112 88 70 70 70 38 38 38 +- 18 18 18 6 6 6 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 6 6 6 22 22 22 +- 62 62 62 168 124 44 206 145 10 224 166 10 +-236 178 12 239 182 13 242 186 14 242 186 14 +-246 186 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 236 178 12 216 158 10 175 118 6 +- 80 54 7 2 2 6 6 6 6 30 30 30 +- 54 54 54 62 62 62 50 50 50 38 38 38 +- 14 14 14 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 6 6 6 80 54 7 167 114 7 +-213 154 11 236 178 12 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 242 186 14 239 182 13 239 182 13 +-230 174 11 210 150 10 174 135 50 124 112 88 +- 82 82 82 54 54 54 34 34 34 18 18 18 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 6 6 6 18 18 18 +- 50 50 50 158 118 36 192 133 9 200 144 11 +-216 158 10 219 162 10 224 166 10 226 170 11 +-230 174 11 236 178 12 239 182 13 239 182 13 +-242 186 14 246 186 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 186 14 230 174 11 210 150 10 163 110 8 +-104 69 6 10 10 10 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 6 6 6 91 60 6 167 114 7 +-206 145 10 230 174 11 242 186 14 246 190 14 +-246 190 14 246 190 14 246 186 14 242 186 14 +-239 182 13 230 174 11 224 166 10 213 154 11 +-180 133 36 124 112 88 86 86 86 58 58 58 +- 38 38 38 22 22 22 10 10 10 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 14 14 14 +- 34 34 34 70 70 70 138 110 50 158 118 36 +-167 114 7 180 123 7 192 133 9 197 138 11 +-200 144 11 206 145 10 213 154 11 219 162 10 +-224 166 10 230 174 11 239 182 13 242 186 14 +-246 186 14 246 186 14 246 186 14 246 186 14 +-239 182 13 216 158 10 185 133 11 152 99 6 +-104 69 6 18 14 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 6 6 6 80 54 7 152 99 6 +-192 133 9 219 162 10 236 178 12 239 182 13 +-246 186 14 242 186 14 239 182 13 236 178 12 +-224 166 10 206 145 10 192 133 9 154 121 60 +- 94 94 94 62 62 62 42 42 42 22 22 22 +- 14 14 14 6 6 6 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 6 6 6 +- 18 18 18 34 34 34 58 58 58 78 78 78 +-101 98 89 124 112 88 142 110 46 156 107 11 +-163 110 8 167 114 7 175 118 6 180 123 7 +-185 133 11 197 138 11 210 150 10 219 162 10 +-226 170 11 236 178 12 236 178 12 234 174 13 +-219 162 10 197 138 11 163 110 8 130 83 6 +- 91 60 6 10 10 10 2 2 6 2 2 6 +- 18 18 18 38 38 38 38 38 38 38 38 38 +- 38 38 38 38 38 38 38 38 38 38 38 38 +- 38 38 38 38 38 38 26 26 26 2 2 6 +- 2 2 6 6 6 6 70 47 6 137 92 6 +-175 118 6 200 144 11 219 162 10 230 174 11 +-234 174 13 230 174 11 219 162 10 210 150 10 +-192 133 9 163 110 8 124 112 88 82 82 82 +- 50 50 50 30 30 30 14 14 14 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 6 6 6 14 14 14 22 22 22 34 34 34 +- 42 42 42 58 58 58 74 74 74 86 86 86 +-101 98 89 122 102 70 130 98 46 121 87 25 +-137 92 6 152 99 6 163 110 8 180 123 7 +-185 133 11 197 138 11 206 145 10 200 144 11 +-180 123 7 156 107 11 130 83 6 104 69 6 +- 50 34 6 54 54 54 110 110 110 101 98 89 +- 86 86 86 82 82 82 78 78 78 78 78 78 +- 78 78 78 78 78 78 78 78 78 78 78 78 +- 78 78 78 82 82 82 86 86 86 94 94 94 +-106 106 106 101 101 101 86 66 34 124 80 6 +-156 107 11 180 123 7 192 133 9 200 144 11 +-206 145 10 200 144 11 192 133 9 175 118 6 +-139 102 15 109 106 95 70 70 70 42 42 42 +- 22 22 22 10 10 10 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 6 6 6 10 10 10 +- 14 14 14 22 22 22 30 30 30 38 38 38 +- 50 50 50 62 62 62 74 74 74 90 90 90 +-101 98 89 112 100 78 121 87 25 124 80 6 +-137 92 6 152 99 6 152 99 6 152 99 6 +-138 86 6 124 80 6 98 70 6 86 66 30 +-101 98 89 82 82 82 58 58 58 46 46 46 +- 38 38 38 34 34 34 34 34 34 34 34 34 +- 34 34 34 34 34 34 34 34 34 34 34 34 +- 34 34 34 34 34 34 38 38 38 42 42 42 +- 54 54 54 82 82 82 94 86 76 91 60 6 +-134 86 6 156 107 11 167 114 7 175 118 6 +-175 118 6 167 114 7 152 99 6 121 87 25 +-101 98 89 62 62 62 34 34 34 18 18 18 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 6 6 6 6 6 6 10 10 10 +- 18 18 18 22 22 22 30 30 30 42 42 42 +- 50 50 50 66 66 66 86 86 86 101 98 89 +-106 86 58 98 70 6 104 69 6 104 69 6 +-104 69 6 91 60 6 82 62 34 90 90 90 +- 62 62 62 38 38 38 22 22 22 14 14 14 +- 10 10 10 10 10 10 10 10 10 10 10 10 +- 10 10 10 10 10 10 6 6 6 10 10 10 +- 10 10 10 10 10 10 10 10 10 14 14 14 +- 22 22 22 42 42 42 70 70 70 89 81 66 +- 80 54 7 104 69 6 124 80 6 137 92 6 +-134 86 6 116 81 8 100 82 52 86 86 86 +- 58 58 58 30 30 30 14 14 14 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 6 6 6 10 10 10 14 14 14 +- 18 18 18 26 26 26 38 38 38 54 54 54 +- 70 70 70 86 86 86 94 86 76 89 81 66 +- 89 81 66 86 86 86 74 74 74 50 50 50 +- 30 30 30 14 14 14 6 6 6 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 6 6 6 18 18 18 34 34 34 58 58 58 +- 82 82 82 89 81 66 89 81 66 89 81 66 +- 94 86 66 94 86 76 74 74 74 50 50 50 +- 26 26 26 14 14 14 6 6 6 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 6 6 6 6 6 6 14 14 14 18 18 18 +- 30 30 30 38 38 38 46 46 46 54 54 54 +- 50 50 50 42 42 42 30 30 30 18 18 18 +- 10 10 10 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 6 6 6 14 14 14 26 26 26 +- 38 38 38 50 50 50 58 58 58 58 58 58 +- 54 54 54 42 42 42 30 30 30 18 18 18 +- 10 10 10 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 6 6 6 +- 6 6 6 10 10 10 14 14 14 18 18 18 +- 18 18 18 14 14 14 10 10 10 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 6 6 6 +- 14 14 14 18 18 18 22 22 22 22 22 22 +- 18 18 18 14 14 14 10 10 10 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 6 9 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 6 9 23 30 36 44 54 65 57 72 88 44 54 65 6 12 15 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 31 41 52 ++103 134 161 163 205 246 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 143 185 225 ++82 108 129 8 14 16 0 2 0 0 6 9 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 17 24 30 126 162 196 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 161 203 243 92 119 140 0 6 9 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 44 54 65 154 195 235 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 138 174 208 21 27 33 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 70 96 117 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 157 198 239 49 59 70 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 7 0 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 3 6 52 62 74 170 212 252 170 212 252 170 212 252 170 212 252 129 165 199 ++82 108 129 149 191 231 170 212 252 170 212 252 170 212 252 129 165 199 82 108 129 149 191 231 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 166 207 248 37 48 59 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 21 13 4 31 23 12 0 2 0 0 2 0 105 75 32 155 111 43 23 15 7 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 6 9 3 10 13 146 188 228 170 212 252 170 212 252 170 212 252 157 198 239 0 6 9 ++0 2 0 52 62 74 170 212 252 170 212 252 154 195 235 0 6 9 0 2 0 55 66 77 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 151 193 233 17 24 30 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++10 12 8 23 15 7 139 99 44 206 148 61 67 49 21 0 2 0 125 92 35 206 148 61 ++15 9 7 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 96 127 154 170 212 252 170 212 252 170 212 252 170 212 252 92 119 140 21 22 20 ++10 12 8 53 68 84 170 212 252 170 212 252 92 119 140 10 12 8 7 10 5 53 68 84 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 134 170 204 ++0 6 9 0 3 6 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 21 22 20 ++62 64 61 38 40 37 0 2 0 34 26 8 212 153 66 64 46 18 0 2 0 170 124 49 ++180 132 57 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++18 22 24 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 65 87 102 115 117 114 ++43 44 42 88 115 136 170 212 252 170 212 252 68 83 99 108 110 107 60 62 59 88 115 136 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++80 98 121 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 10 12 8 56 58 55 95 96 94 178 180 177 215 217 214 198 200 197 ++158 160 156 138 140 137 82 83 81 0 2 0 64 46 18 228 167 73 23 15 7 41 31 10 ++250 179 73 55 39 17 7 0 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++75 94 116 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 63 78 94 0 2 0 ++0 2 0 126 162 196 170 212 252 170 212 252 57 72 88 0 2 0 0 2 0 126 162 196 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++157 198 239 8 14 16 0 6 9 0 2 0 45 47 44 195 197 194 192 194 191 38 40 37 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 192 194 191 234 236 233 176 178 175 118 120 117 143 145 142 176 178 175 ++215 217 214 234 236 233 234 236 233 104 106 103 0 2 0 142 101 40 134 100 43 0 2 0 ++164 119 51 170 124 49 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++134 170 204 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 115 152 185 8 14 16 ++49 59 70 166 207 248 170 212 252 170 212 252 119 150 178 8 14 16 55 66 77 166 207 248 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 92 119 140 0 2 0 0 2 0 200 202 199 254 255 252 254 255 252 244 246 243 ++40 41 39 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 38 40 37 234 236 233 234 236 233 234 236 233 135 137 134 215 217 214 171 173 170 ++141 142 139 138 140 137 138 140 137 135 137 134 31 32 30 3 6 2 212 153 66 15 9 7 ++78 58 25 248 178 79 41 31 10 7 0 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 3 6 21 27 33 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 163 205 246 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 154 195 235 0 6 9 82 83 81 254 255 252 254 255 252 254 255 252 254 255 252 ++188 190 187 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 62 64 61 234 236 233 234 236 233 234 236 233 198 200 197 131 133 130 198 200 197 ++232 234 231 234 236 233 234 236 233 234 236 233 152 154 151 0 2 0 147 105 44 67 49 21 ++23 15 7 250 179 73 158 114 46 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 6 9 61 76 92 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 154 195 235 103 134 161 80 98 121 ++52 62 74 18 22 24 0 2 0 3 10 13 38 45 51 80 98 121 151 193 233 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 109 141 168 0 2 0 169 171 168 254 255 252 254 255 252 254 255 252 254 255 252 ++226 228 225 65 66 64 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 43 44 42 234 236 233 234 236 233 234 236 233 234 236 233 131 133 130 192 194 191 ++152 154 151 141 142 139 141 142 139 141 142 139 158 160 156 3 6 2 82 62 28 129 95 39 ++0 2 0 206 148 61 248 178 79 21 13 4 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 96 115 138 ++170 212 252 170 212 252 170 212 252 170 212 252 129 165 199 18 22 24 0 2 0 0 2 0 ++34 26 8 75 55 22 114 83 33 95 68 30 55 39 17 7 0 0 0 6 9 84 103 125 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 84 103 125 0 2 0 229 231 228 254 255 252 254 255 252 254 255 252 171 173 170 ++0 2 0 0 2 0 0 6 9 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 18 20 17 234 236 233 234 236 233 234 236 233 234 236 233 138 140 137 178 180 177 ++226 228 225 234 236 233 234 236 233 234 236 233 231 233 230 45 47 44 23 15 7 190 136 56 ++0 2 0 147 105 44 250 179 73 64 46 18 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 122 159 192 ++170 212 252 170 212 252 170 212 252 126 162 196 0 2 0 26 20 13 190 136 56 245 175 76 ++250 179 73 161 117 49 164 119 51 245 175 76 250 179 73 206 148 61 75 55 22 0 2 0 ++126 162 196 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 68 83 99 0 2 0 252 254 250 254 255 252 254 255 252 254 255 252 71 73 70 ++8 14 16 88 115 136 17 24 30 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 232 234 231 234 236 233 234 236 233 234 236 233 215 217 214 148 150 147 ++183 185 181 141 142 139 135 137 134 135 137 134 141 142 139 87 89 86 0 2 0 202 145 58 ++3 6 2 88 66 26 250 179 73 109 79 35 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 157 198 239 ++170 212 252 170 212 252 166 207 248 26 33 39 26 20 13 224 163 69 250 179 73 250 179 73 ++250 179 73 197 142 62 202 145 58 250 179 73 250 179 73 250 179 73 234 172 70 21 13 4 ++38 45 51 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 52 62 74 21 22 20 254 255 252 254 255 252 254 255 252 254 255 252 21 22 20 ++49 59 70 170 212 252 166 207 248 91 123 149 8 14 16 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 215 217 214 234 236 233 234 236 233 234 236 233 234 236 233 123 125 122 ++188 190 187 229 231 228 234 236 233 234 236 233 222 224 221 118 120 117 0 2 0 168 123 54 ++34 26 8 67 49 21 250 179 73 134 100 43 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 34 41 47 170 212 252 ++170 212 252 170 212 252 85 112 133 0 2 0 164 119 51 250 179 73 250 179 73 250 179 73 ++250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 129 95 39 ++0 2 0 138 174 208 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 34 44 55 45 47 44 254 255 252 254 255 252 254 255 252 254 255 252 24 22 25 ++52 62 74 170 212 252 170 212 252 170 212 252 138 174 208 10 16 18 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 178 180 177 234 236 233 234 236 233 234 236 233 234 236 233 141 142 139 ++198 200 197 148 150 147 135 137 134 135 137 134 148 150 147 123 125 122 0 2 0 190 136 56 ++21 13 4 78 58 25 250 179 73 129 95 39 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 82 108 129 170 212 252 ++170 212 252 170 212 252 23 30 36 58 42 19 250 179 73 250 179 73 250 179 73 250 179 73 ++250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 147 105 44 ++0 2 0 139 181 221 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 34 41 47 45 47 44 254 255 252 254 255 252 254 255 252 254 255 252 56 58 55 ++25 32 38 170 212 252 170 212 252 170 212 252 170 212 252 138 174 208 10 16 18 0 6 9 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 91 93 90 234 236 233 234 236 233 234 236 233 234 236 233 126 127 125 ++169 171 168 222 224 221 234 236 233 229 231 228 178 180 177 71 73 70 0 2 0 212 153 66 ++0 2 0 95 68 30 250 179 73 119 87 37 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 138 174 208 170 212 252 ++170 212 252 154 195 235 0 2 0 125 92 35 250 179 73 250 179 73 250 179 73 250 179 73 ++250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 119 87 37 ++0 2 0 157 198 239 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 57 72 88 7 10 5 252 254 250 254 255 252 254 255 252 254 255 252 95 96 94 ++0 6 9 166 207 248 170 212 252 170 212 252 170 212 252 170 212 252 138 174 208 8 14 16 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 7 10 5 222 224 221 234 236 233 234 236 233 234 236 233 141 142 139 ++183 185 181 138 140 137 131 133 130 141 142 139 192 194 191 102 104 101 0 2 0 224 163 69 ++0 2 0 105 75 32 250 179 73 55 39 17 7 0 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 21 27 33 170 212 252 170 212 252 ++170 212 252 115 152 185 0 2 0 180 132 57 250 179 73 250 179 73 250 179 73 250 179 73 ++250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 228 167 73 10 12 8 ++38 45 51 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 82 108 129 0 2 0 222 224 221 254 255 252 254 255 252 254 255 252 158 160 156 ++0 2 0 92 119 140 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 122 159 192 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 141 142 139 234 236 233 234 236 233 234 236 233 131 133 130 ++185 187 183 231 233 230 222 224 221 158 160 156 138 140 137 48 50 48 3 6 2 250 179 73 ++134 100 43 206 148 61 218 158 64 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 75 94 116 170 212 252 170 212 252 ++170 212 252 92 119 140 0 2 0 224 163 69 250 179 73 250 179 73 250 179 73 250 179 73 ++250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 87 61 23 7 0 0 ++134 170 204 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 109 141 168 0 2 0 178 180 177 254 255 252 254 255 252 254 255 252 252 254 250 ++39 43 45 10 16 18 157 198 239 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++88 115 136 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 45 47 44 234 236 233 234 236 233 234 236 233 131 133 130 ++148 150 147 138 140 137 148 150 147 210 212 209 152 154 151 26 27 25 29 21 8 250 179 73 ++250 179 73 234 172 70 55 39 17 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 126 162 196 170 212 252 170 212 252 ++170 212 252 103 134 161 0 2 0 202 145 58 250 179 73 250 179 73 250 179 73 250 179 73 ++250 179 73 250 179 73 250 179 73 250 179 73 238 175 73 75 55 22 0 2 0 75 102 123 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 140 177 211 0 2 0 135 137 134 254 255 252 254 255 252 254 255 252 254 255 252 ++183 185 181 0 2 0 75 94 116 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 57 72 88 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 162 164 161 234 236 233 234 236 233 135 137 134 ++226 228 225 198 200 197 104 106 103 15 17 14 0 2 0 15 9 7 147 105 44 250 179 73 ++248 178 79 55 39 17 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 6 9 21 27 33 170 212 252 170 212 252 170 212 252 ++170 212 252 122 159 192 0 2 0 175 129 54 250 179 73 250 179 73 250 179 73 250 179 73 ++250 179 73 250 179 73 250 179 73 202 145 58 55 39 17 0 2 0 82 108 129 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 12 17 20 60 62 59 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 69 71 68 0 6 9 143 185 225 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 159 201 241 26 33 39 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 7 10 5 162 164 161 215 217 214 95 96 94 ++56 58 55 0 2 0 0 2 0 0 2 0 61 44 16 238 175 73 250 179 73 250 179 73 ++218 158 64 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 88 115 136 170 212 252 170 212 252 170 212 252 ++170 212 252 143 185 225 0 2 0 147 105 44 250 179 73 250 179 73 250 179 73 250 179 73 ++250 179 73 212 153 66 95 68 30 0 2 0 8 14 16 103 134 161 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 68 83 99 0 2 0 231 233 230 254 255 252 254 255 252 254 255 252 ++254 255 252 210 212 209 0 6 9 53 68 84 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 126 162 196 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 7 0 0 23 15 7 250 179 73 250 179 73 250 179 73 ++250 179 73 29 21 8 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 6 9 154 195 235 170 212 252 170 212 252 170 212 252 ++170 212 252 166 207 248 0 2 0 52 36 13 158 114 46 180 132 57 161 117 49 119 87 37 ++41 31 10 0 2 0 0 2 0 72 87 103 154 195 235 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 115 152 185 0 2 0 152 154 151 254 255 252 238 241 237 85 87 84 ++229 231 228 254 255 252 99 101 98 0 2 0 126 162 196 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 63 78 94 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 202 145 58 250 179 73 250 179 73 ++250 179 73 105 75 32 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 32 39 45 0 2 0 57 72 88 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 85 112 133 12 17 20 0 2 0 0 2 0 0 2 0 0 2 0 ++34 41 47 92 110 133 143 185 225 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 166 207 248 6 12 15 71 73 70 254 255 252 229 231 228 0 2 0 ++141 142 139 254 255 252 231 233 230 10 12 8 34 44 55 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 154 195 235 6 12 15 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 125 92 35 250 179 73 250 179 73 ++250 179 73 180 132 57 0 2 0 0 2 0 0 2 0 0 2 0 3 10 13 68 83 99 ++129 165 199 85 112 133 0 2 0 122 159 192 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 126 162 196 119 156 189 134 170 204 149 191 231 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 57 72 88 3 6 2 242 244 240 254 255 252 35 37 34 ++78 80 77 254 255 252 254 255 252 128 130 127 0 2 0 105 137 164 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 91 123 149 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 7 0 0 55 39 17 250 179 73 250 179 73 ++250 179 73 245 175 76 7 10 5 0 2 0 44 54 65 103 134 161 161 203 243 170 212 252 ++170 212 252 21 27 33 25 32 38 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 61 76 92 0 2 0 242 244 240 254 255 252 102 104 101 ++10 12 8 231 233 230 254 255 252 244 246 243 26 27 25 21 27 33 159 201 241 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 32 39 45 0 6 9 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 218 158 64 250 179 73 ++250 179 73 250 179 73 75 55 22 0 2 0 161 203 243 170 212 252 170 212 252 170 212 252 ++115 147 174 0 2 0 91 123 149 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 159 201 241 146 188 228 ++140 177 211 134 170 204 146 188 228 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 17 24 30 62 64 61 254 255 252 254 255 252 215 217 214 ++0 2 0 102 104 101 254 255 252 254 255 252 166 168 165 0 2 0 72 87 103 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 129 165 199 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 105 75 32 250 179 73 ++250 179 73 250 179 73 150 108 46 0 2 0 113 145 172 170 212 252 170 212 252 170 212 252 ++49 59 70 3 10 13 157 198 239 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 166 207 248 109 141 168 65 87 102 28 35 41 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 6 9 28 35 41 70 96 117 138 174 208 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 0 2 0 102 104 101 254 255 252 254 255 252 254 255 252 ++102 104 101 0 2 0 192 194 191 254 255 252 254 255 252 78 80 77 0 2 0 122 159 192 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 34 44 55 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 61 76 92 154 195 235 0 6 9 29 21 8 250 179 73 ++250 179 73 250 179 73 224 163 69 0 2 0 68 83 99 170 212 252 170 212 252 143 179 213 ++0 2 0 72 87 103 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++161 203 243 96 115 138 17 24 30 0 2 0 0 2 0 45 47 44 102 104 101 123 125 122 ++138 140 137 143 145 142 115 117 114 82 83 81 43 44 42 0 2 0 0 2 0 32 39 45 ++126 162 196 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 0 2 0 85 87 84 254 255 252 254 255 252 254 255 252 ++242 244 240 27 29 27 35 37 34 254 255 252 254 255 252 231 233 230 10 12 8 21 27 33 ++159 201 241 170 212 252 170 212 252 170 212 252 170 212 252 163 205 246 0 6 9 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 6 9 44 54 65 170 212 252 170 212 252 34 44 55 0 2 0 82 62 28 ++109 79 35 224 163 69 250 179 73 52 36 13 15 20 22 170 212 252 170 212 252 75 89 106 ++0 2 0 143 179 213 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 134 170 204 ++25 32 38 0 2 0 40 41 39 155 157 153 238 241 237 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 210 212 209 115 117 114 18 20 17 ++0 2 0 68 83 99 157 198 239 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 52 62 74 7 10 5 234 236 233 254 255 252 254 255 252 ++254 255 252 195 197 194 102 104 101 254 255 252 254 255 252 254 255 252 162 164 161 0 2 0 ++72 87 103 170 212 252 170 212 252 170 212 252 170 212 252 119 156 189 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 115 147 174 170 212 252 91 123 149 0 2 0 0 2 0 6 12 15 ++0 2 0 15 9 7 197 142 62 125 92 35 0 2 0 115 152 185 113 145 172 3 6 2 ++41 51 62 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 113 145 172 0 6 9 ++10 12 8 155 157 153 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 232 234 231 ++87 89 86 0 2 0 32 39 45 154 195 235 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 115 152 185 0 2 0 138 140 137 254 255 252 254 255 252 ++254 255 252 254 255 252 249 251 248 254 255 252 254 255 252 254 255 252 254 255 252 65 66 64 ++0 2 0 122 159 192 170 212 252 170 212 252 170 212 252 66 80 97 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 154 195 235 170 212 252 143 179 213 88 115 136 149 191 231 170 212 252 ++126 162 196 3 6 2 64 46 18 202 145 58 0 2 0 0 2 0 0 2 0 0 2 0 ++92 119 140 170 212 252 170 212 252 170 212 252 170 212 252 143 179 213 3 10 13 27 29 27 ++215 217 214 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 155 157 153 0 2 0 32 39 45 154 195 235 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 23 30 36 27 29 27 249 251 248 254 255 252 ++254 255 252 188 190 187 7 10 5 226 228 225 254 255 252 254 255 252 254 255 252 231 233 230 ++7 10 5 21 27 33 159 201 241 170 212 252 103 134 161 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 119 156 189 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 55 66 77 11 4 3 250 179 73 24 17 10 0 2 0 0 2 0 0 2 0 ++143 185 225 170 212 252 170 212 252 170 212 252 159 201 241 28 35 41 7 10 5 200 202 199 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 155 157 153 0 2 0 55 66 77 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 96 127 154 0 2 0 158 160 156 254 255 252 ++254 255 252 192 194 191 0 2 0 176 178 175 254 255 252 254 255 252 254 255 252 254 255 252 ++141 142 139 0 2 0 72 87 103 129 165 199 0 6 9 0 6 9 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 6 9 12 17 20 143 185 225 170 212 252 170 212 252 170 212 252 170 212 252 ++138 174 208 17 24 30 29 21 8 250 179 73 101 72 28 0 2 0 0 2 0 32 39 45 ++170 212 252 170 212 252 170 212 252 170 212 252 57 72 88 0 2 0 152 154 151 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 108 110 107 0 2 0 115 152 185 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 166 207 248 18 22 24 40 41 39 254 255 252 ++254 255 252 232 234 231 0 2 0 148 150 147 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 10 12 8 0 2 0 8 14 16 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 6 9 41 51 62 61 76 92 34 44 55 3 10 13 ++0 2 0 11 4 3 164 119 51 250 179 73 175 129 54 0 2 0 0 2 0 82 108 129 ++170 212 252 170 212 252 170 212 252 98 129 156 0 2 0 95 96 94 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 238 241 237 18 20 17 25 32 38 166 207 248 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 85 112 133 0 2 0 188 190 187 ++254 255 252 254 255 252 198 200 197 242 244 240 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 120 122 119 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 6 9 0 2 0 0 6 9 7 0 0 ++31 23 12 202 145 58 250 179 73 250 179 73 238 175 73 0 2 0 0 2 0 122 159 192 ++170 212 252 170 212 252 170 212 252 28 35 41 31 32 30 244 246 243 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 152 154 151 0 2 0 85 112 133 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 138 174 208 0 2 0 148 150 147 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 222 224 221 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++7 0 0 234 172 70 250 179 73 250 179 73 250 179 73 34 26 8 0 2 0 149 191 231 ++170 212 252 170 212 252 129 165 199 0 2 0 128 130 127 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 252 254 250 48 50 48 3 10 13 146 188 228 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 157 198 239 0 2 0 118 120 117 ++254 255 252 254 255 252 254 255 252 169 171 168 231 233 230 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 40 41 39 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 170 124 49 250 179 73 250 179 73 250 179 73 48 33 15 6 12 15 170 212 252 ++170 212 252 170 212 252 65 87 102 0 2 0 222 224 221 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 195 197 194 0 2 0 84 103 125 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 3 10 13 85 87 84 ++254 255 252 254 255 252 234 236 233 0 2 0 128 130 127 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 99 101 98 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 95 68 30 250 179 73 250 179 73 250 179 73 34 26 8 34 44 55 170 212 252 ++170 212 252 163 205 246 8 14 16 62 64 61 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 35 37 34 34 44 55 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 26 33 39 60 62 59 ++254 255 252 254 255 252 238 241 237 0 2 0 108 110 107 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 158 160 156 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 23 15 7 248 178 79 250 179 73 245 175 76 0 2 0 63 78 94 170 212 252 ++170 212 252 109 141 168 0 2 0 158 160 156 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 104 106 103 0 2 0 ++154 195 235 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 21 27 33 69 71 68 ++254 255 252 254 255 252 244 246 243 0 2 0 91 93 90 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 215 217 214 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 197 142 62 250 179 73 212 153 66 0 2 0 92 110 133 170 212 252 ++170 212 252 80 98 121 0 2 0 231 233 230 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 176 178 175 0 2 0 ++105 137 164 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 8 14 16 87 89 86 ++254 255 252 254 255 252 254 255 252 40 41 39 21 22 20 252 254 250 254 255 252 254 255 252 ++254 255 252 254 255 252 252 254 250 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 125 92 35 250 179 73 170 124 49 0 2 0 113 145 172 170 212 252 ++170 212 252 53 68 84 15 17 14 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 242 244 240 0 2 0 ++63 78 94 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 0 2 0 104 106 103 ++254 255 252 254 255 252 254 255 252 123 125 122 0 2 0 166 168 165 254 255 252 254 255 252 ++254 255 252 254 255 252 234 236 233 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 7 0 0 52 36 13 250 179 73 129 95 39 0 2 0 143 179 213 170 212 252 ++170 212 252 32 39 45 48 50 48 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 60 62 59 ++18 22 24 170 212 252 170 212 252 170 212 252 170 212 252 163 205 246 0 2 0 102 104 101 ++254 255 252 254 255 252 254 255 252 226 228 225 15 17 14 10 12 8 215 217 214 254 255 252 ++254 255 252 254 255 252 210 212 209 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 88 66 26 29 21 8 0 2 0 166 207 248 170 212 252 ++170 212 252 3 10 13 85 87 84 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 123 125 122 ++0 2 0 149 191 231 170 212 252 170 212 252 170 212 252 170 212 252 21 27 33 56 58 55 ++254 255 252 254 255 252 254 255 252 254 255 252 178 180 177 0 2 0 38 40 37 238 241 237 ++254 255 252 254 255 252 210 212 209 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 7 0 0 7 0 0 0 2 0 161 203 243 170 212 252 ++149 191 231 0 2 0 123 125 122 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 141 142 139 ++0 2 0 143 179 213 170 212 252 170 212 252 170 212 252 170 212 252 66 80 97 0 2 0 ++210 212 209 254 255 252 254 255 252 254 255 252 254 255 252 120 122 119 0 2 0 21 22 20 ++143 145 142 244 246 243 219 221 218 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 149 191 231 170 212 252 ++129 165 199 0 2 0 158 160 156 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 155 157 153 ++0 2 0 134 170 204 170 212 252 170 212 252 170 212 252 170 212 252 143 185 225 0 6 9 ++69 71 68 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 71 73 70 0 2 0 ++0 2 0 0 2 0 40 41 39 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 139 181 221 170 212 252 ++129 165 199 0 2 0 162 164 161 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 169 171 168 ++0 2 0 119 156 189 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 75 94 116 ++0 2 0 135 137 134 254 255 252 254 255 252 254 255 252 254 255 252 69 71 68 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 134 170 204 170 212 252 ++134 170 204 0 2 0 152 154 151 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 183 185 181 ++0 2 0 113 145 172 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 166 207 248 ++44 54 65 0 2 0 162 164 161 254 255 252 254 255 252 254 255 252 35 37 34 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 126 162 196 170 212 252 ++138 174 208 0 2 0 143 145 142 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 198 200 197 ++0 2 0 103 134 161 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++157 198 239 28 35 41 0 2 0 188 190 187 254 255 252 252 254 250 3 6 2 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 115 152 185 170 212 252 ++143 179 213 0 2 0 135 137 134 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 210 212 209 ++0 2 0 91 123 149 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 146 188 228 0 6 9 26 27 25 242 244 240 176 178 175 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 105 137 164 170 212 252 ++143 185 225 0 2 0 128 130 127 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 185 187 183 ++0 2 0 105 137 164 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 163 205 246 0 2 0 0 2 0 102 104 101 60 62 59 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 80 98 121 170 212 252 ++149 191 231 0 2 0 118 120 117 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 143 145 142 ++0 2 0 134 170 204 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 143 179 213 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 44 54 65 170 212 252 ++170 212 252 3 10 13 85 87 84 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 108 110 107 ++0 2 0 157 198 239 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 115 152 185 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 3 10 13 170 212 252 ++170 212 252 34 44 55 43 44 42 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 69 71 68 ++15 20 22 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 75 94 116 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 139 181 221 ++170 212 252 63 78 94 3 6 2 249 251 248 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 31 32 30 ++41 51 62 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++161 203 243 6 12 15 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 105 137 164 ++170 212 252 88 115 136 0 2 0 210 212 209 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 249 251 248 0 2 0 ++68 83 99 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++96 127 154 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 61 76 92 ++170 212 252 119 150 178 0 2 0 169 171 168 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 183 185 181 0 2 0 ++91 123 149 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++28 35 41 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 6 9 ++146 188 228 143 185 225 0 2 0 126 127 125 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 85 87 84 0 6 9 ++154 195 235 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 98 129 156 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++72 90 112 170 212 252 18 22 24 56 58 55 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 238 241 237 7 10 5 55 66 77 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 122 159 192 0 6 9 ++0 6 9 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 122 159 192 72 87 103 0 2 0 229 231 228 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 152 154 151 0 2 0 113 145 172 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 139 181 221 8 14 16 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 18 22 24 109 141 168 0 2 0 148 150 147 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 56 58 55 12 17 20 166 207 248 ++170 212 252 170 212 252 170 212 252 170 212 252 146 188 228 23 30 36 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 101 72 28 202 145 58 ++180 132 57 0 2 0 38 45 51 3 10 13 69 71 68 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 200 202 199 0 2 0 75 89 106 170 212 252 ++170 212 252 170 212 252 170 212 252 109 141 168 8 14 16 0 2 0 21 13 4 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 7 0 0 0 2 0 101 72 28 218 158 64 250 179 73 250 179 73 ++250 179 73 139 99 44 0 2 0 8 14 16 0 2 0 238 241 237 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 244 246 243 38 40 37 3 10 13 139 181 221 170 212 252 ++170 212 252 161 203 243 66 80 97 0 2 0 31 23 12 191 142 60 248 183 74 180 132 57 ++44 34 15 0 2 0 7 0 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 23 15 7 190 136 56 250 179 73 250 179 73 250 179 73 250 179 73 ++250 179 73 250 179 73 150 108 46 0 2 0 0 2 0 82 83 81 222 224 221 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 102 104 101 0 2 0 98 129 156 170 212 252 163 205 246 ++98 129 156 23 30 36 0 2 0 82 62 28 234 172 70 248 183 74 248 183 74 248 183 74 ++248 183 74 158 114 46 29 21 8 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 64 46 18 109 79 35 150 108 46 224 163 69 250 179 73 ++250 179 73 250 179 73 250 179 73 158 114 46 0 2 0 0 2 0 3 6 2 115 117 114 ++234 236 233 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 176 178 175 0 2 0 57 72 88 146 188 228 80 98 121 8 14 16 ++0 2 0 24 17 10 158 114 46 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 ++248 183 74 248 183 74 242 178 77 58 42 19 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 7 0 0 0 2 0 0 2 0 67 49 21 250 179 73 ++250 179 73 250 179 73 250 179 73 250 179 73 228 167 73 95 68 30 0 2 0 0 2 0 ++0 2 0 52 54 51 108 110 107 162 164 161 219 221 218 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 252 254 250 ++219 221 218 178 180 177 18 20 17 6 12 15 26 33 39 0 2 0 0 2 0 52 36 13 ++164 119 51 242 178 77 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 242 178 77 ++187 138 56 175 129 54 158 114 46 82 62 28 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 78 58 25 250 179 73 ++250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 234 172 70 142 101 40 ++44 34 15 10 12 8 0 2 0 0 2 0 0 2 0 18 20 17 60 62 59 71 73 70 ++82 83 81 95 96 94 104 106 103 118 120 117 115 117 114 78 80 77 40 41 39 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 44 34 15 105 75 32 191 142 60 248 183 74 ++248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 105 75 32 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 187 138 56 250 179 73 ++250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 ++250 179 73 250 179 73 142 101 40 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 206 148 61 248 183 74 248 183 74 248 183 74 ++248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 161 117 49 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 228 167 73 250 179 73 ++238 175 73 190 136 56 158 114 46 234 172 70 250 179 73 250 179 73 250 179 73 250 179 73 ++250 179 73 147 105 44 0 2 0 7 0 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 67 49 21 248 183 74 248 183 74 248 183 74 ++248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 ++31 23 12 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 7 10 5 21 13 4 ++0 2 0 0 2 0 0 2 0 147 105 44 250 179 73 250 179 73 250 179 73 250 179 73 ++134 100 43 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 155 111 43 248 183 74 248 183 74 ++248 183 74 248 183 74 224 163 69 55 39 17 64 46 18 164 119 51 242 178 77 248 183 74 ++75 55 22 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 202 145 58 250 179 73 250 179 73 228 167 73 88 66 26 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 7 0 0 0 2 0 168 123 54 248 183 74 ++248 183 74 248 183 74 158 114 46 0 2 0 7 0 0 0 2 0 10 12 8 44 34 15 ++15 9 7 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 29 21 8 250 179 73 250 179 73 158 114 46 15 14 3 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 7 0 0 0 2 0 175 129 54 ++248 183 74 248 183 74 114 83 33 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 29 21 8 147 105 44 58 42 19 0 2 0 7 0 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++105 75 32 218 158 64 23 15 7 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 7 0 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ +diff -Nur linux-2.6.39.1/drivers/video/logo/logo_linux_mono.pbm linux-2.6.39-LIBRE/drivers/video/logo/logo_linux_mono.pbm +--- linux-2.6.39.1/drivers/video/logo/logo_linux_mono.pbm 2011-06-02 21:34:20.000000000 -0300 ++++ linux-2.6.39-LIBRE/drivers/video/logo/logo_linux_mono.pbm 2011-06-22 13:42:06.000000000 -0300 +@@ -1,203 +1,159 @@ +-P1 +-# Standard black and white Linux logo +-80 80 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 +-1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 +-1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 +-1 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 +-1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 +-0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 0 0 1 +-1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 +-1 1 1 1 0 1 1 1 0 1 1 1 1 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 +-1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 +-0 1 1 0 0 0 0 0 0 0 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 1 +-1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 +-1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 +-1 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 1 1 +-1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 +-1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 +-1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 +-0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 +-1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 +-0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 1 +-1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 0 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 0 0 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 1 1 1 +-0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 0 0 0 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 +-1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 +-1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 +-0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 +-1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 +-0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 +-1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 +-0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 +-1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 0 0 0 0 1 0 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 1 1 0 +-0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 1 0 0 0 +-0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 +-0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 +-0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 +-1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 +-1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 +-1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 +-1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 +-1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ++P2 ++80 78 ++255 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 255 255 255 255 255 0 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 255 255 255 0 0 0 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 0 255 255 0 0 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 0 255 255 0 0 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 255 255 255 255 255 0 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 0 0 0 0 255 255 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 255 255 255 255 255 255 255 255 255 0 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 255 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 255 ++255 0 0 0 0 0 0 0 0 0 ++0 0 0 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 255 255 255 255 ++255 255 0 0 0 0 0 0 0 0 ++0 0 0 255 255 255 255 255 255 255 255 255 255 0 0 255 0 255 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 0 0 255 255 255 255 ++255 255 0 0 0 0 0 0 0 0 ++0 0 0 0 255 255 255 255 255 255 255 255 255 0 0 255 255 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 255 255 255 ++255 255 255 0 0 0 0 0 0 0 ++0 0 0 0 255 255 255 255 255 255 0 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 255 255 255 ++255 255 255 255 0 0 0 0 0 0 ++0 0 0 0 0 255 255 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 255 255 ++255 255 255 255 255 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 255 255 255 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 0 255 255 0 0 255 255 ++255 255 255 255 255 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 0 255 255 255 0 0 255 ++255 255 255 255 255 255 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 0 0 255 255 255 0 255 ++255 255 255 255 255 255 255 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 0 0 255 255 255 0 0 ++255 255 255 255 255 255 255 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 0 0 255 255 255 0 ++0 255 255 255 255 255 255 255 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 0 0 255 255 255 0 ++0 255 255 255 255 255 255 255 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 255 255 0 0 255 255 255 0 0 255 255 255 255 255 255 255 0 0 0 0 0 0 255 255 255 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 ++0 0 255 255 255 255 255 255 0 0 ++0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 0 0 255 255 0 0 255 255 0 0 255 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 255 255 255 ++255 0 0 255 255 255 255 255 0 0 ++0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 0 0 255 0 0 255 255 0 0 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255 ++255 0 0 255 255 255 255 0 0 0 ++0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 0 0 255 0 0 0 0 0 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 255 255 255 ++255 255 0 0 255 255 255 0 0 0 ++0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 0 0 255 0 0 0 0 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 255 255 255 255 0 255 255 255 ++255 255 255 0 0 255 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 255 0 0 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 0 255 255 255 ++255 255 255 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 ++255 255 255 255 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 ++255 255 255 255 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 ++255 255 255 255 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 255 255 255 0 255 255 ++255 255 255 255 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 255 255 255 0 0 255 ++255 255 255 255 255 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 255 255 255 0 0 255 ++255 255 255 255 255 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 255 255 255 0 0 255 ++255 255 255 255 255 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 255 255 255 255 0 255 ++255 255 255 255 255 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 255 255 255 255 0 0 ++255 255 255 255 255 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 0 0 255 255 255 255 255 0 ++0 255 255 255 255 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 0 0 255 255 255 255 255 255 ++0 0 255 255 255 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 255 255 255 255 255 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 255 255 255 255 255 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 0 0 255 255 255 255 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 0 0 255 255 255 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255 0 0 255 255 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 0 255 255 255 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 0 255 255 255 255 255 255 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 0 0 255 255 255 255 255 255 255 255 255 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 255 255 255 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 +diff -Nur linux-2.6.39.1/drivers/video/logo/logo_linux_vga16.ppm linux-2.6.39-LIBRE/drivers/video/logo/logo_linux_vga16.ppm +--- linux-2.6.39.1/drivers/video/logo/logo_linux_vga16.ppm 2011-06-02 21:34:20.000000000 -0300 ++++ linux-2.6.39-LIBRE/drivers/video/logo/logo_linux_vga16.ppm 2011-06-22 13:42:06.000000000 -0300 +@@ -1,1604 +1,18724 @@ + P3 +-# Standard 16-color Linux logo +-80 80 ++# CREATOR: GIMP PNM Filter Version 1.1 ++80 78 + 255 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 85 85 85 85 85 85 85 85 85 +- 85 85 85 85 85 85 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 85 85 85 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 85 85 85 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 170 170 170 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +-170 170 170 170 170 170 85 85 85 0 0 0 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 85 85 85 170 170 170 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 170 170 170 170 170 170 +-170 170 170 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 85 85 85 170 170 170 170 170 170 170 170 170 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 170 170 170 255 255 255 255 255 255 +-255 255 255 170 170 170 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 85 85 85 +-170 170 170 170 170 170 255 255 255 255 255 255 +- 0 0 0 0 0 0 0 0 0 0 0 0 +-170 170 170 255 255 255 170 170 170 170 170 170 +-255 255 255 170 170 170 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 85 85 85 +-170 170 170 0 0 0 0 0 0 255 255 255 +- 85 85 85 0 0 0 0 0 0 0 0 0 +-255 255 255 170 170 170 0 0 0 85 85 85 +-170 170 170 255 255 255 170 170 170 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 85 85 85 +- 85 85 85 0 0 0 0 0 0 170 170 170 +- 85 85 85 0 0 0 0 0 0 0 0 0 +-255 255 255 85 85 85 0 0 0 0 0 0 +- 85 85 85 255 255 255 170 170 170 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 85 85 85 +-170 170 170 0 0 0 0 0 0 170 170 170 +- 85 85 85 85 85 85 85 85 85 85 85 85 +-255 255 255 85 85 85 0 0 0 0 0 0 +- 85 85 85 255 255 255 170 170 170 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +-255 255 255 0 0 0 0 0 0 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 0 0 0 0 0 0 +- 85 85 85 255 255 255 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +-170 170 170 170 170 170 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 170 170 170 170 170 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 85 85 85 0 0 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 170 85 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 85 85 85 0 0 0 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 170 85 0 +-170 85 0 170 85 0 85 85 85 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 85 85 85 0 0 0 +- 85 85 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-170 85 0 170 85 0 170 85 0 170 85 0 +-170 85 0 170 85 0 85 85 85 0 0 0 +- 0 0 0 85 85 85 170 170 170 85 85 85 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 85 85 85 0 0 0 +- 85 85 85 170 85 0 170 85 0 170 85 0 +-170 85 0 170 85 0 170 85 0 170 85 0 +-170 85 0 170 85 0 170 85 0 170 85 0 +-170 170 170 170 170 170 170 170 170 0 0 0 +- 0 0 0 0 0 0 170 170 170 170 170 170 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 85 85 85 170 170 170 170 85 0 170 85 0 +-170 85 0 170 85 0 170 85 0 170 85 0 +-170 85 0 170 85 0 170 170 170 170 170 170 +-170 170 170 170 170 170 170 170 170 85 85 85 +- 0 0 0 0 0 0 85 85 85 85 85 85 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 85 85 85 170 170 170 170 170 170 170 85 0 +-170 85 0 170 85 0 170 85 0 170 85 0 +-170 170 170 170 170 170 170 170 170 170 170 170 +-255 255 255 255 255 255 255 255 255 170 170 170 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 85 85 85 +-255 255 255 255 255 255 170 170 170 170 170 170 +-170 170 170 170 170 170 170 170 170 170 170 170 +-170 170 170 170 170 170 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 170 170 170 +-255 255 255 255 255 255 170 170 170 170 170 170 +-170 170 170 170 170 170 170 170 170 170 170 170 +-170 170 170 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-170 170 170 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 85 85 85 255 255 255 +-255 255 255 255 255 255 255 255 255 170 170 170 +-170 170 170 170 170 170 170 170 170 170 170 170 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 0 0 0 85 85 85 170 170 170 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 85 85 85 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 170 170 170 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 85 85 85 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 85 85 85 170 170 170 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 170 170 170 170 170 170 170 170 170 +-255 255 255 255 255 255 255 255 255 170 170 170 +-170 170 170 170 170 170 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-170 170 170 170 170 170 170 170 170 170 170 170 +-170 170 170 170 170 170 170 170 170 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +-170 170 170 170 170 170 170 170 170 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-170 170 170 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 170 170 170 +-170 170 170 170 170 170 170 170 170 85 85 85 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +-170 170 170 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 170 170 170 170 170 170 170 170 170 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 85 85 85 0 0 0 0 0 0 85 85 85 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 170 170 170 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 170 170 170 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-170 170 170 85 85 85 0 0 0 0 0 0 +- 0 0 0 85 85 85 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 85 85 85 +- 0 0 0 0 0 0 85 85 85 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 170 170 170 0 0 0 85 85 85 +- 85 85 85 0 0 0 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 85 85 85 +- 0 0 0 85 85 85 170 170 170 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 170 170 170 0 0 0 85 85 85 +- 85 85 85 0 0 0 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 85 85 85 +- 0 0 0 170 170 170 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 85 85 85 0 0 0 +- 0 0 0 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 85 85 85 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 85 85 85 0 0 0 0 0 0 +-170 170 170 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 85 85 85 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 85 85 85 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 85 85 85 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 0 0 0 +- 85 85 85 85 85 85 85 85 85 85 85 85 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 170 85 0 +-255 255 85 170 85 0 0 0 0 0 0 0 +- 85 85 85 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 85 85 85 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 0 0 0 +- 0 0 0 85 85 85 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 85 170 85 0 255 255 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 85 85 85 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +- 0 0 0 0 0 0 85 85 85 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 85 +-170 85 0 255 255 85 170 85 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +-170 85 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 0 0 0 0 0 0 85 85 85 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 170 85 0 +-255 255 85 170 85 0 255 255 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 170 85 0 +-255 255 85 170 85 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 0 0 0 0 0 0 0 0 0 +- 85 85 85 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 85 +-170 85 0 255 255 85 170 85 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 255 255 85 +-170 85 0 255 255 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 0 0 0 0 0 0 +- 0 0 0 85 85 85 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 255 255 85 170 85 0 +-255 255 85 170 85 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 0 0 0 +- 0 0 0 0 0 0 85 85 85 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 170 170 170 170 170 170 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 170 170 170 170 170 170 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 170 170 170 170 170 170 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 170 170 170 170 170 170 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 0 0 0 0 0 0 0 0 0 +- 85 85 85 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 170 170 170 85 85 85 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 85 85 85 85 85 85 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-170 170 170 85 85 85 85 85 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 170 170 170 +- 85 85 85 0 0 0 0 0 0 170 85 0 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 85 85 85 +- 0 0 0 0 0 0 0 0 0 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-170 170 170 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-170 170 170 85 85 85 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 170 85 0 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 170 85 0 +-170 85 0 170 170 170 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 85 85 85 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-170 85 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 170 85 0 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 170 85 0 170 85 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 170 85 0 +-170 85 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-170 85 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-170 85 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 170 85 0 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 170 85 0 170 85 0 170 85 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 170 85 0 170 85 0 +-170 85 0 170 85 0 170 85 0 170 85 0 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 170 85 0 +-170 85 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 85 85 85 85 85 85 85 85 85 +- 85 85 85 85 85 85 85 85 85 85 85 85 +- 85 85 85 85 85 85 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 170 85 0 +-170 85 0 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-170 85 0 170 85 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 170 85 0 170 85 0 +-170 85 0 170 85 0 170 85 0 170 85 0 +-170 85 0 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 170 85 0 170 85 0 +- 85 85 85 85 85 85 85 85 85 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 85 85 85 85 85 85 85 85 85 170 85 0 +-170 85 0 170 85 0 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 170 85 0 +-170 85 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 170 85 0 +-170 85 0 170 85 0 170 85 0 170 85 0 +-170 85 0 170 85 0 170 85 0 170 85 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 170 85 0 +-170 85 0 170 85 0 170 85 0 170 85 0 +-170 85 0 170 85 0 170 85 0 170 85 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 170 85 0 170 85 0 170 85 0 +-170 85 0 170 85 0 170 85 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +-170 85 0 170 85 0 170 85 0 170 85 0 +-170 85 0 170 85 0 170 85 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++85 ++85 ++170 ++170 ++170 ++255 ++255 ++255 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++170 ++170 ++170 ++170 ++170 ++170 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++170 ++170 ++170 ++85 ++85 ++85 ++170 ++170 ++170 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++255 ++255 ++255 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++255 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++170 ++170 ++170 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++255 ++255 ++255 ++170 ++170 ++170 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++85 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++170 ++170 ++170 ++170 ++170 ++170 ++85 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++170 ++170 ++170 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++85 ++85 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 diff --git a/kernels/linux-libre-aufs_friendly/change-default-console-loglevel.patch b/kernels/linux-libre-aufs_friendly/change-default-console-loglevel.patch new file mode 100644 index 000000000..63435d84f --- /dev/null +++ b/kernels/linux-libre-aufs_friendly/change-default-console-loglevel.patch @@ -0,0 +1,12 @@ +diff -upr linux-3.0.orig/kernel/printk.c linux-3.0/kernel/printk.c +--- linux-3.0.orig/kernel/printk.c 2011-07-22 05:17:23.000000000 +0300 ++++ linux-3.0/kernel/printk.c 2011-07-27 14:43:07.000000000 +0300 +@@ -58,7 +58,7 @@ void asmlinkage __attribute__((weak)) ea + + /* We show everything that is MORE important than this.. */ + #define MINIMUM_CONSOLE_LOGLEVEL 1 /* Minimum loglevel we let people use */ +-#define DEFAULT_CONSOLE_LOGLEVEL 7 /* anything MORE serious than KERN_DEBUG */ ++#define DEFAULT_CONSOLE_LOGLEVEL 4 /* anything MORE serious than KERN_DEBUG */ + + DECLARE_WAIT_QUEUE_HEAD(log_wait); + diff --git a/kernels/linux-libre-aufs_friendly/config.i686 b/kernels/linux-libre-aufs_friendly/config.i686 new file mode 100644 index 000000000..220956bb0 --- /dev/null +++ b/kernels/linux-libre-aufs_friendly/config.i686 @@ -0,0 +1,5879 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/i386 3.2.6-1 Kernel Configuration +# +# CONFIG_64BIT is not set +CONFIG_X86_32=y +# CONFIG_X86_64 is not set +CONFIG_X86=y +CONFIG_INSTRUCTION_DECODER=y +CONFIG_OUTPUT_FORMAT="elf32-i386" +CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig" +CONFIG_GENERIC_CMOS_UPDATE=y +CONFIG_CLOCKSOURCE_WATCHDOG=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_MMU=y +CONFIG_ZONE_DMA=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_GENERIC_ISA_DMA=y +CONFIG_GENERIC_IOMAP=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_GPIO=y +CONFIG_ARCH_MAY_HAVE_PC_FDC=y +# CONFIG_RWSEM_GENERIC_SPINLOCK is not set +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +# CONFIG_GENERIC_TIME_VSYSCALL is not set +CONFIG_ARCH_HAS_CPU_RELAX=y +CONFIG_ARCH_HAS_DEFAULT_IDLE=y +CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y +CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +# CONFIG_ZONE_DMA32 is not set +CONFIG_ARCH_POPULATES_NODE_MAP=y +# CONFIG_AUDIT_ARCH is not set +CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y +CONFIG_HAVE_INTEL_TXT=y +CONFIG_X86_32_SMP=y +CONFIG_X86_HT=y +CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx" +CONFIG_KTIME_SCALAR=y +CONFIG_ARCH_CPU_PROBE_RELEASE=y +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_HAVE_IRQ_WORK=y +CONFIG_IRQ_WORK=y + +# +# General setup +# +CONFIG_EXPERIMENTAL=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +CONFIG_LOCALVERSION="-LIBRE-AUFS_FRIENDLY" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_HAVE_KERNEL_GZIP=y +CONFIG_HAVE_KERNEL_BZIP2=y +CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_XZ=y +CONFIG_HAVE_KERNEL_LZO=y +CONFIG_KERNEL_GZIP=y +# CONFIG_KERNEL_BZIP2 is not set +# CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_XZ is not set +# CONFIG_KERNEL_LZO is not set +CONFIG_DEFAULT_HOSTNAME="(none)" +CONFIG_SWAP=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +# CONFIG_FHANDLE is not set +CONFIG_TASKSTATS=y +CONFIG_TASK_DELAY_ACCT=y +CONFIG_TASK_XACCT=y +CONFIG_TASK_IO_ACCOUNTING=y +CONFIG_AUDIT=y +CONFIG_AUDITSYSCALL=y +CONFIG_AUDIT_WATCH=y +CONFIG_AUDIT_TREE=y +CONFIG_HAVE_GENERIC_HARDIRQS=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_HARDIRQS=y +CONFIG_HAVE_SPARSE_IRQ=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_PENDING_IRQ=y +CONFIG_GENERIC_IRQ_CHIP=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_SPARSE_IRQ=y + +# +# RCU Subsystem +# +CONFIG_TREE_PREEMPT_RCU=y +CONFIG_PREEMPT_RCU=y +# CONFIG_RCU_TRACE is not set +CONFIG_RCU_FANOUT=32 +# CONFIG_RCU_FANOUT_EXACT is not set +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_BOOST is not set +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=19 +CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y +CONFIG_CGROUPS=y +# CONFIG_CGROUP_DEBUG is not set +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CPUSETS=y +CONFIG_PROC_PID_CPUSET=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_RESOURCE_COUNTERS=y +CONFIG_CGROUP_MEM_RES_CTLR=y +CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y +# CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED is not set +# CONFIG_CGROUP_PERF is not set +CONFIG_CGROUP_SCHED=y +CONFIG_FAIR_GROUP_SCHED=y +CONFIG_CFS_BANDWIDTH=y +CONFIG_RT_GROUP_SCHED=y +CONFIG_BLK_CGROUP=y +# CONFIG_DEBUG_BLK_CGROUP is not set +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +CONFIG_USER_NS=y +CONFIG_PID_NS=y +CONFIG_NET_NS=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_MM_OWNER=y +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_RELAY=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +# CONFIG_EXPERT is not set +CONFIG_UID16=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_PCSPKR_PLATFORM=y +CONFIG_HAVE_PCSPKR_PLATFORM=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +# CONFIG_EMBEDDED is not set +CONFIG_HAVE_PERF_EVENTS=y + +# +# Kernel Performance Events And Counters +# +CONFIG_PERF_EVENTS=y +CONFIG_PERF_COUNTERS=y +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_PCI_QUIRKS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y +CONFIG_PROFILING=y +CONFIG_TRACEPOINTS=y +CONFIG_OPROFILE=m +# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +CONFIG_JUMP_LABEL=y +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_USER_RETURN_NOTIFIER=y +CONFIG_HAVE_IOREMAP_PROT=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_OPTPROBES=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_USE_GENERIC_SMP_HELPERS=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y +CONFIG_HAVE_USER_RETURN_NOTIFIER=y +CONFIG_HAVE_PERF_EVENTS_NMI=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +CONFIG_MODULE_FORCE_LOAD=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +CONFIG_MODVERSIONS=y +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_STOP_MACHINE=y +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y +CONFIG_BLK_DEV_BSGLIB=y +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_DEV_THROTTLING=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +CONFIG_CFQ_GROUP_IOSCHED=y +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_PREEMPT_NOTIFIERS=y +CONFIG_PADATA=y +# CONFIG_INLINE_SPIN_TRYLOCK is not set +# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set +# CONFIG_INLINE_SPIN_LOCK is not set +# CONFIG_INLINE_SPIN_LOCK_BH is not set +# CONFIG_INLINE_SPIN_LOCK_IRQ is not set +# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set +# CONFIG_INLINE_SPIN_UNLOCK is not set +# CONFIG_INLINE_SPIN_UNLOCK_BH is not set +# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set +# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set +# CONFIG_INLINE_READ_TRYLOCK is not set +# CONFIG_INLINE_READ_LOCK is not set +# CONFIG_INLINE_READ_LOCK_BH is not set +# CONFIG_INLINE_READ_LOCK_IRQ is not set +# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set +# CONFIG_INLINE_READ_UNLOCK is not set +# CONFIG_INLINE_READ_UNLOCK_BH is not set +# CONFIG_INLINE_READ_UNLOCK_IRQ is not set +# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set +# CONFIG_INLINE_WRITE_TRYLOCK is not set +# CONFIG_INLINE_WRITE_LOCK is not set +# CONFIG_INLINE_WRITE_LOCK_BH is not set +# CONFIG_INLINE_WRITE_LOCK_IRQ is not set +# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set +# CONFIG_INLINE_WRITE_UNLOCK is not set +# CONFIG_INLINE_WRITE_UNLOCK_BH is not set +# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set +# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set +# CONFIG_MUTEX_SPIN_ON_OWNER is not set +CONFIG_FREEZER=y + +# +# Processor type and features +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y +CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y +CONFIG_SMP=y +CONFIG_X86_MPPARSE=y +# CONFIG_X86_BIGSMP is not set +# CONFIG_X86_EXTENDED_PLATFORM is not set +CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y +CONFIG_X86_32_IRIS=m +CONFIG_SCHED_OMIT_FRAME_POINTER=y +CONFIG_PARAVIRT_GUEST=y +# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set +# CONFIG_XEN_PRIVILEGED_GUEST is not set +CONFIG_KVM_CLOCK=y +CONFIG_KVM_GUEST=y +CONFIG_LGUEST_GUEST=y +CONFIG_PARAVIRT=y +# CONFIG_PARAVIRT_SPINLOCKS is not set +CONFIG_PARAVIRT_CLOCK=y +# CONFIG_PARAVIRT_DEBUG is not set +CONFIG_NO_BOOTMEM=y +# CONFIG_MEMTEST is not set +# CONFIG_M386 is not set +# CONFIG_M486 is not set +# CONFIG_M586 is not set +# CONFIG_M586TSC is not set +# CONFIG_M586MMX is not set +CONFIG_M686=y +# CONFIG_MPENTIUMII is not set +# CONFIG_MPENTIUMIII is not set +# CONFIG_MPENTIUMM is not set +# CONFIG_MPENTIUM4 is not set +# CONFIG_MK6 is not set +# CONFIG_MK7 is not set +# CONFIG_MK8 is not set +# CONFIG_MCRUSOE is not set +# CONFIG_MEFFICEON is not set +# CONFIG_MWINCHIPC6 is not set +# CONFIG_MWINCHIP3D is not set +# CONFIG_MELAN is not set +# CONFIG_MGEODEGX1 is not set +# CONFIG_MGEODE_LX is not set +# CONFIG_MCYRIXIII is not set +# CONFIG_MVIAC3_2 is not set +# CONFIG_MVIAC7 is not set +# CONFIG_MCORE2 is not set +# CONFIG_MATOM is not set +CONFIG_X86_GENERIC=y +CONFIG_X86_INTERNODE_CACHE_SHIFT=6 +CONFIG_X86_CMPXCHG=y +CONFIG_CMPXCHG_LOCAL=y +CONFIG_CMPXCHG_DOUBLE=y +CONFIG_X86_L1_CACHE_SHIFT=6 +CONFIG_X86_XADD=y +# CONFIG_X86_PPRO_FENCE is not set +CONFIG_X86_WP_WORKS_OK=y +CONFIG_X86_INVLPG=y +CONFIG_X86_BSWAP=y +CONFIG_X86_POPAD_OK=y +CONFIG_X86_INTEL_USERCOPY=y +CONFIG_X86_USE_PPRO_CHECKSUM=y +CONFIG_X86_TSC=y +CONFIG_X86_CMPXCHG64=y +CONFIG_X86_CMOV=y +CONFIG_X86_MINIMUM_CPU_FAMILY=5 +CONFIG_X86_DEBUGCTLMSR=y +CONFIG_CPU_SUP_INTEL=y +CONFIG_CPU_SUP_CYRIX_32=y +CONFIG_CPU_SUP_AMD=y +CONFIG_CPU_SUP_CENTAUR=y +CONFIG_CPU_SUP_TRANSMETA_32=y +CONFIG_CPU_SUP_UMC_32=y +CONFIG_HPET_TIMER=y +CONFIG_HPET_EMULATE_RTC=y +CONFIG_DMI=y +# CONFIG_IOMMU_HELPER is not set +CONFIG_NR_CPUS=8 +CONFIG_SCHED_SMT=y +CONFIG_SCHED_MC=y +# CONFIG_IRQ_TIME_ACCOUNTING is not set +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PREEMPT=y +CONFIG_PREEMPT_COUNT=y +CONFIG_X86_LOCAL_APIC=y +CONFIG_X86_IO_APIC=y +CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y +CONFIG_X86_MCE=y +CONFIG_X86_MCE_INTEL=y +CONFIG_X86_MCE_AMD=y +# CONFIG_X86_ANCIENT_MCE is not set +CONFIG_X86_MCE_THRESHOLD=y +# CONFIG_X86_MCE_INJECT is not set +CONFIG_X86_THERMAL_VECTOR=y +CONFIG_VM86=y +CONFIG_TOSHIBA=m +CONFIG_I8K=m +CONFIG_X86_REBOOTFIXUPS=y +CONFIG_MICROCODE=m +CONFIG_MICROCODE_INTEL=y +CONFIG_MICROCODE_AMD=y +CONFIG_MICROCODE_OLD_INTERFACE=y +CONFIG_X86_MSR=m +CONFIG_X86_CPUID=m +# CONFIG_NOHIGHMEM is not set +CONFIG_HIGHMEM4G=y +# CONFIG_HIGHMEM64G is not set +CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_HIGHMEM=y +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set +# CONFIG_ARCH_DMA_ADDR_T_64BIT is not set +CONFIG_ARCH_FLATMEM_ENABLE=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ILLEGAL_POINTER_VALUE=0 +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_SPARSEMEM_STATIC=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_COMPACTION=y +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=1 +CONFIG_BOUNCE=y +CONFIG_VIRT_TO_BUS=y +CONFIG_MMU_NOTIFIER=y +CONFIG_KSM=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y +CONFIG_MEMORY_FAILURE=y +CONFIG_HWPOISON_INJECT=m +CONFIG_TRANSPARENT_HUGEPAGE=y +# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set +CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y +CONFIG_CLEANCACHE=y +# CONFIG_HIGHPTE is not set +CONFIG_X86_CHECK_BIOS_CORRUPTION=y +CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y +CONFIG_X86_RESERVE_LOW=64 +# CONFIG_MATH_EMULATION is not set +CONFIG_MTRR=y +CONFIG_MTRR_SANITIZER=y +CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0 +CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 +CONFIG_X86_PAT=y +CONFIG_ARCH_USES_PG_UNCACHED=y +CONFIG_ARCH_RANDOM=y +CONFIG_EFI=y +CONFIG_SECCOMP=y +CONFIG_CC_STACKPROTECTOR=y +# CONFIG_HZ_100 is not set +# CONFIG_HZ_250 is not set +CONFIG_HZ_300=y +# CONFIG_HZ_1000 is not set +CONFIG_HZ=300 +CONFIG_SCHED_HRTICK=y +CONFIG_KEXEC=y +# CONFIG_CRASH_DUMP is not set +# CONFIG_KEXEC_JUMP is not set +CONFIG_PHYSICAL_START=0x1000000 +CONFIG_RELOCATABLE=y +CONFIG_X86_NEED_RELOCS=y +CONFIG_PHYSICAL_ALIGN=0x100000 +CONFIG_HOTPLUG_CPU=y +# CONFIG_COMPAT_VDSO is not set +# CONFIG_CMDLINE_BOOL is not set +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y + +# +# Power management and ACPI options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_HIBERNATE_CALLBACKS=y +CONFIG_HIBERNATION=y +CONFIG_PM_STD_PARTITION="" +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +CONFIG_PM_RUNTIME=y +CONFIG_PM=y +CONFIG_PM_DEBUG=y +CONFIG_PM_ADVANCED_DEBUG=y +# CONFIG_PM_TEST_SUSPEND is not set +CONFIG_CAN_PM_TRACE=y +# CONFIG_PM_TRACE_RTC is not set +CONFIG_ACPI=y +CONFIG_ACPI_SLEEP=y +# CONFIG_ACPI_PROCFS is not set +# CONFIG_ACPI_PROCFS_POWER is not set +CONFIG_ACPI_EC_DEBUGFS=m +# CONFIG_ACPI_PROC_EVENT is not set +CONFIG_ACPI_AC=m +CONFIG_ACPI_BATTERY=m +CONFIG_ACPI_BUTTON=m +CONFIG_ACPI_VIDEO=m +CONFIG_ACPI_FAN=m +CONFIG_ACPI_DOCK=y +CONFIG_ACPI_PROCESSOR=m +CONFIG_ACPI_IPMI=m +CONFIG_ACPI_HOTPLUG_CPU=y +CONFIG_ACPI_PROCESSOR_AGGREGATOR=m +CONFIG_ACPI_THERMAL=m +# CONFIG_ACPI_CUSTOM_DSDT is not set +CONFIG_ACPI_BLACKLIST_YEAR=0 +# CONFIG_ACPI_DEBUG is not set +CONFIG_ACPI_PCI_SLOT=m +CONFIG_X86_PM_TIMER=y +CONFIG_ACPI_CONTAINER=m +CONFIG_ACPI_SBS=m +CONFIG_ACPI_HED=y +CONFIG_ACPI_CUSTOM_METHOD=m +CONFIG_ACPI_APEI=y +CONFIG_ACPI_APEI_GHES=y +CONFIG_ACPI_APEI_PCIEAER=y +CONFIG_ACPI_APEI_MEMORY_FAILURE=y +CONFIG_ACPI_APEI_EINJ=m +CONFIG_ACPI_APEI_ERST_DEBUG=m +CONFIG_SFI=y +CONFIG_X86_APM_BOOT=y +CONFIG_APM=y +# CONFIG_APM_IGNORE_USER_SUSPEND is not set +CONFIG_APM_DO_ENABLE=y +# CONFIG_APM_CPU_IDLE is not set +# CONFIG_APM_DISPLAY_BLANK is not set +# CONFIG_APM_ALLOW_INTS is not set + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_TABLE=m +CONFIG_CPU_FREQ_STAT=m +CONFIG_CPU_FREQ_STAT_DETAILS=y +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=m +CONFIG_CPU_FREQ_GOV_USERSPACE=m +CONFIG_CPU_FREQ_GOV_ONDEMAND=m +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m + +# +# x86 CPU frequency scaling drivers +# +CONFIG_X86_PCC_CPUFREQ=m +CONFIG_X86_ACPI_CPUFREQ=m +CONFIG_X86_POWERNOW_K6=m +CONFIG_X86_POWERNOW_K7=m +CONFIG_X86_POWERNOW_K7_ACPI=y +CONFIG_X86_POWERNOW_K8=m +CONFIG_X86_GX_SUSPMOD=m +# CONFIG_X86_SPEEDSTEP_CENTRINO is not set +CONFIG_X86_SPEEDSTEP_ICH=m +CONFIG_X86_SPEEDSTEP_SMI=m +CONFIG_X86_P4_CLOCKMOD=m +CONFIG_X86_CPUFREQ_NFORCE2=m +CONFIG_X86_LONGRUN=m +CONFIG_X86_LONGHAUL=m +CONFIG_X86_E_POWERSAVER=m + +# +# shared options +# +CONFIG_X86_SPEEDSTEP_LIB=m +CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y +CONFIG_CPU_IDLE=y +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_CPU_IDLE_GOV_MENU=y +CONFIG_INTEL_IDLE=y + +# +# Bus options (PCI etc.) +# +CONFIG_PCI=y +# CONFIG_PCI_GOBIOS is not set +# CONFIG_PCI_GOMMCONFIG is not set +# CONFIG_PCI_GODIRECT is not set +# CONFIG_PCI_GOOLPC is not set +CONFIG_PCI_GOANY=y +CONFIG_PCI_BIOS=y +CONFIG_PCI_DIRECT=y +CONFIG_PCI_MMCONFIG=y +CONFIG_PCI_OLPC=y +CONFIG_PCI_DOMAINS=y +# CONFIG_PCI_CNB20LE_QUIRK is not set +CONFIG_PCIEPORTBUS=y +CONFIG_HOTPLUG_PCI_PCIE=m +CONFIG_PCIEAER=y +# CONFIG_PCIE_ECRC is not set +# CONFIG_PCIEAER_INJECT is not set +CONFIG_PCIEASPM=y +# CONFIG_PCIEASPM_DEBUG is not set +CONFIG_PCIE_PME=y +CONFIG_ARCH_SUPPORTS_MSI=y +CONFIG_PCI_MSI=y +# CONFIG_PCI_DEBUG is not set +CONFIG_PCI_STUB=m +CONFIG_HT_IRQ=y +CONFIG_PCI_ATS=y +CONFIG_PCI_IOV=y +CONFIG_PCI_PRI=y +CONFIG_PCI_PASID=y +CONFIG_PCI_IOAPIC=y +CONFIG_PCI_LABEL=y +CONFIG_ISA_DMA_API=y +CONFIG_ISA=y +# CONFIG_EISA is not set +# CONFIG_MCA is not set +# CONFIG_SCx200 is not set +CONFIG_OLPC=y +CONFIG_OLPC_XO1_PM=y +CONFIG_OLPC_XO1_RTC=y +CONFIG_OLPC_XO1_SCI=y +CONFIG_OLPC_XO15_SCI=y +CONFIG_ALIX=y +CONFIG_AMD_NB=y +CONFIG_PCCARD=m +CONFIG_PCMCIA=m +CONFIG_PCMCIA_LOAD_CIS=y +CONFIG_CARDBUS=y + +# +# PC-card bridges +# +CONFIG_YENTA=m +CONFIG_YENTA_O2=y +CONFIG_YENTA_RICOH=y +CONFIG_YENTA_TI=y +CONFIG_YENTA_ENE_TUNE=y +CONFIG_YENTA_TOSHIBA=y +CONFIG_PD6729=m +CONFIG_I82092=m +CONFIG_I82365=m +CONFIG_TCIC=m +CONFIG_PCMCIA_PROBE=y +CONFIG_PCCARD_NONSTATIC=y +CONFIG_HOTPLUG_PCI=m +CONFIG_HOTPLUG_PCI_FAKE=m +CONFIG_HOTPLUG_PCI_COMPAQ=m +# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set +CONFIG_HOTPLUG_PCI_IBM=m +CONFIG_HOTPLUG_PCI_ACPI=m +CONFIG_HOTPLUG_PCI_ACPI_IBM=m +CONFIG_HOTPLUG_PCI_CPCI=y +CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m +CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m +CONFIG_HOTPLUG_PCI_SHPC=m +CONFIG_RAPIDIO=y +CONFIG_RAPIDIO_TSI721=y +CONFIG_RAPIDIO_DISC_TIMEOUT=30 +# CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS is not set +CONFIG_RAPIDIO_DEBUG=y +CONFIG_RAPIDIO_TSI57X=y +CONFIG_RAPIDIO_CPS_XX=y +CONFIG_RAPIDIO_TSI568=y +CONFIG_RAPIDIO_CPS_GEN2=y +CONFIG_RAPIDIO_TSI500=y + +# +# Executable file formats / Emulations +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_HAVE_AOUT=y +CONFIG_BINFMT_AOUT=m +CONFIG_BINFMT_MISC=y +CONFIG_HAVE_ATOMIC_IOMAP=y +CONFIG_HAVE_TEXT_POKE_SMP=y +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_XFRM=y +CONFIG_XFRM_USER=m +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +CONFIG_XFRM_IPCOMP=m +CONFIG_NET_KEY=m +# CONFIG_NET_KEY_MIGRATE is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_FIB_TRIE_STATS=y +CONFIG_IP_MULTIPLE_TABLES=y +CONFIG_IP_ROUTE_MULTIPATH=y +CONFIG_IP_ROUTE_VERBOSE=y +CONFIG_IP_ROUTE_CLASSID=y +# CONFIG_IP_PNP is not set +CONFIG_NET_IPIP=m +CONFIG_NET_IPGRE_DEMUX=m +CONFIG_NET_IPGRE=m +# CONFIG_NET_IPGRE_BROADCAST is not set +CONFIG_IP_MROUTE=y +# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set +CONFIG_IP_PIMSM_V1=y +CONFIG_IP_PIMSM_V2=y +# CONFIG_ARPD is not set +CONFIG_SYN_COOKIES=y +CONFIG_INET_AH=m +CONFIG_INET_ESP=m +CONFIG_INET_IPCOMP=m +CONFIG_INET_XFRM_TUNNEL=m +CONFIG_INET_TUNNEL=m +CONFIG_INET_XFRM_MODE_TRANSPORT=m +CONFIG_INET_XFRM_MODE_TUNNEL=m +CONFIG_INET_XFRM_MODE_BEET=m +CONFIG_INET_LRO=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +CONFIG_TCP_CONG_ADVANCED=y +CONFIG_TCP_CONG_BIC=m +CONFIG_TCP_CONG_CUBIC=y +CONFIG_TCP_CONG_WESTWOOD=m +CONFIG_TCP_CONG_HTCP=m +CONFIG_TCP_CONG_HSTCP=m +CONFIG_TCP_CONG_HYBLA=m +CONFIG_TCP_CONG_VEGAS=m +CONFIG_TCP_CONG_SCALABLE=m +CONFIG_TCP_CONG_LP=m +CONFIG_TCP_CONG_VENO=m +CONFIG_TCP_CONG_YEAH=m +CONFIG_TCP_CONG_ILLINOIS=m +CONFIG_DEFAULT_CUBIC=y +# CONFIG_DEFAULT_RENO is not set +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=y +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +CONFIG_IPV6_ROUTE_INFO=y +CONFIG_IPV6_OPTIMISTIC_DAD=y +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +CONFIG_INET6_IPCOMP=m +CONFIG_IPV6_MIP6=m +CONFIG_INET6_XFRM_TUNNEL=m +CONFIG_INET6_TUNNEL=m +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m +CONFIG_IPV6_SIT=m +CONFIG_IPV6_SIT_6RD=y +CONFIG_IPV6_NDISC_NODETYPE=y +CONFIG_IPV6_TUNNEL=m +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_SUBTREES=y +# CONFIG_IPV6_MROUTE is not set +CONFIG_NETLABEL=y +CONFIG_NETWORK_SECMARK=y +CONFIG_NETWORK_PHY_TIMESTAMPING=y +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_ADVANCED=y +CONFIG_BRIDGE_NETFILTER=y + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_NETLINK=m +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_NETLINK_LOG=m +CONFIG_NF_CONNTRACK=m +CONFIG_NF_CONNTRACK_MARK=y +CONFIG_NF_CONNTRACK_SECMARK=y +CONFIG_NF_CONNTRACK_ZONES=y +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CONNTRACK_TIMESTAMP=y +CONFIG_NF_CT_PROTO_DCCP=m +CONFIG_NF_CT_PROTO_GRE=m +CONFIG_NF_CT_PROTO_SCTP=m +CONFIG_NF_CT_PROTO_UDPLITE=m +CONFIG_NF_CONNTRACK_AMANDA=m +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_BROADCAST=m +CONFIG_NF_CONNTRACK_NETBIOS_NS=m +CONFIG_NF_CONNTRACK_SNMP=m +CONFIG_NF_CONNTRACK_PPTP=m +CONFIG_NF_CONNTRACK_SANE=m +CONFIG_NF_CONNTRACK_SIP=m +CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_CT_NETLINK=m +CONFIG_NETFILTER_TPROXY=m +CONFIG_NETFILTER_XTABLES=m + +# +# Xtables combined modules +# +CONFIG_NETFILTER_XT_MARK=m +CONFIG_NETFILTER_XT_CONNMARK=m +CONFIG_NETFILTER_XT_SET=m + +# +# Xtables targets +# +CONFIG_NETFILTER_XT_TARGET_AUDIT=m +CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m +CONFIG_NETFILTER_XT_TARGET_CONNMARK=m +CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m +CONFIG_NETFILTER_XT_TARGET_CT=m +CONFIG_NETFILTER_XT_TARGET_DSCP=m +CONFIG_NETFILTER_XT_TARGET_HL=m +CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m +CONFIG_NETFILTER_XT_TARGET_LED=m +CONFIG_NETFILTER_XT_TARGET_MARK=m +CONFIG_NETFILTER_XT_TARGET_NFLOG=m +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m +CONFIG_NETFILTER_XT_TARGET_NOTRACK=m +CONFIG_NETFILTER_XT_TARGET_RATEEST=m +CONFIG_NETFILTER_XT_TARGET_TEE=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m +CONFIG_NETFILTER_XT_TARGET_TRACE=m +CONFIG_NETFILTER_XT_TARGET_SECMARK=m +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m + +# +# Xtables matches +# +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m +CONFIG_NETFILTER_XT_MATCH_CLUSTER=m +CONFIG_NETFILTER_XT_MATCH_COMMENT=m +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +CONFIG_NETFILTER_XT_MATCH_CPU=m +CONFIG_NETFILTER_XT_MATCH_DCCP=m +CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m +CONFIG_NETFILTER_XT_MATCH_DSCP=m +CONFIG_NETFILTER_XT_MATCH_ESP=m +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m +CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_HL=m +CONFIG_NETFILTER_XT_MATCH_IPRANGE=m +CONFIG_NETFILTER_XT_MATCH_IPVS=m +CONFIG_NETFILTER_XT_MATCH_LENGTH=m +CONFIG_NETFILTER_XT_MATCH_LIMIT=m +CONFIG_NETFILTER_XT_MATCH_MAC=m +CONFIG_NETFILTER_XT_MATCH_MARK=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +CONFIG_NETFILTER_XT_MATCH_OSF=m +CONFIG_NETFILTER_XT_MATCH_OWNER=m +CONFIG_NETFILTER_XT_MATCH_POLICY=m +CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MATCH_QUOTA=m +CONFIG_NETFILTER_XT_MATCH_RATEEST=m +CONFIG_NETFILTER_XT_MATCH_REALM=m +CONFIG_NETFILTER_XT_MATCH_RECENT=m +CONFIG_NETFILTER_XT_MATCH_SCTP=m +CONFIG_NETFILTER_XT_MATCH_SOCKET=m +CONFIG_NETFILTER_XT_MATCH_STATE=m +CONFIG_NETFILTER_XT_MATCH_STATISTIC=m +CONFIG_NETFILTER_XT_MATCH_STRING=m +CONFIG_NETFILTER_XT_MATCH_TCPMSS=m +CONFIG_NETFILTER_XT_MATCH_TIME=m +CONFIG_NETFILTER_XT_MATCH_U32=m +CONFIG_IP_SET=m +CONFIG_IP_SET_MAX=256 +CONFIG_IP_SET_BITMAP_IP=m +CONFIG_IP_SET_BITMAP_IPMAC=m +CONFIG_IP_SET_BITMAP_PORT=m +CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPPORT=m +CONFIG_IP_SET_HASH_IPPORTIP=m +CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETPORT=m +CONFIG_IP_SET_HASH_NETIFACE=m +CONFIG_IP_SET_LIST_SET=m +CONFIG_IP_VS=m +# CONFIG_IP_VS_IPV6 is not set +# CONFIG_IP_VS_DEBUG is not set +CONFIG_IP_VS_TAB_BITS=12 + +# +# IPVS transport protocol load balancing support +# +CONFIG_IP_VS_PROTO_TCP=y +CONFIG_IP_VS_PROTO_UDP=y +CONFIG_IP_VS_PROTO_AH_ESP=y +CONFIG_IP_VS_PROTO_ESP=y +CONFIG_IP_VS_PROTO_AH=y +CONFIG_IP_VS_PROTO_SCTP=y + +# +# IPVS scheduler +# +CONFIG_IP_VS_RR=m +CONFIG_IP_VS_WRR=m +CONFIG_IP_VS_LC=m +CONFIG_IP_VS_WLC=m +CONFIG_IP_VS_LBLC=m +CONFIG_IP_VS_LBLCR=m +CONFIG_IP_VS_DH=m +CONFIG_IP_VS_SH=m +CONFIG_IP_VS_SED=m +CONFIG_IP_VS_NQ=m + +# +# IPVS application helper +# +CONFIG_IP_VS_FTP=m +CONFIG_IP_VS_NFCT=y +CONFIG_IP_VS_PE_SIP=m + +# +# IP: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV4=m +CONFIG_NF_CONNTRACK_IPV4=m +CONFIG_NF_CONNTRACK_PROC_COMPAT=y +CONFIG_IP_NF_QUEUE=m +CONFIG_IP_NF_IPTABLES=m +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_TTL=m +CONFIG_IP_NF_FILTER=m +CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_LOG=m +CONFIG_IP_NF_TARGET_ULOG=m +CONFIG_NF_NAT=m +CONFIG_NF_NAT_NEEDED=y +CONFIG_IP_NF_TARGET_MASQUERADE=m +CONFIG_IP_NF_TARGET_NETMAP=m +CONFIG_IP_NF_TARGET_REDIRECT=m +CONFIG_NF_NAT_SNMP_BASIC=m +CONFIG_NF_NAT_PROTO_DCCP=m +CONFIG_NF_NAT_PROTO_GRE=m +CONFIG_NF_NAT_PROTO_UDPLITE=m +CONFIG_NF_NAT_PROTO_SCTP=m +CONFIG_NF_NAT_FTP=m +CONFIG_NF_NAT_IRC=m +CONFIG_NF_NAT_TFTP=m +CONFIG_NF_NAT_AMANDA=m +CONFIG_NF_NAT_PPTP=m +CONFIG_NF_NAT_H323=m +CONFIG_NF_NAT_SIP=m +CONFIG_IP_NF_MANGLE=m +CONFIG_IP_NF_TARGET_CLUSTERIP=m +CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_TARGET_TTL=m +CONFIG_IP_NF_RAW=m +CONFIG_IP_NF_SECURITY=m +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARP_MANGLE=m + +# +# IPv6: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV6=m +CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_IP6_NF_QUEUE=m +CONFIG_IP6_NF_IPTABLES=m +CONFIG_IP6_NF_MATCH_AH=m +CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_MATCH_FRAG=m +CONFIG_IP6_NF_MATCH_OPTS=m +CONFIG_IP6_NF_MATCH_HL=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_MATCH_MH=m +CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_TARGET_HL=m +CONFIG_IP6_NF_TARGET_LOG=m +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_MANGLE=m +CONFIG_IP6_NF_RAW=m +CONFIG_IP6_NF_SECURITY=m +CONFIG_BRIDGE_NF_EBTABLES=m +CONFIG_BRIDGE_EBT_BROUTE=m +CONFIG_BRIDGE_EBT_T_FILTER=m +CONFIG_BRIDGE_EBT_T_NAT=m +CONFIG_BRIDGE_EBT_802_3=m +CONFIG_BRIDGE_EBT_AMONG=m +CONFIG_BRIDGE_EBT_ARP=m +CONFIG_BRIDGE_EBT_IP=m +CONFIG_BRIDGE_EBT_IP6=m +CONFIG_BRIDGE_EBT_LIMIT=m +CONFIG_BRIDGE_EBT_MARK=m +CONFIG_BRIDGE_EBT_PKTTYPE=m +CONFIG_BRIDGE_EBT_STP=m +CONFIG_BRIDGE_EBT_VLAN=m +CONFIG_BRIDGE_EBT_ARPREPLY=m +CONFIG_BRIDGE_EBT_DNAT=m +CONFIG_BRIDGE_EBT_MARK_T=m +CONFIG_BRIDGE_EBT_REDIRECT=m +CONFIG_BRIDGE_EBT_SNAT=m +CONFIG_BRIDGE_EBT_LOG=m +CONFIG_BRIDGE_EBT_ULOG=m +CONFIG_BRIDGE_EBT_NFLOG=m +CONFIG_IP_DCCP=m +CONFIG_INET_DCCP_DIAG=m + +# +# DCCP CCIDs Configuration (EXPERIMENTAL) +# +# CONFIG_IP_DCCP_CCID2_DEBUG is not set +CONFIG_IP_DCCP_CCID3=y +# CONFIG_IP_DCCP_CCID3_DEBUG is not set +CONFIG_IP_DCCP_TFRC_LIB=y + +# +# DCCP Kernel Hacking +# +# CONFIG_IP_DCCP_DEBUG is not set +CONFIG_IP_SCTP=m +# CONFIG_SCTP_DBG_MSG is not set +# CONFIG_SCTP_DBG_OBJCNT is not set +# CONFIG_SCTP_HMAC_NONE is not set +CONFIG_SCTP_HMAC_SHA1=y +# CONFIG_SCTP_HMAC_MD5 is not set +# CONFIG_RDS is not set +# CONFIG_TIPC is not set +CONFIG_ATM=m +CONFIG_ATM_CLIP=m +# CONFIG_ATM_CLIP_NO_ICMP is not set +CONFIG_ATM_LANE=m +CONFIG_ATM_MPOA=m +CONFIG_ATM_BR2684=m +# CONFIG_ATM_BR2684_IPFILTER is not set +CONFIG_L2TP=m +# CONFIG_L2TP_DEBUGFS is not set +CONFIG_L2TP_V3=y +CONFIG_L2TP_IP=m +CONFIG_L2TP_ETH=m +CONFIG_STP=m +CONFIG_BRIDGE=m +CONFIG_BRIDGE_IGMP_SNOOPING=y +# CONFIG_NET_DSA is not set +CONFIG_VLAN_8021Q=m +# CONFIG_VLAN_8021Q_GVRP is not set +# CONFIG_DECNET is not set +CONFIG_LLC=m +CONFIG_LLC2=m +CONFIG_IPX=m +# CONFIG_IPX_INTERN is not set +CONFIG_ATALK=m +CONFIG_DEV_APPLETALK=m +CONFIG_LTPC=m +CONFIG_COPS=m +CONFIG_COPS_DAYNA=y +CONFIG_COPS_TANGENT=y +CONFIG_IPDDP=m +CONFIG_IPDDP_ENCAP=y +CONFIG_IPDDP_DECAP=y +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set +CONFIG_PHONET=m +CONFIG_IEEE802154=m +CONFIG_IEEE802154_6LOWPAN=m +CONFIG_NET_SCHED=y + +# +# Queueing/Scheduling +# +CONFIG_NET_SCH_CBQ=m +CONFIG_NET_SCH_HTB=m +CONFIG_NET_SCH_HFSC=m +CONFIG_NET_SCH_ATM=m +CONFIG_NET_SCH_PRIO=m +CONFIG_NET_SCH_MULTIQ=m +CONFIG_NET_SCH_RED=m +CONFIG_NET_SCH_SFB=m +CONFIG_NET_SCH_SFQ=m +CONFIG_NET_SCH_TEQL=m +CONFIG_NET_SCH_TBF=m +CONFIG_NET_SCH_GRED=m +CONFIG_NET_SCH_DSMARK=m +CONFIG_NET_SCH_NETEM=m +CONFIG_NET_SCH_DRR=m +CONFIG_NET_SCH_MQPRIO=m +CONFIG_NET_SCH_CHOKE=m +CONFIG_NET_SCH_QFQ=m +CONFIG_NET_SCH_INGRESS=m + +# +# Classification +# +CONFIG_NET_CLS=y +CONFIG_NET_CLS_BASIC=m +CONFIG_NET_CLS_TCINDEX=m +CONFIG_NET_CLS_ROUTE4=m +CONFIG_NET_CLS_FW=m +CONFIG_NET_CLS_U32=m +# CONFIG_CLS_U32_PERF is not set +# CONFIG_CLS_U32_MARK is not set +CONFIG_NET_CLS_RSVP=m +CONFIG_NET_CLS_RSVP6=m +CONFIG_NET_CLS_FLOW=m +CONFIG_NET_CLS_CGROUP=y +# CONFIG_NET_EMATCH is not set +CONFIG_NET_CLS_ACT=y +CONFIG_NET_ACT_POLICE=m +CONFIG_NET_ACT_GACT=m +CONFIG_GACT_PROB=y +CONFIG_NET_ACT_MIRRED=m +CONFIG_NET_ACT_IPT=m +CONFIG_NET_ACT_NAT=m +CONFIG_NET_ACT_PEDIT=m +CONFIG_NET_ACT_SIMP=m +CONFIG_NET_ACT_SKBEDIT=m +CONFIG_NET_ACT_CSUM=m +CONFIG_NET_CLS_IND=y +CONFIG_NET_SCH_FIFO=y +# CONFIG_DCB is not set +CONFIG_DNS_RESOLVER=y +CONFIG_BATMAN_ADV=m +# CONFIG_BATMAN_ADV_DEBUG is not set +CONFIG_RPS=y +CONFIG_RFS_ACCEL=y +CONFIG_XPS=y + +# +# Network testing +# +CONFIG_NET_PKTGEN=m +CONFIG_NET_DROP_MONITOR=y +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +CONFIG_IRDA=m + +# +# IrDA protocols +# +CONFIG_IRLAN=m +CONFIG_IRNET=m +CONFIG_IRCOMM=m +CONFIG_IRDA_ULTRA=y + +# +# IrDA options +# +CONFIG_IRDA_CACHE_LAST_LSAP=y +CONFIG_IRDA_FAST_RR=y +# CONFIG_IRDA_DEBUG is not set + +# +# Infrared-port device drivers +# + +# +# SIR device drivers +# +CONFIG_IRTTY_SIR=m + +# +# Dongle support +# +CONFIG_DONGLE=y +CONFIG_ESI_DONGLE=m +CONFIG_ACTISYS_DONGLE=m +CONFIG_TEKRAM_DONGLE=m +CONFIG_TOIM3232_DONGLE=m +CONFIG_LITELINK_DONGLE=m +CONFIG_MA600_DONGLE=m +CONFIG_GIRBIL_DONGLE=m +CONFIG_MCP2120_DONGLE=m +CONFIG_OLD_BELKIN_DONGLE=m +CONFIG_ACT200L_DONGLE=m +CONFIG_KINGSUN_DONGLE=m +CONFIG_KSDAZZLE_DONGLE=m +CONFIG_KS959_DONGLE=m + +# +# FIR device drivers +# +CONFIG_USB_IRDA=m +CONFIG_SIGMATEL_FIR=m +CONFIG_NSC_FIR=m +CONFIG_WINBOND_FIR=m +CONFIG_TOSHIBA_FIR=m +CONFIG_SMC_IRCC_FIR=m +CONFIG_ALI_FIR=m +CONFIG_VLSI_FIR=m +CONFIG_VIA_FIR=m +CONFIG_MCS_FIR=m +CONFIG_BT=m +CONFIG_BT_L2CAP=y +CONFIG_BT_SCO=y +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=m +# CONFIG_BT_BNEP_MC_FILTER is not set +# CONFIG_BT_BNEP_PROTO_FILTER is not set +# CONFIG_BT_CMTP is not set +CONFIG_BT_HIDP=m + +# +# Bluetooth device drivers +# +CONFIG_BT_HCIBTUSB=m +CONFIG_BT_HCIBTSDIO=m +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_H4=y +CONFIG_BT_HCIUART_BCSP=y +CONFIG_BT_HCIUART_ATH3K=y +CONFIG_BT_HCIUART_LL=y +CONFIG_BT_HCIBCM203X=m +CONFIG_BT_HCIBPA10X=m +CONFIG_BT_HCIBFUSB=m +CONFIG_BT_HCIDTL1=m +CONFIG_BT_HCIBT3C=m +CONFIG_BT_HCIBLUECARD=m +CONFIG_BT_HCIBTUART=m +CONFIG_BT_HCIVHCI=m +CONFIG_BT_MRVL=m +CONFIG_BT_MRVL_SDIO=m +CONFIG_BT_ATH3K=m +CONFIG_BT_WILINK=m +CONFIG_AF_RXRPC=m +# CONFIG_AF_RXRPC_DEBUG is not set +CONFIG_RXKAD=m +CONFIG_FIB_RULES=y +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_SPY=y +CONFIG_WEXT_PRIV=y +CONFIG_CFG80211=m +CONFIG_NL80211_TESTMODE=y +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_WEXT=y +CONFIG_WIRELESS_EXT_SYSFS=y +CONFIG_LIB80211=m +CONFIG_LIB80211_CRYPT_WEP=m +CONFIG_LIB80211_CRYPT_CCMP=m +CONFIG_LIB80211_CRYPT_TKIP=m +# CONFIG_LIB80211_DEBUG is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +CONFIG_MAC80211_MESH=y +CONFIG_MAC80211_LEDS=y +# CONFIG_MAC80211_DEBUGFS is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_WIMAX=m +CONFIG_WIMAX_DEBUG_LEVEL=8 +CONFIG_RFKILL=m +CONFIG_RFKILL_LEDS=y +CONFIG_RFKILL_INPUT=y +CONFIG_RFKILL_REGULATOR=m +CONFIG_NET_9P=m +CONFIG_NET_9P_VIRTIO=m +# CONFIG_NET_9P_DEBUG is not set +CONFIG_CAIF=m +# CONFIG_CAIF_DEBUG is not set +CONFIG_CAIF_NETDEV=m +CONFIG_CEPH_LIB=m +# CONFIG_CEPH_LIB_PRETTYDEBUG is not set +# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set +CONFIG_NFC=m +CONFIG_NFC_NCI=m + +# +# Near Field Communication (NFC) devices +# +CONFIG_PN544_NFC=m +CONFIG_NFC_PN533=m +CONFIG_NFC_WILINK=m + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER_PATH="" +CONFIG_DEVTMPFS=y +# CONFIG_DEVTMPFS_MOUNT is not set +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=m +CONFIG_REGMAP_SPI=y +CONFIG_CONNECTOR=y +CONFIG_PROC_EVENTS=y +CONFIG_MTD=m +CONFIG_MTD_TESTS=m +CONFIG_MTD_REDBOOT_PARTS=m +CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 +# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set +# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set +CONFIG_MTD_OF_PARTS=m +CONFIG_MTD_AR7_PARTS=m + +# +# User Modules And Translation Layers +# +CONFIG_MTD_CHAR=m +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_BLOCK_RO=m +CONFIG_FTL=m +CONFIG_NFTL=m +CONFIG_NFTL_RW=y +CONFIG_INFTL=m +CONFIG_RFD_FTL=m +CONFIG_SSFDC=m +# CONFIG_SM_FTL is not set +CONFIG_MTD_OOPS=m +CONFIG_MTD_SWAP=m + +# +# RAM/ROM/Flash chip drivers +# +CONFIG_MTD_CFI=m +CONFIG_MTD_JEDECPROBE=m +CONFIG_MTD_GEN_PROBE=m +# CONFIG_MTD_CFI_ADV_OPTIONS is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +CONFIG_MTD_CFI_INTELEXT=m +CONFIG_MTD_CFI_AMDSTD=m +CONFIG_MTD_CFI_STAA=m +CONFIG_MTD_CFI_UTIL=m +CONFIG_MTD_RAM=m +CONFIG_MTD_ROM=m +CONFIG_MTD_ABSENT=m + +# +# Mapping drivers for chip access +# +CONFIG_MTD_COMPLEX_MAPPINGS=y +# CONFIG_MTD_PHYSMAP is not set +CONFIG_MTD_PHYSMAP_OF=m +CONFIG_MTD_SC520CDP=m +CONFIG_MTD_NETSC520=m +CONFIG_MTD_TS5500=m +# CONFIG_MTD_SBC_GXX is not set +# CONFIG_MTD_AMD76XROM is not set +# CONFIG_MTD_ICHXROM is not set +# CONFIG_MTD_ESB2ROM is not set +# CONFIG_MTD_CK804XROM is not set +CONFIG_MTD_SCB2_FLASH=m +# CONFIG_MTD_NETtel is not set +# CONFIG_MTD_L440GX is not set +CONFIG_MTD_PCI=m +# CONFIG_MTD_PCMCIA is not set +# CONFIG_MTD_GPIO_ADDR is not set +# CONFIG_MTD_INTEL_VR_NOR is not set +CONFIG_MTD_PLATRAM=m +# CONFIG_MTD_LATCH_ADDR is not set + +# +# Self-contained MTD device drivers +# +CONFIG_MTD_PMC551=m +# CONFIG_MTD_PMC551_BUGFIX is not set +# CONFIG_MTD_PMC551_DEBUG is not set +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_M25P80 is not set +# CONFIG_MTD_SST25L is not set +# CONFIG_MTD_SLRAM is not set +CONFIG_MTD_PHRAM=m +CONFIG_MTD_MTDRAM=m +CONFIG_MTDRAM_TOTAL_SIZE=4096 +CONFIG_MTDRAM_ERASE_SIZE=128 +CONFIG_MTD_BLOCK2MTD=m + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +# CONFIG_MTD_DOC2001PLUS is not set +CONFIG_MTD_DOCG3=m +CONFIG_MTD_NAND_ECC=m +CONFIG_MTD_NAND_ECC_SMC=y +CONFIG_MTD_NAND=m +# CONFIG_MTD_NAND_VERIFY_WRITE is not set +# CONFIG_MTD_NAND_ECC_BCH is not set +CONFIG_MTD_SM_COMMON=m +# CONFIG_MTD_NAND_MUSEUM_IDS is not set +# CONFIG_MTD_NAND_DENALI is not set +CONFIG_MTD_NAND_IDS=m +CONFIG_MTD_NAND_RICOH=m +CONFIG_MTD_NAND_DISKONCHIP=m +# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set +CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 +# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set +# CONFIG_MTD_NAND_CAFE is not set +CONFIG_MTD_NAND_CS553X=m +CONFIG_MTD_NAND_NANDSIM=m +# CONFIG_MTD_NAND_PLATFORM is not set +CONFIG_MTD_ALAUDA=m +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR flash memory drivers +# +CONFIG_MTD_LPDDR=m +CONFIG_MTD_QINFO_PROBE=m +CONFIG_MTD_UBI=m +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_MTD_UBI_BEB_RESERVE=1 +# CONFIG_MTD_UBI_GLUEBI is not set +# CONFIG_MTD_UBI_DEBUG is not set +CONFIG_OF=y + +# +# Device Tree and Open Firmware support +# +CONFIG_PROC_DEVICETREE=y +CONFIG_OF_PROMTREE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_DEVICE=y +CONFIG_OF_GPIO=y +CONFIG_OF_I2C=m +CONFIG_OF_NET=y +CONFIG_OF_SPI=y +CONFIG_OF_MDIO=m +CONFIG_OF_PCI=y +CONFIG_OF_PCI_IRQ=y +CONFIG_PARPORT=m +CONFIG_PARPORT_PC=m +CONFIG_PARPORT_SERIAL=m +CONFIG_PARPORT_PC_FIFO=y +CONFIG_PARPORT_PC_SUPERIO=y +CONFIG_PARPORT_PC_PCMCIA=m +# CONFIG_PARPORT_GSC is not set +CONFIG_PARPORT_AX88796=m +CONFIG_PARPORT_1284=y +CONFIG_PARPORT_NOT_PC=y +CONFIG_PNP=y +# CONFIG_PNP_DEBUG_MESSAGES is not set + +# +# Protocols +# +CONFIG_ISAPNP=y +# CONFIG_PNPBIOS is not set +CONFIG_PNPACPI=y +CONFIG_BLK_DEV=y +CONFIG_BLK_DEV_FD=m +# CONFIG_BLK_DEV_XD is not set +# CONFIG_PARIDE is not set +CONFIG_BLK_CPQ_DA=m +CONFIG_BLK_CPQ_CISS_DA=m +# CONFIG_CISS_SCSI_TAPE is not set +CONFIG_BLK_DEV_DAC960=m +# CONFIG_BLK_DEV_UMEM is not set +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=m +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +CONFIG_BLK_DEV_CRYPTOLOOP=m +CONFIG_BLK_DEV_DRBD=m +# CONFIG_DRBD_FAULT_INJECTION is not set +CONFIG_BLK_DEV_NBD=m +CONFIG_BLK_DEV_OSD=m +CONFIG_BLK_DEV_SX8=m +# CONFIG_BLK_DEV_UB is not set +CONFIG_BLK_DEV_RAM=m +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=16384 +# CONFIG_BLK_DEV_XIP is not set +CONFIG_CDROM_PKTCDVD=m +CONFIG_CDROM_PKTCDVD_BUFFERS=8 +# CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_ATA_OVER_ETH=m +CONFIG_VIRTIO_BLK=m +# CONFIG_BLK_DEV_HD is not set +CONFIG_BLK_DEV_RBD=m +CONFIG_SENSORS_LIS3LV02D=m +CONFIG_MISC_DEVICES=y +CONFIG_AD525X_DPOT=m +CONFIG_AD525X_DPOT_I2C=m +CONFIG_AD525X_DPOT_SPI=m +# CONFIG_IBM_ASM is not set +CONFIG_PHANTOM=m +CONFIG_INTEL_MID_PTI=m +CONFIG_SGI_IOC4=m +CONFIG_TIFM_CORE=m +CONFIG_TIFM_7XX1=m +CONFIG_ICS932S401=m +CONFIG_ENCLOSURE_SERVICES=m +CONFIG_CS5535_MFGPT=m +CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7 +CONFIG_CS5535_CLOCK_EVENT_SRC=m +CONFIG_HP_ILO=m +CONFIG_APDS9802ALS=m +CONFIG_ISL29003=m +CONFIG_ISL29020=m +CONFIG_SENSORS_TSL2550=m +CONFIG_SENSORS_BH1780=m +CONFIG_SENSORS_BH1770=m +CONFIG_SENSORS_APDS990X=m +CONFIG_HMC6352=m +CONFIG_DS1682=m +CONFIG_TI_DAC7512=m +CONFIG_VMWARE_BALLOON=m +CONFIG_BMP085=m +# CONFIG_PCH_PHUB is not set +CONFIG_USB_SWITCH_FSA9480=m +CONFIG_C2PORT=m +CONFIG_C2PORT_DURAMAR_2150=m + +# +# EEPROM support +# +CONFIG_EEPROM_AT24=m +CONFIG_EEPROM_AT25=m +CONFIG_EEPROM_LEGACY=m +CONFIG_EEPROM_MAX6875=m +CONFIG_EEPROM_93CX6=m +CONFIG_EEPROM_93XX46=m +CONFIG_CB710_CORE=m +# CONFIG_CB710_DEBUG is not set +CONFIG_CB710_DEBUG_ASSUMPTIONS=y +CONFIG_IWMC3200TOP=m +# CONFIG_IWMC3200TOP_DEBUG is not set +# CONFIG_IWMC3200TOP_DEBUGFS is not set + +# +# Texas Instruments shared transport line discipline +# +CONFIG_TI_ST=m +CONFIG_SENSORS_LIS3_I2C=m + +# +# Altera FPGA firmware download module +# +CONFIG_ALTERA_STAPL=m +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=m +CONFIG_RAID_ATTRS=m +CONFIG_SCSI=m +CONFIG_SCSI_DMA=y +CONFIG_SCSI_TGT=m +CONFIG_SCSI_NETLINK=y +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=m +CONFIG_CHR_DEV_ST=m +CONFIG_CHR_DEV_OSST=m +CONFIG_BLK_DEV_SR=m +CONFIG_BLK_DEV_SR_VENDOR=y +CONFIG_CHR_DEV_SG=m +CONFIG_CHR_DEV_SCH=m +CONFIG_SCSI_ENCLOSURE=m +CONFIG_SCSI_MULTI_LUN=y +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set +CONFIG_SCSI_WAIT_SCAN=m + +# +# SCSI Transports +# +CONFIG_SCSI_SPI_ATTRS=m +CONFIG_SCSI_FC_ATTRS=m +# CONFIG_SCSI_FC_TGT_ATTRS is not set +CONFIG_SCSI_ISCSI_ATTRS=m +CONFIG_SCSI_SAS_ATTRS=m +CONFIG_SCSI_SAS_LIBSAS=m +CONFIG_SCSI_SAS_ATA=y +CONFIG_SCSI_SAS_HOST_SMP=y +CONFIG_SCSI_SRP_ATTRS=m +CONFIG_SCSI_SRP_TGT_ATTRS=y +CONFIG_SCSI_LOWLEVEL=y +CONFIG_ISCSI_TCP=m +CONFIG_ISCSI_BOOT_SYSFS=m +CONFIG_SCSI_CXGB3_ISCSI=m +CONFIG_SCSI_CXGB4_ISCSI=m +CONFIG_SCSI_BNX2_ISCSI=m +CONFIG_SCSI_BNX2X_FCOE=m +CONFIG_BE2ISCSI=m +CONFIG_BLK_DEV_3W_XXXX_RAID=m +CONFIG_SCSI_HPSA=m +CONFIG_SCSI_3W_9XXX=m +CONFIG_SCSI_3W_SAS=m +CONFIG_SCSI_7000FASST=m +CONFIG_SCSI_ACARD=m +CONFIG_SCSI_AHA152X=m +CONFIG_SCSI_AHA1542=m +CONFIG_SCSI_AACRAID=m +CONFIG_SCSI_AIC7XXX=m +CONFIG_AIC7XXX_CMDS_PER_DEVICE=32 +CONFIG_AIC7XXX_RESET_DELAY_MS=15000 +# CONFIG_AIC7XXX_DEBUG_ENABLE is not set +CONFIG_AIC7XXX_DEBUG_MASK=0 +CONFIG_AIC7XXX_REG_PRETTY_PRINT=y +# CONFIG_SCSI_AIC7XXX_OLD is not set +CONFIG_SCSI_AIC79XX=m +CONFIG_AIC79XX_CMDS_PER_DEVICE=32 +CONFIG_AIC79XX_RESET_DELAY_MS=15000 +# CONFIG_AIC79XX_DEBUG_ENABLE is not set +CONFIG_AIC79XX_DEBUG_MASK=0 +CONFIG_AIC79XX_REG_PRETTY_PRINT=y +CONFIG_SCSI_AIC94XX=m +# CONFIG_AIC94XX_DEBUG is not set +CONFIG_SCSI_MVSAS=m +# CONFIG_SCSI_MVSAS_DEBUG is not set +CONFIG_SCSI_MVSAS_TASKLET=y +CONFIG_SCSI_MVUMI=m +CONFIG_SCSI_DPT_I2O=m +CONFIG_SCSI_ADVANSYS=m +CONFIG_SCSI_IN2000=m +CONFIG_SCSI_ARCMSR=m +CONFIG_MEGARAID_NEWGEN=y +CONFIG_MEGARAID_MM=m +CONFIG_MEGARAID_MAILBOX=m +CONFIG_MEGARAID_LEGACY=m +CONFIG_MEGARAID_SAS=m +CONFIG_SCSI_MPT2SAS=m +CONFIG_SCSI_MPT2SAS_MAX_SGE=128 +# CONFIG_SCSI_MPT2SAS_LOGGING is not set +CONFIG_SCSI_HPTIOP=m +CONFIG_SCSI_BUSLOGIC=m +# CONFIG_SCSI_FLASHPOINT is not set +CONFIG_VMWARE_PVSCSI=m +CONFIG_LIBFC=m +CONFIG_LIBFCOE=m +CONFIG_FCOE=m +CONFIG_FCOE_FNIC=m +CONFIG_SCSI_DMX3191D=m +CONFIG_SCSI_DTC3280=m +CONFIG_SCSI_EATA=m +# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set +# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set +CONFIG_SCSI_EATA_MAX_TAGS=16 +CONFIG_SCSI_FUTURE_DOMAIN=m +CONFIG_SCSI_GDTH=m +CONFIG_SCSI_ISCI=m +CONFIG_SCSI_GENERIC_NCR5380=m +CONFIG_SCSI_GENERIC_NCR5380_MMIO=m +CONFIG_SCSI_GENERIC_NCR53C400=y +CONFIG_SCSI_IPS=m +CONFIG_SCSI_INITIO=m +CONFIG_SCSI_INIA100=m +CONFIG_SCSI_PPA=m +CONFIG_SCSI_IMM=m +# CONFIG_SCSI_IZIP_EPP16 is not set +# CONFIG_SCSI_IZIP_SLOW_CTR is not set +CONFIG_SCSI_NCR53C406A=m +CONFIG_SCSI_STEX=m +CONFIG_SCSI_SYM53C8XX_2=m +CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 +CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 +CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 +CONFIG_SCSI_SYM53C8XX_MMIO=y +CONFIG_SCSI_IPR=m +# CONFIG_SCSI_IPR_TRACE is not set +# CONFIG_SCSI_IPR_DUMP is not set +CONFIG_SCSI_PAS16=m +CONFIG_SCSI_QLOGIC_FAS=m +CONFIG_SCSI_QLOGIC_1280=m +CONFIG_SCSI_QLA_FC=m +CONFIG_SCSI_QLA_ISCSI=m +CONFIG_SCSI_LPFC=m +# CONFIG_SCSI_LPFC_DEBUG_FS is not set +CONFIG_SCSI_SYM53C416=m +CONFIG_SCSI_DC395x=m +CONFIG_SCSI_DC390T=m +CONFIG_SCSI_T128=m +CONFIG_SCSI_U14_34F=m +# CONFIG_SCSI_U14_34F_TAGGED_QUEUE is not set +# CONFIG_SCSI_U14_34F_LINKED_COMMANDS is not set +CONFIG_SCSI_U14_34F_MAX_TAGS=8 +CONFIG_SCSI_ULTRASTOR=m +CONFIG_SCSI_NSP32=m +# CONFIG_SCSI_DEBUG is not set +CONFIG_SCSI_PMCRAID=m +CONFIG_SCSI_PM8001=m +CONFIG_SCSI_SRP=m +CONFIG_SCSI_BFA_FC=m +CONFIG_SCSI_LOWLEVEL_PCMCIA=y +CONFIG_PCMCIA_AHA152X=m +CONFIG_PCMCIA_FDOMAIN=m +CONFIG_PCMCIA_NINJA_SCSI=m +CONFIG_PCMCIA_QLOGIC=m +CONFIG_PCMCIA_SYM53C500=m +CONFIG_SCSI_DH=m +CONFIG_SCSI_DH_RDAC=m +CONFIG_SCSI_DH_HP_SW=m +CONFIG_SCSI_DH_EMC=m +CONFIG_SCSI_DH_ALUA=m +CONFIG_SCSI_OSD_INITIATOR=m +CONFIG_SCSI_OSD_ULD=m +CONFIG_SCSI_OSD_DPRINT_SENSE=0 +# CONFIG_SCSI_OSD_DEBUG is not set +CONFIG_ATA=m +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_VERBOSE_ERROR=y +CONFIG_ATA_ACPI=y +CONFIG_SATA_PMP=y + +# +# Controllers with non-SFF native interface +# +CONFIG_SATA_AHCI=m +CONFIG_SATA_AHCI_PLATFORM=m +CONFIG_SATA_INIC162X=m +CONFIG_SATA_ACARD_AHCI=m +CONFIG_SATA_SIL24=m +CONFIG_ATA_SFF=y + +# +# SFF controllers with custom DMA interface +# +CONFIG_PDC_ADMA=m +CONFIG_SATA_QSTOR=m +CONFIG_SATA_SX4=m +CONFIG_ATA_BMDMA=y + +# +# SATA SFF controllers with BMDMA +# +CONFIG_ATA_PIIX=m +CONFIG_SATA_MV=m +CONFIG_SATA_NV=m +CONFIG_SATA_PROMISE=m +CONFIG_SATA_SIL=m +CONFIG_SATA_SIS=m +CONFIG_SATA_SVW=m +CONFIG_SATA_ULI=m +CONFIG_SATA_VIA=m +CONFIG_SATA_VITESSE=m + +# +# PATA SFF controllers with BMDMA +# +CONFIG_PATA_ALI=m +CONFIG_PATA_AMD=m +CONFIG_PATA_ARASAN_CF=m +CONFIG_PATA_ARTOP=m +CONFIG_PATA_ATIIXP=m +CONFIG_PATA_ATP867X=m +CONFIG_PATA_CMD64X=m +CONFIG_PATA_CS5520=m +CONFIG_PATA_CS5530=m +CONFIG_PATA_CS5535=m +CONFIG_PATA_CS5536=m +CONFIG_PATA_CYPRESS=m +CONFIG_PATA_EFAR=m +CONFIG_PATA_HPT366=m +CONFIG_PATA_HPT37X=m +CONFIG_PATA_HPT3X2N=m +CONFIG_PATA_HPT3X3=m +# CONFIG_PATA_HPT3X3_DMA is not set +CONFIG_PATA_IT8213=m +CONFIG_PATA_IT821X=m +CONFIG_PATA_JMICRON=m +CONFIG_PATA_MARVELL=m +CONFIG_PATA_NETCELL=m +CONFIG_PATA_NINJA32=m +CONFIG_PATA_NS87415=m +CONFIG_PATA_OLDPIIX=m +CONFIG_PATA_OPTIDMA=m +CONFIG_PATA_PDC2027X=m +CONFIG_PATA_PDC_OLD=m +CONFIG_PATA_RADISYS=m +CONFIG_PATA_RDC=m +CONFIG_PATA_SC1200=m +CONFIG_PATA_SCH=m +CONFIG_PATA_SERVERWORKS=m +CONFIG_PATA_SIL680=m +CONFIG_PATA_SIS=m +CONFIG_PATA_TOSHIBA=m +CONFIG_PATA_TRIFLEX=m +CONFIG_PATA_VIA=m +CONFIG_PATA_WINBOND=m + +# +# PIO-only SFF controllers +# +CONFIG_PATA_CMD640_PCI=m +CONFIG_PATA_ISAPNP=m +CONFIG_PATA_MPIIX=m +CONFIG_PATA_NS87410=m +CONFIG_PATA_OPTI=m +CONFIG_PATA_PCMCIA=m +CONFIG_PATA_QDI=m +CONFIG_PATA_RZ1000=m +CONFIG_PATA_WINBOND_VLB=m + +# +# Generic fallback / legacy drivers +# +CONFIG_PATA_ACPI=m +CONFIG_ATA_GENERIC=m +CONFIG_PATA_LEGACY=m +CONFIG_MD=y +CONFIG_BLK_DEV_MD=m +CONFIG_MD_LINEAR=m +CONFIG_MD_RAID0=m +CONFIG_MD_RAID1=m +CONFIG_MD_RAID10=m +CONFIG_MD_RAID456=m +# CONFIG_MULTICORE_RAID456 is not set +CONFIG_MD_MULTIPATH=m +CONFIG_MD_FAULTY=m +CONFIG_BLK_DEV_DM=m +# CONFIG_DM_DEBUG is not set +CONFIG_DM_BUFIO=m +CONFIG_DM_PERSISTENT_DATA=m +CONFIG_DM_CRYPT=m +CONFIG_DM_SNAPSHOT=m +CONFIG_DM_THIN_PROVISIONING=m +# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set +# CONFIG_DM_DEBUG_SPACE_MAPS is not set +CONFIG_DM_MIRROR=m +CONFIG_DM_RAID=m +CONFIG_DM_LOG_USERSPACE=m +CONFIG_DM_ZERO=m +CONFIG_DM_MULTIPATH=m +CONFIG_DM_MULTIPATH_QL=m +CONFIG_DM_MULTIPATH_ST=m +CONFIG_DM_DELAY=m +CONFIG_DM_UEVENT=y +CONFIG_DM_FLAKEY=m +CONFIG_TARGET_CORE=m +CONFIG_TCM_IBLOCK=m +CONFIG_TCM_FILEIO=m +CONFIG_TCM_PSCSI=m +CONFIG_LOOPBACK_TARGET=m +CONFIG_TCM_FC=m +CONFIG_ISCSI_TARGET=m +CONFIG_FUSION=y +CONFIG_FUSION_SPI=m +CONFIG_FUSION_FC=m +CONFIG_FUSION_SAS=m +CONFIG_FUSION_MAX_SGE=128 +CONFIG_FUSION_CTL=m +# CONFIG_FUSION_LOGGING is not set + +# +# IEEE 1394 (FireWire) support +# +CONFIG_FIREWIRE=m +CONFIG_FIREWIRE_OHCI=m +CONFIG_FIREWIRE_OHCI_DEBUG=y +CONFIG_FIREWIRE_SBP2=m +CONFIG_FIREWIRE_NET=m +CONFIG_FIREWIRE_NOSY=m +CONFIG_I2O=m +CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y +CONFIG_I2O_EXT_ADAPTEC=y +CONFIG_I2O_CONFIG=m +CONFIG_I2O_CONFIG_OLD_IOCTL=y +CONFIG_I2O_BUS=m +CONFIG_I2O_BLOCK=m +CONFIG_I2O_SCSI=m +CONFIG_I2O_PROC=m +CONFIG_MACINTOSH_DRIVERS=y +CONFIG_MAC_EMUMOUSEBTN=y +CONFIG_NETDEVICES=y +CONFIG_NET_CORE=y +CONFIG_BONDING=m +CONFIG_DUMMY=m +CONFIG_EQUALIZER=m +# CONFIG_NET_FC is not set +CONFIG_MII=m +CONFIG_IEEE802154_DRIVERS=m +CONFIG_IEEE802154_FAKEHARD=m +CONFIG_IFB=m +CONFIG_MACVLAN=m +CONFIG_MACVTAP=m +CONFIG_NETCONSOLE=m +CONFIG_NETCONSOLE_DYNAMIC=y +CONFIG_NETPOLL=y +# CONFIG_NETPOLL_TRAP is not set +CONFIG_NET_POLL_CONTROLLER=y +CONFIG_RIONET=m +CONFIG_RIONET_TX_SIZE=128 +CONFIG_RIONET_RX_SIZE=128 +CONFIG_TUN=m +CONFIG_VETH=m +CONFIG_VIRTIO_NET=m +CONFIG_SUNGEM_PHY=m +# CONFIG_ARCNET is not set +CONFIG_ATM_DRIVERS=y +# CONFIG_ATM_DUMMY is not set +CONFIG_ATM_TCP=m +CONFIG_ATM_LANAI=m +CONFIG_ATM_ENI=m +# CONFIG_ATM_ENI_DEBUG is not set +# CONFIG_ATM_ENI_TUNE_BURST is not set +CONFIG_ATM_FIRESTREAM=m +CONFIG_ATM_ZATM=m +# CONFIG_ATM_ZATM_DEBUG is not set +CONFIG_ATM_NICSTAR=m +# CONFIG_ATM_NICSTAR_USE_SUNI is not set +# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set +CONFIG_ATM_IDT77252=m +# CONFIG_ATM_IDT77252_DEBUG is not set +# CONFIG_ATM_IDT77252_RCV_ALL is not set +CONFIG_ATM_IDT77252_USE_SUNI=y +CONFIG_ATM_AMBASSADOR=m +# CONFIG_ATM_AMBASSADOR_DEBUG is not set +CONFIG_ATM_HORIZON=m +# CONFIG_ATM_HORIZON_DEBUG is not set +CONFIG_ATM_IA=m +# CONFIG_ATM_IA_DEBUG is not set +CONFIG_ATM_FORE200E=m +# CONFIG_ATM_FORE200E_USE_TASKLET is not set +CONFIG_ATM_FORE200E_TX_RETRY=16 +CONFIG_ATM_FORE200E_DEBUG=0 +CONFIG_ATM_HE=m +# CONFIG_ATM_HE_USE_SUNI is not set +CONFIG_ATM_SOLOS=m + +# +# CAIF transport drivers +# +CONFIG_CAIF_TTY=m +CONFIG_CAIF_SPI_SLAVE=m +CONFIG_CAIF_SPI_SYNC=y +CONFIG_CAIF_HSI=m +CONFIG_ETHERNET=y +CONFIG_MDIO=m +CONFIG_NET_VENDOR_3COM=y +CONFIG_EL1=m +CONFIG_EL3=m +CONFIG_3C515=m +CONFIG_PCMCIA_3C574=m +CONFIG_PCMCIA_3C589=m +CONFIG_VORTEX=m +CONFIG_TYPHOON=m +CONFIG_NET_VENDOR_ADAPTEC=y +CONFIG_ADAPTEC_STARFIRE=m +CONFIG_NET_VENDOR_ALTEON=y +CONFIG_ACENIC=m +# CONFIG_ACENIC_OMIT_TIGON_I is not set +CONFIG_NET_VENDOR_AMD=y +CONFIG_AMD8111_ETH=m +CONFIG_LANCE=m +CONFIG_PCNET32=m +CONFIG_DEPCA=m +CONFIG_PCMCIA_NMCLAN=m +CONFIG_NI65=m +CONFIG_NET_VENDOR_ATHEROS=y +CONFIG_ATL2=m +CONFIG_ATL1=m +CONFIG_ATL1E=m +CONFIG_ATL1C=m +CONFIG_NET_VENDOR_BROADCOM=y +CONFIG_B44=m +CONFIG_B44_PCI_AUTOSELECT=y +CONFIG_B44_PCICORE_AUTOSELECT=y +CONFIG_B44_PCI=y +CONFIG_BNX2=m +CONFIG_CNIC=m +CONFIG_TIGON3=m +CONFIG_BNX2X=m +CONFIG_NET_VENDOR_BROCADE=y +CONFIG_BNA=m +CONFIG_NET_VENDOR_CHELSIO=y +CONFIG_CHELSIO_T1=m +CONFIG_CHELSIO_T1_1G=y +CONFIG_CHELSIO_T3=m +CONFIG_CHELSIO_T4=m +CONFIG_CHELSIO_T4VF=m +CONFIG_NET_VENDOR_CIRRUS=y +CONFIG_CS89x0=m +CONFIG_NET_VENDOR_CISCO=y +CONFIG_ENIC=m +CONFIG_DNET=m +CONFIG_NET_VENDOR_DEC=y +CONFIG_EWRK3=m +CONFIG_NET_TULIP=y +CONFIG_DE2104X=m +CONFIG_DE2104X_DSL=0 +CONFIG_TULIP=m +# CONFIG_TULIP_MWI is not set +# CONFIG_TULIP_MMIO is not set +# CONFIG_TULIP_NAPI is not set +CONFIG_DE4X5=m +CONFIG_WINBOND_840=m +CONFIG_DM9102=m +CONFIG_ULI526X=m +CONFIG_PCMCIA_XIRCOM=m +CONFIG_NET_VENDOR_DLINK=y +CONFIG_DE600=m +CONFIG_DE620=m +CONFIG_DL2K=m +CONFIG_SUNDANCE=m +# CONFIG_SUNDANCE_MMIO is not set +CONFIG_NET_VENDOR_EMULEX=y +CONFIG_BE2NET=m +CONFIG_NET_VENDOR_EXAR=y +CONFIG_S2IO=m +CONFIG_VXGE=m +# CONFIG_VXGE_DEBUG_TRACE_ALL is not set +CONFIG_NET_VENDOR_FUJITSU=y +CONFIG_AT1700=m +CONFIG_PCMCIA_FMVJ18X=m +CONFIG_ETH16I=m +CONFIG_NET_VENDOR_HP=y +CONFIG_HP100=m +CONFIG_NET_VENDOR_INTEL=y +CONFIG_E100=m +CONFIG_E1000=m +CONFIG_E1000E=m +CONFIG_IGB=m +CONFIG_IGB_DCA=y +CONFIG_IGBVF=m +CONFIG_IXGB=m +CONFIG_IXGBE=m +CONFIG_IXGBE_DCA=y +CONFIG_IXGBEVF=m +CONFIG_NET_VENDOR_I825XX=y +CONFIG_ELPLUS=m +CONFIG_EL16=m +CONFIG_APRICOT=m +CONFIG_EEXPRESS=m +CONFIG_EEXPRESS_PRO=m +CONFIG_LP486E=m +CONFIG_NI52=m +CONFIG_ZNET=m +CONFIG_IP1000=m +CONFIG_JME=m +CONFIG_NET_VENDOR_MARVELL=y +CONFIG_SKGE=m +# CONFIG_SKGE_DEBUG is not set +CONFIG_SKGE_GENESIS=y +CONFIG_SKY2=m +# CONFIG_SKY2_DEBUG is not set +CONFIG_NET_VENDOR_MELLANOX=y +CONFIG_MLX4_EN=m +CONFIG_MLX4_CORE=m +CONFIG_MLX4_DEBUG=y +CONFIG_NET_VENDOR_MICREL=y +CONFIG_KS8842=m +CONFIG_KS8851=m +CONFIG_KS8851_MLL=m +CONFIG_KSZ884X_PCI=m +CONFIG_NET_VENDOR_MICROCHIP=y +CONFIG_ENC28J60=m +# CONFIG_ENC28J60_WRITEVERIFY is not set +CONFIG_NET_VENDOR_MYRI=y +CONFIG_MYRI10GE=m +CONFIG_MYRI10GE_DCA=y +CONFIG_FEALNX=m +CONFIG_NET_VENDOR_NATSEMI=y +CONFIG_NATSEMI=m +CONFIG_NS83820=m +CONFIG_NET_VENDOR_8390=y +CONFIG_EL2=m +CONFIG_AC3200=m +CONFIG_PCMCIA_AXNET=m +CONFIG_E2100=m +CONFIG_HPLAN_PLUS=m +CONFIG_HPLAN=m +CONFIG_NE2000=m +CONFIG_NE2K_PCI=m +CONFIG_PCMCIA_PCNET=m +CONFIG_ULTRA=m +CONFIG_WD80x3=m +CONFIG_NET_VENDOR_NVIDIA=y +CONFIG_FORCEDETH=m +CONFIG_NET_VENDOR_OKI=y +CONFIG_PCH_GBE=m +CONFIG_ETHOC=m +CONFIG_NET_PACKET_ENGINE=y +CONFIG_HAMACHI=m +CONFIG_YELLOWFIN=m +CONFIG_NET_VENDOR_QLOGIC=y +CONFIG_QLA3XXX=m +CONFIG_QLCNIC=m +CONFIG_QLGE=m +CONFIG_NETXEN_NIC=m +CONFIG_NET_VENDOR_RACAL=y +CONFIG_NET_VENDOR_REALTEK=y +CONFIG_ATP=m +CONFIG_8139CP=m +CONFIG_8139TOO=m +# CONFIG_8139TOO_PIO is not set +CONFIG_8139TOO_TUNE_TWISTER=y +CONFIG_8139TOO_8129=y +# CONFIG_8139_OLD_RX_RESET is not set +CONFIG_R8169=m +CONFIG_NET_VENDOR_RDC=y +CONFIG_R6040=m +CONFIG_NET_VENDOR_SEEQ=y +CONFIG_SEEQ8005=m +CONFIG_NET_VENDOR_SILAN=y +CONFIG_SC92031=m +CONFIG_NET_VENDOR_SIS=y +CONFIG_SIS900=m +CONFIG_SIS190=m +CONFIG_SFC=m +CONFIG_SFC_MTD=y +CONFIG_NET_VENDOR_SMSC=y +CONFIG_SMC9194=m +CONFIG_PCMCIA_SMC91C92=m +CONFIG_EPIC100=m +CONFIG_SMSC9420=m +CONFIG_NET_VENDOR_STMICRO=y +CONFIG_STMMAC_ETH=m +# CONFIG_STMMAC_DEBUG_FS is not set +# CONFIG_STMMAC_DA is not set +CONFIG_STMMAC_RING=y +# CONFIG_STMMAC_CHAINED is not set +CONFIG_NET_VENDOR_SUN=y +CONFIG_HAPPYMEAL=m +CONFIG_SUNGEM=m +CONFIG_CASSINI=m +CONFIG_NIU=m +CONFIG_NET_VENDOR_TEHUTI=y +CONFIG_TEHUTI=m +CONFIG_NET_VENDOR_TI=y +CONFIG_TLAN=m +CONFIG_NET_VENDOR_VIA=y +CONFIG_VIA_RHINE=m +# CONFIG_VIA_RHINE_MMIO is not set +CONFIG_VIA_VELOCITY=m +CONFIG_NET_VENDOR_XIRCOM=y +CONFIG_PCMCIA_XIRC2PS=m +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +CONFIG_NET_SB1000=m +CONFIG_PHYLIB=m + +# +# MII PHY device drivers +# +CONFIG_MARVELL_PHY=m +CONFIG_DAVICOM_PHY=m +CONFIG_QSEMI_PHY=m +CONFIG_LXT_PHY=m +CONFIG_CICADA_PHY=m +CONFIG_VITESSE_PHY=m +CONFIG_SMSC_PHY=m +CONFIG_BROADCOM_PHY=m +CONFIG_ICPLUS_PHY=m +CONFIG_REALTEK_PHY=m +CONFIG_NATIONAL_PHY=m +CONFIG_STE10XP=m +CONFIG_LSI_ET1011C_PHY=m +CONFIG_MICREL_PHY=m +# CONFIG_MDIO_BITBANG is not set +CONFIG_PLIP=m +CONFIG_PPP=m +CONFIG_PPP_BSDCOMP=m +CONFIG_PPP_DEFLATE=m +CONFIG_PPP_FILTER=y +CONFIG_PPP_MPPE=m +CONFIG_PPP_MULTILINK=y +CONFIG_PPPOATM=m +CONFIG_PPPOE=m +CONFIG_PPTP=m +CONFIG_PPPOL2TP=m +CONFIG_PPP_ASYNC=m +CONFIG_PPP_SYNC_TTY=m +CONFIG_SLIP=m +CONFIG_SLHC=m +# CONFIG_SLIP_COMPRESSED is not set +# CONFIG_SLIP_SMART is not set +# CONFIG_SLIP_MODE_SLIP6 is not set +# CONFIG_TR is not set + +# +# USB Network Adapters +# +CONFIG_USB_CATC=m +CONFIG_USB_KAWETH=m +CONFIG_USB_PEGASUS=m +CONFIG_USB_RTL8150=m +CONFIG_USB_USBNET=m +CONFIG_USB_NET_AX8817X=m +CONFIG_USB_NET_CDCETHER=m +CONFIG_USB_NET_CDC_EEM=m +CONFIG_USB_NET_CDC_NCM=m +CONFIG_USB_NET_DM9601=m +CONFIG_USB_NET_SMSC75XX=m +CONFIG_USB_NET_SMSC95XX=m +CONFIG_USB_NET_GL620A=m +CONFIG_USB_NET_NET1080=m +CONFIG_USB_NET_PLUSB=m +CONFIG_USB_NET_MCS7830=m +CONFIG_USB_NET_RNDIS_HOST=m +CONFIG_USB_NET_CDC_SUBSET=m +CONFIG_USB_ALI_M5632=y +CONFIG_USB_AN2720=y +CONFIG_USB_BELKIN=y +CONFIG_USB_ARMLINUX=y +CONFIG_USB_EPSON2888=y +CONFIG_USB_KC2190=y +CONFIG_USB_NET_ZAURUS=m +CONFIG_USB_NET_CX82310_ETH=m +CONFIG_USB_NET_KALMIA=m +CONFIG_USB_HSO=m +CONFIG_USB_NET_INT51X1=m +CONFIG_USB_CDC_PHONET=m +CONFIG_USB_IPHETH=m +CONFIG_USB_SIERRA_NET=m +CONFIG_USB_VL600=m +CONFIG_WLAN=y +CONFIG_PCMCIA_RAYCS=m +CONFIG_LIBERTAS_THINFIRM=m +# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set +CONFIG_LIBERTAS_THINFIRM_USB=m +CONFIG_AIRO=m +CONFIG_ATMEL=m +CONFIG_PCI_ATMEL=m +CONFIG_PCMCIA_ATMEL=m +CONFIG_AT76C50X_USB=m +CONFIG_AIRO_CS=m +CONFIG_PCMCIA_WL3501=m +CONFIG_PRISM54=m +CONFIG_USB_ZD1201=m +CONFIG_USB_NET_RNDIS_WLAN=m +CONFIG_RTL8180=m +CONFIG_RTL8187=m +CONFIG_RTL8187_LEDS=y +CONFIG_ADM8211=m +# CONFIG_MAC80211_HWSIM is not set +CONFIG_MWL8K=m +CONFIG_ATH_COMMON=m +# CONFIG_ATH_DEBUG is not set +CONFIG_ATH5K=m +# CONFIG_ATH5K_DEBUG is not set +# CONFIG_ATH5K_TRACER is not set +CONFIG_ATH5K_PCI=y +CONFIG_ATH9K_HW=m +CONFIG_ATH9K_COMMON=m +CONFIG_ATH9K=m +CONFIG_ATH9K_PCI=y +CONFIG_ATH9K_AHB=y +# CONFIG_ATH9K_DEBUGFS is not set +CONFIG_ATH9K_RATE_CONTROL=y +CONFIG_ATH9K_HTC=m +# CONFIG_ATH9K_HTC_DEBUGFS is not set +CONFIG_CARL9170=m +CONFIG_CARL9170_LEDS=y +CONFIG_CARL9170_WPC=y +# CONFIG_CARL9170_HWRNG is not set +CONFIG_ATH6KL=m +# CONFIG_ATH6KL_DEBUG is not set +CONFIG_B43=m +CONFIG_B43_SSB=y +CONFIG_B43_PCI_AUTOSELECT=y +CONFIG_B43_PCICORE_AUTOSELECT=y +CONFIG_B43_PCMCIA=y +CONFIG_B43_SDIO=y +CONFIG_B43_PIO=y +CONFIG_B43_PHY_N=y +CONFIG_B43_PHY_LP=y +CONFIG_B43_PHY_HT=y +CONFIG_B43_LEDS=y +CONFIG_B43_HWRNG=y +# CONFIG_B43_DEBUG is not set +CONFIG_B43LEGACY=m +CONFIG_B43LEGACY_PCI_AUTOSELECT=y +CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y +CONFIG_B43LEGACY_LEDS=y +CONFIG_B43LEGACY_HWRNG=y +# CONFIG_B43LEGACY_DEBUG is not set +CONFIG_B43LEGACY_DMA=y +CONFIG_B43LEGACY_PIO=y +CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y +# CONFIG_B43LEGACY_DMA_MODE is not set +# CONFIG_B43LEGACY_PIO_MODE is not set +CONFIG_BRCMUTIL=m +CONFIG_BRCMSMAC=m +CONFIG_BRCMFMAC=m +# CONFIG_BRCMDBG is not set +CONFIG_HOSTAP=m +CONFIG_HOSTAP_FIRMWARE=y +# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set +CONFIG_HOSTAP_PLX=m +CONFIG_HOSTAP_PCI=m +CONFIG_HOSTAP_CS=m +CONFIG_IPW2100=m +CONFIG_IPW2100_MONITOR=y +# CONFIG_IPW2100_DEBUG is not set +CONFIG_IPW2200=m +CONFIG_IPW2200_MONITOR=y +CONFIG_IPW2200_RADIOTAP=y +CONFIG_IPW2200_PROMISCUOUS=y +CONFIG_IPW2200_QOS=y +# CONFIG_IPW2200_DEBUG is not set +CONFIG_LIBIPW=m +# CONFIG_LIBIPW_DEBUG is not set +CONFIG_IWLWIFI=m + +# +# Debugging Options +# +# CONFIG_IWLWIFI_DEBUG is not set +CONFIG_IWLWIFI_DEVICE_TRACING=y +CONFIG_IWLWIFI_DEVICE_SVTOOL=y +CONFIG_IWLWIFI_LEGACY=m + +# +# Debugging Options +# +# CONFIG_IWLWIFI_LEGACY_DEBUG is not set +# CONFIG_IWLWIFI_LEGACY_DEVICE_TRACING is not set +CONFIG_IWL4965=m +CONFIG_IWL3945=m +CONFIG_IWM=m +# CONFIG_IWM_DEBUG is not set +CONFIG_IWM_TRACING=y +CONFIG_LIBERTAS=m +CONFIG_LIBERTAS_USB=m +CONFIG_LIBERTAS_CS=m +CONFIG_LIBERTAS_SDIO=m +CONFIG_LIBERTAS_SPI=m +# CONFIG_LIBERTAS_DEBUG is not set +CONFIG_LIBERTAS_MESH=y +CONFIG_HERMES=m +CONFIG_HERMES_PRISM=y +CONFIG_HERMES_CACHE_FW_ON_INIT=y +CONFIG_PLX_HERMES=m +CONFIG_TMD_HERMES=m +CONFIG_NORTEL_HERMES=m +CONFIG_PCI_HERMES=m +CONFIG_PCMCIA_HERMES=m +CONFIG_PCMCIA_SPECTRUM=m +CONFIG_ORINOCO_USB=m +CONFIG_P54_COMMON=m +CONFIG_P54_USB=m +CONFIG_P54_PCI=m +CONFIG_P54_SPI=m +CONFIG_P54_SPI_DEFAULT_EEPROM=y +CONFIG_P54_LEDS=y +CONFIG_RT2X00=m +CONFIG_RT2400PCI=m +CONFIG_RT2500PCI=m +CONFIG_RT61PCI=m +CONFIG_RT2800PCI=m +CONFIG_RT2800PCI_RT33XX=y +CONFIG_RT2800PCI_RT35XX=y +CONFIG_RT2800PCI_RT53XX=y +CONFIG_RT2500USB=m +CONFIG_RT73USB=m +CONFIG_RT2800USB=m +CONFIG_RT2800USB_RT33XX=y +CONFIG_RT2800USB_RT35XX=y +CONFIG_RT2800USB_RT53XX=y +CONFIG_RT2800USB_UNKNOWN=y +CONFIG_RT2800_LIB=m +CONFIG_RT2X00_LIB_PCI=m +CONFIG_RT2X00_LIB_USB=m +CONFIG_RT2X00_LIB=m +CONFIG_RT2X00_LIB_FIRMWARE=y +CONFIG_RT2X00_LIB_CRYPTO=y +CONFIG_RT2X00_LIB_LEDS=y +# CONFIG_RT2X00_DEBUG is not set +CONFIG_RTL8192CE=m +CONFIG_RTL8192SE=m +CONFIG_RTL8192DE=m +CONFIG_RTL8192CU=m +CONFIG_RTLWIFI=m +CONFIG_RTL8192C_COMMON=m +CONFIG_WL1251=m +CONFIG_WL1251_SPI=m +CONFIG_WL1251_SDIO=m +CONFIG_WL12XX_MENU=m +CONFIG_WL12XX=m +CONFIG_WL12XX_SPI=m +CONFIG_WL12XX_SDIO=m +CONFIG_WL12XX_SDIO_TEST=m +CONFIG_WL12XX_PLATFORM_DATA=y +CONFIG_ZD1211RW=m +# CONFIG_ZD1211RW_DEBUG is not set +CONFIG_MWIFIEX=m +CONFIG_MWIFIEX_SDIO=m +CONFIG_MWIFIEX_PCIE=m + +# +# WiMAX Wireless Broadband devices +# +CONFIG_WIMAX_I2400M=m +CONFIG_WIMAX_I2400M_USB=m +CONFIG_WIMAX_I2400M_SDIO=m +# CONFIG_WIMAX_IWMC3200_SDIO is not set +CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 +# CONFIG_WAN is not set +CONFIG_VMXNET3=m +CONFIG_ISDN=y +CONFIG_ISDN_I4L=m +CONFIG_ISDN_PPP=y +CONFIG_ISDN_PPP_VJ=y +CONFIG_ISDN_MPP=y +CONFIG_IPPP_FILTER=y +CONFIG_ISDN_PPP_BSDCOMP=m +CONFIG_ISDN_AUDIO=y +CONFIG_ISDN_TTY_FAX=y + +# +# ISDN feature submodules +# +CONFIG_ISDN_DIVERSION=m + +# +# ISDN4Linux hardware drivers +# + +# +# Passive cards +# +CONFIG_ISDN_DRV_HISAX=m + +# +# D-channel protocol features +# +CONFIG_HISAX_EURO=y +CONFIG_DE_AOC=y +# CONFIG_HISAX_NO_SENDCOMPLETE is not set +# CONFIG_HISAX_NO_LLC is not set +# CONFIG_HISAX_NO_KEYPAD is not set +CONFIG_HISAX_1TR6=y +CONFIG_HISAX_NI1=y +CONFIG_HISAX_MAX_CARDS=8 + +# +# HiSax supported cards +# +CONFIG_HISAX_16_0=y +CONFIG_HISAX_16_3=y +CONFIG_HISAX_TELESPCI=y +CONFIG_HISAX_S0BOX=y +CONFIG_HISAX_AVM_A1=y +CONFIG_HISAX_FRITZPCI=y +CONFIG_HISAX_AVM_A1_PCMCIA=y +CONFIG_HISAX_ELSA=y +CONFIG_HISAX_IX1MICROR2=y +CONFIG_HISAX_DIEHLDIVA=y +CONFIG_HISAX_ASUSCOM=y +CONFIG_HISAX_TELEINT=y +CONFIG_HISAX_HFCS=y +CONFIG_HISAX_SEDLBAUER=y +CONFIG_HISAX_SPORTSTER=y +CONFIG_HISAX_MIC=y +CONFIG_HISAX_NETJET=y +CONFIG_HISAX_NETJET_U=y +CONFIG_HISAX_NICCY=y +CONFIG_HISAX_ISURF=y +CONFIG_HISAX_HSTSAPHIR=y +CONFIG_HISAX_BKM_A4T=y +CONFIG_HISAX_SCT_QUADRO=y +CONFIG_HISAX_GAZEL=y +CONFIG_HISAX_HFC_PCI=y +CONFIG_HISAX_W6692=y +CONFIG_HISAX_HFC_SX=y +CONFIG_HISAX_ENTERNOW_PCI=y +# CONFIG_HISAX_DEBUG is not set + +# +# HiSax PCMCIA card service modules +# +CONFIG_HISAX_SEDLBAUER_CS=m +CONFIG_HISAX_ELSA_CS=m +CONFIG_HISAX_AVM_A1_CS=m +CONFIG_HISAX_TELES_CS=m + +# +# HiSax sub driver modules +# +CONFIG_HISAX_ST5481=m +CONFIG_HISAX_HFCUSB=m +CONFIG_HISAX_HFC4S8S=m +CONFIG_HISAX_FRITZ_PCIPNP=m + +# +# Active cards +# +CONFIG_ISDN_DRV_ICN=m +CONFIG_ISDN_DRV_PCBIT=m +CONFIG_ISDN_DRV_SC=m +CONFIG_ISDN_DRV_ACT2000=m +CONFIG_ISDN_CAPI=m +CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y +CONFIG_CAPI_TRACE=y +CONFIG_ISDN_CAPI_MIDDLEWARE=y +CONFIG_ISDN_CAPI_CAPI20=m +CONFIG_ISDN_CAPI_CAPIDRV=m + +# +# CAPI hardware drivers +# +CONFIG_CAPI_AVM=y +CONFIG_ISDN_DRV_AVMB1_B1ISA=m +CONFIG_ISDN_DRV_AVMB1_B1PCI=m +CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y +CONFIG_ISDN_DRV_AVMB1_T1ISA=m +CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m +CONFIG_ISDN_DRV_AVMB1_AVM_CS=m +CONFIG_ISDN_DRV_AVMB1_T1PCI=m +CONFIG_ISDN_DRV_AVMB1_C4=m +CONFIG_CAPI_EICON=y +CONFIG_ISDN_DIVAS=m +CONFIG_ISDN_DIVAS_BRIPCI=y +CONFIG_ISDN_DIVAS_PRIPCI=y +CONFIG_ISDN_DIVAS_DIVACAPI=m +CONFIG_ISDN_DIVAS_USERIDI=m +CONFIG_ISDN_DIVAS_MAINT=m +CONFIG_ISDN_DRV_GIGASET=m +CONFIG_GIGASET_CAPI=y +# CONFIG_GIGASET_I4L is not set +# CONFIG_GIGASET_DUMMYLL is not set +CONFIG_GIGASET_BASE=m +CONFIG_GIGASET_M105=m +CONFIG_GIGASET_M101=m +# CONFIG_GIGASET_DEBUG is not set +CONFIG_HYSDN=m +CONFIG_HYSDN_CAPI=y +CONFIG_MISDN=m +CONFIG_MISDN_DSP=m +CONFIG_MISDN_L1OIP=m + +# +# mISDN hardware drivers +# +CONFIG_MISDN_HFCPCI=m +CONFIG_MISDN_HFCMULTI=m +CONFIG_MISDN_HFCUSB=m +CONFIG_MISDN_AVMFRITZ=m +CONFIG_MISDN_SPEEDFAX=m +CONFIG_MISDN_INFINEON=m +CONFIG_MISDN_W6692=m +CONFIG_MISDN_NETJET=m +CONFIG_MISDN_IPAC=m +CONFIG_MISDN_ISAR=m +CONFIG_ISDN_HDLC=m +# CONFIG_PHONE is not set + +# +# Input device support +# +CONFIG_INPUT=y +CONFIG_INPUT_FF_MEMLESS=m +CONFIG_INPUT_POLLDEV=m +CONFIG_INPUT_SPARSEKMAP=m + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_JOYDEV=m +CONFIG_INPUT_EVDEV=m +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +CONFIG_KEYBOARD_ADP5588=m +CONFIG_KEYBOARD_ADP5589=m +CONFIG_KEYBOARD_ATKBD=y +CONFIG_KEYBOARD_QT1070=m +CONFIG_KEYBOARD_QT2160=m +# CONFIG_KEYBOARD_LKKBD is not set +CONFIG_KEYBOARD_GPIO=m +CONFIG_KEYBOARD_GPIO_POLLED=m +CONFIG_KEYBOARD_TCA6416=m +CONFIG_KEYBOARD_MATRIX=m +# CONFIG_KEYBOARD_LM8323 is not set +# CONFIG_KEYBOARD_MAX7359 is not set +CONFIG_KEYBOARD_MCS=m +CONFIG_KEYBOARD_MPR121=m +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_OPENCORES is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=m +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_LIFEBOOK=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +CONFIG_MOUSE_PS2_ELANTECH=y +CONFIG_MOUSE_PS2_SENTELIC=y +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +CONFIG_MOUSE_PS2_OLPC=y +CONFIG_MOUSE_SERIAL=y +CONFIG_MOUSE_APPLETOUCH=m +CONFIG_MOUSE_BCM5974=m +CONFIG_MOUSE_INPORT=m +# CONFIG_MOUSE_ATIXL is not set +CONFIG_MOUSE_LOGIBM=m +CONFIG_MOUSE_PC110PAD=m +CONFIG_MOUSE_VSXXXAA=m +CONFIG_MOUSE_GPIO=m +CONFIG_MOUSE_SYNAPTICS_I2C=m +CONFIG_INPUT_JOYSTICK=y +CONFIG_JOYSTICK_ANALOG=m +CONFIG_JOYSTICK_A3D=m +CONFIG_JOYSTICK_ADI=m +CONFIG_JOYSTICK_COBRA=m +CONFIG_JOYSTICK_GF2K=m +CONFIG_JOYSTICK_GRIP=m +CONFIG_JOYSTICK_GRIP_MP=m +CONFIG_JOYSTICK_GUILLEMOT=m +CONFIG_JOYSTICK_INTERACT=m +CONFIG_JOYSTICK_SIDEWINDER=m +CONFIG_JOYSTICK_TMDC=m +CONFIG_JOYSTICK_IFORCE=m +CONFIG_JOYSTICK_IFORCE_USB=y +CONFIG_JOYSTICK_IFORCE_232=y +CONFIG_JOYSTICK_WARRIOR=m +CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_SPACEORB=m +CONFIG_JOYSTICK_SPACEBALL=m +CONFIG_JOYSTICK_STINGER=m +CONFIG_JOYSTICK_TWIDJOY=m +CONFIG_JOYSTICK_ZHENHUA=m +CONFIG_JOYSTICK_DB9=m +CONFIG_JOYSTICK_GAMECON=m +CONFIG_JOYSTICK_TURBOGRAFX=m +CONFIG_JOYSTICK_AS5011=m +CONFIG_JOYSTICK_JOYDUMP=m +CONFIG_JOYSTICK_XPAD=m +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +CONFIG_JOYSTICK_WALKERA0701=m +CONFIG_INPUT_TABLET=y +CONFIG_TABLET_USB_ACECAD=m +CONFIG_TABLET_USB_AIPTEK=m +CONFIG_TABLET_USB_GTCO=m +CONFIG_TABLET_USB_HANWANG=m +CONFIG_TABLET_USB_KBTAB=m +CONFIG_TABLET_USB_WACOM=m +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_ADS7846=m +CONFIG_TOUCHSCREEN_AD7877=m +CONFIG_TOUCHSCREEN_AD7879=m +CONFIG_TOUCHSCREEN_AD7879_I2C=m +CONFIG_TOUCHSCREEN_AD7879_SPI=m +CONFIG_TOUCHSCREEN_ATMEL_MXT=m +CONFIG_TOUCHSCREEN_BU21013=m +CONFIG_TOUCHSCREEN_CY8CTMG110=m +CONFIG_TOUCHSCREEN_DYNAPRO=m +CONFIG_TOUCHSCREEN_HAMPSHIRE=m +CONFIG_TOUCHSCREEN_EETI=m +CONFIG_TOUCHSCREEN_FUJITSU=m +CONFIG_TOUCHSCREEN_GUNZE=m +CONFIG_TOUCHSCREEN_ELO=m +CONFIG_TOUCHSCREEN_WACOM_W8001=m +CONFIG_TOUCHSCREEN_MAX11801=m +CONFIG_TOUCHSCREEN_MCS5000=m +CONFIG_TOUCHSCREEN_MTOUCH=m +CONFIG_TOUCHSCREEN_INEXIO=m +CONFIG_TOUCHSCREEN_MK712=m +CONFIG_TOUCHSCREEN_HTCPEN=m +CONFIG_TOUCHSCREEN_PENMOUNT=m +CONFIG_TOUCHSCREEN_TOUCHRIGHT=m +CONFIG_TOUCHSCREEN_TOUCHWIN=m +CONFIG_TOUCHSCREEN_UCB1400=m +CONFIG_TOUCHSCREEN_WM831X=m +CONFIG_TOUCHSCREEN_WM97XX=m +CONFIG_TOUCHSCREEN_WM9705=y +CONFIG_TOUCHSCREEN_WM9712=y +CONFIG_TOUCHSCREEN_WM9713=y +CONFIG_TOUCHSCREEN_USB_COMPOSITE=m +CONFIG_TOUCHSCREEN_MC13783=m +CONFIG_TOUCHSCREEN_USB_EGALAX=y +CONFIG_TOUCHSCREEN_USB_PANJIT=y +CONFIG_TOUCHSCREEN_USB_3M=y +CONFIG_TOUCHSCREEN_USB_ITM=y +CONFIG_TOUCHSCREEN_USB_ETURBO=y +CONFIG_TOUCHSCREEN_USB_GUNZE=y +CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y +CONFIG_TOUCHSCREEN_USB_IRTOUCH=y +CONFIG_TOUCHSCREEN_USB_IDEALTEK=y +CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y +CONFIG_TOUCHSCREEN_USB_GOTOP=y +CONFIG_TOUCHSCREEN_USB_JASTEC=y +CONFIG_TOUCHSCREEN_USB_E2I=y +CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y +CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y +CONFIG_TOUCHSCREEN_USB_NEXIO=y +CONFIG_TOUCHSCREEN_TOUCHIT213=m +CONFIG_TOUCHSCREEN_TSC_SERIO=m +CONFIG_TOUCHSCREEN_TSC2005=m +CONFIG_TOUCHSCREEN_TSC2007=m +CONFIG_TOUCHSCREEN_PCAP=m +CONFIG_TOUCHSCREEN_ST1232=m +CONFIG_TOUCHSCREEN_TPS6507X=m +CONFIG_INPUT_MISC=y +CONFIG_INPUT_AB8500_PONKEY=m +CONFIG_INPUT_AD714X=m +CONFIG_INPUT_AD714X_I2C=m +CONFIG_INPUT_AD714X_SPI=m +CONFIG_INPUT_BMA150=m +CONFIG_INPUT_PCSPKR=m +CONFIG_INPUT_MC13783_PWRBUTTON=m +CONFIG_INPUT_MMA8450=m +CONFIG_INPUT_MPU3050=m +CONFIG_INPUT_APANEL=m +CONFIG_INPUT_WISTRON_BTNS=m +CONFIG_INPUT_ATLAS_BTNS=m +CONFIG_INPUT_ATI_REMOTE2=m +CONFIG_INPUT_KEYSPAN_REMOTE=m +CONFIG_INPUT_KXTJ9=m +# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set +CONFIG_INPUT_POWERMATE=m +CONFIG_INPUT_YEALINK=m +CONFIG_INPUT_CM109=m +CONFIG_INPUT_UINPUT=m +CONFIG_INPUT_PCF50633_PMU=m +CONFIG_INPUT_PCF8574=m +CONFIG_INPUT_GPIO_ROTARY_ENCODER=m +CONFIG_INPUT_WM831X_ON=m +# CONFIG_INPUT_PCAP is not set +CONFIG_INPUT_ADXL34X=m +CONFIG_INPUT_ADXL34X_I2C=m +CONFIG_INPUT_ADXL34X_SPI=m +CONFIG_INPUT_CMA3000=m +CONFIG_INPUT_CMA3000_I2C=m + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_I8042=y +CONFIG_SERIO_SERPORT=m +CONFIG_SERIO_CT82C710=m +CONFIG_SERIO_PARKBD=m +CONFIG_SERIO_PCIPS2=m +CONFIG_SERIO_LIBPS2=y +CONFIG_SERIO_RAW=m +CONFIG_SERIO_ALTERA_PS2=m +CONFIG_SERIO_PS2MULT=m +CONFIG_GAMEPORT=m +CONFIG_GAMEPORT_NS558=m +CONFIG_GAMEPORT_L4=m +CONFIG_GAMEPORT_EMU10K1=m +CONFIG_GAMEPORT_FM801=m + +# +# Character devices +# +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_HW_CONSOLE=y +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_UNIX98_PTYS=y +CONFIG_DEVPTS_MULTIPLE_INSTANCES=y +# CONFIG_LEGACY_PTYS is not set +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_ROCKETPORT=m +CONFIG_CYCLADES=m +# CONFIG_CYZ_INTR is not set +# CONFIG_MOXA_INTELLIO is not set +# CONFIG_MOXA_SMARTIO is not set +CONFIG_SYNCLINK=m +CONFIG_SYNCLINKMP=m +# CONFIG_SYNCLINK_GT is not set +CONFIG_NOZOMI=m +# CONFIG_ISI is not set +CONFIG_N_HDLC=m +CONFIG_N_GSM=m +CONFIG_TRACE_ROUTER=m +CONFIG_TRACE_SINK=m +# CONFIG_DEVKMEM is not set +# CONFIG_STALDRV is not set + +# +# Serial drivers +# +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_SERIAL_8250_PCI=y +CONFIG_SERIAL_8250_PNP=y +CONFIG_SERIAL_8250_CS=m +CONFIG_SERIAL_8250_NR_UARTS=32 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +# CONFIG_SERIAL_8250_EXTENDED is not set +CONFIG_SERIAL_8250_DW=m + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_MAX3100=m +CONFIG_SERIAL_MAX3107=m +CONFIG_SERIAL_MFD_HSU=m +CONFIG_SERIAL_UARTLITE=m +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_SERIAL_JSM=m +CONFIG_SERIAL_OF_PLATFORM=m +CONFIG_SERIAL_TIMBERDALE=m +CONFIG_SERIAL_ALTERA_JTAGUART=m +CONFIG_SERIAL_ALTERA_UART=m +CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4 +CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200 +CONFIG_SERIAL_IFX6X60=m +CONFIG_SERIAL_PCH_UART=m +CONFIG_SERIAL_XILINX_PS_UART=m +CONFIG_PRINTER=m +# CONFIG_LP_CONSOLE is not set +CONFIG_PPDEV=m +CONFIG_HVC_DRIVER=y +CONFIG_VIRTIO_CONSOLE=y +CONFIG_IPMI_HANDLER=m +# CONFIG_IPMI_PANIC_EVENT is not set +CONFIG_IPMI_DEVICE_INTERFACE=m +CONFIG_IPMI_SI=m +CONFIG_IPMI_WATCHDOG=m +CONFIG_IPMI_POWEROFF=m +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_TIMERIOMEM=m +CONFIG_HW_RANDOM_INTEL=m +CONFIG_HW_RANDOM_AMD=m +CONFIG_HW_RANDOM_GEODE=m +CONFIG_HW_RANDOM_VIA=m +CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_NVRAM=m +CONFIG_DTLK=m +CONFIG_R3964=m +CONFIG_APPLICOM=m +CONFIG_SONYPI=m + +# +# PCMCIA character devices +# +CONFIG_SYNCLINK_CS=m +CONFIG_CARDMAN_4000=m +CONFIG_CARDMAN_4040=m +CONFIG_IPWIRELESS=m +CONFIG_MWAVE=m +CONFIG_PC8736x_GPIO=m +CONFIG_NSC_GPIO=m +# CONFIG_RAW_DRIVER is not set +CONFIG_HPET=y +CONFIG_HPET_MMAP=y +CONFIG_HANGCHECK_TIMER=m +CONFIG_TCG_TPM=m +CONFIG_TCG_TIS=m +CONFIG_TCG_NSC=m +CONFIG_TCG_ATMEL=m +CONFIG_TCG_INFINEON=m +CONFIG_TELCLOCK=m +CONFIG_DEVPORT=y +CONFIG_RAMOOPS=m +CONFIG_I2C=m +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_CHARDEV=m +CONFIG_I2C_MUX=m + +# +# Multiplexer I2C Chip support +# +CONFIG_I2C_MUX_GPIO=m +CONFIG_I2C_MUX_PCA9541=m +CONFIG_I2C_MUX_PCA954x=m +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_SMBUS=m +CONFIG_I2C_ALGOBIT=m +CONFIG_I2C_ALGOPCA=m + +# +# I2C Hardware Bus support +# + +# +# PC SMBus host controller drivers +# +CONFIG_I2C_ALI1535=m +CONFIG_I2C_ALI1563=m +CONFIG_I2C_ALI15X3=m +CONFIG_I2C_AMD756=m +CONFIG_I2C_AMD756_S4882=m +CONFIG_I2C_AMD8111=m +CONFIG_I2C_I801=m +CONFIG_I2C_ISCH=m +CONFIG_I2C_PIIX4=m +CONFIG_I2C_NFORCE2=m +CONFIG_I2C_NFORCE2_S4985=m +CONFIG_I2C_SIS5595=m +CONFIG_I2C_SIS630=m +CONFIG_I2C_SIS96X=m +CONFIG_I2C_VIA=m +CONFIG_I2C_VIAPRO=m + +# +# ACPI drivers +# +CONFIG_I2C_SCMI=m + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +CONFIG_I2C_DESIGNWARE_PCI=m +CONFIG_I2C_GPIO=m +CONFIG_I2C_INTEL_MID=m +CONFIG_I2C_OCORES=m +CONFIG_I2C_PCA_PLATFORM=m +CONFIG_I2C_PXA=m +CONFIG_I2C_PXA_PCI=y +CONFIG_I2C_SIMTEC=m +CONFIG_I2C_XILINX=m +CONFIG_I2C_EG20T=m + +# +# External I2C/SMBus adapter drivers +# +CONFIG_I2C_DIOLAN_U2C=m +CONFIG_I2C_PARPORT=m +CONFIG_I2C_PARPORT_LIGHT=m +CONFIG_I2C_TAOS_EVM=m +CONFIG_I2C_TINY_USB=m + +# +# Other I2C/SMBus bus drivers +# +CONFIG_I2C_PCA_ISA=m +# CONFIG_I2C_STUB is not set +CONFIG_SCx200_ACB=m +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +CONFIG_SPI_ALTERA=m +CONFIG_SPI_BITBANG=m +CONFIG_SPI_BUTTERFLY=m +CONFIG_SPI_GPIO=m +CONFIG_SPI_LM70_LLP=m +CONFIG_SPI_OC_TINY=m +CONFIG_SPI_PXA2XX=m +CONFIG_SPI_PXA2XX_PCI=y +CONFIG_SPI_TOPCLIFF_PCH=m +CONFIG_SPI_XILINX=m +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=m +CONFIG_SPI_TLE62X0=m + +# +# PPS support +# +CONFIG_PPS=m +# CONFIG_PPS_DEBUG is not set + +# +# PPS clients support +# +CONFIG_PPS_CLIENT_KTIMER=m +CONFIG_PPS_CLIENT_LDISC=m +CONFIG_PPS_CLIENT_PARPORT=m +CONFIG_PPS_CLIENT_GPIO=m + +# +# PPS generators support +# + +# +# PTP clock support +# +CONFIG_PTP_1588_CLOCK=m +CONFIG_DP83640_PHY=m +CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y +CONFIG_GPIOLIB=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC=m +CONFIG_GPIO_MAX730X=m + +# +# Memory mapped GPIO drivers: +# +CONFIG_GPIO_GENERIC_PLATFORM=m +CONFIG_GPIO_IT8761E=m +CONFIG_GPIO_SCH=m +CONFIG_GPIO_VX855=m + +# +# I2C GPIO expanders: +# +CONFIG_GPIO_MAX7300=m +CONFIG_GPIO_MAX732X=m +CONFIG_GPIO_PCA953X=m +CONFIG_GPIO_PCF857X=m +CONFIG_GPIO_TPS65912=m +CONFIG_GPIO_WM831X=m +CONFIG_GPIO_ADP5588=m + +# +# PCI GPIO expanders: +# +CONFIG_GPIO_CS5535=y +CONFIG_GPIO_LANGWELL=y +CONFIG_GPIO_PCH=m +CONFIG_GPIO_ML_IOH=m +CONFIG_GPIO_TIMBERDALE=y +CONFIG_GPIO_RDC321X=m + +# +# SPI GPIO expanders: +# +CONFIG_GPIO_MAX7301=m +CONFIG_GPIO_MCP23S08=m +CONFIG_GPIO_MC33880=m +CONFIG_GPIO_74X164=m + +# +# AC97 GPIO expanders: +# +CONFIG_GPIO_UCB1400=y + +# +# MODULbus GPIO expanders: +# +CONFIG_GPIO_JANZ_TTL=m +CONFIG_W1=m +CONFIG_W1_CON=y + +# +# 1-wire Bus Masters +# +CONFIG_W1_MASTER_MATROX=m +CONFIG_W1_MASTER_DS2490=m +CONFIG_W1_MASTER_DS2482=m +CONFIG_W1_MASTER_DS1WM=m +CONFIG_W1_MASTER_GPIO=m + +# +# 1-wire Slaves +# +CONFIG_W1_SLAVE_THERM=m +CONFIG_W1_SLAVE_SMEM=m +CONFIG_W1_SLAVE_DS2408=m +CONFIG_W1_SLAVE_DS2423=m +CONFIG_W1_SLAVE_DS2431=m +CONFIG_W1_SLAVE_DS2433=m +# CONFIG_W1_SLAVE_DS2433_CRC is not set +CONFIG_W1_SLAVE_DS2760=m +CONFIG_W1_SLAVE_DS2780=m +CONFIG_W1_SLAVE_BQ27000=m +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +CONFIG_PDA_POWER=m +CONFIG_WM831X_BACKUP=m +CONFIG_WM831X_POWER=m +CONFIG_TEST_POWER=m +CONFIG_BATTERY_DS2760=m +CONFIG_BATTERY_DS2780=m +CONFIG_BATTERY_DS2782=m +CONFIG_BATTERY_OLPC=m +CONFIG_BATTERY_BQ20Z75=m +CONFIG_BATTERY_BQ27x00=m +CONFIG_BATTERY_BQ27X00_I2C=y +CONFIG_BATTERY_BQ27X00_PLATFORM=y +CONFIG_BATTERY_MAX17040=m +CONFIG_BATTERY_MAX17042=m +CONFIG_CHARGER_PCF50633=m +CONFIG_CHARGER_ISP1704=m +CONFIG_CHARGER_MAX8903=m +CONFIG_CHARGER_GPIO=m +CONFIG_HWMON=y +CONFIG_HWMON_VID=m +# CONFIG_HWMON_DEBUG_CHIP is not set + +# +# Native drivers +# +CONFIG_SENSORS_ABITUGURU=m +CONFIG_SENSORS_ABITUGURU3=m +CONFIG_SENSORS_AD7314=m +CONFIG_SENSORS_AD7414=m +CONFIG_SENSORS_AD7418=m +CONFIG_SENSORS_ADCXX=m +CONFIG_SENSORS_ADM1021=m +CONFIG_SENSORS_ADM1025=m +CONFIG_SENSORS_ADM1026=m +CONFIG_SENSORS_ADM1029=m +CONFIG_SENSORS_ADM1031=m +CONFIG_SENSORS_ADM9240=m +CONFIG_SENSORS_ADT7411=m +CONFIG_SENSORS_ADT7462=m +CONFIG_SENSORS_ADT7470=m +CONFIG_SENSORS_ADT7475=m +CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_K8TEMP=m +CONFIG_SENSORS_K10TEMP=m +CONFIG_SENSORS_FAM15H_POWER=m +CONFIG_SENSORS_ASB100=m +CONFIG_SENSORS_ATXP1=m +CONFIG_SENSORS_DS620=m +CONFIG_SENSORS_DS1621=m +CONFIG_SENSORS_I5K_AMB=m +CONFIG_SENSORS_F71805F=m +CONFIG_SENSORS_F71882FG=m +CONFIG_SENSORS_F75375S=m +CONFIG_SENSORS_FSCHMD=m +CONFIG_SENSORS_G760A=m +CONFIG_SENSORS_GL518SM=m +CONFIG_SENSORS_GL520SM=m +CONFIG_SENSORS_GPIO_FAN=m +CONFIG_SENSORS_CORETEMP=m +CONFIG_SENSORS_IBMAEM=m +CONFIG_SENSORS_IBMPEX=m +CONFIG_SENSORS_IT87=m +CONFIG_SENSORS_JC42=m +CONFIG_SENSORS_LINEAGE=m +CONFIG_SENSORS_LM63=m +CONFIG_SENSORS_LM70=m +CONFIG_SENSORS_LM73=m +CONFIG_SENSORS_LM75=m +CONFIG_SENSORS_LM77=m +CONFIG_SENSORS_LM78=m +CONFIG_SENSORS_LM80=m +CONFIG_SENSORS_LM83=m +CONFIG_SENSORS_LM85=m +CONFIG_SENSORS_LM87=m +CONFIG_SENSORS_LM90=m +CONFIG_SENSORS_LM92=m +CONFIG_SENSORS_LM93=m +CONFIG_SENSORS_LTC4151=m +CONFIG_SENSORS_LTC4215=m +CONFIG_SENSORS_LTC4245=m +CONFIG_SENSORS_LTC4261=m +CONFIG_SENSORS_LM95241=m +CONFIG_SENSORS_LM95245=m +CONFIG_SENSORS_MAX1111=m +CONFIG_SENSORS_MAX16065=m +CONFIG_SENSORS_MAX1619=m +CONFIG_SENSORS_MAX1668=m +CONFIG_SENSORS_MAX6639=m +CONFIG_SENSORS_MAX6642=m +CONFIG_SENSORS_MAX6650=m +CONFIG_SENSORS_NTC_THERMISTOR=m +CONFIG_SENSORS_PC87360=m +CONFIG_SENSORS_PC87427=m +CONFIG_SENSORS_PCF8591=m +CONFIG_PMBUS=m +CONFIG_SENSORS_PMBUS=m +CONFIG_SENSORS_ADM1275=m +CONFIG_SENSORS_LM25066=m +CONFIG_SENSORS_LTC2978=m +CONFIG_SENSORS_MAX16064=m +CONFIG_SENSORS_MAX34440=m +CONFIG_SENSORS_MAX8688=m +CONFIG_SENSORS_UCD9000=m +CONFIG_SENSORS_UCD9200=m +CONFIG_SENSORS_ZL6100=m +CONFIG_SENSORS_SHT15=m +CONFIG_SENSORS_SHT21=m +CONFIG_SENSORS_SIS5595=m +CONFIG_SENSORS_SMM665=m +CONFIG_SENSORS_DME1737=m +CONFIG_SENSORS_EMC1403=m +CONFIG_SENSORS_EMC2103=m +CONFIG_SENSORS_EMC6W201=m +CONFIG_SENSORS_SMSC47M1=m +CONFIG_SENSORS_SMSC47M192=m +CONFIG_SENSORS_SMSC47B397=m +CONFIG_SENSORS_SCH56XX_COMMON=m +CONFIG_SENSORS_SCH5627=m +CONFIG_SENSORS_SCH5636=m +CONFIG_SENSORS_ADS1015=m +CONFIG_SENSORS_ADS7828=m +CONFIG_SENSORS_ADS7871=m +CONFIG_SENSORS_AMC6821=m +CONFIG_SENSORS_THMC50=m +CONFIG_SENSORS_TMP102=m +CONFIG_SENSORS_TMP401=m +CONFIG_SENSORS_TMP421=m +CONFIG_SENSORS_VIA_CPUTEMP=m +CONFIG_SENSORS_VIA686A=m +CONFIG_SENSORS_VT1211=m +CONFIG_SENSORS_VT8231=m +CONFIG_SENSORS_W83781D=m +CONFIG_SENSORS_W83791D=m +CONFIG_SENSORS_W83792D=m +CONFIG_SENSORS_W83793=m +CONFIG_SENSORS_W83795=m +# CONFIG_SENSORS_W83795_FANCTRL is not set +CONFIG_SENSORS_W83L785TS=m +CONFIG_SENSORS_W83L786NG=m +CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83627EHF=m +CONFIG_SENSORS_WM831X=m +CONFIG_SENSORS_APPLESMC=m +CONFIG_SENSORS_MC13783_ADC=m + +# +# ACPI drivers +# +CONFIG_SENSORS_ACPI_POWER=m +CONFIG_SENSORS_ATK0110=m +CONFIG_THERMAL=y +CONFIG_THERMAL_HWMON=y +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT is not set + +# +# Watchdog Device Drivers +# +CONFIG_SOFT_WATCHDOG=m +CONFIG_WM831X_WATCHDOG=m +CONFIG_ACQUIRE_WDT=m +CONFIG_ADVANTECH_WDT=m +CONFIG_ALIM1535_WDT=m +CONFIG_ALIM7101_WDT=m +CONFIG_F71808E_WDT=m +CONFIG_SP5100_TCO=m +CONFIG_GEODE_WDT=m +CONFIG_SC520_WDT=m +CONFIG_SBC_FITPC2_WATCHDOG=m +CONFIG_EUROTECH_WDT=m +CONFIG_IB700_WDT=m +CONFIG_IBMASR=m +CONFIG_WAFER_WDT=m +CONFIG_I6300ESB_WDT=m +CONFIG_ITCO_WDT=m +CONFIG_ITCO_VENDOR_SUPPORT=y +CONFIG_IT8712F_WDT=m +CONFIG_IT87_WDT=m +CONFIG_HP_WATCHDOG=m +CONFIG_HPWDT_NMI_DECODING=y +CONFIG_SC1200_WDT=m +CONFIG_PC87413_WDT=m +CONFIG_NV_TCO=m +CONFIG_60XX_WDT=m +CONFIG_SBC8360_WDT=m +CONFIG_SBC7240_WDT=m +CONFIG_CPU5_WDT=m +CONFIG_SMSC_SCH311X_WDT=m +CONFIG_SMSC37B787_WDT=m +CONFIG_W83627HF_WDT=m +CONFIG_W83697HF_WDT=m +CONFIG_W83697UG_WDT=m +CONFIG_W83877F_WDT=m +CONFIG_W83977F_WDT=m +CONFIG_MACHZ_WDT=m +CONFIG_SBC_EPX_C3_WATCHDOG=m + +# +# ISA-based Watchdog Cards +# +CONFIG_PCWATCHDOG=m +CONFIG_MIXCOMWD=m +CONFIG_WDT=m + +# +# PCI-based Watchdog Cards +# +CONFIG_PCIPCWATCHDOG=m +CONFIG_WDTPCI=m + +# +# USB-based Watchdog Cards +# +CONFIG_USBPCWATCHDOG=m +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +CONFIG_SSB=m +CONFIG_SSB_SPROM=y +CONFIG_SSB_BLOCKIO=y +CONFIG_SSB_PCIHOST_POSSIBLE=y +CONFIG_SSB_PCIHOST=y +CONFIG_SSB_B43_PCI_BRIDGE=y +CONFIG_SSB_PCMCIAHOST_POSSIBLE=y +CONFIG_SSB_PCMCIAHOST=y +CONFIG_SSB_SDIOHOST_POSSIBLE=y +CONFIG_SSB_SDIOHOST=y +# CONFIG_SSB_DEBUG is not set +CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y +CONFIG_SSB_DRIVER_PCICORE=y +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +CONFIG_MFD_CORE=y +CONFIG_MFD_SM501=m +CONFIG_MFD_SM501_GPIO=y +CONFIG_HTC_PASIC3=m +CONFIG_UCB1400_CORE=m +CONFIG_TPS6105X=m +CONFIG_TPS65010=m +CONFIG_TPS6507X=m +CONFIG_MFD_TPS65912=y +CONFIG_MFD_TPS65912_SPI=y +# CONFIG_MFD_TMIO is not set +CONFIG_MFD_WM8400=m +CONFIG_MFD_WM831X=y +CONFIG_MFD_WM831X_SPI=y +CONFIG_MFD_PCF50633=m +CONFIG_PCF50633_ADC=m +CONFIG_PCF50633_GPIO=m +CONFIG_MFD_MC13783=m +CONFIG_MFD_MC13XXX=m +CONFIG_ABX500_CORE=y +CONFIG_EZX_PCAP=y +CONFIG_AB8500_CORE=y +# CONFIG_AB8500_DEBUG is not set +CONFIG_AB8500_GPADC=y +CONFIG_MFD_CS5535=m +CONFIG_MFD_TIMBERDALE=m +CONFIG_LPC_SCH=m +CONFIG_MFD_RDC321X=m +CONFIG_MFD_JANZ_CMODIO=m +CONFIG_MFD_VX855=m +CONFIG_MFD_WL1273_CORE=m +CONFIG_REGULATOR=y +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_DUMMY=y +CONFIG_REGULATOR_FIXED_VOLTAGE=m +CONFIG_REGULATOR_VIRTUAL_CONSUMER=m +CONFIG_REGULATOR_USERSPACE_CONSUMER=m +CONFIG_REGULATOR_GPIO=m +CONFIG_REGULATOR_BQ24022=m +CONFIG_REGULATOR_MAX1586=m +CONFIG_REGULATOR_MAX8649=m +CONFIG_REGULATOR_MAX8660=m +CONFIG_REGULATOR_MAX8952=m +CONFIG_REGULATOR_WM831X=m +CONFIG_REGULATOR_WM8400=m +CONFIG_REGULATOR_PCF50633=m +CONFIG_REGULATOR_LP3971=m +CONFIG_REGULATOR_LP3972=m +CONFIG_REGULATOR_PCAP=m +CONFIG_REGULATOR_MC13XXX_CORE=m +CONFIG_REGULATOR_MC13783=m +CONFIG_REGULATOR_MC13892=m +CONFIG_REGULATOR_TPS6105X=m +CONFIG_REGULATOR_TPS65023=m +CONFIG_REGULATOR_TPS6507X=m +CONFIG_REGULATOR_TPS65912=m +CONFIG_REGULATOR_ISL6271A=m +CONFIG_REGULATOR_AD5398=m +CONFIG_REGULATOR_AB8500=y +CONFIG_REGULATOR_TPS6524X=m +CONFIG_MEDIA_SUPPORT=m + +# +# Multimedia core support +# +CONFIG_MEDIA_CONTROLLER=y +CONFIG_VIDEO_DEV=m +CONFIG_VIDEO_V4L2_COMMON=m +CONFIG_VIDEO_V4L2_SUBDEV_API=y +CONFIG_DVB_CORE=m +CONFIG_DVB_NET=y +CONFIG_VIDEO_MEDIA=m + +# +# Multimedia drivers +# +CONFIG_VIDEO_SAA7146=m +CONFIG_VIDEO_SAA7146_VV=m +CONFIG_RC_CORE=m +CONFIG_LIRC=m +CONFIG_RC_MAP=m +CONFIG_IR_NEC_DECODER=m +CONFIG_IR_RC5_DECODER=m +CONFIG_IR_RC6_DECODER=m +CONFIG_IR_JVC_DECODER=m +CONFIG_IR_SONY_DECODER=m +CONFIG_IR_RC5_SZ_DECODER=m +CONFIG_IR_MCE_KBD_DECODER=m +CONFIG_IR_LIRC_CODEC=m +CONFIG_RC_ATI_REMOTE=m +CONFIG_IR_ENE=m +CONFIG_IR_IMON=m +CONFIG_IR_MCEUSB=m +CONFIG_IR_ITE_CIR=m +CONFIG_IR_FINTEK=m +CONFIG_IR_NUVOTON=m +CONFIG_IR_REDRAT3=m +CONFIG_IR_STREAMZAP=m +CONFIG_IR_WINBOND_CIR=m +CONFIG_RC_LOOPBACK=m +CONFIG_MEDIA_ATTACH=y +CONFIG_MEDIA_TUNER=m +# CONFIG_MEDIA_TUNER_CUSTOMISE is not set +CONFIG_MEDIA_TUNER_SIMPLE=m +CONFIG_MEDIA_TUNER_TDA8290=m +CONFIG_MEDIA_TUNER_TDA827X=m +CONFIG_MEDIA_TUNER_TDA18271=m +CONFIG_MEDIA_TUNER_TDA9887=m +CONFIG_MEDIA_TUNER_TEA5761=m +CONFIG_MEDIA_TUNER_TEA5767=m +CONFIG_MEDIA_TUNER_MT20XX=m +CONFIG_MEDIA_TUNER_MT2060=m +CONFIG_MEDIA_TUNER_MT2266=m +CONFIG_MEDIA_TUNER_MT2131=m +CONFIG_MEDIA_TUNER_QT1010=m +CONFIG_MEDIA_TUNER_XC2028=m +CONFIG_MEDIA_TUNER_XC5000=m +CONFIG_MEDIA_TUNER_XC4000=m +CONFIG_MEDIA_TUNER_MXL5005S=m +CONFIG_MEDIA_TUNER_MXL5007T=m +CONFIG_MEDIA_TUNER_MC44S803=m +CONFIG_MEDIA_TUNER_MAX2165=m +CONFIG_MEDIA_TUNER_TDA18218=m +CONFIG_MEDIA_TUNER_TDA18212=m +CONFIG_VIDEO_V4L2=m +CONFIG_VIDEOBUF_GEN=m +CONFIG_VIDEOBUF_DMA_SG=m +CONFIG_VIDEOBUF_VMALLOC=m +CONFIG_VIDEOBUF_DMA_CONTIG=m +CONFIG_VIDEOBUF_DVB=m +CONFIG_VIDEO_BTCX=m +CONFIG_VIDEO_TVEEPROM=m +CONFIG_VIDEO_TUNER=m +CONFIG_V4L2_MEM2MEM_DEV=m +CONFIG_VIDEOBUF2_CORE=m +CONFIG_VIDEOBUF2_MEMOPS=m +CONFIG_VIDEOBUF2_DMA_CONTIG=m +CONFIG_VIDEOBUF2_VMALLOC=m +CONFIG_VIDEO_CAPTURE_DRIVERS=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set +CONFIG_VIDEO_IR_I2C=m + +# +# Encoders, decoders, sensors and other helper chips +# + +# +# Audio decoders, processors and mixers +# +CONFIG_VIDEO_TVAUDIO=m +CONFIG_VIDEO_TDA7432=m +CONFIG_VIDEO_TDA9840=m +CONFIG_VIDEO_TEA6415C=m +CONFIG_VIDEO_TEA6420=m +CONFIG_VIDEO_MSP3400=m +CONFIG_VIDEO_CS5345=m +CONFIG_VIDEO_CS53L32A=m +CONFIG_VIDEO_TLV320AIC23B=m +CONFIG_VIDEO_WM8775=m +CONFIG_VIDEO_WM8739=m +CONFIG_VIDEO_VP27SMPX=m + +# +# RDS decoders +# +CONFIG_VIDEO_SAA6588=m + +# +# Video decoders +# +CONFIG_VIDEO_ADV7180=m +CONFIG_VIDEO_BT819=m +CONFIG_VIDEO_BT856=m +CONFIG_VIDEO_BT866=m +CONFIG_VIDEO_KS0127=m +CONFIG_VIDEO_SAA7110=m +CONFIG_VIDEO_SAA711X=m +CONFIG_VIDEO_SAA7191=m +CONFIG_VIDEO_TVP514X=m +CONFIG_VIDEO_TVP5150=m +CONFIG_VIDEO_TVP7002=m +CONFIG_VIDEO_VPX3220=m + +# +# Video and audio decoders +# +CONFIG_VIDEO_SAA717X=m +CONFIG_VIDEO_CX25840=m + +# +# MPEG video encoders +# +CONFIG_VIDEO_CX2341X=m + +# +# Video encoders +# +CONFIG_VIDEO_SAA7127=m +CONFIG_VIDEO_SAA7185=m +CONFIG_VIDEO_ADV7170=m +CONFIG_VIDEO_ADV7175=m +CONFIG_VIDEO_ADV7343=m +CONFIG_VIDEO_AK881X=m + +# +# Camera sensor devices +# +CONFIG_VIDEO_OV7670=m +CONFIG_VIDEO_MT9P031=m +CONFIG_VIDEO_MT9T001=m +CONFIG_VIDEO_MT9V011=m +CONFIG_VIDEO_MT9V032=m +CONFIG_VIDEO_TCM825X=m +CONFIG_VIDEO_SR030PC30=m +CONFIG_VIDEO_NOON010PC30=m +CONFIG_VIDEO_M5MOLS=m +CONFIG_VIDEO_S5K6AA=m + +# +# Flash devices +# +CONFIG_VIDEO_ADP1653=m + +# +# Video improvement chips +# +CONFIG_VIDEO_UPD64031A=m +CONFIG_VIDEO_UPD64083=m + +# +# Miscelaneous helper chips +# +CONFIG_VIDEO_THS7303=m +CONFIG_VIDEO_M52790=m +CONFIG_VIDEO_VIVI=m +CONFIG_VIDEO_BT848=m +CONFIG_VIDEO_BT848_DVB=y +CONFIG_VIDEO_PMS=m +CONFIG_VIDEO_BWQCAM=m +CONFIG_VIDEO_CQCAM=m +CONFIG_VIDEO_W9966=m +CONFIG_VIDEO_CPIA2=m +CONFIG_VIDEO_ZORAN=m +CONFIG_VIDEO_ZORAN_DC30=m +CONFIG_VIDEO_ZORAN_ZR36060=m +CONFIG_VIDEO_ZORAN_BUZ=m +CONFIG_VIDEO_ZORAN_DC10=m +CONFIG_VIDEO_ZORAN_LML33=m +CONFIG_VIDEO_ZORAN_LML33R10=m +CONFIG_VIDEO_ZORAN_AVS6EYES=m +CONFIG_VIDEO_MEYE=m +CONFIG_VIDEO_SAA7134=m +CONFIG_VIDEO_SAA7134_ALSA=m +CONFIG_VIDEO_SAA7134_RC=y +CONFIG_VIDEO_SAA7134_DVB=m +CONFIG_VIDEO_MXB=m +CONFIG_VIDEO_HEXIUM_ORION=m +CONFIG_VIDEO_HEXIUM_GEMINI=m +CONFIG_VIDEO_TIMBERDALE=m +CONFIG_VIDEO_CX88=m +CONFIG_VIDEO_CX88_ALSA=m +CONFIG_VIDEO_CX88_BLACKBIRD=m +CONFIG_VIDEO_CX88_DVB=m +CONFIG_VIDEO_CX88_MPEG=m +CONFIG_VIDEO_CX88_VP3054=m +CONFIG_VIDEO_CX23885=m +CONFIG_MEDIA_ALTERA_CI=m +CONFIG_VIDEO_CX25821=m +CONFIG_VIDEO_CX25821_ALSA=m +CONFIG_VIDEO_AU0828=m +CONFIG_VIDEO_IVTV=m +CONFIG_VIDEO_FB_IVTV=m +CONFIG_VIDEO_CX18=m +CONFIG_VIDEO_CX18_ALSA=m +CONFIG_VIDEO_SAA7164=m +CONFIG_VIDEO_CAFE_CCIC=m +CONFIG_SOC_CAMERA=m +CONFIG_SOC_CAMERA_IMX074=m +CONFIG_SOC_CAMERA_MT9M001=m +CONFIG_SOC_CAMERA_MT9M111=m +CONFIG_SOC_CAMERA_MT9T031=m +CONFIG_SOC_CAMERA_MT9T112=m +CONFIG_SOC_CAMERA_MT9V022=m +CONFIG_SOC_CAMERA_RJ54N1=m +CONFIG_SOC_CAMERA_TW9910=m +CONFIG_SOC_CAMERA_PLATFORM=m +CONFIG_SOC_CAMERA_OV2640=m +CONFIG_SOC_CAMERA_OV5642=m +CONFIG_SOC_CAMERA_OV6650=m +CONFIG_SOC_CAMERA_OV772X=m +CONFIG_SOC_CAMERA_OV9640=m +CONFIG_SOC_CAMERA_OV9740=m +CONFIG_V4L_USB_DRIVERS=y +CONFIG_USB_VIDEO_CLASS=m +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_GSPCA=m +CONFIG_USB_M5602=m +CONFIG_USB_STV06XX=m +CONFIG_USB_GL860=m +CONFIG_USB_GSPCA_BENQ=m +CONFIG_USB_GSPCA_CONEX=m +CONFIG_USB_GSPCA_CPIA1=m +CONFIG_USB_GSPCA_ETOMS=m +CONFIG_USB_GSPCA_FINEPIX=m +CONFIG_USB_GSPCA_JEILINJ=m +CONFIG_USB_GSPCA_KINECT=m +CONFIG_USB_GSPCA_KONICA=m +CONFIG_USB_GSPCA_MARS=m +CONFIG_USB_GSPCA_MR97310A=m +CONFIG_USB_GSPCA_NW80X=m +CONFIG_USB_GSPCA_OV519=m +CONFIG_USB_GSPCA_OV534=m +CONFIG_USB_GSPCA_OV534_9=m +CONFIG_USB_GSPCA_PAC207=m +CONFIG_USB_GSPCA_PAC7302=m +CONFIG_USB_GSPCA_PAC7311=m +CONFIG_USB_GSPCA_SE401=m +CONFIG_USB_GSPCA_SN9C2028=m +CONFIG_USB_GSPCA_SN9C20X=m +CONFIG_USB_GSPCA_SONIXB=m +CONFIG_USB_GSPCA_SONIXJ=m +CONFIG_USB_GSPCA_SPCA500=m +CONFIG_USB_GSPCA_SPCA501=m +CONFIG_USB_GSPCA_SPCA505=m +CONFIG_USB_GSPCA_SPCA506=m +CONFIG_USB_GSPCA_SPCA508=m +CONFIG_USB_GSPCA_SPCA561=m +CONFIG_USB_GSPCA_SPCA1528=m +CONFIG_USB_GSPCA_SQ905=m +CONFIG_USB_GSPCA_SQ905C=m +CONFIG_USB_GSPCA_SQ930X=m +CONFIG_USB_GSPCA_STK014=m +CONFIG_USB_GSPCA_STV0680=m +CONFIG_USB_GSPCA_SUNPLUS=m +CONFIG_USB_GSPCA_T613=m +CONFIG_USB_GSPCA_TOPRO=m +CONFIG_USB_GSPCA_TV8532=m +CONFIG_USB_GSPCA_VC032X=m +CONFIG_USB_GSPCA_VICAM=m +CONFIG_USB_GSPCA_XIRLINK_CIT=m +CONFIG_USB_GSPCA_ZC3XX=m +CONFIG_VIDEO_PVRUSB2=m +CONFIG_VIDEO_PVRUSB2_SYSFS=y +CONFIG_VIDEO_PVRUSB2_DVB=y +# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set +CONFIG_VIDEO_HDPVR=m +CONFIG_VIDEO_EM28XX=m +CONFIG_VIDEO_EM28XX_ALSA=m +CONFIG_VIDEO_EM28XX_DVB=m +CONFIG_VIDEO_EM28XX_RC=y +CONFIG_VIDEO_TLG2300=m +CONFIG_VIDEO_CX231XX=m +CONFIG_VIDEO_CX231XX_RC=y +CONFIG_VIDEO_CX231XX_ALSA=m +CONFIG_VIDEO_CX231XX_DVB=m +CONFIG_VIDEO_TM6000=m +CONFIG_VIDEO_TM6000_ALSA=m +CONFIG_VIDEO_TM6000_DVB=m +CONFIG_VIDEO_USBVISION=m +CONFIG_USB_ET61X251=m +CONFIG_USB_SN9C102=m +CONFIG_USB_PWC=m +# CONFIG_USB_PWC_DEBUG is not set +CONFIG_USB_PWC_INPUT_EVDEV=y +CONFIG_USB_ZR364XX=m +CONFIG_USB_STKWEBCAM=m +CONFIG_USB_S2255=m +CONFIG_V4L_MEM2MEM_DRIVERS=y +CONFIG_VIDEO_MEM2MEM_TESTDEV=m +CONFIG_RADIO_ADAPTERS=y +CONFIG_RADIO_CADET=m +CONFIG_RADIO_RTRACK=m +CONFIG_RADIO_RTRACK2=m +CONFIG_RADIO_AZTECH=m +CONFIG_RADIO_GEMTEK=m +CONFIG_RADIO_MAXIRADIO=m +CONFIG_RADIO_MIROPCM20=m +CONFIG_RADIO_SF16FMI=m +CONFIG_RADIO_SF16FMR2=m +CONFIG_RADIO_TERRATEC=m +CONFIG_RADIO_TRUST=m +CONFIG_RADIO_TYPHOON=m +CONFIG_RADIO_ZOLTRIX=m +CONFIG_I2C_SI4713=m +CONFIG_RADIO_SI4713=m +CONFIG_USB_DSBR=m +CONFIG_RADIO_SI470X=y +CONFIG_USB_SI470X=m +CONFIG_I2C_SI470X=m +CONFIG_USB_MR800=m +CONFIG_RADIO_TEA5764=m +CONFIG_RADIO_SAA7706H=m +CONFIG_RADIO_TEF6862=m +CONFIG_RADIO_TIMBERDALE=m +CONFIG_RADIO_WL1273=m + +# +# Texas Instruments WL128x FM driver (ST based) +# +CONFIG_RADIO_WL128X=m +CONFIG_DVB_MAX_ADAPTERS=8 +# CONFIG_DVB_DYNAMIC_MINORS is not set +CONFIG_DVB_CAPTURE_DRIVERS=y + +# +# Supported SAA7146 based PCI Adapters +# +CONFIG_TTPCI_EEPROM=m +CONFIG_DVB_AV7110=m +CONFIG_DVB_AV7110_OSD=y +CONFIG_DVB_BUDGET_CORE=m +CONFIG_DVB_BUDGET=m +CONFIG_DVB_BUDGET_CI=m +CONFIG_DVB_BUDGET_AV=m +CONFIG_DVB_BUDGET_PATCH=m + +# +# Supported USB Adapters +# +CONFIG_DVB_USB=m +# CONFIG_DVB_USB_DEBUG is not set +CONFIG_DVB_USB_A800=m +CONFIG_DVB_USB_DIBUSB_MB=m +CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y +CONFIG_DVB_USB_DIBUSB_MC=m +CONFIG_DVB_USB_DIB0700=m +CONFIG_DVB_USB_UMT_010=m +CONFIG_DVB_USB_CXUSB=m +CONFIG_DVB_USB_M920X=m +CONFIG_DVB_USB_GL861=m +CONFIG_DVB_USB_AU6610=m +CONFIG_DVB_USB_DIGITV=m +CONFIG_DVB_USB_VP7045=m +CONFIG_DVB_USB_VP702X=m +CONFIG_DVB_USB_GP8PSK=m +CONFIG_DVB_USB_NOVA_T_USB2=m +CONFIG_DVB_USB_TTUSB2=m +CONFIG_DVB_USB_DTT200U=m +CONFIG_DVB_USB_OPERA1=m +CONFIG_DVB_USB_AF9005=m +CONFIG_DVB_USB_AF9005_REMOTE=m +CONFIG_DVB_USB_PCTV452E=m +CONFIG_DVB_USB_DW2102=m +CONFIG_DVB_USB_CINERGY_T2=m +CONFIG_DVB_USB_ANYSEE=m +CONFIG_DVB_USB_DTV5100=m +CONFIG_DVB_USB_AF9015=m +CONFIG_DVB_USB_CE6230=m +CONFIG_DVB_USB_FRIIO=m +CONFIG_DVB_USB_EC168=m +CONFIG_DVB_USB_AZ6027=m +CONFIG_DVB_USB_LME2510=m +CONFIG_DVB_USB_TECHNISAT_USB2=m +CONFIG_DVB_USB_IT913X=m +CONFIG_DVB_USB_MXL111SF=m +CONFIG_DVB_TTUSB_BUDGET=m +CONFIG_DVB_TTUSB_DEC=m +CONFIG_SMS_SIANO_MDTV=m + +# +# Siano module components +# +CONFIG_SMS_USB_DRV=m +CONFIG_SMS_SDIO_DRV=m + +# +# Supported FlexCopII (B2C2) Adapters +# +CONFIG_DVB_B2C2_FLEXCOP=m +CONFIG_DVB_B2C2_FLEXCOP_PCI=m +CONFIG_DVB_B2C2_FLEXCOP_USB=m +# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set + +# +# Supported BT878 Adapters +# +CONFIG_DVB_BT8XX=m + +# +# Supported Pluto2 Adapters +# +CONFIG_DVB_PLUTO2=m + +# +# Supported SDMC DM1105 Adapters +# +CONFIG_DVB_DM1105=m + +# +# Supported FireWire (IEEE 1394) Adapters +# +CONFIG_DVB_FIREDTV=m +CONFIG_DVB_FIREDTV_INPUT=y + +# +# Supported Earthsoft PT1 Adapters +# +CONFIG_DVB_PT1=m + +# +# Supported Mantis Adapters +# +CONFIG_MANTIS_CORE=m +CONFIG_DVB_MANTIS=m +CONFIG_DVB_HOPPER=m + +# +# Supported nGene Adapters +# +CONFIG_DVB_NGENE=m + +# +# Supported ddbridge ('Octopus') Adapters +# +CONFIG_DVB_DDBRIDGE=m + +# +# Supported DVB Frontends +# +# CONFIG_DVB_FE_CUSTOMISE is not set + +# +# Multistandard (satellite) frontends +# +CONFIG_DVB_STB0899=m +CONFIG_DVB_STB6100=m +CONFIG_DVB_STV090x=m +CONFIG_DVB_STV6110x=m + +# +# Multistandard (cable + terrestrial) frontends +# +CONFIG_DVB_DRXK=m +CONFIG_DVB_TDA18271C2DD=m + +# +# DVB-S (satellite) frontends +# +CONFIG_DVB_CX24110=m +CONFIG_DVB_CX24123=m +CONFIG_DVB_MT312=m +CONFIG_DVB_ZL10036=m +CONFIG_DVB_ZL10039=m +CONFIG_DVB_S5H1420=m +CONFIG_DVB_STV0288=m +CONFIG_DVB_STB6000=m +CONFIG_DVB_STV0299=m +CONFIG_DVB_STV6110=m +CONFIG_DVB_STV0900=m +CONFIG_DVB_TDA8083=m +CONFIG_DVB_TDA10086=m +CONFIG_DVB_TDA8261=m +CONFIG_DVB_VES1X93=m +CONFIG_DVB_TUNER_ITD1000=m +CONFIG_DVB_TUNER_CX24113=m +CONFIG_DVB_TDA826X=m +CONFIG_DVB_TUA6100=m +CONFIG_DVB_CX24116=m +CONFIG_DVB_SI21XX=m +CONFIG_DVB_DS3000=m +CONFIG_DVB_MB86A16=m +CONFIG_DVB_TDA10071=m + +# +# DVB-T (terrestrial) frontends +# +CONFIG_DVB_SP8870=m +CONFIG_DVB_SP887X=m +CONFIG_DVB_CX22700=m +CONFIG_DVB_CX22702=m +CONFIG_DVB_DRXD=m +CONFIG_DVB_L64781=m +CONFIG_DVB_TDA1004X=m +CONFIG_DVB_NXT6000=m +CONFIG_DVB_MT352=m +CONFIG_DVB_ZL10353=m +CONFIG_DVB_DIB3000MB=m +CONFIG_DVB_DIB3000MC=m +CONFIG_DVB_DIB7000M=m +CONFIG_DVB_DIB7000P=m +CONFIG_DVB_TDA10048=m +CONFIG_DVB_AF9013=m +CONFIG_DVB_EC100=m +CONFIG_DVB_STV0367=m +CONFIG_DVB_CXD2820R=m + +# +# DVB-C (cable) frontends +# +CONFIG_DVB_VES1820=m +CONFIG_DVB_TDA10021=m +CONFIG_DVB_TDA10023=m +CONFIG_DVB_STV0297=m + +# +# ATSC (North American/Korean Terrestrial/Cable DTV) frontends +# +CONFIG_DVB_NXT200X=m +CONFIG_DVB_OR51211=m +CONFIG_DVB_OR51132=m +CONFIG_DVB_BCM3510=m +CONFIG_DVB_LGDT330X=m +CONFIG_DVB_LGDT3305=m +CONFIG_DVB_S5H1409=m +CONFIG_DVB_AU8522=m +CONFIG_DVB_S5H1411=m + +# +# ISDB-T (terrestrial) frontends +# +CONFIG_DVB_S921=m +CONFIG_DVB_DIB8000=m +CONFIG_DVB_MB86A20S=m + +# +# Digital terrestrial only tuners/PLL +# +CONFIG_DVB_PLL=m +CONFIG_DVB_TUNER_DIB0070=m +CONFIG_DVB_TUNER_DIB0090=m + +# +# SEC control devices for DVB-S +# +CONFIG_DVB_LNBP21=m +CONFIG_DVB_LNBP22=m +CONFIG_DVB_ISL6405=m +CONFIG_DVB_ISL6421=m +CONFIG_DVB_ISL6423=m +CONFIG_DVB_A8293=m +CONFIG_DVB_LGS8GXX=m +CONFIG_DVB_ATBM8830=m +CONFIG_DVB_TDA665x=m +CONFIG_DVB_IX2505V=m +CONFIG_DVB_IT913X_FE=m + +# +# Tools to develop new frontends +# +# CONFIG_DVB_DUMMY_FE is not set + +# +# Graphics support +# +CONFIG_AGP=m +CONFIG_AGP_ALI=m +CONFIG_AGP_ATI=m +CONFIG_AGP_AMD=m +CONFIG_AGP_AMD64=m +CONFIG_AGP_INTEL=m +CONFIG_AGP_NVIDIA=m +CONFIG_AGP_SIS=m +CONFIG_AGP_SWORKS=m +CONFIG_AGP_VIA=m +CONFIG_AGP_EFFICEON=m +CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16 +CONFIG_VGA_SWITCHEROO=y +CONFIG_DRM=m +CONFIG_DRM_KMS_HELPER=m +CONFIG_DRM_TTM=m +CONFIG_DRM_TDFX=m +CONFIG_DRM_R128=m +CONFIG_DRM_RADEON=m +CONFIG_DRM_RADEON_KMS=y +CONFIG_DRM_I915=m +CONFIG_DRM_I915_KMS=y +CONFIG_DRM_MGA=m +CONFIG_DRM_SIS=m +CONFIG_DRM_VIA=m +CONFIG_DRM_SAVAGE=m +CONFIG_DRM_VMWGFX=m +CONFIG_STUB_POULSBO=m +CONFIG_VGASTATE=m +CONFIG_VIDEO_OUTPUT_CONTROL=m +CONFIG_FB=y +CONFIG_FIRMWARE_EDID=y +CONFIG_FB_DDC=m +CONFIG_FB_BOOT_VESA_SUPPORT=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +CONFIG_FB_SYS_FILLRECT=m +CONFIG_FB_SYS_COPYAREA=m +CONFIG_FB_SYS_IMAGEBLIT=m +# CONFIG_FB_FOREIGN_ENDIAN is not set +CONFIG_FB_SYS_FOPS=m +# CONFIG_FB_WMT_GE_ROPS is not set +CONFIG_FB_DEFERRED_IO=y +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +CONFIG_FB_BACKLIGHT=y +CONFIG_FB_MODE_HELPERS=y +CONFIG_FB_TILEBLITTING=y + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_PM2 is not set +# CONFIG_FB_CYBER2000 is not set +# CONFIG_FB_ARC is not set +# CONFIG_FB_ASILIANT is not set +# CONFIG_FB_IMSTT is not set +CONFIG_FB_VGA16=m +CONFIG_FB_UVESA=m +CONFIG_FB_VESA=y +CONFIG_FB_EFI=y +# CONFIG_FB_N411 is not set +# CONFIG_FB_HGA is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_NVIDIA is not set +# CONFIG_FB_RIVA is not set +CONFIG_FB_I810=m +CONFIG_FB_I810_GTF=y +CONFIG_FB_I810_I2C=y +# CONFIG_FB_LE80578 is not set +# CONFIG_FB_MATROX is not set +# CONFIG_FB_RADEON is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_S3 is not set +# CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_VIA is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_3DFX is not set +CONFIG_FB_VOODOO1=m +CONFIG_FB_VT8623=m +# CONFIG_FB_TRIDENT is not set +# CONFIG_FB_ARK is not set +# CONFIG_FB_PM3 is not set +# CONFIG_FB_CARMINE is not set +# CONFIG_FB_GEODE is not set +# CONFIG_FB_TMIO is not set +# CONFIG_FB_SM501 is not set +# CONFIG_FB_SMSCUFX is not set +CONFIG_FB_UDL=m +CONFIG_FB_VIRTUAL=m +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_FB_BROADSHEET is not set +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_LCD_CLASS_DEVICE=m +CONFIG_LCD_L4F00242T03=m +CONFIG_LCD_LMS283GF05=m +CONFIG_LCD_LTV350QV=m +CONFIG_LCD_ILI9320=m +CONFIG_LCD_TDO24M=m +CONFIG_LCD_VGG2432A4=m +CONFIG_LCD_PLATFORM=m +CONFIG_LCD_S6E63M0=m +CONFIG_LCD_LD9040=m +CONFIG_LCD_AMS369FG06=m +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BACKLIGHT_GENERIC=m +CONFIG_BACKLIGHT_PROGEAR=m +CONFIG_BACKLIGHT_APPLE=m +CONFIG_BACKLIGHT_SAHARA=m +CONFIG_BACKLIGHT_WM831X=m +CONFIG_BACKLIGHT_ADP8860=m +CONFIG_BACKLIGHT_ADP8870=m +CONFIG_BACKLIGHT_PCF50633=m + +# +# Display device support +# +CONFIG_DISPLAY_SUPPORT=m + +# +# Display hardware drivers +# + +# +# Console display driver support +# +CONFIG_VGA_CONSOLE=y +# CONFIG_VGACON_SOFT_SCROLLBACK is not set +# CONFIG_MDA_CONSOLE is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y +CONFIG_FONTS=y +# CONFIG_FONT_8x8 is not set +CONFIG_FONT_8x16=y +# CONFIG_FONT_6x11 is not set +# CONFIG_FONT_7x14 is not set +# CONFIG_FONT_PEARL_8x8 is not set +# CONFIG_FONT_ACORN_8x8 is not set +# CONFIG_FONT_MINI_4x6 is not set +# CONFIG_FONT_SUN8x16 is not set +# CONFIG_FONT_SUN12x22 is not set +# CONFIG_FONT_10x18 is not set +# CONFIG_LOGO is not set +CONFIG_SOUND=m +CONFIG_SOUND_OSS_CORE=y +# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set +CONFIG_SND=m +CONFIG_SND_TIMER=m +CONFIG_SND_PCM=m +CONFIG_SND_HWDEP=m +CONFIG_SND_RAWMIDI=m +CONFIG_SND_JACK=y +CONFIG_SND_SEQUENCER=m +CONFIG_SND_SEQ_DUMMY=m +CONFIG_SND_OSSEMUL=y +CONFIG_SND_MIXER_OSS=m +CONFIG_SND_PCM_OSS=m +CONFIG_SND_PCM_OSS_PLUGINS=y +CONFIG_SND_SEQUENCER_OSS=y +CONFIG_SND_HRTIMER=m +CONFIG_SND_SEQ_HRTIMER_DEFAULT=y +CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +CONFIG_SND_VMASTER=y +CONFIG_SND_DMA_SGBUF=y +CONFIG_SND_RAWMIDI_SEQ=m +CONFIG_SND_OPL3_LIB_SEQ=m +CONFIG_SND_OPL4_LIB_SEQ=m +CONFIG_SND_SBAWE_SEQ=m +CONFIG_SND_EMU10K1_SEQ=m +CONFIG_SND_MPU401_UART=m +CONFIG_SND_OPL3_LIB=m +CONFIG_SND_OPL4_LIB=m +CONFIG_SND_VX_LIB=m +CONFIG_SND_AC97_CODEC=m +CONFIG_SND_DRIVERS=y +# CONFIG_SND_PCSP is not set +CONFIG_SND_DUMMY=m +CONFIG_SND_ALOOP=m +CONFIG_SND_VIRMIDI=m +CONFIG_SND_MTPAV=m +CONFIG_SND_MTS64=m +CONFIG_SND_SERIAL_U16550=m +CONFIG_SND_MPU401=m +CONFIG_SND_PORTMAN2X4=m +CONFIG_SND_AC97_POWER_SAVE=y +CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0 +CONFIG_SND_WSS_LIB=m +CONFIG_SND_SB_COMMON=m +CONFIG_SND_SB8_DSP=m +CONFIG_SND_SB16_DSP=m +CONFIG_SND_ISA=y +CONFIG_SND_ADLIB=m +CONFIG_SND_AD1816A=m +CONFIG_SND_AD1848=m +CONFIG_SND_ALS100=m +CONFIG_SND_AZT1605=m +CONFIG_SND_AZT2316=m +CONFIG_SND_AZT2320=m +CONFIG_SND_CMI8330=m +CONFIG_SND_CS4231=m +CONFIG_SND_CS4236=m +CONFIG_SND_ES1688=m +CONFIG_SND_ES18XX=m +CONFIG_SND_SC6000=m +CONFIG_SND_GUSCLASSIC=m +CONFIG_SND_GUSEXTREME=m +CONFIG_SND_GUSMAX=m +CONFIG_SND_INTERWAVE=m +CONFIG_SND_INTERWAVE_STB=m +CONFIG_SND_JAZZ16=m +CONFIG_SND_OPL3SA2=m +CONFIG_SND_OPTI92X_AD1848=m +CONFIG_SND_OPTI92X_CS4231=m +CONFIG_SND_OPTI93X=m +CONFIG_SND_MIRO=m +CONFIG_SND_SB8=m +CONFIG_SND_SB16=m +CONFIG_SND_SBAWE=m +CONFIG_SND_SB16_CSP=y +CONFIG_SND_SSCAPE=m +CONFIG_SND_WAVEFRONT=m +CONFIG_SND_MSND_PINNACLE=m +CONFIG_SND_MSND_CLASSIC=m +CONFIG_SND_TEA575X=m +CONFIG_SND_PCI=y +CONFIG_SND_AD1889=m +CONFIG_SND_ALS300=m +CONFIG_SND_ALS4000=m +CONFIG_SND_ALI5451=m +CONFIG_SND_ASIHPI=m +CONFIG_SND_ATIIXP=m +CONFIG_SND_ATIIXP_MODEM=m +CONFIG_SND_AU8810=m +CONFIG_SND_AU8820=m +CONFIG_SND_AU8830=m +CONFIG_SND_AW2=m +CONFIG_SND_AZT3328=m +CONFIG_SND_BT87X=m +# CONFIG_SND_BT87X_OVERCLOCK is not set +CONFIG_SND_CA0106=m +CONFIG_SND_CMIPCI=m +CONFIG_SND_OXYGEN_LIB=m +CONFIG_SND_OXYGEN=m +CONFIG_SND_CS4281=m +CONFIG_SND_CS46XX=m +CONFIG_SND_CS46XX_NEW_DSP=y +CONFIG_SND_CS5530=m +CONFIG_SND_CS5535AUDIO=m +CONFIG_SND_CTXFI=m +CONFIG_SND_DARLA20=m +CONFIG_SND_GINA20=m +CONFIG_SND_LAYLA20=m +CONFIG_SND_DARLA24=m +CONFIG_SND_GINA24=m +CONFIG_SND_LAYLA24=m +CONFIG_SND_MONA=m +CONFIG_SND_MIA=m +CONFIG_SND_ECHO3G=m +CONFIG_SND_INDIGO=m +CONFIG_SND_INDIGOIO=m +CONFIG_SND_INDIGODJ=m +CONFIG_SND_INDIGOIOX=m +CONFIG_SND_INDIGODJX=m +CONFIG_SND_EMU10K1=m +CONFIG_SND_EMU10K1X=m +CONFIG_SND_ENS1370=m +CONFIG_SND_ENS1371=m +CONFIG_SND_ES1938=m +CONFIG_SND_ES1968=m +CONFIG_SND_ES1968_INPUT=y +CONFIG_SND_ES1968_RADIO=y +CONFIG_SND_FM801=m +CONFIG_SND_FM801_TEA575X_BOOL=y +CONFIG_SND_HDA_INTEL=m +CONFIG_SND_HDA_PREALLOC_SIZE=4096 +CONFIG_SND_HDA_HWDEP=y +CONFIG_SND_HDA_RECONFIG=y +CONFIG_SND_HDA_INPUT_BEEP=y +CONFIG_SND_HDA_INPUT_BEEP_MODE=1 +CONFIG_SND_HDA_INPUT_JACK=y +CONFIG_SND_HDA_PATCH_LOADER=y +CONFIG_SND_HDA_CODEC_REALTEK=y +CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS=y +CONFIG_SND_HDA_CODEC_ANALOG=y +CONFIG_SND_HDA_CODEC_SIGMATEL=y +CONFIG_SND_HDA_CODEC_VIA=y +CONFIG_SND_HDA_CODEC_HDMI=y +CONFIG_SND_HDA_CODEC_CIRRUS=y +CONFIG_SND_HDA_CODEC_CONEXANT=y +CONFIG_SND_HDA_CODEC_CA0110=y +CONFIG_SND_HDA_CODEC_CA0132=y +CONFIG_SND_HDA_CODEC_CMEDIA=y +CONFIG_SND_HDA_CODEC_SI3054=y +CONFIG_SND_HDA_GENERIC=y +CONFIG_SND_HDA_POWER_SAVE=y +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +CONFIG_SND_HDSP=m +CONFIG_SND_HDSPM=m +CONFIG_SND_ICE1712=m +CONFIG_SND_ICE1724=m +CONFIG_SND_INTEL8X0=m +CONFIG_SND_INTEL8X0M=m +CONFIG_SND_KORG1212=m +CONFIG_SND_LOLA=m +CONFIG_SND_LX6464ES=m +CONFIG_SND_MAESTRO3=m +CONFIG_SND_MAESTRO3_INPUT=y +CONFIG_SND_MIXART=m +CONFIG_SND_NM256=m +CONFIG_SND_PCXHR=m +CONFIG_SND_RIPTIDE=m +CONFIG_SND_RME32=m +CONFIG_SND_RME96=m +CONFIG_SND_RME9652=m +CONFIG_SND_SIS7019=m +CONFIG_SND_SONICVIBES=m +CONFIG_SND_TRIDENT=m +CONFIG_SND_VIA82XX=m +CONFIG_SND_VIA82XX_MODEM=m +CONFIG_SND_VIRTUOSO=m +CONFIG_SND_VX222=m +CONFIG_SND_YMFPCI=m +CONFIG_SND_SPI=y +CONFIG_SND_USB=y +CONFIG_SND_USB_AUDIO=m +CONFIG_SND_USB_UA101=m +CONFIG_SND_USB_USX2Y=m +CONFIG_SND_USB_CAIAQ=m +CONFIG_SND_USB_CAIAQ_INPUT=y +CONFIG_SND_USB_US122L=m +CONFIG_SND_USB_6FIRE=m +CONFIG_SND_FIREWIRE=y +CONFIG_SND_FIREWIRE_LIB=m +CONFIG_SND_FIREWIRE_SPEAKERS=m +CONFIG_SND_ISIGHT=m +CONFIG_SND_PCMCIA=y +CONFIG_SND_VXPOCKET=m +CONFIG_SND_PDAUDIOCF=m +CONFIG_SND_SOC=m +CONFIG_SND_SOC_CACHE_LZO=y +CONFIG_SND_SOC_I2C_AND_SPI=m +# CONFIG_SND_SOC_ALL_CODECS is not set +# CONFIG_SOUND_PRIME is not set +CONFIG_AC97_BUS=m +CONFIG_HID_SUPPORT=y +CONFIG_HID=m +CONFIG_HIDRAW=y + +# +# USB Input Devices +# +CONFIG_USB_HID=m +CONFIG_HID_PID=y +CONFIG_USB_HIDDEV=y + +# +# Special HID drivers +# +CONFIG_HID_A4TECH=m +CONFIG_HID_ACRUX=m +CONFIG_HID_ACRUX_FF=y +CONFIG_HID_APPLE=m +CONFIG_HID_BELKIN=m +CONFIG_HID_CHERRY=m +CONFIG_HID_CHICONY=m +CONFIG_HID_PRODIKEYS=m +CONFIG_HID_CYPRESS=m +CONFIG_HID_DRAGONRISE=m +CONFIG_DRAGONRISE_FF=y +CONFIG_HID_EMS_FF=m +CONFIG_HID_ELECOM=m +CONFIG_HID_EZKEY=m +CONFIG_HID_HOLTEK=m +CONFIG_HOLTEK_FF=y +CONFIG_HID_KEYTOUCH=m +CONFIG_HID_KYE=m +CONFIG_HID_UCLOGIC=m +CONFIG_HID_WALTOP=m +CONFIG_HID_GYRATION=m +CONFIG_HID_TWINHAN=m +CONFIG_HID_KENSINGTON=m +CONFIG_HID_LCPOWER=m +CONFIG_HID_LOGITECH=m +CONFIG_HID_LOGITECH_DJ=m +CONFIG_LOGITECH_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGIG940_FF=y +CONFIG_LOGIWHEELS_FF=y +CONFIG_HID_MAGICMOUSE=m +CONFIG_HID_MICROSOFT=m +CONFIG_HID_MONTEREY=m +CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NTRIG=m +CONFIG_HID_ORTEK=m +CONFIG_HID_PANTHERLORD=m +CONFIG_PANTHERLORD_FF=y +CONFIG_HID_PETALYNX=m +CONFIG_HID_PICOLCD=m +CONFIG_HID_PICOLCD_FB=y +CONFIG_HID_PICOLCD_BACKLIGHT=y +CONFIG_HID_PICOLCD_LCD=y +CONFIG_HID_PICOLCD_LEDS=y +CONFIG_HID_PRIMAX=m +CONFIG_HID_QUANTA=m +CONFIG_HID_ROCCAT=m +CONFIG_HID_ROCCAT_COMMON=m +CONFIG_HID_ROCCAT_ARVO=m +CONFIG_HID_ROCCAT_KONE=m +CONFIG_HID_ROCCAT_KONEPLUS=m +CONFIG_HID_ROCCAT_KOVAPLUS=m +CONFIG_HID_ROCCAT_PYRA=m +CONFIG_HID_SAMSUNG=m +CONFIG_HID_SONY=m +CONFIG_HID_SPEEDLINK=m +CONFIG_HID_SUNPLUS=m +CONFIG_HID_GREENASIA=m +CONFIG_GREENASIA_FF=y +CONFIG_HID_SMARTJOYPLUS=m +CONFIG_SMARTJOYPLUS_FF=y +CONFIG_HID_TOPSEED=m +CONFIG_HID_THRUSTMASTER=m +CONFIG_THRUSTMASTER_FF=y +CONFIG_HID_WACOM=m +CONFIG_HID_WACOM_POWER_SUPPLY=y +CONFIG_HID_WIIMOTE=m +CONFIG_HID_ZEROPLUS=m +CONFIG_ZEROPLUS_FF=y +CONFIG_HID_ZYDACRON=m +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=m +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB_ARCH_HAS_XHCI=y +CONFIG_USB=m +# CONFIG_USB_DEBUG is not set +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEVICEFS=y +# CONFIG_USB_DEVICE_CLASS is not set +CONFIG_USB_DYNAMIC_MINORS=y +CONFIG_USB_SUSPEND=y +# CONFIG_USB_OTG is not set +CONFIG_USB_DWC3=m +# CONFIG_USB_DWC3_DEBUG is not set +CONFIG_USB_MON=m +CONFIG_USB_WUSB=m +CONFIG_USB_WUSB_CBAF=m +# CONFIG_USB_WUSB_CBAF_DEBUG is not set + +# +# USB Host Controller Drivers +# +CONFIG_USB_C67X00_HCD=m +CONFIG_USB_XHCI_HCD=m +# CONFIG_USB_XHCI_HCD_DEBUGGING is not set +CONFIG_USB_EHCI_HCD=m +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_OXU210HP_HCD=m +CONFIG_USB_ISP116X_HCD=m +CONFIG_USB_ISP1760_HCD=m +CONFIG_USB_ISP1362_HCD=m +CONFIG_USB_OHCI_HCD=m +# CONFIG_USB_OHCI_HCD_SSB is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_UHCI_HCD=m +CONFIG_USB_U132_HCD=m +CONFIG_USB_SL811_HCD=m +# CONFIG_USB_SL811_HCD_ISO is not set +CONFIG_USB_SL811_CS=m +CONFIG_USB_R8A66597_HCD=m +CONFIG_USB_RENESAS_USBHS_HCD=m +CONFIG_USB_WHCI_HCD=m +CONFIG_USB_HWA_HCD=m +CONFIG_USB_RENESAS_USBHS=m + +# +# USB Device Class drivers +# +CONFIG_USB_ACM=m +CONFIG_USB_PRINTER=m +CONFIG_USB_WDM=m +CONFIG_USB_TMC=m + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may +# + +# +# also be needed; see USB_STORAGE Help for more info +# +CONFIG_USB_STORAGE=m +# CONFIG_USB_STORAGE_DEBUG is not set +CONFIG_USB_STORAGE_REALTEK=m +CONFIG_REALTEK_AUTOPM=y +CONFIG_USB_STORAGE_DATAFAB=m +CONFIG_USB_STORAGE_FREECOM=m +CONFIG_USB_STORAGE_ISD200=m +CONFIG_USB_STORAGE_USBAT=m +CONFIG_USB_STORAGE_SDDR09=m +CONFIG_USB_STORAGE_SDDR55=m +CONFIG_USB_STORAGE_JUMPSHOT=m +CONFIG_USB_STORAGE_ALAUDA=m +CONFIG_USB_STORAGE_ONETOUCH=m +CONFIG_USB_STORAGE_KARMA=m +CONFIG_USB_STORAGE_CYPRESS_ATACB=m +CONFIG_USB_STORAGE_ENE_UB6250=m +CONFIG_USB_UAS=m +# CONFIG_USB_LIBUSUAL is not set + +# +# USB Imaging devices +# +CONFIG_USB_MDC800=m +CONFIG_USB_MICROTEK=m + +# +# USB port drivers +# +CONFIG_USB_USS720=m +CONFIG_USB_SERIAL=m +CONFIG_USB_EZUSB=y +CONFIG_USB_SERIAL_GENERIC=y +CONFIG_USB_SERIAL_AIRCABLE=m +CONFIG_USB_SERIAL_ARK3116=m +CONFIG_USB_SERIAL_BELKIN=m +CONFIG_USB_SERIAL_CH341=m +CONFIG_USB_SERIAL_WHITEHEAT=m +CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m +CONFIG_USB_SERIAL_CP210X=m +CONFIG_USB_SERIAL_CYPRESS_M8=m +CONFIG_USB_SERIAL_EMPEG=m +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_SERIAL_FUNSOFT=m +CONFIG_USB_SERIAL_VISOR=m +CONFIG_USB_SERIAL_IPAQ=m +CONFIG_USB_SERIAL_IR=m +CONFIG_USB_SERIAL_EDGEPORT=m +CONFIG_USB_SERIAL_EDGEPORT_TI=m +CONFIG_USB_SERIAL_GARMIN=m +CONFIG_USB_SERIAL_IPW=m +CONFIG_USB_SERIAL_IUU=m +CONFIG_USB_SERIAL_KEYSPAN_PDA=m +CONFIG_USB_SERIAL_KEYSPAN=m +CONFIG_USB_SERIAL_KEYSPAN_MPR=y +CONFIG_USB_SERIAL_KEYSPAN_USA28=y +CONFIG_USB_SERIAL_KEYSPAN_USA28X=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y +CONFIG_USB_SERIAL_KEYSPAN_USA19=y +CONFIG_USB_SERIAL_KEYSPAN_USA18X=y +CONFIG_USB_SERIAL_KEYSPAN_USA19W=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y +CONFIG_USB_SERIAL_KEYSPAN_USA49W=y +CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y +CONFIG_USB_SERIAL_KLSI=m +CONFIG_USB_SERIAL_KOBIL_SCT=m +CONFIG_USB_SERIAL_MCT_U232=m +CONFIG_USB_SERIAL_MOS7720=m +CONFIG_USB_SERIAL_MOS7715_PARPORT=y +CONFIG_USB_SERIAL_MOS7840=m +CONFIG_USB_SERIAL_MOTOROLA=m +CONFIG_USB_SERIAL_NAVMAN=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_OTI6858=m +CONFIG_USB_SERIAL_QCAUX=m +CONFIG_USB_SERIAL_QUALCOMM=m +CONFIG_USB_SERIAL_SPCP8X5=m +CONFIG_USB_SERIAL_HP4X=m +CONFIG_USB_SERIAL_SAFE=m +# CONFIG_USB_SERIAL_SAFE_PADDED is not set +CONFIG_USB_SERIAL_SIEMENS_MPI=m +CONFIG_USB_SERIAL_SIERRAWIRELESS=m +CONFIG_USB_SERIAL_SYMBOL=m +CONFIG_USB_SERIAL_TI=m +CONFIG_USB_SERIAL_CYBERJACK=m +CONFIG_USB_SERIAL_XIRCOM=m +CONFIG_USB_SERIAL_WWAN=m +CONFIG_USB_SERIAL_OPTION=m +CONFIG_USB_SERIAL_OMNINET=m +CONFIG_USB_SERIAL_OPTICON=m +CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m +CONFIG_USB_SERIAL_ZIO=m +CONFIG_USB_SERIAL_SSU100=m +# CONFIG_USB_SERIAL_DEBUG is not set + +# +# USB Miscellaneous drivers +# +CONFIG_USB_EMI62=m +CONFIG_USB_EMI26=m +CONFIG_USB_ADUTUX=m +CONFIG_USB_SEVSEG=m +CONFIG_USB_RIO500=m +CONFIG_USB_LEGOTOWER=m +CONFIG_USB_LCD=m +CONFIG_USB_LED=m +CONFIG_USB_CYPRESS_CY7C63=m +CONFIG_USB_CYTHERM=m +CONFIG_USB_IDMOUSE=m +CONFIG_USB_FTDI_ELAN=m +CONFIG_USB_APPLEDISPLAY=m +CONFIG_USB_SISUSBVGA=m +# CONFIG_USB_SISUSBVGA_CON is not set +CONFIG_USB_LD=m +CONFIG_USB_TRANCEVIBRATOR=m +CONFIG_USB_IOWARRIOR=m +CONFIG_USB_TEST=m +CONFIG_USB_ISIGHTFW=m +CONFIG_USB_YUREX=m +CONFIG_USB_ATM=m +CONFIG_USB_SPEEDTOUCH=m +CONFIG_USB_CXACRU=m +CONFIG_USB_UEAGLEATM=m +CONFIG_USB_XUSBATM=m +CONFIG_USB_GADGET=m +# CONFIG_USB_GADGET_DEBUG is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DEBUG_FS is not set +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 +CONFIG_USB_FUSB300=m +CONFIG_USB_R8A66597=m +CONFIG_USB_GADGET_DWC3=m +CONFIG_USB_M66592=m +CONFIG_USB_AMD5536UDC=m +CONFIG_USB_CI13XXX_PCI=m +CONFIG_USB_NET2272=m +CONFIG_USB_NET2272_DMA=y +CONFIG_USB_NET2280=m +CONFIG_USB_GOKU=m +CONFIG_USB_LANGWELL=m +CONFIG_USB_EG20T=m +CONFIG_USB_DUMMY_HCD=m +CONFIG_USB_GADGET_DUALSPEED=y +CONFIG_USB_GADGET_SUPERSPEED=y +# CONFIG_USB_ZERO is not set +CONFIG_USB_AUDIO=m +CONFIG_USB_ETH=m +CONFIG_USB_ETH_RNDIS=y +# CONFIG_USB_ETH_EEM is not set +CONFIG_USB_G_NCM=m +CONFIG_USB_GADGETFS=m +CONFIG_USB_FUNCTIONFS=m +CONFIG_USB_FUNCTIONFS_ETH=y +CONFIG_USB_FUNCTIONFS_RNDIS=y +CONFIG_USB_FUNCTIONFS_GENERIC=y +CONFIG_USB_FILE_STORAGE=m +# CONFIG_USB_FILE_STORAGE_TEST is not set +# CONFIG_USB_MASS_STORAGE is not set +CONFIG_USB_G_SERIAL=m +CONFIG_USB_MIDI_GADGET=m +CONFIG_USB_G_PRINTER=m +# CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_G_NOKIA is not set +# CONFIG_USB_G_ACM_MS is not set +# CONFIG_USB_G_MULTI is not set +CONFIG_USB_G_HID=m +CONFIG_USB_G_DBGP=m +# CONFIG_USB_G_DBGP_PRINTK is not set +CONFIG_USB_G_DBGP_SERIAL=y +CONFIG_USB_G_WEBCAM=m + +# +# OTG and related infrastructure +# +CONFIG_USB_OTG_UTILS=y +CONFIG_USB_GPIO_VBUS=m +CONFIG_NOP_USB_XCEIV=m +CONFIG_AB8500_USB=m +CONFIG_UWB=m +CONFIG_UWB_HWA=m +CONFIG_UWB_WHCI=m +CONFIG_UWB_I1480U=m +CONFIG_MMC=m +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_UNSAFE_RESUME is not set +CONFIG_MMC_CLKGATE=y + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=m +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +CONFIG_SDIO_UART=m +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_MMC_SDHCI=m +CONFIG_MMC_SDHCI_PCI=m +CONFIG_MMC_RICOH_MMC=y +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MMC_WBSD=m +CONFIG_MMC_TIFM_SD=m +CONFIG_MMC_SDRICOH_CS=m +CONFIG_MMC_CB710=m +CONFIG_MMC_VIA_SDMMC=m +CONFIG_MMC_VUB300=m +CONFIG_MMC_USHC=m +CONFIG_MEMSTICK=m +# CONFIG_MEMSTICK_DEBUG is not set + +# +# MemoryStick drivers +# +# CONFIG_MEMSTICK_UNSAFE_RESUME is not set +CONFIG_MSPRO_BLOCK=m + +# +# MemoryStick Host Controller Drivers +# +CONFIG_MEMSTICK_TIFM_MS=m +CONFIG_MEMSTICK_JMICRON_38X=m +CONFIG_MEMSTICK_R592=m +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y + +# +# LED drivers +# +CONFIG_LEDS_LM3530=m +CONFIG_LEDS_NET5501=m +CONFIG_LEDS_PCA9532=m +CONFIG_LEDS_PCA9532_GPIO=y +CONFIG_LEDS_GPIO=m +CONFIG_LEDS_LP3944=m +CONFIG_LEDS_LP5521=m +CONFIG_LEDS_LP5523=m +CONFIG_LEDS_CLEVO_MAIL=m +CONFIG_LEDS_PCA955X=m +CONFIG_LEDS_WM831X_STATUS=m +CONFIG_LEDS_DAC124S085=m +CONFIG_LEDS_REGULATOR=m +CONFIG_LEDS_BD2802=m +CONFIG_LEDS_INTEL_SS4200=m +CONFIG_LEDS_LT3593=m +CONFIG_LEDS_DELL_NETBOOKS=m +CONFIG_LEDS_MC13783=m +CONFIG_LEDS_TRIGGERS=y + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGER_TIMER=m +CONFIG_LEDS_TRIGGER_HEARTBEAT=m +CONFIG_LEDS_TRIGGER_BACKLIGHT=m +CONFIG_LEDS_TRIGGER_GPIO=m +CONFIG_LEDS_TRIGGER_DEFAULT_ON=m + +# +# iptables trigger is under Netfilter config (LED target) +# +CONFIG_ACCESSIBILITY=y +CONFIG_A11Y_BRAILLE_CONSOLE=y +# CONFIG_INFINIBAND is not set +CONFIG_EDAC=y + +# +# Reporting subsystems +# +# CONFIG_EDAC_DEBUG is not set +CONFIG_EDAC_DECODE_MCE=m +CONFIG_EDAC_MCE_INJ=m +CONFIG_EDAC_MM_EDAC=m +CONFIG_EDAC_AMD76X=m +CONFIG_EDAC_E7XXX=m +CONFIG_EDAC_E752X=m +CONFIG_EDAC_I82875P=m +CONFIG_EDAC_I82975X=m +CONFIG_EDAC_I3000=m +CONFIG_EDAC_I3200=m +CONFIG_EDAC_X38=m +CONFIG_EDAC_I5400=m +CONFIG_EDAC_I7CORE=m +CONFIG_EDAC_I82860=m +CONFIG_EDAC_R82600=m +CONFIG_EDAC_I5000=m +CONFIG_EDAC_I5100=m +CONFIG_EDAC_I7300=m +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +CONFIG_RTC_INTF_DEV_UIE_EMUL=y +CONFIG_RTC_DRV_TEST=m + +# +# I2C RTC drivers +# +CONFIG_RTC_DRV_DS1307=m +CONFIG_RTC_DRV_DS1374=m +CONFIG_RTC_DRV_DS1672=m +CONFIG_RTC_DRV_DS3232=m +CONFIG_RTC_DRV_MAX6900=m +CONFIG_RTC_DRV_RS5C372=m +CONFIG_RTC_DRV_ISL1208=m +CONFIG_RTC_DRV_ISL12022=m +CONFIG_RTC_DRV_X1205=m +CONFIG_RTC_DRV_PCF8563=m +CONFIG_RTC_DRV_PCF8583=m +CONFIG_RTC_DRV_M41T80=m +CONFIG_RTC_DRV_M41T80_WDT=y +CONFIG_RTC_DRV_BQ32K=m +CONFIG_RTC_DRV_S35390A=m +CONFIG_RTC_DRV_FM3130=m +CONFIG_RTC_DRV_RX8581=m +CONFIG_RTC_DRV_RX8025=m +CONFIG_RTC_DRV_EM3027=m +CONFIG_RTC_DRV_RV3029C2=m + +# +# SPI RTC drivers +# +CONFIG_RTC_DRV_M41T93=m +CONFIG_RTC_DRV_M41T94=m +CONFIG_RTC_DRV_DS1305=m +CONFIG_RTC_DRV_DS1390=m +CONFIG_RTC_DRV_MAX6902=m +CONFIG_RTC_DRV_R9701=m +CONFIG_RTC_DRV_RS5C348=m +CONFIG_RTC_DRV_DS3234=m +CONFIG_RTC_DRV_PCF2123=m + +# +# Platform RTC drivers +# +CONFIG_RTC_DRV_CMOS=y +CONFIG_RTC_DRV_DS1286=m +CONFIG_RTC_DRV_DS1511=m +CONFIG_RTC_DRV_DS1553=m +CONFIG_RTC_DRV_DS1742=m +CONFIG_RTC_DRV_STK17TA8=m +CONFIG_RTC_DRV_M48T86=m +CONFIG_RTC_DRV_M48T35=m +CONFIG_RTC_DRV_M48T59=m +CONFIG_RTC_DRV_MSM6242=m +CONFIG_RTC_DRV_BQ4802=m +CONFIG_RTC_DRV_RP5C01=m +CONFIG_RTC_DRV_V3020=m +CONFIG_RTC_DRV_WM831X=m +CONFIG_RTC_DRV_PCF50633=m +CONFIG_RTC_DRV_AB8500=m + +# +# on-CPU RTC drivers +# +# CONFIG_RTC_DRV_PCAP is not set +CONFIG_RTC_DRV_MC13XXX=m +CONFIG_DMADEVICES=y +# CONFIG_DMADEVICES_DEBUG is not set + +# +# DMA Devices +# +CONFIG_INTEL_MID_DMAC=m +CONFIG_INTEL_IOATDMA=m +CONFIG_TIMB_DMA=m +CONFIG_PCH_DMA=m +CONFIG_DMA_ENGINE=y + +# +# DMA Clients +# +CONFIG_NET_DMA=y +CONFIG_ASYNC_TX_DMA=y +# CONFIG_DMATEST is not set +CONFIG_DCA=m +CONFIG_AUXDISPLAY=y +CONFIG_KS0108=m +CONFIG_KS0108_PORT=0x378 +CONFIG_KS0108_DELAY=2 +CONFIG_CFAG12864B=m +CONFIG_CFAG12864B_RATE=20 +CONFIG_UIO=m +CONFIG_UIO_CIF=m +CONFIG_UIO_PDRV=m +CONFIG_UIO_PDRV_GENIRQ=m +CONFIG_UIO_AEC=m +CONFIG_UIO_SERCOS3=m +CONFIG_UIO_PCI_GENERIC=m +CONFIG_UIO_NETX=m +CONFIG_VIRTIO=y +CONFIG_VIRTIO_RING=y + +# +# Virtio drivers +# +CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_BALLOON=m +CONFIG_VIRTIO_MMIO=m +CONFIG_STAGING=y +CONFIG_ET131X=m +CONFIG_SLICOSS=m +CONFIG_USBIP_CORE=m +CONFIG_USBIP_VHCI_HCD=m +CONFIG_USBIP_HOST=m +# CONFIG_USBIP_DEBUG is not set +CONFIG_W35UND=m +CONFIG_PRISM2_USB=m +CONFIG_ECHO=m +CONFIG_COMEDI=m +# CONFIG_COMEDI_DEBUG is not set +CONFIG_COMEDI_MISC_DRIVERS=m +CONFIG_COMEDI_KCOMEDILIB=m +CONFIG_COMEDI_BOND=m +CONFIG_COMEDI_TEST=m +CONFIG_COMEDI_PARPORT=m +CONFIG_COMEDI_SERIAL2002=m +CONFIG_COMEDI_SKEL=m +CONFIG_COMEDI_ISA_DRIVERS=m +CONFIG_COMEDI_ACL7225B=m +CONFIG_COMEDI_PCL711=m +CONFIG_COMEDI_PCL724=m +CONFIG_COMEDI_PCL725=m +CONFIG_COMEDI_PCL726=m +CONFIG_COMEDI_PCL730=m +CONFIG_COMEDI_PCL812=m +CONFIG_COMEDI_PCL816=m +CONFIG_COMEDI_PCL818=m +CONFIG_COMEDI_PCM3724=m +CONFIG_COMEDI_PCM3730=m +CONFIG_COMEDI_RTI800=m +CONFIG_COMEDI_RTI802=m +CONFIG_COMEDI_DAS16M1=m +CONFIG_COMEDI_DAS16=m +CONFIG_COMEDI_DAS800=m +CONFIG_COMEDI_DAS1800=m +CONFIG_COMEDI_DAS6402=m +CONFIG_COMEDI_DT2801=m +CONFIG_COMEDI_DT2811=m +CONFIG_COMEDI_DT2814=m +CONFIG_COMEDI_DT2815=m +CONFIG_COMEDI_DT2817=m +CONFIG_COMEDI_DT282X=m +CONFIG_COMEDI_DMM32AT=m +CONFIG_COMEDI_FL512=m +CONFIG_COMEDI_AIO_AIO12_8=m +CONFIG_COMEDI_AIO_IIRO_16=m +CONFIG_COMEDI_C6XDIGIO=m +CONFIG_COMEDI_MPC624=m +CONFIG_COMEDI_ADQ12B=m +CONFIG_COMEDI_NI_AT_A2150=m +CONFIG_COMEDI_NI_AT_AO=m +CONFIG_COMEDI_NI_ATMIO=m +CONFIG_COMEDI_NI_ATMIO16D=m +CONFIG_COMEDI_PCMAD=m +CONFIG_COMEDI_PCMDA12=m +CONFIG_COMEDI_PCMMIO=m +CONFIG_COMEDI_PCMUIO=m +CONFIG_COMEDI_MULTIQ3=m +CONFIG_COMEDI_POC=m +CONFIG_COMEDI_PCI_DRIVERS=m +CONFIG_COMEDI_ADDI_APCI_035=m +CONFIG_COMEDI_ADDI_APCI_1032=m +CONFIG_COMEDI_ADDI_APCI_1500=m +CONFIG_COMEDI_ADDI_APCI_1516=m +CONFIG_COMEDI_ADDI_APCI_1564=m +CONFIG_COMEDI_ADDI_APCI_16XX=m +CONFIG_COMEDI_ADDI_APCI_2016=m +CONFIG_COMEDI_ADDI_APCI_2032=m +CONFIG_COMEDI_ADDI_APCI_2200=m +CONFIG_COMEDI_ADDI_APCI_3001=m +CONFIG_COMEDI_ADDI_APCI_3120=m +CONFIG_COMEDI_ADDI_APCI_3501=m +CONFIG_COMEDI_ADDI_APCI_3XXX=m +CONFIG_COMEDI_ADL_PCI6208=m +CONFIG_COMEDI_ADL_PCI7230=m +CONFIG_COMEDI_ADL_PCI7296=m +CONFIG_COMEDI_ADL_PCI7432=m +CONFIG_COMEDI_ADL_PCI8164=m +CONFIG_COMEDI_ADL_PCI9111=m +CONFIG_COMEDI_ADL_PCI9118=m +CONFIG_COMEDI_ADV_PCI1710=m +CONFIG_COMEDI_ADV_PCI1723=m +CONFIG_COMEDI_ADV_PCI_DIO=m +CONFIG_COMEDI_AMPLC_DIO200=m +CONFIG_COMEDI_AMPLC_PC236=m +CONFIG_COMEDI_AMPLC_PC263=m +CONFIG_COMEDI_AMPLC_PCI224=m +CONFIG_COMEDI_AMPLC_PCI230=m +CONFIG_COMEDI_CONTEC_PCI_DIO=m +CONFIG_COMEDI_DT3000=m +CONFIG_COMEDI_DYNA_PCI10XX=m +CONFIG_COMEDI_UNIOXX5=m +CONFIG_COMEDI_GSC_HPDI=m +CONFIG_COMEDI_ICP_MULTI=m +CONFIG_COMEDI_II_PCI20KC=m +CONFIG_COMEDI_DAQBOARD2000=m +CONFIG_COMEDI_JR3_PCI=m +CONFIG_COMEDI_KE_COUNTER=m +CONFIG_COMEDI_CB_PCIDAS64=m +CONFIG_COMEDI_CB_PCIDAS=m +CONFIG_COMEDI_CB_PCIDDA=m +CONFIG_COMEDI_CB_PCIDIO=m +# CONFIG_COMEDI_CB_PCIMDAS is not set +CONFIG_COMEDI_CB_PCIMDDA=m +CONFIG_COMEDI_ME4000=m +CONFIG_COMEDI_ME_DAQ=m +CONFIG_COMEDI_NI_6527=m +CONFIG_COMEDI_NI_65XX=m +CONFIG_COMEDI_NI_660X=m +CONFIG_COMEDI_NI_670X=m +CONFIG_COMEDI_NI_PCIDIO=m +CONFIG_COMEDI_NI_PCIMIO=m +CONFIG_COMEDI_RTD520=m +CONFIG_COMEDI_S526=m +CONFIG_COMEDI_S626=m +CONFIG_COMEDI_SSV_DNP=m +CONFIG_COMEDI_PCMCIA_DRIVERS=m +CONFIG_COMEDI_CB_DAS16_CS=m +CONFIG_COMEDI_DAS08_CS=m +CONFIG_COMEDI_NI_DAQ_700_CS=m +CONFIG_COMEDI_NI_DAQ_DIO24_CS=m +CONFIG_COMEDI_NI_LABPC_CS=m +CONFIG_COMEDI_NI_MIO_CS=m +CONFIG_COMEDI_QUATECH_DAQP_CS=m +CONFIG_COMEDI_USB_DRIVERS=m +CONFIG_COMEDI_DT9812=m +CONFIG_COMEDI_USBDUX=m +CONFIG_COMEDI_USBDUXFAST=m +CONFIG_COMEDI_USBDUXSIGMA=m +CONFIG_COMEDI_VMK80XX=m +CONFIG_COMEDI_NI_COMMON=m +CONFIG_COMEDI_MITE=m +CONFIG_COMEDI_NI_TIO=m +CONFIG_COMEDI_NI_LABPC=m +CONFIG_COMEDI_8255=m +CONFIG_COMEDI_DAS08=m +CONFIG_COMEDI_FC=m +CONFIG_FB_OLPC_DCON=m +CONFIG_FB_OLPC_DCON_1=y +CONFIG_FB_OLPC_DCON_1_5=y +CONFIG_ASUS_OLED=m +# CONFIG_PANEL is not set +CONFIG_R8187SE=m +CONFIG_RTL8192U=m +CONFIG_RTL8192E=m +CONFIG_R8712U=m +CONFIG_R8712_AP=y +CONFIG_RTS_PSTOR=m +# CONFIG_RTS_PSTOR_DEBUG is not set +CONFIG_RTS5139=m +# CONFIG_RTS5139_DEBUG is not set +# CONFIG_TRANZPORT is not set +CONFIG_POHMELFS=m +# CONFIG_POHMELFS_DEBUG is not set +CONFIG_IDE_PHISON=m +CONFIG_LINE6_USB=m +# CONFIG_LINE6_USB_DEBUG is not set +# CONFIG_LINE6_USB_DUMP_CTRL is not set +# CONFIG_LINE6_USB_DUMP_MIDI is not set +# CONFIG_LINE6_USB_DUMP_PCM is not set +# CONFIG_LINE6_USB_RAW is not set +# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set +CONFIG_DRM_NOUVEAU=m +CONFIG_DRM_NOUVEAU_BACKLIGHT=y +CONFIG_DRM_NOUVEAU_DEBUG=y + +# +# I2C encoder or helper chips +# +CONFIG_DRM_I2C_CH7006=m +CONFIG_DRM_I2C_SIL164=m +CONFIG_USB_SERIAL_QUATECH2=m +CONFIG_USB_SERIAL_QUATECH_USB2=m +CONFIG_VT6655=m +CONFIG_VT6656=m +CONFIG_HYPERV_STORAGE=m +CONFIG_HYPERV_NET=m +CONFIG_HYPERV_MOUSE=m +# CONFIG_VME_BUS is not set +CONFIG_DX_SEP=m +# CONFIG_IIO is not set +CONFIG_XVMALLOC=y +CONFIG_ZRAM=m +# CONFIG_ZRAM_DEBUG is not set +CONFIG_ZCACHE=m +CONFIG_WLAGS49_H2=m +CONFIG_WLAGS49_H25=m +CONFIG_FB_SM7XX=m +CONFIG_CRYSTALHD=m +CONFIG_FB_XGI=m +CONFIG_ACPI_QUICKSTART=m +CONFIG_USB_ENESTORAGE=m +CONFIG_BCM_WIMAX=m +CONFIG_FT1000=m +CONFIG_FT1000_USB=m +CONFIG_FT1000_PCMCIA=m + +# +# Speakup console speech +# +CONFIG_SPEAKUP=m +CONFIG_SPEAKUP_SYNTH_ACNTSA=m +CONFIG_SPEAKUP_SYNTH_ACNTPC=m +CONFIG_SPEAKUP_SYNTH_APOLLO=m +CONFIG_SPEAKUP_SYNTH_AUDPTR=m +CONFIG_SPEAKUP_SYNTH_BNS=m +CONFIG_SPEAKUP_SYNTH_DECTLK=m +CONFIG_SPEAKUP_SYNTH_DECEXT=m +CONFIG_SPEAKUP_SYNTH_DECPC=m +CONFIG_SPEAKUP_SYNTH_DTLK=m +CONFIG_SPEAKUP_SYNTH_KEYPC=m +CONFIG_SPEAKUP_SYNTH_LTLK=m +CONFIG_SPEAKUP_SYNTH_SOFT=m +CONFIG_SPEAKUP_SYNTH_SPKOUT=m +CONFIG_SPEAKUP_SYNTH_TXPRT=m +CONFIG_SPEAKUP_SYNTH_DUMMY=m +CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m +CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m +CONFIG_DRM_PSB=m +CONFIG_DRM_PSB_MRST=y +CONFIG_DRM_PSB_MFLD=y +CONFIG_DRM_PSB_CDV=y +CONFIG_INTEL_MEI=m +CONFIG_STAGING_MEDIA=y +CONFIG_DVB_AS102=m +CONFIG_DVB_CXD2099=m +CONFIG_VIDEO_DT3155=m +CONFIG_DT3155_CCIR=y +CONFIG_DT3155_STREAMING=y +CONFIG_EASYCAP=m +# CONFIG_EASYCAP_DEBUG is not set +CONFIG_VIDEO_GO7007=m +CONFIG_VIDEO_GO7007_USB=m +# CONFIG_VIDEO_GO7007_USB_S2250_BOARD is not set +CONFIG_VIDEO_GO7007_OV7640=m +CONFIG_VIDEO_GO7007_SAA7113=m +CONFIG_VIDEO_GO7007_SAA7115=m +CONFIG_VIDEO_GO7007_TW9903=m +CONFIG_VIDEO_GO7007_UDA1342=m +CONFIG_VIDEO_GO7007_SONY_TUNER=m +CONFIG_VIDEO_GO7007_TW2804=m +CONFIG_SOLO6X10=m +CONFIG_LIRC_STAGING=y +CONFIG_LIRC_BT829=m +CONFIG_LIRC_IGORPLUGUSB=m +CONFIG_LIRC_IMON=m +CONFIG_LIRC_PARALLEL=m +CONFIG_LIRC_SASEM=m +CONFIG_LIRC_SERIAL=m +CONFIG_LIRC_SERIAL_TRANSMITTER=y +CONFIG_LIRC_SIR=m +CONFIG_LIRC_TTUSBIR=m +CONFIG_LIRC_ZILOG=m +CONFIG_X86_PLATFORM_DEVICES=y +CONFIG_ACER_WMI=m +CONFIG_ACERHDF=m +CONFIG_ASUS_LAPTOP=m +CONFIG_DELL_LAPTOP=m +CONFIG_DELL_WMI=m +CONFIG_DELL_WMI_AIO=m +CONFIG_FUJITSU_LAPTOP=m +# CONFIG_FUJITSU_LAPTOP_DEBUG is not set +CONFIG_TC1100_WMI=m +CONFIG_HP_ACCEL=m +CONFIG_HP_WMI=m +CONFIG_MSI_LAPTOP=m +CONFIG_PANASONIC_LAPTOP=m +CONFIG_COMPAL_LAPTOP=m +CONFIG_SONY_LAPTOP=m +# CONFIG_SONYPI_COMPAT is not set +CONFIG_IDEAPAD_LAPTOP=m +CONFIG_THINKPAD_ACPI=m +CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y +# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set +# CONFIG_THINKPAD_ACPI_DEBUG is not set +# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set +CONFIG_THINKPAD_ACPI_VIDEO=y +CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y +CONFIG_SENSORS_HDAPS=m +CONFIG_INTEL_MENLOW=m +CONFIG_EEEPC_LAPTOP=m +CONFIG_ASUS_WMI=m +CONFIG_ASUS_NB_WMI=m +CONFIG_EEEPC_WMI=m +CONFIG_ACPI_WMI=m +CONFIG_MSI_WMI=m +CONFIG_ACPI_ASUS=m +CONFIG_TOPSTAR_LAPTOP=m +CONFIG_ACPI_TOSHIBA=m +CONFIG_TOSHIBA_BT_RFKILL=m +CONFIG_ACPI_CMPC=m +CONFIG_INTEL_IPS=m +CONFIG_IBM_RTL=m +CONFIG_XO1_RFKILL=m +CONFIG_XO15_EBOOK=m +CONFIG_SAMSUNG_LAPTOP=m +CONFIG_MXM_WMI=m +CONFIG_INTEL_OAKTRAIL=m +CONFIG_SAMSUNG_Q10=m + +# +# Hardware Spinlock drivers +# +CONFIG_CLKSRC_I8253=y +CONFIG_CLKEVT_I8253=y +CONFIG_I8253_LOCK=y +CONFIG_CLKBLD_I8253=y +CONFIG_IOMMU_API=y +CONFIG_IOMMU_SUPPORT=y +CONFIG_DMAR_TABLE=y +CONFIG_INTEL_IOMMU=y +# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set +CONFIG_INTEL_IOMMU_FLOPPY_WA=y +CONFIG_VIRT_DRIVERS=y +CONFIG_HYPERV=m +CONFIG_HYPERV_UTILS=m +# CONFIG_PM_DEVFREQ is not set + +# +# Firmware Drivers +# +CONFIG_EDD=m +# CONFIG_EDD_OFF is not set +CONFIG_FIRMWARE_MEMMAP=y +CONFIG_EFI_VARS=m +CONFIG_DELL_RBU=m +CONFIG_DCDBAS=m +CONFIG_DMIID=y +CONFIG_DMI_SYSFS=m +# CONFIG_ISCSI_IBFT_FIND is not set +CONFIG_SIGMA=m +# CONFIG_GOOGLE_FIRMWARE is not set + +# +# File systems +# +# CONFIG_EXT2_FS is not set +# CONFIG_EXT3_FS is not set +CONFIG_EXT4_FS=m +CONFIG_EXT4_USE_FOR_EXT23=y +CONFIG_EXT4_FS_XATTR=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD=m +# CONFIG_JBD_DEBUG is not set +CONFIG_JBD2=m +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=m +CONFIG_REISERFS_FS=m +# CONFIG_REISERFS_CHECK is not set +CONFIG_REISERFS_PROC_INFO=y +CONFIG_REISERFS_FS_XATTR=y +CONFIG_REISERFS_FS_POSIX_ACL=y +CONFIG_REISERFS_FS_SECURITY=y +CONFIG_JFS_FS=m +CONFIG_JFS_POSIX_ACL=y +CONFIG_JFS_SECURITY=y +# CONFIG_JFS_DEBUG is not set +CONFIG_JFS_STATISTICS=y +CONFIG_XFS_FS=m +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +CONFIG_XFS_RT=y +# CONFIG_XFS_DEBUG is not set +CONFIG_GFS2_FS=m +CONFIG_GFS2_FS_LOCKING_DLM=y +CONFIG_OCFS2_FS=m +CONFIG_OCFS2_FS_O2CB=m +CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m +CONFIG_OCFS2_FS_STATS=y +# CONFIG_OCFS2_DEBUG_MASKLOG is not set +# CONFIG_OCFS2_DEBUG_FS is not set +CONFIG_BTRFS_FS=m +CONFIG_BTRFS_FS_POSIX_ACL=y +CONFIG_NILFS2_FS=m +CONFIG_FS_POSIX_ACL=y +CONFIG_EXPORTFS=m +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +CONFIG_FANOTIFY=y +# CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set +CONFIG_QUOTA=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +# CONFIG_PRINT_QUOTA_WARNING is not set +# CONFIG_QUOTA_DEBUG is not set +CONFIG_QUOTA_TREE=m +CONFIG_QFMT_V1=m +CONFIG_QFMT_V2=m +CONFIG_QUOTACTL=y +CONFIG_AUTOFS4_FS=m +CONFIG_FUSE_FS=m +CONFIG_CUSE=m +CONFIG_GENERIC_ACL=y + +# +# Caches +# +CONFIG_FSCACHE=m +CONFIG_FSCACHE_STATS=y +CONFIG_FSCACHE_HISTOGRAM=y +# CONFIG_FSCACHE_DEBUG is not set +# CONFIG_FSCACHE_OBJECT_LIST is not set +CONFIG_CACHEFILES=m +# CONFIG_CACHEFILES_DEBUG is not set +# CONFIG_CACHEFILES_HISTOGRAM is not set + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=m +CONFIG_JOLIET=y +CONFIG_ZISOFS=y +CONFIG_UDF_FS=m +CONFIG_UDF_NLS=y + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=m +CONFIG_MSDOS_FS=m +CONFIG_VFAT_FS=m +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +CONFIG_NTFS_FS=m +# CONFIG_NTFS_DEBUG is not set +CONFIG_NTFS_RW=y + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_KCORE=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +CONFIG_HUGETLBFS=y +CONFIG_HUGETLB_PAGE=y +CONFIG_CONFIGFS_FS=m +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ADFS_FS is not set +CONFIG_AFFS_FS=m +CONFIG_ECRYPT_FS=m +CONFIG_HFS_FS=m +CONFIG_HFSPLUS_FS=m +CONFIG_BEFS_FS=m +# CONFIG_BEFS_DEBUG is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_JFFS2_FS=m +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_LZO is not set +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +CONFIG_UBIFS_FS=m +CONFIG_UBIFS_FS_XATTR=y +# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y +# CONFIG_UBIFS_FS_DEBUG is not set +CONFIG_LOGFS=m +CONFIG_CRAMFS=m +CONFIG_SQUASHFS=m +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_ZLIB=y +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +CONFIG_MINIX_FS=m +CONFIG_OMFS_FS=m +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_ROMFS_FS is not set +CONFIG_PSTORE=y +# CONFIG_SYSV_FS is not set +CONFIG_UFS_FS=m +# CONFIG_UFS_FS_WRITE is not set +# CONFIG_UFS_DEBUG is not set +CONFIG_EXOFS_FS=m +# CONFIG_EXOFS_DEBUG is not set +CONFIG_ORE=m +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=m +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +CONFIG_NFS_V4=y +# CONFIG_NFS_V4_1 is not set +CONFIG_NFS_FSCACHE=y +# CONFIG_NFS_USE_LEGACY_DNS is not set +CONFIG_NFS_USE_KERNEL_DNS=y +# CONFIG_NFS_USE_NEW_IDMAPPER is not set +CONFIG_NFSD=m +CONFIG_NFSD_V2_ACL=y +CONFIG_NFSD_V3=y +CONFIG_NFSD_V3_ACL=y +CONFIG_NFSD_V4=y +CONFIG_LOCKD=m +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=m +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=m +CONFIG_SUNRPC_GSS=m +CONFIG_RPCSEC_GSS_KRB5=m +CONFIG_CEPH_FS=m +CONFIG_CIFS=m +CONFIG_CIFS_STATS=y +# CONFIG_CIFS_STATS2 is not set +CONFIG_CIFS_WEAK_PW_HASH=y +CONFIG_CIFS_UPCALL=y +CONFIG_CIFS_XATTR=y +CONFIG_CIFS_POSIX=y +# CONFIG_CIFS_DEBUG2 is not set +CONFIG_CIFS_DFS_UPCALL=y +CONFIG_CIFS_FSCACHE=y +CONFIG_CIFS_ACL=y +CONFIG_NCP_FS=m +# CONFIG_NCPFS_PACKET_SIGNING is not set +# CONFIG_NCPFS_IOCTL_LOCKING is not set +# CONFIG_NCPFS_STRONG is not set +CONFIG_NCPFS_NFS_NS=y +CONFIG_NCPFS_OS2_NS=y +CONFIG_NCPFS_SMALLDOS=y +CONFIG_NCPFS_NLS=y +# CONFIG_NCPFS_EXTRAS is not set +CONFIG_CODA_FS=m +CONFIG_AFS_FS=m +# CONFIG_AFS_DEBUG is not set +CONFIG_AFS_FSCACHE=y +CONFIG_9P_FS=m +CONFIG_9P_FSCACHE=y +CONFIG_9P_FS_POSIX_ACL=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +CONFIG_MAC_PARTITION=y +CONFIG_MSDOS_PARTITION=y +CONFIG_BSD_DISKLABEL=y +CONFIG_MINIX_SUBPARTITION=y +CONFIG_SOLARIS_X86_PARTITION=y +# CONFIG_UNIXWARE_DISKLABEL is not set +CONFIG_LDM_PARTITION=y +# CONFIG_LDM_DEBUG is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +CONFIG_KARMA_PARTITION=y +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NLS_CODEPAGE_437=m +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=m +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=m +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +CONFIG_NLS_UTF8=m +CONFIG_DLM=m +# CONFIG_DLM_DEBUG is not set + +# +# Kernel hacking +# +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_PRINTK_TIME=y +CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4 +CONFIG_ENABLE_WARN_DEPRECATED=y +# CONFIG_ENABLE_MUST_CHECK is not set +CONFIG_FRAME_WARN=1024 +CONFIG_MAGIC_SYSRQ=y +CONFIG_STRIP_ASM_SYMS=y +CONFIG_UNUSED_SYMBOLS=y +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_SHIRQ is not set +CONFIG_LOCKUP_DETECTOR=y +CONFIG_HARDLOCKUP_DETECTOR=y +# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0 +# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 +CONFIG_DETECT_HUNG_TASK=y +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 +# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set +CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHEDSTATS is not set +CONFIG_TIMER_STATS=y +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +# CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_DEBUG_PREEMPT is not set +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_RT_MUTEX_TESTER is not set +# CONFIG_DEBUG_SPINLOCK is not set +CONFIG_DEBUG_MUTEXES=y +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +CONFIG_STACKTRACE=y +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_KOBJECT is not set +# CONFIG_DEBUG_HIGHMEM is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_INFO is not set +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_VIRTUAL is not set +# CONFIG_DEBUG_WRITECOUNT is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_FRAME_POINTER=y +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=60 +# CONFIG_RCU_CPU_STALL_VERBOSE is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# CONFIG_DEBUG_PER_CPU_MAPS is not set +CONFIG_LKDTM=m +CONFIG_CPU_NOTIFIER_ERROR_INJECT=m +# CONFIG_FAULT_INJECTION is not set +# CONFIG_LATENCYTOP is not set +CONFIG_SYSCTL_SYSCALL_CHECK=y +# CONFIG_DEBUG_PAGEALLOC is not set +CONFIG_USER_STACKTRACE_SUPPORT=y +CONFIG_NOP_TRACER=y +CONFIG_HAVE_FTRACE_NMI_ENTER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y +CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACER_MAX_TRACE=y +CONFIG_RING_BUFFER=y +CONFIG_FTRACE_NMI_ENTER=y +CONFIG_EVENT_TRACING=y +CONFIG_EVENT_POWER_TRACING_DEPRECATED=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_RING_BUFFER_ALLOW_SWAP=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_GRAPH_TRACER=y +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_PREEMPT_TRACER is not set +CONFIG_SCHED_TRACER=y +CONFIG_FTRACE_SYSCALLS=y +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +CONFIG_STACK_TRACER=y +CONFIG_BLK_DEV_IO_TRACE=y +CONFIG_DYNAMIC_FTRACE=y +CONFIG_FUNCTION_PROFILER=y +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +CONFIG_MMIOTRACE=y +# CONFIG_MMIOTRACE_TEST is not set +CONFIG_RING_BUFFER_BENCHMARK=m +# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set +# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set +# CONFIG_DYNAMIC_DEBUG is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_ATOMIC64_SELFTEST is not set +CONFIG_ASYNC_RAID6_TEST=m +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +CONFIG_HAVE_ARCH_KMEMCHECK=y +CONFIG_TEST_KSTRTOX=m +CONFIG_STRICT_DEVMEM=y +CONFIG_X86_VERBOSE_BOOTUP=y +CONFIG_EARLY_PRINTK=y +# CONFIG_EARLY_PRINTK_DBGP is not set +# CONFIG_DEBUG_STACKOVERFLOW is not set +# CONFIG_X86_PTDUMP is not set +CONFIG_DEBUG_RODATA=y +# CONFIG_DEBUG_RODATA_TEST is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_DEBUG_NX_TEST is not set +CONFIG_DOUBLEFAULT=y +# CONFIG_IOMMU_STRESS is not set +CONFIG_HAVE_MMIOTRACE_SUPPORT=y +CONFIG_IO_DELAY_TYPE_0X80=0 +CONFIG_IO_DELAY_TYPE_0XED=1 +CONFIG_IO_DELAY_TYPE_UDELAY=2 +CONFIG_IO_DELAY_TYPE_NONE=3 +CONFIG_IO_DELAY_0X80=y +# CONFIG_IO_DELAY_0XED is not set +# CONFIG_IO_DELAY_UDELAY is not set +# CONFIG_IO_DELAY_NONE is not set +CONFIG_DEFAULT_IO_DELAY_TYPE=0 +# CONFIG_DEBUG_BOOT_PARAMS is not set +# CONFIG_CPA_DEBUG is not set +# CONFIG_OPTIMIZE_INLINING is not set +# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set + +# +# Security options +# +CONFIG_KEYS=y +CONFIG_TRUSTED_KEYS=m +CONFIG_ENCRYPTED_KEYS=m +# CONFIG_KEYS_DEBUG_PROC_KEYS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +CONFIG_SECURITY=y +CONFIG_SECURITYFS=y +CONFIG_SECURITY_NETWORK=y +# CONFIG_SECURITY_NETWORK_XFRM is not set +CONFIG_SECURITY_PATH=y +# CONFIG_INTEL_TXT is not set +# CONFIG_SECURITY_SELINUX is not set +# CONFIG_SECURITY_SMACK is not set +CONFIG_SECURITY_TOMOYO=y +CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048 +CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024 +# CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER is not set +CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init" +CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init" +CONFIG_SECURITY_APPARMOR=y +CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=0 +# CONFIG_IMA is not set +# CONFIG_DEFAULT_SECURITY_TOMOYO is not set +# CONFIG_DEFAULT_SECURITY_APPARMOR is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_XOR_BLOCKS=m +CONFIG_ASYNC_CORE=m +CONFIG_ASYNC_MEMCPY=m +CONFIG_ASYNC_XOR=m +CONFIG_ASYNC_PQ=m +CONFIG_ASYNC_RAID6_RECOV=m +CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y +CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=m +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=m +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=m +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_PCOMP=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +CONFIG_CRYPTO_USER=m +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_PCRYPT=m +CONFIG_CRYPTO_WORKQUEUE=y +CONFIG_CRYPTO_CRYPTD=m +CONFIG_CRYPTO_AUTHENC=m +CONFIG_CRYPTO_TEST=m + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +CONFIG_CRYPTO_SEQIV=m + +# +# Block modes +# +CONFIG_CRYPTO_CBC=m +CONFIG_CRYPTO_CTR=m +CONFIG_CRYPTO_CTS=m +CONFIG_CRYPTO_ECB=m +CONFIG_CRYPTO_LRW=m +CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_XTS=m + +# +# Hash modes +# +CONFIG_CRYPTO_HMAC=m +CONFIG_CRYPTO_XCBC=m +CONFIG_CRYPTO_VMAC=m + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=m +CONFIG_CRYPTO_CRC32C_INTEL=m +CONFIG_CRYPTO_GHASH=m +CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_MD5=m +CONFIG_CRYPTO_MICHAEL_MIC=m +CONFIG_CRYPTO_RMD128=m +CONFIG_CRYPTO_RMD160=m +CONFIG_CRYPTO_RMD256=m +CONFIG_CRYPTO_RMD320=m +CONFIG_CRYPTO_SHA1=m +CONFIG_CRYPTO_SHA256=m +CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_TGR192=m +CONFIG_CRYPTO_WP512=m + +# +# Ciphers +# +CONFIG_CRYPTO_AES=m +CONFIG_CRYPTO_AES_586=m +CONFIG_CRYPTO_AES_NI_INTEL=m +CONFIG_CRYPTO_ANUBIS=m +CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_BLOWFISH_COMMON=m +CONFIG_CRYPTO_CAMELLIA=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST6=m +CONFIG_CRYPTO_DES=m +CONFIG_CRYPTO_FCRYPT=m +CONFIG_CRYPTO_KHAZAD=m +CONFIG_CRYPTO_SALSA20=m +CONFIG_CRYPTO_SALSA20_586=m +CONFIG_CRYPTO_SEED=m +CONFIG_CRYPTO_SERPENT=m +CONFIG_CRYPTO_TEA=m +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_TWOFISH_COMMON=m +CONFIG_CRYPTO_TWOFISH_586=m + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=m +CONFIG_CRYPTO_ZLIB=m +CONFIG_CRYPTO_LZO=m + +# +# Random Number Generation +# +CONFIG_CRYPTO_ANSI_CPRNG=m +CONFIG_CRYPTO_USER_API=m +CONFIG_CRYPTO_USER_API_HASH=m +CONFIG_CRYPTO_USER_API_SKCIPHER=m +CONFIG_CRYPTO_HW=y +CONFIG_CRYPTO_DEV_PADLOCK=m +CONFIG_CRYPTO_DEV_PADLOCK_AES=m +CONFIG_CRYPTO_DEV_PADLOCK_SHA=m +CONFIG_CRYPTO_DEV_GEODE=m +CONFIG_CRYPTO_DEV_HIFN_795X=m +CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y +CONFIG_HAVE_KVM=y +CONFIG_HAVE_KVM_IRQCHIP=y +CONFIG_HAVE_KVM_EVENTFD=y +CONFIG_KVM_APIC_ARCHITECTURE=y +CONFIG_KVM_MMIO=y +CONFIG_KVM_ASYNC_PF=y +CONFIG_VIRTUALIZATION=y +CONFIG_KVM=m +CONFIG_KVM_INTEL=m +CONFIG_KVM_AMD=m +CONFIG_KVM_MMU_AUDIT=y +CONFIG_VHOST_NET=m +CONFIG_LGUEST=m +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_RAID6_PQ=m +CONFIG_BITREVERSE=y +CONFIG_GENERIC_FIND_FIRST_BIT=y +CONFIG_CRC_CCITT=m +CONFIG_CRC16=m +CONFIG_CRC_T10DIF=m +CONFIG_CRC_ITU_T=m +CONFIG_CRC32=y +CONFIG_CRC7=m +CONFIG_LIBCRC32C=m +CONFIG_CRC8=m +CONFIG_AUDIT_GENERIC=y +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=m +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_REED_SOLOMON=m +CONFIG_REED_SOLOMON_DEC16=y +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_KMP=m +CONFIG_TEXTSEARCH_BM=m +CONFIG_TEXTSEARCH_FSM=m +CONFIG_BTREE=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y +CONFIG_HAS_DMA=y +CONFIG_CHECK_SIGNATURE=y +CONFIG_CPU_RMAP=y +CONFIG_NLATTR=y +CONFIG_LRU_CACHE=m +CONFIG_AVERAGE=y +CONFIG_CORDIC=m diff --git a/kernels/linux-libre-aufs_friendly/config.x86_64 b/kernels/linux-libre-aufs_friendly/config.x86_64 new file mode 100644 index 000000000..6fe3c37d0 --- /dev/null +++ b/kernels/linux-libre-aufs_friendly/config.x86_64 @@ -0,0 +1,5638 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/x86_64 3.2.6-1 Kernel Configuration +# +CONFIG_64BIT=y +# CONFIG_X86_32 is not set +CONFIG_X86_64=y +CONFIG_X86=y +CONFIG_INSTRUCTION_DECODER=y +CONFIG_OUTPUT_FORMAT="elf64-x86-64" +CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" +CONFIG_GENERIC_CMOS_UPDATE=y +CONFIG_CLOCKSOURCE_WATCHDOG=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_ARCH_CLOCKSOURCE_DATA=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_MMU=y +CONFIG_ZONE_DMA=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_GENERIC_ISA_DMA=y +CONFIG_GENERIC_IOMAP=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_GPIO=y +CONFIG_ARCH_MAY_HAVE_PC_FDC=y +# CONFIG_RWSEM_GENERIC_SPINLOCK is not set +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_ARCH_HAS_CPU_RELAX=y +CONFIG_ARCH_HAS_DEFAULT_IDLE=y +CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y +CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ZONE_DMA32=y +CONFIG_ARCH_POPULATES_NODE_MAP=y +CONFIG_AUDIT_ARCH=y +CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y +CONFIG_HAVE_INTEL_TXT=y +CONFIG_X86_64_SMP=y +CONFIG_X86_HT=y +CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11" +# CONFIG_KTIME_SCALAR is not set +CONFIG_ARCH_CPU_PROBE_RELEASE=y +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_HAVE_IRQ_WORK=y +CONFIG_IRQ_WORK=y + +# +# General setup +# +CONFIG_EXPERIMENTAL=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +CONFIG_LOCALVERSION="-LIBRE-AUFS_FRIENDLY" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_HAVE_KERNEL_GZIP=y +CONFIG_HAVE_KERNEL_BZIP2=y +CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_XZ=y +CONFIG_HAVE_KERNEL_LZO=y +CONFIG_KERNEL_GZIP=y +# CONFIG_KERNEL_BZIP2 is not set +# CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_XZ is not set +# CONFIG_KERNEL_LZO is not set +CONFIG_DEFAULT_HOSTNAME="(none)" +CONFIG_SWAP=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +# CONFIG_FHANDLE is not set +CONFIG_TASKSTATS=y +CONFIG_TASK_DELAY_ACCT=y +CONFIG_TASK_XACCT=y +CONFIG_TASK_IO_ACCOUNTING=y +CONFIG_AUDIT=y +CONFIG_AUDITSYSCALL=y +CONFIG_AUDIT_WATCH=y +CONFIG_AUDIT_TREE=y +CONFIG_HAVE_GENERIC_HARDIRQS=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_HARDIRQS=y +CONFIG_HAVE_SPARSE_IRQ=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_PENDING_IRQ=y +CONFIG_GENERIC_IRQ_CHIP=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_SPARSE_IRQ=y + +# +# RCU Subsystem +# +CONFIG_TREE_PREEMPT_RCU=y +CONFIG_PREEMPT_RCU=y +# CONFIG_RCU_TRACE is not set +CONFIG_RCU_FANOUT=64 +# CONFIG_RCU_FANOUT_EXACT is not set +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_BOOST is not set +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=19 +CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y +CONFIG_CGROUPS=y +# CONFIG_CGROUP_DEBUG is not set +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CPUSETS=y +CONFIG_PROC_PID_CPUSET=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_RESOURCE_COUNTERS=y +CONFIG_CGROUP_MEM_RES_CTLR=y +CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y +# CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED is not set +# CONFIG_CGROUP_PERF is not set +CONFIG_CGROUP_SCHED=y +CONFIG_FAIR_GROUP_SCHED=y +CONFIG_CFS_BANDWIDTH=y +CONFIG_RT_GROUP_SCHED=y +CONFIG_BLK_CGROUP=y +# CONFIG_DEBUG_BLK_CGROUP is not set +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +CONFIG_USER_NS=y +CONFIG_PID_NS=y +CONFIG_NET_NS=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_MM_OWNER=y +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_RELAY=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +# CONFIG_EXPERT is not set +CONFIG_UID16=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_PCSPKR_PLATFORM=y +CONFIG_HAVE_PCSPKR_PLATFORM=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +# CONFIG_EMBEDDED is not set +CONFIG_HAVE_PERF_EVENTS=y + +# +# Kernel Performance Events And Counters +# +CONFIG_PERF_EVENTS=y +CONFIG_PERF_COUNTERS=y +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_PCI_QUIRKS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y +CONFIG_PROFILING=y +CONFIG_TRACEPOINTS=y +CONFIG_OPROFILE=m +# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +CONFIG_JUMP_LABEL=y +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_USER_RETURN_NOTIFIER=y +CONFIG_HAVE_IOREMAP_PROT=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_OPTPROBES=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_USE_GENERIC_SMP_HELPERS=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y +CONFIG_HAVE_USER_RETURN_NOTIFIER=y +CONFIG_HAVE_PERF_EVENTS_NMI=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +CONFIG_MODULE_FORCE_LOAD=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +CONFIG_MODVERSIONS=y +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_STOP_MACHINE=y +CONFIG_BLOCK=y +CONFIG_BLK_DEV_BSG=y +CONFIG_BLK_DEV_BSGLIB=y +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_DEV_THROTTLING=y +CONFIG_BLOCK_COMPAT=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +CONFIG_CFQ_GROUP_IOSCHED=y +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_PREEMPT_NOTIFIERS=y +CONFIG_PADATA=y +# CONFIG_INLINE_SPIN_TRYLOCK is not set +# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set +# CONFIG_INLINE_SPIN_LOCK is not set +# CONFIG_INLINE_SPIN_LOCK_BH is not set +# CONFIG_INLINE_SPIN_LOCK_IRQ is not set +# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set +# CONFIG_INLINE_SPIN_UNLOCK is not set +# CONFIG_INLINE_SPIN_UNLOCK_BH is not set +# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set +# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set +# CONFIG_INLINE_READ_TRYLOCK is not set +# CONFIG_INLINE_READ_LOCK is not set +# CONFIG_INLINE_READ_LOCK_BH is not set +# CONFIG_INLINE_READ_LOCK_IRQ is not set +# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set +# CONFIG_INLINE_READ_UNLOCK is not set +# CONFIG_INLINE_READ_UNLOCK_BH is not set +# CONFIG_INLINE_READ_UNLOCK_IRQ is not set +# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set +# CONFIG_INLINE_WRITE_TRYLOCK is not set +# CONFIG_INLINE_WRITE_LOCK is not set +# CONFIG_INLINE_WRITE_LOCK_BH is not set +# CONFIG_INLINE_WRITE_LOCK_IRQ is not set +# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set +# CONFIG_INLINE_WRITE_UNLOCK is not set +# CONFIG_INLINE_WRITE_UNLOCK_BH is not set +# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set +# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set +# CONFIG_MUTEX_SPIN_ON_OWNER is not set +CONFIG_FREEZER=y + +# +# Processor type and features +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y +CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y +CONFIG_SMP=y +CONFIG_X86_X2APIC=y +CONFIG_X86_MPPARSE=y +# CONFIG_X86_EXTENDED_PLATFORM is not set +CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y +CONFIG_SCHED_OMIT_FRAME_POINTER=y +CONFIG_PARAVIRT_GUEST=y +# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set +CONFIG_XEN=y +CONFIG_XEN_DOM0=y +CONFIG_XEN_PRIVILEGED_GUEST=y +CONFIG_XEN_PVHVM=y +CONFIG_XEN_MAX_DOMAIN_MEMORY=128 +CONFIG_XEN_SAVE_RESTORE=y +# CONFIG_XEN_DEBUG_FS is not set +CONFIG_KVM_CLOCK=y +CONFIG_KVM_GUEST=y +CONFIG_PARAVIRT=y +# CONFIG_PARAVIRT_SPINLOCKS is not set +CONFIG_PARAVIRT_CLOCK=y +# CONFIG_PARAVIRT_DEBUG is not set +CONFIG_NO_BOOTMEM=y +# CONFIG_MEMTEST is not set +# CONFIG_MK8 is not set +# CONFIG_MPSC is not set +# CONFIG_MCORE2 is not set +# CONFIG_MATOM is not set +CONFIG_GENERIC_CPU=y +CONFIG_X86_INTERNODE_CACHE_SHIFT=7 +CONFIG_X86_CMPXCHG=y +CONFIG_CMPXCHG_LOCAL=y +CONFIG_CMPXCHG_DOUBLE=y +CONFIG_X86_L1_CACHE_SHIFT=6 +CONFIG_X86_XADD=y +CONFIG_X86_WP_WORKS_OK=y +CONFIG_X86_TSC=y +CONFIG_X86_CMPXCHG64=y +CONFIG_X86_CMOV=y +CONFIG_X86_MINIMUM_CPU_FAMILY=64 +CONFIG_X86_DEBUGCTLMSR=y +CONFIG_CPU_SUP_INTEL=y +CONFIG_CPU_SUP_AMD=y +CONFIG_CPU_SUP_CENTAUR=y +CONFIG_HPET_TIMER=y +CONFIG_HPET_EMULATE_RTC=y +CONFIG_DMI=y +CONFIG_GART_IOMMU=y +CONFIG_CALGARY_IOMMU=y +CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_MAXSMP is not set +CONFIG_NR_CPUS=64 +CONFIG_SCHED_SMT=y +CONFIG_SCHED_MC=y +# CONFIG_IRQ_TIME_ACCOUNTING is not set +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PREEMPT=y +CONFIG_PREEMPT_COUNT=y +CONFIG_X86_LOCAL_APIC=y +CONFIG_X86_IO_APIC=y +CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y +CONFIG_X86_MCE=y +CONFIG_X86_MCE_INTEL=y +CONFIG_X86_MCE_AMD=y +CONFIG_X86_MCE_THRESHOLD=y +# CONFIG_X86_MCE_INJECT is not set +CONFIG_X86_THERMAL_VECTOR=y +CONFIG_I8K=m +CONFIG_MICROCODE=m +CONFIG_MICROCODE_INTEL=y +CONFIG_MICROCODE_AMD=y +CONFIG_MICROCODE_OLD_INTERFACE=y +CONFIG_X86_MSR=m +CONFIG_X86_CPUID=m +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_DIRECT_GBPAGES=y +CONFIG_NUMA=y +CONFIG_AMD_NUMA=y +CONFIG_X86_64_ACPI_NUMA=y +CONFIG_NODES_SPAN_OTHER_NODES=y +# CONFIG_NUMA_EMU is not set +CONFIG_NODES_SHIFT=6 +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SPARSEMEM_DEFAULT=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_MEMORY_PROBE=y +CONFIG_ARCH_PROC_KCORE_TEXT=y +CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_SPARSEMEM_MANUAL=y +CONFIG_SPARSEMEM=y +CONFIG_NEED_MULTIPLE_NODES=y +CONFIG_HAVE_MEMORY_PRESENT=y +CONFIG_SPARSEMEM_EXTREME=y +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y +CONFIG_SPARSEMEM_VMEMMAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_MEMORY_HOTPLUG=y +CONFIG_MEMORY_HOTPLUG_SPARSE=y +CONFIG_MEMORY_HOTREMOVE=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_COMPACTION=y +CONFIG_MIGRATION=y +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_ZONE_DMA_FLAG=1 +CONFIG_BOUNCE=y +CONFIG_VIRT_TO_BUS=y +CONFIG_MMU_NOTIFIER=y +CONFIG_KSM=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y +CONFIG_MEMORY_FAILURE=y +CONFIG_HWPOISON_INJECT=m +CONFIG_TRANSPARENT_HUGEPAGE=y +# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set +CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y +CONFIG_CLEANCACHE=y +CONFIG_X86_CHECK_BIOS_CORRUPTION=y +CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y +CONFIG_X86_RESERVE_LOW=64 +CONFIG_MTRR=y +CONFIG_MTRR_SANITIZER=y +CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0 +CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 +CONFIG_X86_PAT=y +CONFIG_ARCH_USES_PG_UNCACHED=y +CONFIG_ARCH_RANDOM=y +CONFIG_EFI=y +CONFIG_SECCOMP=y +CONFIG_CC_STACKPROTECTOR=y +# CONFIG_HZ_100 is not set +# CONFIG_HZ_250 is not set +CONFIG_HZ_300=y +# CONFIG_HZ_1000 is not set +CONFIG_HZ=300 +CONFIG_SCHED_HRTICK=y +CONFIG_KEXEC=y +# CONFIG_CRASH_DUMP is not set +CONFIG_KEXEC_JUMP=y +CONFIG_PHYSICAL_START=0x1000000 +CONFIG_RELOCATABLE=y +CONFIG_PHYSICAL_ALIGN=0x1000000 +CONFIG_HOTPLUG_CPU=y +# CONFIG_COMPAT_VDSO is not set +# CONFIG_CMDLINE_BOOL is not set +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y +CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +CONFIG_USE_PERCPU_NUMA_NODE_ID=y + +# +# Power management and ACPI options +# +CONFIG_ARCH_HIBERNATION_HEADER=y +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_HIBERNATE_CALLBACKS=y +CONFIG_HIBERNATION=y +CONFIG_PM_STD_PARTITION="" +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +CONFIG_PM_RUNTIME=y +CONFIG_PM=y +CONFIG_PM_DEBUG=y +CONFIG_PM_ADVANCED_DEBUG=y +# CONFIG_PM_TEST_SUSPEND is not set +CONFIG_CAN_PM_TRACE=y +# CONFIG_PM_TRACE_RTC is not set +CONFIG_ACPI=y +CONFIG_ACPI_SLEEP=y +# CONFIG_ACPI_PROCFS is not set +# CONFIG_ACPI_PROCFS_POWER is not set +CONFIG_ACPI_EC_DEBUGFS=m +# CONFIG_ACPI_PROC_EVENT is not set +CONFIG_ACPI_AC=m +CONFIG_ACPI_BATTERY=m +CONFIG_ACPI_BUTTON=m +CONFIG_ACPI_VIDEO=m +CONFIG_ACPI_FAN=m +CONFIG_ACPI_DOCK=y +CONFIG_ACPI_PROCESSOR=m +CONFIG_ACPI_IPMI=m +CONFIG_ACPI_HOTPLUG_CPU=y +CONFIG_ACPI_PROCESSOR_AGGREGATOR=m +CONFIG_ACPI_THERMAL=m +CONFIG_ACPI_NUMA=y +# CONFIG_ACPI_CUSTOM_DSDT is not set +CONFIG_ACPI_BLACKLIST_YEAR=0 +# CONFIG_ACPI_DEBUG is not set +CONFIG_ACPI_PCI_SLOT=m +CONFIG_X86_PM_TIMER=y +CONFIG_ACPI_CONTAINER=m +CONFIG_ACPI_HOTPLUG_MEMORY=m +CONFIG_ACPI_SBS=m +CONFIG_ACPI_HED=y +CONFIG_ACPI_CUSTOM_METHOD=m +CONFIG_ACPI_APEI=y +CONFIG_ACPI_APEI_GHES=y +CONFIG_ACPI_APEI_PCIEAER=y +CONFIG_ACPI_APEI_MEMORY_FAILURE=y +CONFIG_ACPI_APEI_EINJ=m +CONFIG_ACPI_APEI_ERST_DEBUG=m +CONFIG_SFI=y + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_TABLE=m +CONFIG_CPU_FREQ_STAT=m +CONFIG_CPU_FREQ_STAT_DETAILS=y +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=m +CONFIG_CPU_FREQ_GOV_USERSPACE=m +CONFIG_CPU_FREQ_GOV_ONDEMAND=m +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m + +# +# x86 CPU frequency scaling drivers +# +CONFIG_X86_PCC_CPUFREQ=m +CONFIG_X86_ACPI_CPUFREQ=m +CONFIG_X86_POWERNOW_K8=m +# CONFIG_X86_SPEEDSTEP_CENTRINO is not set +CONFIG_X86_P4_CLOCKMOD=m + +# +# shared options +# +CONFIG_X86_SPEEDSTEP_LIB=m +CONFIG_CPU_IDLE=y +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_CPU_IDLE_GOV_MENU=y +CONFIG_INTEL_IDLE=y + +# +# Memory power savings +# +CONFIG_I7300_IDLE_IOAT_CHANNEL=y +CONFIG_I7300_IDLE=m + +# +# Bus options (PCI etc.) +# +CONFIG_PCI=y +CONFIG_PCI_DIRECT=y +CONFIG_PCI_MMCONFIG=y +CONFIG_PCI_XEN=y +CONFIG_PCI_DOMAINS=y +# CONFIG_PCI_CNB20LE_QUIRK is not set +CONFIG_PCIEPORTBUS=y +CONFIG_HOTPLUG_PCI_PCIE=m +CONFIG_PCIEAER=y +# CONFIG_PCIE_ECRC is not set +# CONFIG_PCIEAER_INJECT is not set +CONFIG_PCIEASPM=y +# CONFIG_PCIEASPM_DEBUG is not set +CONFIG_PCIE_PME=y +CONFIG_ARCH_SUPPORTS_MSI=y +CONFIG_PCI_MSI=y +# CONFIG_PCI_DEBUG is not set +CONFIG_PCI_STUB=m +CONFIG_XEN_PCIDEV_FRONTEND=m +CONFIG_HT_IRQ=y +CONFIG_PCI_ATS=y +CONFIG_PCI_IOV=y +CONFIG_PCI_PRI=y +CONFIG_PCI_PASID=y +CONFIG_PCI_IOAPIC=y +CONFIG_PCI_LABEL=y +CONFIG_ISA_DMA_API=y +CONFIG_AMD_NB=y +CONFIG_PCCARD=m +CONFIG_PCMCIA=m +CONFIG_PCMCIA_LOAD_CIS=y +CONFIG_CARDBUS=y + +# +# PC-card bridges +# +CONFIG_YENTA=m +CONFIG_YENTA_O2=y +CONFIG_YENTA_RICOH=y +CONFIG_YENTA_TI=y +CONFIG_YENTA_ENE_TUNE=y +CONFIG_YENTA_TOSHIBA=y +CONFIG_PD6729=m +CONFIG_I82092=m +CONFIG_PCCARD_NONSTATIC=y +CONFIG_HOTPLUG_PCI=m +CONFIG_HOTPLUG_PCI_FAKE=m +CONFIG_HOTPLUG_PCI_ACPI=m +CONFIG_HOTPLUG_PCI_ACPI_IBM=m +CONFIG_HOTPLUG_PCI_CPCI=y +CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m +CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m +CONFIG_HOTPLUG_PCI_SHPC=m +CONFIG_RAPIDIO=y +CONFIG_RAPIDIO_TSI721=y +CONFIG_RAPIDIO_DISC_TIMEOUT=30 +# CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS is not set +CONFIG_RAPIDIO_DEBUG=y +CONFIG_RAPIDIO_TSI57X=y +CONFIG_RAPIDIO_CPS_XX=y +CONFIG_RAPIDIO_TSI568=y +CONFIG_RAPIDIO_CPS_GEN2=y +CONFIG_RAPIDIO_TSI500=y + +# +# Executable file formats / Emulations +# +CONFIG_BINFMT_ELF=y +CONFIG_COMPAT_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +# CONFIG_HAVE_AOUT is not set +CONFIG_BINFMT_MISC=y +CONFIG_IA32_EMULATION=y +CONFIG_IA32_AOUT=m +CONFIG_COMPAT=y +CONFIG_COMPAT_FOR_U64_ALIGNMENT=y +CONFIG_SYSVIPC_COMPAT=y +CONFIG_KEYS_COMPAT=y +CONFIG_HAVE_TEXT_POKE_SMP=y +CONFIG_NET=y +CONFIG_COMPAT_NETLINK_MESSAGES=y + +# +# Networking options +# +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_XFRM=y +CONFIG_XFRM_USER=m +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +CONFIG_XFRM_IPCOMP=m +CONFIG_NET_KEY=m +# CONFIG_NET_KEY_MIGRATE is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_FIB_TRIE_STATS=y +CONFIG_IP_MULTIPLE_TABLES=y +CONFIG_IP_ROUTE_MULTIPATH=y +CONFIG_IP_ROUTE_VERBOSE=y +CONFIG_IP_ROUTE_CLASSID=y +# CONFIG_IP_PNP is not set +CONFIG_NET_IPIP=m +CONFIG_NET_IPGRE_DEMUX=m +CONFIG_NET_IPGRE=m +# CONFIG_NET_IPGRE_BROADCAST is not set +CONFIG_IP_MROUTE=y +# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set +CONFIG_IP_PIMSM_V1=y +CONFIG_IP_PIMSM_V2=y +# CONFIG_ARPD is not set +CONFIG_SYN_COOKIES=y +CONFIG_INET_AH=m +CONFIG_INET_ESP=m +CONFIG_INET_IPCOMP=m +CONFIG_INET_XFRM_TUNNEL=m +CONFIG_INET_TUNNEL=m +CONFIG_INET_XFRM_MODE_TRANSPORT=m +CONFIG_INET_XFRM_MODE_TUNNEL=m +CONFIG_INET_XFRM_MODE_BEET=m +CONFIG_INET_LRO=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +CONFIG_TCP_CONG_ADVANCED=y +CONFIG_TCP_CONG_BIC=m +CONFIG_TCP_CONG_CUBIC=y +CONFIG_TCP_CONG_WESTWOOD=m +CONFIG_TCP_CONG_HTCP=m +CONFIG_TCP_CONG_HSTCP=m +CONFIG_TCP_CONG_HYBLA=m +CONFIG_TCP_CONG_VEGAS=m +CONFIG_TCP_CONG_SCALABLE=m +CONFIG_TCP_CONG_LP=m +CONFIG_TCP_CONG_VENO=m +CONFIG_TCP_CONG_YEAH=m +CONFIG_TCP_CONG_ILLINOIS=m +CONFIG_DEFAULT_CUBIC=y +# CONFIG_DEFAULT_RENO is not set +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=y +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +CONFIG_IPV6_ROUTE_INFO=y +CONFIG_IPV6_OPTIMISTIC_DAD=y +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +CONFIG_INET6_IPCOMP=m +CONFIG_IPV6_MIP6=m +CONFIG_INET6_XFRM_TUNNEL=m +CONFIG_INET6_TUNNEL=m +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m +CONFIG_IPV6_SIT=m +CONFIG_IPV6_SIT_6RD=y +CONFIG_IPV6_NDISC_NODETYPE=y +CONFIG_IPV6_TUNNEL=m +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_SUBTREES=y +# CONFIG_IPV6_MROUTE is not set +CONFIG_NETLABEL=y +CONFIG_NETWORK_SECMARK=y +CONFIG_NETWORK_PHY_TIMESTAMPING=y +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_ADVANCED=y +CONFIG_BRIDGE_NETFILTER=y + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_NETLINK=m +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_NETLINK_LOG=m +CONFIG_NF_CONNTRACK=m +CONFIG_NF_CONNTRACK_MARK=y +CONFIG_NF_CONNTRACK_SECMARK=y +CONFIG_NF_CONNTRACK_ZONES=y +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CONNTRACK_TIMESTAMP=y +CONFIG_NF_CT_PROTO_DCCP=m +CONFIG_NF_CT_PROTO_GRE=m +CONFIG_NF_CT_PROTO_SCTP=m +CONFIG_NF_CT_PROTO_UDPLITE=m +CONFIG_NF_CONNTRACK_AMANDA=m +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_BROADCAST=m +CONFIG_NF_CONNTRACK_NETBIOS_NS=m +CONFIG_NF_CONNTRACK_SNMP=m +CONFIG_NF_CONNTRACK_PPTP=m +CONFIG_NF_CONNTRACK_SANE=m +CONFIG_NF_CONNTRACK_SIP=m +CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_CT_NETLINK=m +CONFIG_NETFILTER_TPROXY=m +CONFIG_NETFILTER_XTABLES=m + +# +# Xtables combined modules +# +CONFIG_NETFILTER_XT_MARK=m +CONFIG_NETFILTER_XT_CONNMARK=m +CONFIG_NETFILTER_XT_SET=m + +# +# Xtables targets +# +CONFIG_NETFILTER_XT_TARGET_AUDIT=m +CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m +CONFIG_NETFILTER_XT_TARGET_CONNMARK=m +CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m +CONFIG_NETFILTER_XT_TARGET_CT=m +CONFIG_NETFILTER_XT_TARGET_DSCP=m +CONFIG_NETFILTER_XT_TARGET_HL=m +CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m +CONFIG_NETFILTER_XT_TARGET_LED=m +CONFIG_NETFILTER_XT_TARGET_MARK=m +CONFIG_NETFILTER_XT_TARGET_NFLOG=m +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m +CONFIG_NETFILTER_XT_TARGET_NOTRACK=m +CONFIG_NETFILTER_XT_TARGET_RATEEST=m +CONFIG_NETFILTER_XT_TARGET_TEE=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m +CONFIG_NETFILTER_XT_TARGET_TRACE=m +CONFIG_NETFILTER_XT_TARGET_SECMARK=m +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m + +# +# Xtables matches +# +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m +CONFIG_NETFILTER_XT_MATCH_CLUSTER=m +CONFIG_NETFILTER_XT_MATCH_COMMENT=m +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +CONFIG_NETFILTER_XT_MATCH_CPU=m +CONFIG_NETFILTER_XT_MATCH_DCCP=m +CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m +CONFIG_NETFILTER_XT_MATCH_DSCP=m +CONFIG_NETFILTER_XT_MATCH_ESP=m +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m +CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_HL=m +CONFIG_NETFILTER_XT_MATCH_IPRANGE=m +CONFIG_NETFILTER_XT_MATCH_IPVS=m +CONFIG_NETFILTER_XT_MATCH_LENGTH=m +CONFIG_NETFILTER_XT_MATCH_LIMIT=m +CONFIG_NETFILTER_XT_MATCH_MAC=m +CONFIG_NETFILTER_XT_MATCH_MARK=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +CONFIG_NETFILTER_XT_MATCH_OSF=m +CONFIG_NETFILTER_XT_MATCH_OWNER=m +CONFIG_NETFILTER_XT_MATCH_POLICY=m +CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MATCH_QUOTA=m +CONFIG_NETFILTER_XT_MATCH_RATEEST=m +CONFIG_NETFILTER_XT_MATCH_REALM=m +CONFIG_NETFILTER_XT_MATCH_RECENT=m +CONFIG_NETFILTER_XT_MATCH_SCTP=m +CONFIG_NETFILTER_XT_MATCH_SOCKET=m +CONFIG_NETFILTER_XT_MATCH_STATE=m +CONFIG_NETFILTER_XT_MATCH_STATISTIC=m +CONFIG_NETFILTER_XT_MATCH_STRING=m +CONFIG_NETFILTER_XT_MATCH_TCPMSS=m +CONFIG_NETFILTER_XT_MATCH_TIME=m +CONFIG_NETFILTER_XT_MATCH_U32=m +CONFIG_IP_SET=m +CONFIG_IP_SET_MAX=256 +CONFIG_IP_SET_BITMAP_IP=m +CONFIG_IP_SET_BITMAP_IPMAC=m +CONFIG_IP_SET_BITMAP_PORT=m +CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPPORT=m +CONFIG_IP_SET_HASH_IPPORTIP=m +CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETPORT=m +CONFIG_IP_SET_HASH_NETIFACE=m +CONFIG_IP_SET_LIST_SET=m +CONFIG_IP_VS=m +# CONFIG_IP_VS_IPV6 is not set +# CONFIG_IP_VS_DEBUG is not set +CONFIG_IP_VS_TAB_BITS=12 + +# +# IPVS transport protocol load balancing support +# +CONFIG_IP_VS_PROTO_TCP=y +CONFIG_IP_VS_PROTO_UDP=y +CONFIG_IP_VS_PROTO_AH_ESP=y +CONFIG_IP_VS_PROTO_ESP=y +CONFIG_IP_VS_PROTO_AH=y +CONFIG_IP_VS_PROTO_SCTP=y + +# +# IPVS scheduler +# +CONFIG_IP_VS_RR=m +CONFIG_IP_VS_WRR=m +CONFIG_IP_VS_LC=m +CONFIG_IP_VS_WLC=m +CONFIG_IP_VS_LBLC=m +CONFIG_IP_VS_LBLCR=m +CONFIG_IP_VS_DH=m +CONFIG_IP_VS_SH=m +CONFIG_IP_VS_SED=m +CONFIG_IP_VS_NQ=m + +# +# IPVS application helper +# +CONFIG_IP_VS_FTP=m +CONFIG_IP_VS_NFCT=y +CONFIG_IP_VS_PE_SIP=m + +# +# IP: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV4=m +CONFIG_NF_CONNTRACK_IPV4=m +CONFIG_NF_CONNTRACK_PROC_COMPAT=y +CONFIG_IP_NF_QUEUE=m +CONFIG_IP_NF_IPTABLES=m +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_TTL=m +CONFIG_IP_NF_FILTER=m +CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_LOG=m +CONFIG_IP_NF_TARGET_ULOG=m +CONFIG_NF_NAT=m +CONFIG_NF_NAT_NEEDED=y +CONFIG_IP_NF_TARGET_MASQUERADE=m +CONFIG_IP_NF_TARGET_NETMAP=m +CONFIG_IP_NF_TARGET_REDIRECT=m +CONFIG_NF_NAT_SNMP_BASIC=m +CONFIG_NF_NAT_PROTO_DCCP=m +CONFIG_NF_NAT_PROTO_GRE=m +CONFIG_NF_NAT_PROTO_UDPLITE=m +CONFIG_NF_NAT_PROTO_SCTP=m +CONFIG_NF_NAT_FTP=m +CONFIG_NF_NAT_IRC=m +CONFIG_NF_NAT_TFTP=m +CONFIG_NF_NAT_AMANDA=m +CONFIG_NF_NAT_PPTP=m +CONFIG_NF_NAT_H323=m +CONFIG_NF_NAT_SIP=m +CONFIG_IP_NF_MANGLE=m +CONFIG_IP_NF_TARGET_CLUSTERIP=m +CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_TARGET_TTL=m +CONFIG_IP_NF_RAW=m +CONFIG_IP_NF_SECURITY=m +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARP_MANGLE=m + +# +# IPv6: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV6=m +CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_IP6_NF_QUEUE=m +CONFIG_IP6_NF_IPTABLES=m +CONFIG_IP6_NF_MATCH_AH=m +CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_MATCH_FRAG=m +CONFIG_IP6_NF_MATCH_OPTS=m +CONFIG_IP6_NF_MATCH_HL=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_MATCH_MH=m +CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_TARGET_HL=m +CONFIG_IP6_NF_TARGET_LOG=m +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_MANGLE=m +CONFIG_IP6_NF_RAW=m +CONFIG_IP6_NF_SECURITY=m +CONFIG_BRIDGE_NF_EBTABLES=m +CONFIG_BRIDGE_EBT_BROUTE=m +CONFIG_BRIDGE_EBT_T_FILTER=m +CONFIG_BRIDGE_EBT_T_NAT=m +CONFIG_BRIDGE_EBT_802_3=m +CONFIG_BRIDGE_EBT_AMONG=m +CONFIG_BRIDGE_EBT_ARP=m +CONFIG_BRIDGE_EBT_IP=m +CONFIG_BRIDGE_EBT_IP6=m +CONFIG_BRIDGE_EBT_LIMIT=m +CONFIG_BRIDGE_EBT_MARK=m +CONFIG_BRIDGE_EBT_PKTTYPE=m +CONFIG_BRIDGE_EBT_STP=m +CONFIG_BRIDGE_EBT_VLAN=m +CONFIG_BRIDGE_EBT_ARPREPLY=m +CONFIG_BRIDGE_EBT_DNAT=m +CONFIG_BRIDGE_EBT_MARK_T=m +CONFIG_BRIDGE_EBT_REDIRECT=m +CONFIG_BRIDGE_EBT_SNAT=m +CONFIG_BRIDGE_EBT_LOG=m +CONFIG_BRIDGE_EBT_ULOG=m +CONFIG_BRIDGE_EBT_NFLOG=m +CONFIG_IP_DCCP=m +CONFIG_INET_DCCP_DIAG=m + +# +# DCCP CCIDs Configuration (EXPERIMENTAL) +# +# CONFIG_IP_DCCP_CCID2_DEBUG is not set +CONFIG_IP_DCCP_CCID3=y +# CONFIG_IP_DCCP_CCID3_DEBUG is not set +CONFIG_IP_DCCP_TFRC_LIB=y + +# +# DCCP Kernel Hacking +# +# CONFIG_IP_DCCP_DEBUG is not set +CONFIG_IP_SCTP=m +# CONFIG_SCTP_DBG_MSG is not set +# CONFIG_SCTP_DBG_OBJCNT is not set +# CONFIG_SCTP_HMAC_NONE is not set +CONFIG_SCTP_HMAC_SHA1=y +# CONFIG_SCTP_HMAC_MD5 is not set +# CONFIG_RDS is not set +# CONFIG_TIPC is not set +CONFIG_ATM=m +CONFIG_ATM_CLIP=m +# CONFIG_ATM_CLIP_NO_ICMP is not set +CONFIG_ATM_LANE=m +CONFIG_ATM_MPOA=m +CONFIG_ATM_BR2684=m +# CONFIG_ATM_BR2684_IPFILTER is not set +CONFIG_L2TP=m +# CONFIG_L2TP_DEBUGFS is not set +CONFIG_L2TP_V3=y +CONFIG_L2TP_IP=m +CONFIG_L2TP_ETH=m +CONFIG_STP=m +CONFIG_BRIDGE=m +CONFIG_BRIDGE_IGMP_SNOOPING=y +# CONFIG_NET_DSA is not set +CONFIG_VLAN_8021Q=m +# CONFIG_VLAN_8021Q_GVRP is not set +# CONFIG_DECNET is not set +CONFIG_LLC=m +CONFIG_LLC2=m +CONFIG_IPX=m +# CONFIG_IPX_INTERN is not set +CONFIG_ATALK=m +CONFIG_DEV_APPLETALK=m +CONFIG_IPDDP=m +CONFIG_IPDDP_ENCAP=y +CONFIG_IPDDP_DECAP=y +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set +CONFIG_PHONET=m +CONFIG_IEEE802154=m +CONFIG_IEEE802154_6LOWPAN=m +CONFIG_NET_SCHED=y + +# +# Queueing/Scheduling +# +CONFIG_NET_SCH_CBQ=m +CONFIG_NET_SCH_HTB=m +CONFIG_NET_SCH_HFSC=m +CONFIG_NET_SCH_ATM=m +CONFIG_NET_SCH_PRIO=m +CONFIG_NET_SCH_MULTIQ=m +CONFIG_NET_SCH_RED=m +CONFIG_NET_SCH_SFB=m +CONFIG_NET_SCH_SFQ=m +CONFIG_NET_SCH_TEQL=m +CONFIG_NET_SCH_TBF=m +CONFIG_NET_SCH_GRED=m +CONFIG_NET_SCH_DSMARK=m +CONFIG_NET_SCH_NETEM=m +CONFIG_NET_SCH_DRR=m +CONFIG_NET_SCH_MQPRIO=m +CONFIG_NET_SCH_CHOKE=m +CONFIG_NET_SCH_QFQ=m +CONFIG_NET_SCH_INGRESS=m + +# +# Classification +# +CONFIG_NET_CLS=y +CONFIG_NET_CLS_BASIC=m +CONFIG_NET_CLS_TCINDEX=m +CONFIG_NET_CLS_ROUTE4=m +CONFIG_NET_CLS_FW=m +CONFIG_NET_CLS_U32=m +# CONFIG_CLS_U32_PERF is not set +# CONFIG_CLS_U32_MARK is not set +CONFIG_NET_CLS_RSVP=m +CONFIG_NET_CLS_RSVP6=m +CONFIG_NET_CLS_FLOW=m +CONFIG_NET_CLS_CGROUP=y +# CONFIG_NET_EMATCH is not set +CONFIG_NET_CLS_ACT=y +CONFIG_NET_ACT_POLICE=m +CONFIG_NET_ACT_GACT=m +CONFIG_GACT_PROB=y +CONFIG_NET_ACT_MIRRED=m +CONFIG_NET_ACT_IPT=m +CONFIG_NET_ACT_NAT=m +CONFIG_NET_ACT_PEDIT=m +CONFIG_NET_ACT_SIMP=m +CONFIG_NET_ACT_SKBEDIT=m +CONFIG_NET_ACT_CSUM=m +CONFIG_NET_CLS_IND=y +CONFIG_NET_SCH_FIFO=y +# CONFIG_DCB is not set +CONFIG_DNS_RESOLVER=y +CONFIG_BATMAN_ADV=m +# CONFIG_BATMAN_ADV_DEBUG is not set +CONFIG_RPS=y +CONFIG_RFS_ACCEL=y +CONFIG_XPS=y +CONFIG_HAVE_BPF_JIT=y +CONFIG_BPF_JIT=y + +# +# Network testing +# +CONFIG_NET_PKTGEN=m +CONFIG_NET_DROP_MONITOR=y +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +CONFIG_IRDA=m + +# +# IrDA protocols +# +CONFIG_IRLAN=m +CONFIG_IRNET=m +CONFIG_IRCOMM=m +CONFIG_IRDA_ULTRA=y + +# +# IrDA options +# +CONFIG_IRDA_CACHE_LAST_LSAP=y +CONFIG_IRDA_FAST_RR=y +# CONFIG_IRDA_DEBUG is not set + +# +# Infrared-port device drivers +# + +# +# SIR device drivers +# +CONFIG_IRTTY_SIR=m + +# +# Dongle support +# +CONFIG_DONGLE=y +CONFIG_ESI_DONGLE=m +CONFIG_ACTISYS_DONGLE=m +CONFIG_TEKRAM_DONGLE=m +CONFIG_TOIM3232_DONGLE=m +CONFIG_LITELINK_DONGLE=m +CONFIG_MA600_DONGLE=m +CONFIG_GIRBIL_DONGLE=m +CONFIG_MCP2120_DONGLE=m +CONFIG_OLD_BELKIN_DONGLE=m +CONFIG_ACT200L_DONGLE=m +CONFIG_KINGSUN_DONGLE=m +CONFIG_KSDAZZLE_DONGLE=m +CONFIG_KS959_DONGLE=m + +# +# FIR device drivers +# +CONFIG_USB_IRDA=m +CONFIG_SIGMATEL_FIR=m +CONFIG_NSC_FIR=m +CONFIG_WINBOND_FIR=m +CONFIG_SMC_IRCC_FIR=m +CONFIG_ALI_FIR=m +CONFIG_VLSI_FIR=m +CONFIG_VIA_FIR=m +CONFIG_MCS_FIR=m +CONFIG_BT=m +CONFIG_BT_L2CAP=y +CONFIG_BT_SCO=y +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=m +# CONFIG_BT_BNEP_MC_FILTER is not set +# CONFIG_BT_BNEP_PROTO_FILTER is not set +# CONFIG_BT_CMTP is not set +CONFIG_BT_HIDP=m + +# +# Bluetooth device drivers +# +CONFIG_BT_HCIBTUSB=m +CONFIG_BT_HCIBTSDIO=m +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_H4=y +CONFIG_BT_HCIUART_BCSP=y +CONFIG_BT_HCIUART_ATH3K=y +CONFIG_BT_HCIUART_LL=y +CONFIG_BT_HCIBCM203X=m +CONFIG_BT_HCIBPA10X=m +CONFIG_BT_HCIBFUSB=m +CONFIG_BT_HCIDTL1=m +CONFIG_BT_HCIBT3C=m +CONFIG_BT_HCIBLUECARD=m +CONFIG_BT_HCIBTUART=m +CONFIG_BT_HCIVHCI=m +CONFIG_BT_MRVL=m +CONFIG_BT_MRVL_SDIO=m +CONFIG_BT_ATH3K=m +CONFIG_BT_WILINK=m +CONFIG_AF_RXRPC=m +# CONFIG_AF_RXRPC_DEBUG is not set +CONFIG_RXKAD=m +CONFIG_FIB_RULES=y +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_SPY=y +CONFIG_WEXT_PRIV=y +CONFIG_CFG80211=m +CONFIG_NL80211_TESTMODE=y +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_WEXT=y +CONFIG_WIRELESS_EXT_SYSFS=y +CONFIG_LIB80211=m +CONFIG_LIB80211_CRYPT_WEP=m +CONFIG_LIB80211_CRYPT_CCMP=m +CONFIG_LIB80211_CRYPT_TKIP=m +# CONFIG_LIB80211_DEBUG is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +CONFIG_MAC80211_MESH=y +CONFIG_MAC80211_LEDS=y +# CONFIG_MAC80211_DEBUGFS is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_WIMAX=m +CONFIG_WIMAX_DEBUG_LEVEL=8 +CONFIG_RFKILL=m +CONFIG_RFKILL_LEDS=y +CONFIG_RFKILL_INPUT=y +CONFIG_RFKILL_REGULATOR=m +CONFIG_NET_9P=m +CONFIG_NET_9P_VIRTIO=m +# CONFIG_NET_9P_DEBUG is not set +CONFIG_CAIF=m +# CONFIG_CAIF_DEBUG is not set +CONFIG_CAIF_NETDEV=m +CONFIG_CEPH_LIB=m +# CONFIG_CEPH_LIB_PRETTYDEBUG is not set +# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set +CONFIG_NFC=m +CONFIG_NFC_NCI=m + +# +# Near Field Communication (NFC) devices +# +CONFIG_PN544_NFC=m +CONFIG_NFC_PN533=m +CONFIG_NFC_WILINK=m + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER_PATH="" +CONFIG_DEVTMPFS=y +# CONFIG_DEVTMPFS_MOUNT is not set +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +CONFIG_SYS_HYPERVISOR=y +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=m +CONFIG_REGMAP_SPI=y +CONFIG_CONNECTOR=y +CONFIG_PROC_EVENTS=y +CONFIG_MTD=m +CONFIG_MTD_TESTS=m +CONFIG_MTD_REDBOOT_PARTS=m +CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 +# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set +# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set +CONFIG_MTD_AR7_PARTS=m + +# +# User Modules And Translation Layers +# +CONFIG_MTD_CHAR=m +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_BLOCK_RO=m +CONFIG_FTL=m +CONFIG_NFTL=m +CONFIG_NFTL_RW=y +CONFIG_INFTL=m +CONFIG_RFD_FTL=m +CONFIG_SSFDC=m +# CONFIG_SM_FTL is not set +CONFIG_MTD_OOPS=m +CONFIG_MTD_SWAP=m + +# +# RAM/ROM/Flash chip drivers +# +CONFIG_MTD_CFI=m +CONFIG_MTD_JEDECPROBE=m +CONFIG_MTD_GEN_PROBE=m +# CONFIG_MTD_CFI_ADV_OPTIONS is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +CONFIG_MTD_CFI_INTELEXT=m +CONFIG_MTD_CFI_AMDSTD=m +CONFIG_MTD_CFI_STAA=m +CONFIG_MTD_CFI_UTIL=m +CONFIG_MTD_RAM=m +CONFIG_MTD_ROM=m +CONFIG_MTD_ABSENT=m + +# +# Mapping drivers for chip access +# +CONFIG_MTD_COMPLEX_MAPPINGS=y +# CONFIG_MTD_PHYSMAP is not set +CONFIG_MTD_SC520CDP=m +CONFIG_MTD_NETSC520=m +CONFIG_MTD_TS5500=m +# CONFIG_MTD_SBC_GXX is not set +# CONFIG_MTD_AMD76XROM is not set +# CONFIG_MTD_ICHXROM is not set +# CONFIG_MTD_ESB2ROM is not set +# CONFIG_MTD_CK804XROM is not set +CONFIG_MTD_SCB2_FLASH=m +# CONFIG_MTD_NETtel is not set +# CONFIG_MTD_L440GX is not set +CONFIG_MTD_PCI=m +# CONFIG_MTD_PCMCIA is not set +# CONFIG_MTD_GPIO_ADDR is not set +# CONFIG_MTD_INTEL_VR_NOR is not set +CONFIG_MTD_PLATRAM=m +# CONFIG_MTD_LATCH_ADDR is not set + +# +# Self-contained MTD device drivers +# +CONFIG_MTD_PMC551=m +# CONFIG_MTD_PMC551_BUGFIX is not set +# CONFIG_MTD_PMC551_DEBUG is not set +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_M25P80 is not set +# CONFIG_MTD_SST25L is not set +# CONFIG_MTD_SLRAM is not set +CONFIG_MTD_PHRAM=m +CONFIG_MTD_MTDRAM=m +CONFIG_MTDRAM_TOTAL_SIZE=4096 +CONFIG_MTDRAM_ERASE_SIZE=128 +CONFIG_MTD_BLOCK2MTD=m + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +# CONFIG_MTD_DOC2001PLUS is not set +CONFIG_MTD_DOCG3=m +CONFIG_MTD_NAND_ECC=m +CONFIG_MTD_NAND_ECC_SMC=y +CONFIG_MTD_NAND=m +# CONFIG_MTD_NAND_VERIFY_WRITE is not set +# CONFIG_MTD_NAND_ECC_BCH is not set +CONFIG_MTD_SM_COMMON=m +# CONFIG_MTD_NAND_MUSEUM_IDS is not set +# CONFIG_MTD_NAND_DENALI is not set +CONFIG_MTD_NAND_IDS=m +CONFIG_MTD_NAND_RICOH=m +CONFIG_MTD_NAND_DISKONCHIP=m +# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set +CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 +# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set +# CONFIG_MTD_NAND_CAFE is not set +CONFIG_MTD_NAND_NANDSIM=m +# CONFIG_MTD_NAND_PLATFORM is not set +CONFIG_MTD_ALAUDA=m +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR flash memory drivers +# +CONFIG_MTD_LPDDR=m +CONFIG_MTD_QINFO_PROBE=m +CONFIG_MTD_UBI=m +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_MTD_UBI_BEB_RESERVE=1 +# CONFIG_MTD_UBI_GLUEBI is not set +# CONFIG_MTD_UBI_DEBUG is not set +CONFIG_PARPORT=m +CONFIG_PARPORT_PC=m +CONFIG_PARPORT_SERIAL=m +CONFIG_PARPORT_PC_FIFO=y +CONFIG_PARPORT_PC_SUPERIO=y +CONFIG_PARPORT_PC_PCMCIA=m +# CONFIG_PARPORT_GSC is not set +CONFIG_PARPORT_AX88796=m +CONFIG_PARPORT_1284=y +CONFIG_PARPORT_NOT_PC=y +CONFIG_PNP=y +# CONFIG_PNP_DEBUG_MESSAGES is not set + +# +# Protocols +# +CONFIG_PNPACPI=y +CONFIG_BLK_DEV=y +CONFIG_BLK_DEV_FD=m +# CONFIG_PARIDE is not set +CONFIG_BLK_CPQ_DA=m +CONFIG_BLK_CPQ_CISS_DA=m +# CONFIG_CISS_SCSI_TAPE is not set +CONFIG_BLK_DEV_DAC960=m +# CONFIG_BLK_DEV_UMEM is not set +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=m +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +CONFIG_BLK_DEV_CRYPTOLOOP=m +CONFIG_BLK_DEV_DRBD=m +# CONFIG_DRBD_FAULT_INJECTION is not set +CONFIG_BLK_DEV_NBD=m +CONFIG_BLK_DEV_OSD=m +CONFIG_BLK_DEV_SX8=m +# CONFIG_BLK_DEV_UB is not set +CONFIG_BLK_DEV_RAM=m +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=16384 +# CONFIG_BLK_DEV_XIP is not set +CONFIG_CDROM_PKTCDVD=m +CONFIG_CDROM_PKTCDVD_BUFFERS=8 +# CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_ATA_OVER_ETH=m +CONFIG_XEN_BLKDEV_FRONTEND=m +CONFIG_XEN_BLKDEV_BACKEND=m +CONFIG_VIRTIO_BLK=m +# CONFIG_BLK_DEV_HD is not set +CONFIG_BLK_DEV_RBD=m +CONFIG_SENSORS_LIS3LV02D=m +CONFIG_MISC_DEVICES=y +CONFIG_AD525X_DPOT=m +CONFIG_AD525X_DPOT_I2C=m +CONFIG_AD525X_DPOT_SPI=m +# CONFIG_IBM_ASM is not set +CONFIG_PHANTOM=m +CONFIG_INTEL_MID_PTI=m +CONFIG_SGI_IOC4=m +CONFIG_TIFM_CORE=m +CONFIG_TIFM_7XX1=m +CONFIG_ICS932S401=m +CONFIG_ENCLOSURE_SERVICES=m +CONFIG_CS5535_MFGPT=m +CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7 +CONFIG_CS5535_CLOCK_EVENT_SRC=m +CONFIG_HP_ILO=m +CONFIG_APDS9802ALS=m +CONFIG_ISL29003=m +CONFIG_ISL29020=m +CONFIG_SENSORS_TSL2550=m +CONFIG_SENSORS_BH1780=m +CONFIG_SENSORS_BH1770=m +CONFIG_SENSORS_APDS990X=m +CONFIG_HMC6352=m +CONFIG_DS1682=m +CONFIG_TI_DAC7512=m +CONFIG_VMWARE_BALLOON=m +CONFIG_BMP085=m +CONFIG_PCH_PHUB=m +CONFIG_USB_SWITCH_FSA9480=m +CONFIG_C2PORT=m +CONFIG_C2PORT_DURAMAR_2150=m + +# +# EEPROM support +# +CONFIG_EEPROM_AT24=m +CONFIG_EEPROM_AT25=m +CONFIG_EEPROM_LEGACY=m +CONFIG_EEPROM_MAX6875=m +CONFIG_EEPROM_93CX6=m +CONFIG_EEPROM_93XX46=m +CONFIG_CB710_CORE=m +# CONFIG_CB710_DEBUG is not set +CONFIG_CB710_DEBUG_ASSUMPTIONS=y +CONFIG_IWMC3200TOP=m +# CONFIG_IWMC3200TOP_DEBUG is not set +# CONFIG_IWMC3200TOP_DEBUGFS is not set + +# +# Texas Instruments shared transport line discipline +# +CONFIG_TI_ST=m +CONFIG_SENSORS_LIS3_I2C=m + +# +# Altera FPGA firmware download module +# +CONFIG_ALTERA_STAPL=m +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=m +CONFIG_RAID_ATTRS=m +CONFIG_SCSI=m +CONFIG_SCSI_DMA=y +CONFIG_SCSI_TGT=m +CONFIG_SCSI_NETLINK=y +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=m +CONFIG_CHR_DEV_ST=m +CONFIG_CHR_DEV_OSST=m +CONFIG_BLK_DEV_SR=m +CONFIG_BLK_DEV_SR_VENDOR=y +CONFIG_CHR_DEV_SG=m +CONFIG_CHR_DEV_SCH=m +CONFIG_SCSI_ENCLOSURE=m +CONFIG_SCSI_MULTI_LUN=y +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set +CONFIG_SCSI_WAIT_SCAN=m + +# +# SCSI Transports +# +CONFIG_SCSI_SPI_ATTRS=m +CONFIG_SCSI_FC_ATTRS=m +# CONFIG_SCSI_FC_TGT_ATTRS is not set +CONFIG_SCSI_ISCSI_ATTRS=m +CONFIG_SCSI_SAS_ATTRS=m +CONFIG_SCSI_SAS_LIBSAS=m +CONFIG_SCSI_SAS_ATA=y +CONFIG_SCSI_SAS_HOST_SMP=y +CONFIG_SCSI_SRP_ATTRS=m +CONFIG_SCSI_SRP_TGT_ATTRS=y +CONFIG_SCSI_LOWLEVEL=y +CONFIG_ISCSI_TCP=m +CONFIG_ISCSI_BOOT_SYSFS=m +CONFIG_SCSI_CXGB3_ISCSI=m +CONFIG_SCSI_CXGB4_ISCSI=m +CONFIG_SCSI_BNX2_ISCSI=m +CONFIG_SCSI_BNX2X_FCOE=m +CONFIG_BE2ISCSI=m +CONFIG_BLK_DEV_3W_XXXX_RAID=m +CONFIG_SCSI_HPSA=m +CONFIG_SCSI_3W_9XXX=m +CONFIG_SCSI_3W_SAS=m +CONFIG_SCSI_ACARD=m +CONFIG_SCSI_AACRAID=m +CONFIG_SCSI_AIC7XXX=m +CONFIG_AIC7XXX_CMDS_PER_DEVICE=32 +CONFIG_AIC7XXX_RESET_DELAY_MS=15000 +# CONFIG_AIC7XXX_DEBUG_ENABLE is not set +CONFIG_AIC7XXX_DEBUG_MASK=0 +CONFIG_AIC7XXX_REG_PRETTY_PRINT=y +# CONFIG_SCSI_AIC7XXX_OLD is not set +CONFIG_SCSI_AIC79XX=m +CONFIG_AIC79XX_CMDS_PER_DEVICE=32 +CONFIG_AIC79XX_RESET_DELAY_MS=15000 +# CONFIG_AIC79XX_DEBUG_ENABLE is not set +CONFIG_AIC79XX_DEBUG_MASK=0 +CONFIG_AIC79XX_REG_PRETTY_PRINT=y +CONFIG_SCSI_AIC94XX=m +# CONFIG_AIC94XX_DEBUG is not set +CONFIG_SCSI_MVSAS=m +# CONFIG_SCSI_MVSAS_DEBUG is not set +CONFIG_SCSI_MVSAS_TASKLET=y +CONFIG_SCSI_MVUMI=m +CONFIG_SCSI_DPT_I2O=m +CONFIG_SCSI_ADVANSYS=m +CONFIG_SCSI_ARCMSR=m +CONFIG_MEGARAID_NEWGEN=y +CONFIG_MEGARAID_MM=m +CONFIG_MEGARAID_MAILBOX=m +CONFIG_MEGARAID_LEGACY=m +CONFIG_MEGARAID_SAS=m +CONFIG_SCSI_MPT2SAS=m +CONFIG_SCSI_MPT2SAS_MAX_SGE=128 +# CONFIG_SCSI_MPT2SAS_LOGGING is not set +CONFIG_SCSI_HPTIOP=m +CONFIG_SCSI_BUSLOGIC=m +CONFIG_VMWARE_PVSCSI=m +CONFIG_LIBFC=m +CONFIG_LIBFCOE=m +CONFIG_FCOE=m +CONFIG_FCOE_FNIC=m +CONFIG_SCSI_DMX3191D=m +CONFIG_SCSI_EATA=m +# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set +# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set +CONFIG_SCSI_EATA_MAX_TAGS=16 +CONFIG_SCSI_FUTURE_DOMAIN=m +CONFIG_SCSI_GDTH=m +CONFIG_SCSI_ISCI=m +CONFIG_SCSI_IPS=m +CONFIG_SCSI_INITIO=m +CONFIG_SCSI_INIA100=m +CONFIG_SCSI_PPA=m +CONFIG_SCSI_IMM=m +# CONFIG_SCSI_IZIP_EPP16 is not set +# CONFIG_SCSI_IZIP_SLOW_CTR is not set +CONFIG_SCSI_STEX=m +CONFIG_SCSI_SYM53C8XX_2=m +CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 +CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 +CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 +CONFIG_SCSI_SYM53C8XX_MMIO=y +CONFIG_SCSI_IPR=m +# CONFIG_SCSI_IPR_TRACE is not set +# CONFIG_SCSI_IPR_DUMP is not set +CONFIG_SCSI_QLOGIC_1280=m +CONFIG_SCSI_QLA_FC=m +CONFIG_SCSI_QLA_ISCSI=m +CONFIG_SCSI_LPFC=m +# CONFIG_SCSI_LPFC_DEBUG_FS is not set +CONFIG_SCSI_DC395x=m +CONFIG_SCSI_DC390T=m +# CONFIG_SCSI_DEBUG is not set +CONFIG_SCSI_PMCRAID=m +CONFIG_SCSI_PM8001=m +CONFIG_SCSI_SRP=m +CONFIG_SCSI_BFA_FC=m +CONFIG_SCSI_LOWLEVEL_PCMCIA=y +CONFIG_PCMCIA_AHA152X=m +CONFIG_PCMCIA_FDOMAIN=m +CONFIG_PCMCIA_QLOGIC=m +CONFIG_PCMCIA_SYM53C500=m +CONFIG_SCSI_DH=m +CONFIG_SCSI_DH_RDAC=m +CONFIG_SCSI_DH_HP_SW=m +CONFIG_SCSI_DH_EMC=m +CONFIG_SCSI_DH_ALUA=m +CONFIG_SCSI_OSD_INITIATOR=m +CONFIG_SCSI_OSD_ULD=m +CONFIG_SCSI_OSD_DPRINT_SENSE=0 +# CONFIG_SCSI_OSD_DEBUG is not set +CONFIG_ATA=m +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_VERBOSE_ERROR=y +CONFIG_ATA_ACPI=y +CONFIG_SATA_PMP=y + +# +# Controllers with non-SFF native interface +# +CONFIG_SATA_AHCI=m +CONFIG_SATA_AHCI_PLATFORM=m +CONFIG_SATA_INIC162X=m +CONFIG_SATA_ACARD_AHCI=m +CONFIG_SATA_SIL24=m +CONFIG_ATA_SFF=y + +# +# SFF controllers with custom DMA interface +# +CONFIG_PDC_ADMA=m +CONFIG_SATA_QSTOR=m +CONFIG_SATA_SX4=m +CONFIG_ATA_BMDMA=y + +# +# SATA SFF controllers with BMDMA +# +CONFIG_ATA_PIIX=m +CONFIG_SATA_MV=m +CONFIG_SATA_NV=m +CONFIG_SATA_PROMISE=m +CONFIG_SATA_SIL=m +CONFIG_SATA_SIS=m +CONFIG_SATA_SVW=m +CONFIG_SATA_ULI=m +CONFIG_SATA_VIA=m +CONFIG_SATA_VITESSE=m + +# +# PATA SFF controllers with BMDMA +# +CONFIG_PATA_ALI=m +CONFIG_PATA_AMD=m +CONFIG_PATA_ARASAN_CF=m +CONFIG_PATA_ARTOP=m +CONFIG_PATA_ATIIXP=m +CONFIG_PATA_ATP867X=m +CONFIG_PATA_CMD64X=m +CONFIG_PATA_CS5520=m +CONFIG_PATA_CS5530=m +CONFIG_PATA_CS5536=m +CONFIG_PATA_CYPRESS=m +CONFIG_PATA_EFAR=m +CONFIG_PATA_HPT366=m +CONFIG_PATA_HPT37X=m +CONFIG_PATA_HPT3X2N=m +CONFIG_PATA_HPT3X3=m +# CONFIG_PATA_HPT3X3_DMA is not set +CONFIG_PATA_IT8213=m +CONFIG_PATA_IT821X=m +CONFIG_PATA_JMICRON=m +CONFIG_PATA_MARVELL=m +CONFIG_PATA_NETCELL=m +CONFIG_PATA_NINJA32=m +CONFIG_PATA_NS87415=m +CONFIG_PATA_OLDPIIX=m +CONFIG_PATA_OPTIDMA=m +CONFIG_PATA_PDC2027X=m +CONFIG_PATA_PDC_OLD=m +CONFIG_PATA_RADISYS=m +CONFIG_PATA_RDC=m +CONFIG_PATA_SC1200=m +CONFIG_PATA_SCH=m +CONFIG_PATA_SERVERWORKS=m +CONFIG_PATA_SIL680=m +CONFIG_PATA_SIS=m +CONFIG_PATA_TOSHIBA=m +CONFIG_PATA_TRIFLEX=m +CONFIG_PATA_VIA=m +CONFIG_PATA_WINBOND=m + +# +# PIO-only SFF controllers +# +CONFIG_PATA_CMD640_PCI=m +CONFIG_PATA_MPIIX=m +CONFIG_PATA_NS87410=m +CONFIG_PATA_OPTI=m +CONFIG_PATA_PCMCIA=m +CONFIG_PATA_RZ1000=m + +# +# Generic fallback / legacy drivers +# +CONFIG_PATA_ACPI=m +CONFIG_ATA_GENERIC=m +CONFIG_PATA_LEGACY=m +CONFIG_MD=y +CONFIG_BLK_DEV_MD=m +CONFIG_MD_LINEAR=m +CONFIG_MD_RAID0=m +CONFIG_MD_RAID1=m +CONFIG_MD_RAID10=m +CONFIG_MD_RAID456=m +# CONFIG_MULTICORE_RAID456 is not set +CONFIG_MD_MULTIPATH=m +CONFIG_MD_FAULTY=m +CONFIG_BLK_DEV_DM=m +# CONFIG_DM_DEBUG is not set +CONFIG_DM_BUFIO=m +CONFIG_DM_PERSISTENT_DATA=m +CONFIG_DM_CRYPT=m +CONFIG_DM_SNAPSHOT=m +CONFIG_DM_THIN_PROVISIONING=m +# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set +# CONFIG_DM_DEBUG_SPACE_MAPS is not set +CONFIG_DM_MIRROR=m +CONFIG_DM_RAID=m +CONFIG_DM_LOG_USERSPACE=m +CONFIG_DM_ZERO=m +CONFIG_DM_MULTIPATH=m +CONFIG_DM_MULTIPATH_QL=m +CONFIG_DM_MULTIPATH_ST=m +CONFIG_DM_DELAY=m +CONFIG_DM_UEVENT=y +CONFIG_DM_FLAKEY=m +CONFIG_TARGET_CORE=m +CONFIG_TCM_IBLOCK=m +CONFIG_TCM_FILEIO=m +CONFIG_TCM_PSCSI=m +CONFIG_LOOPBACK_TARGET=m +CONFIG_TCM_FC=m +CONFIG_ISCSI_TARGET=m +CONFIG_FUSION=y +CONFIG_FUSION_SPI=m +CONFIG_FUSION_FC=m +CONFIG_FUSION_SAS=m +CONFIG_FUSION_MAX_SGE=128 +CONFIG_FUSION_CTL=m +# CONFIG_FUSION_LOGGING is not set + +# +# IEEE 1394 (FireWire) support +# +CONFIG_FIREWIRE=m +CONFIG_FIREWIRE_OHCI=m +CONFIG_FIREWIRE_OHCI_DEBUG=y +CONFIG_FIREWIRE_SBP2=m +CONFIG_FIREWIRE_NET=m +CONFIG_FIREWIRE_NOSY=m +CONFIG_I2O=m +CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y +CONFIG_I2O_EXT_ADAPTEC=y +CONFIG_I2O_EXT_ADAPTEC_DMA64=y +CONFIG_I2O_CONFIG=m +CONFIG_I2O_CONFIG_OLD_IOCTL=y +CONFIG_I2O_BUS=m +CONFIG_I2O_BLOCK=m +CONFIG_I2O_SCSI=m +CONFIG_I2O_PROC=m +CONFIG_MACINTOSH_DRIVERS=y +CONFIG_MAC_EMUMOUSEBTN=y +CONFIG_NETDEVICES=y +CONFIG_NET_CORE=y +CONFIG_BONDING=m +CONFIG_DUMMY=m +CONFIG_EQUALIZER=m +# CONFIG_NET_FC is not set +CONFIG_MII=m +CONFIG_IEEE802154_DRIVERS=m +CONFIG_IEEE802154_FAKEHARD=m +CONFIG_IFB=m +CONFIG_MACVLAN=m +CONFIG_MACVTAP=m +CONFIG_NETCONSOLE=m +CONFIG_NETCONSOLE_DYNAMIC=y +CONFIG_NETPOLL=y +# CONFIG_NETPOLL_TRAP is not set +CONFIG_NET_POLL_CONTROLLER=y +CONFIG_RIONET=m +CONFIG_RIONET_TX_SIZE=128 +CONFIG_RIONET_RX_SIZE=128 +CONFIG_TUN=m +CONFIG_VETH=m +CONFIG_VIRTIO_NET=m +CONFIG_SUNGEM_PHY=m +# CONFIG_ARCNET is not set +CONFIG_ATM_DRIVERS=y +# CONFIG_ATM_DUMMY is not set +CONFIG_ATM_TCP=m +CONFIG_ATM_LANAI=m +CONFIG_ATM_ENI=m +# CONFIG_ATM_ENI_DEBUG is not set +# CONFIG_ATM_ENI_TUNE_BURST is not set +CONFIG_ATM_FIRESTREAM=m +CONFIG_ATM_ZATM=m +# CONFIG_ATM_ZATM_DEBUG is not set +CONFIG_ATM_NICSTAR=m +# CONFIG_ATM_NICSTAR_USE_SUNI is not set +# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set +CONFIG_ATM_IDT77252=m +# CONFIG_ATM_IDT77252_DEBUG is not set +# CONFIG_ATM_IDT77252_RCV_ALL is not set +CONFIG_ATM_IDT77252_USE_SUNI=y +CONFIG_ATM_AMBASSADOR=m +# CONFIG_ATM_AMBASSADOR_DEBUG is not set +CONFIG_ATM_HORIZON=m +# CONFIG_ATM_HORIZON_DEBUG is not set +CONFIG_ATM_IA=m +# CONFIG_ATM_IA_DEBUG is not set +CONFIG_ATM_FORE200E=m +# CONFIG_ATM_FORE200E_USE_TASKLET is not set +CONFIG_ATM_FORE200E_TX_RETRY=16 +CONFIG_ATM_FORE200E_DEBUG=0 +CONFIG_ATM_HE=m +# CONFIG_ATM_HE_USE_SUNI is not set +CONFIG_ATM_SOLOS=m + +# +# CAIF transport drivers +# +CONFIG_CAIF_TTY=m +CONFIG_CAIF_SPI_SLAVE=m +CONFIG_CAIF_SPI_SYNC=y +CONFIG_CAIF_HSI=m +CONFIG_ETHERNET=y +CONFIG_MDIO=m +CONFIG_NET_VENDOR_3COM=y +CONFIG_PCMCIA_3C574=m +CONFIG_PCMCIA_3C589=m +CONFIG_VORTEX=m +CONFIG_TYPHOON=m +CONFIG_NET_VENDOR_ADAPTEC=y +CONFIG_ADAPTEC_STARFIRE=m +CONFIG_NET_VENDOR_ALTEON=y +CONFIG_ACENIC=m +# CONFIG_ACENIC_OMIT_TIGON_I is not set +CONFIG_NET_VENDOR_AMD=y +CONFIG_AMD8111_ETH=m +CONFIG_PCNET32=m +CONFIG_PCMCIA_NMCLAN=m +CONFIG_NET_VENDOR_ATHEROS=y +CONFIG_ATL2=m +CONFIG_ATL1=m +CONFIG_ATL1E=m +CONFIG_ATL1C=m +CONFIG_NET_VENDOR_BROADCOM=y +CONFIG_B44=m +CONFIG_B44_PCI_AUTOSELECT=y +CONFIG_B44_PCICORE_AUTOSELECT=y +CONFIG_B44_PCI=y +CONFIG_BNX2=m +CONFIG_CNIC=m +CONFIG_TIGON3=m +CONFIG_BNX2X=m +CONFIG_NET_VENDOR_BROCADE=y +CONFIG_BNA=m +CONFIG_NET_VENDOR_CHELSIO=y +CONFIG_CHELSIO_T1=m +CONFIG_CHELSIO_T1_1G=y +CONFIG_CHELSIO_T3=m +CONFIG_CHELSIO_T4=m +CONFIG_CHELSIO_T4VF=m +CONFIG_NET_VENDOR_CISCO=y +CONFIG_ENIC=m +CONFIG_DNET=m +CONFIG_NET_VENDOR_DEC=y +CONFIG_NET_TULIP=y +CONFIG_DE2104X=m +CONFIG_DE2104X_DSL=0 +CONFIG_TULIP=m +# CONFIG_TULIP_MWI is not set +# CONFIG_TULIP_MMIO is not set +# CONFIG_TULIP_NAPI is not set +CONFIG_DE4X5=m +CONFIG_WINBOND_840=m +CONFIG_DM9102=m +CONFIG_ULI526X=m +CONFIG_PCMCIA_XIRCOM=m +CONFIG_NET_VENDOR_DLINK=y +CONFIG_DE600=m +CONFIG_DE620=m +CONFIG_DL2K=m +CONFIG_SUNDANCE=m +# CONFIG_SUNDANCE_MMIO is not set +CONFIG_NET_VENDOR_EMULEX=y +CONFIG_BE2NET=m +CONFIG_NET_VENDOR_EXAR=y +CONFIG_S2IO=m +CONFIG_VXGE=m +# CONFIG_VXGE_DEBUG_TRACE_ALL is not set +CONFIG_NET_VENDOR_FUJITSU=y +CONFIG_PCMCIA_FMVJ18X=m +CONFIG_NET_VENDOR_HP=y +CONFIG_HP100=m +CONFIG_NET_VENDOR_INTEL=y +CONFIG_E100=m +CONFIG_E1000=m +CONFIG_E1000E=m +CONFIG_IGB=m +CONFIG_IGB_DCA=y +CONFIG_IGBVF=m +CONFIG_IXGB=m +CONFIG_IXGBE=m +CONFIG_IXGBE_DCA=y +CONFIG_IXGBEVF=m +CONFIG_NET_VENDOR_I825XX=y +CONFIG_ZNET=m +CONFIG_IP1000=m +CONFIG_JME=m +CONFIG_NET_VENDOR_MARVELL=y +CONFIG_SKGE=m +# CONFIG_SKGE_DEBUG is not set +CONFIG_SKGE_GENESIS=y +CONFIG_SKY2=m +# CONFIG_SKY2_DEBUG is not set +CONFIG_NET_VENDOR_MELLANOX=y +CONFIG_MLX4_EN=m +CONFIG_MLX4_CORE=m +CONFIG_MLX4_DEBUG=y +CONFIG_NET_VENDOR_MICREL=y +CONFIG_KS8842=m +CONFIG_KS8851=m +CONFIG_KS8851_MLL=m +CONFIG_KSZ884X_PCI=m +CONFIG_NET_VENDOR_MICROCHIP=y +CONFIG_ENC28J60=m +# CONFIG_ENC28J60_WRITEVERIFY is not set +CONFIG_NET_VENDOR_MYRI=y +CONFIG_MYRI10GE=m +CONFIG_MYRI10GE_DCA=y +CONFIG_FEALNX=m +CONFIG_NET_VENDOR_NATSEMI=y +CONFIG_NATSEMI=m +CONFIG_NS83820=m +CONFIG_NET_VENDOR_8390=y +CONFIG_PCMCIA_AXNET=m +CONFIG_NE2K_PCI=m +CONFIG_PCMCIA_PCNET=m +CONFIG_NET_VENDOR_NVIDIA=y +CONFIG_FORCEDETH=m +CONFIG_NET_VENDOR_OKI=y +CONFIG_PCH_GBE=m +CONFIG_ETHOC=m +CONFIG_NET_PACKET_ENGINE=y +CONFIG_HAMACHI=m +CONFIG_YELLOWFIN=m +CONFIG_NET_VENDOR_QLOGIC=y +CONFIG_QLA3XXX=m +CONFIG_QLCNIC=m +CONFIG_QLGE=m +CONFIG_NETXEN_NIC=m +CONFIG_NET_VENDOR_REALTEK=y +CONFIG_ATP=m +CONFIG_8139CP=m +CONFIG_8139TOO=m +# CONFIG_8139TOO_PIO is not set +CONFIG_8139TOO_TUNE_TWISTER=y +CONFIG_8139TOO_8129=y +# CONFIG_8139_OLD_RX_RESET is not set +CONFIG_R8169=m +CONFIG_NET_VENDOR_RDC=y +CONFIG_R6040=m +CONFIG_NET_VENDOR_SEEQ=y +CONFIG_SEEQ8005=m +CONFIG_NET_VENDOR_SILAN=y +CONFIG_SC92031=m +CONFIG_NET_VENDOR_SIS=y +CONFIG_SIS900=m +CONFIG_SIS190=m +CONFIG_SFC=m +CONFIG_SFC_MTD=y +CONFIG_NET_VENDOR_SMSC=y +CONFIG_PCMCIA_SMC91C92=m +CONFIG_EPIC100=m +CONFIG_SMSC9420=m +CONFIG_NET_VENDOR_STMICRO=y +CONFIG_STMMAC_ETH=m +# CONFIG_STMMAC_DEBUG_FS is not set +# CONFIG_STMMAC_DA is not set +CONFIG_STMMAC_RING=y +# CONFIG_STMMAC_CHAINED is not set +CONFIG_NET_VENDOR_SUN=y +CONFIG_HAPPYMEAL=m +CONFIG_SUNGEM=m +CONFIG_CASSINI=m +CONFIG_NIU=m +CONFIG_NET_VENDOR_TEHUTI=y +CONFIG_TEHUTI=m +CONFIG_NET_VENDOR_TI=y +CONFIG_TLAN=m +CONFIG_NET_VENDOR_VIA=y +CONFIG_VIA_RHINE=m +# CONFIG_VIA_RHINE_MMIO is not set +CONFIG_VIA_VELOCITY=m +CONFIG_NET_VENDOR_XIRCOM=y +CONFIG_PCMCIA_XIRC2PS=m +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +CONFIG_NET_SB1000=m +CONFIG_PHYLIB=m + +# +# MII PHY device drivers +# +CONFIG_MARVELL_PHY=m +CONFIG_DAVICOM_PHY=m +CONFIG_QSEMI_PHY=m +CONFIG_LXT_PHY=m +CONFIG_CICADA_PHY=m +CONFIG_VITESSE_PHY=m +CONFIG_SMSC_PHY=m +CONFIG_BROADCOM_PHY=m +CONFIG_ICPLUS_PHY=m +CONFIG_REALTEK_PHY=m +CONFIG_NATIONAL_PHY=m +CONFIG_STE10XP=m +CONFIG_LSI_ET1011C_PHY=m +CONFIG_MICREL_PHY=m +# CONFIG_MDIO_BITBANG is not set +CONFIG_PLIP=m +CONFIG_PPP=m +CONFIG_PPP_BSDCOMP=m +CONFIG_PPP_DEFLATE=m +CONFIG_PPP_FILTER=y +CONFIG_PPP_MPPE=m +CONFIG_PPP_MULTILINK=y +CONFIG_PPPOATM=m +CONFIG_PPPOE=m +CONFIG_PPTP=m +CONFIG_PPPOL2TP=m +CONFIG_PPP_ASYNC=m +CONFIG_PPP_SYNC_TTY=m +CONFIG_SLIP=m +CONFIG_SLHC=m +# CONFIG_SLIP_COMPRESSED is not set +# CONFIG_SLIP_SMART is not set +# CONFIG_SLIP_MODE_SLIP6 is not set +# CONFIG_TR is not set + +# +# USB Network Adapters +# +CONFIG_USB_CATC=m +CONFIG_USB_KAWETH=m +CONFIG_USB_PEGASUS=m +CONFIG_USB_RTL8150=m +CONFIG_USB_USBNET=m +CONFIG_USB_NET_AX8817X=m +CONFIG_USB_NET_CDCETHER=m +CONFIG_USB_NET_CDC_EEM=m +CONFIG_USB_NET_CDC_NCM=m +CONFIG_USB_NET_DM9601=m +CONFIG_USB_NET_SMSC75XX=m +CONFIG_USB_NET_SMSC95XX=m +CONFIG_USB_NET_GL620A=m +CONFIG_USB_NET_NET1080=m +CONFIG_USB_NET_PLUSB=m +CONFIG_USB_NET_MCS7830=m +CONFIG_USB_NET_RNDIS_HOST=m +CONFIG_USB_NET_CDC_SUBSET=m +CONFIG_USB_ALI_M5632=y +CONFIG_USB_AN2720=y +CONFIG_USB_BELKIN=y +CONFIG_USB_ARMLINUX=y +CONFIG_USB_EPSON2888=y +CONFIG_USB_KC2190=y +CONFIG_USB_NET_ZAURUS=m +CONFIG_USB_NET_CX82310_ETH=m +CONFIG_USB_NET_KALMIA=m +CONFIG_USB_HSO=m +CONFIG_USB_NET_INT51X1=m +CONFIG_USB_CDC_PHONET=m +CONFIG_USB_IPHETH=m +CONFIG_USB_SIERRA_NET=m +CONFIG_USB_VL600=m +CONFIG_WLAN=y +CONFIG_PCMCIA_RAYCS=m +CONFIG_LIBERTAS_THINFIRM=m +# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set +CONFIG_LIBERTAS_THINFIRM_USB=m +CONFIG_AIRO=m +CONFIG_ATMEL=m +CONFIG_PCI_ATMEL=m +CONFIG_PCMCIA_ATMEL=m +CONFIG_AT76C50X_USB=m +CONFIG_AIRO_CS=m +CONFIG_PCMCIA_WL3501=m +CONFIG_PRISM54=m +CONFIG_USB_ZD1201=m +CONFIG_USB_NET_RNDIS_WLAN=m +CONFIG_RTL8180=m +CONFIG_RTL8187=m +CONFIG_RTL8187_LEDS=y +CONFIG_ADM8211=m +# CONFIG_MAC80211_HWSIM is not set +CONFIG_MWL8K=m +CONFIG_ATH_COMMON=m +# CONFIG_ATH_DEBUG is not set +CONFIG_ATH5K=m +# CONFIG_ATH5K_DEBUG is not set +# CONFIG_ATH5K_TRACER is not set +CONFIG_ATH5K_PCI=y +CONFIG_ATH9K_HW=m +CONFIG_ATH9K_COMMON=m +CONFIG_ATH9K=m +CONFIG_ATH9K_PCI=y +CONFIG_ATH9K_AHB=y +# CONFIG_ATH9K_DEBUGFS is not set +CONFIG_ATH9K_RATE_CONTROL=y +CONFIG_ATH9K_HTC=m +# CONFIG_ATH9K_HTC_DEBUGFS is not set +CONFIG_CARL9170=m +CONFIG_CARL9170_LEDS=y +CONFIG_CARL9170_WPC=y +# CONFIG_CARL9170_HWRNG is not set +CONFIG_ATH6KL=m +# CONFIG_ATH6KL_DEBUG is not set +CONFIG_B43=m +CONFIG_B43_SSB=y +CONFIG_B43_PCI_AUTOSELECT=y +CONFIG_B43_PCICORE_AUTOSELECT=y +CONFIG_B43_PCMCIA=y +CONFIG_B43_SDIO=y +CONFIG_B43_PIO=y +CONFIG_B43_PHY_N=y +CONFIG_B43_PHY_LP=y +CONFIG_B43_PHY_HT=y +CONFIG_B43_LEDS=y +CONFIG_B43_HWRNG=y +# CONFIG_B43_DEBUG is not set +CONFIG_B43LEGACY=m +CONFIG_B43LEGACY_PCI_AUTOSELECT=y +CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y +CONFIG_B43LEGACY_LEDS=y +CONFIG_B43LEGACY_HWRNG=y +# CONFIG_B43LEGACY_DEBUG is not set +CONFIG_B43LEGACY_DMA=y +CONFIG_B43LEGACY_PIO=y +CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y +# CONFIG_B43LEGACY_DMA_MODE is not set +# CONFIG_B43LEGACY_PIO_MODE is not set +CONFIG_BRCMUTIL=m +CONFIG_BRCMSMAC=m +CONFIG_BRCMFMAC=m +# CONFIG_BRCMDBG is not set +CONFIG_HOSTAP=m +CONFIG_HOSTAP_FIRMWARE=y +# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set +CONFIG_HOSTAP_PLX=m +CONFIG_HOSTAP_PCI=m +CONFIG_HOSTAP_CS=m +CONFIG_IPW2100=m +CONFIG_IPW2100_MONITOR=y +# CONFIG_IPW2100_DEBUG is not set +CONFIG_IPW2200=m +CONFIG_IPW2200_MONITOR=y +CONFIG_IPW2200_RADIOTAP=y +CONFIG_IPW2200_PROMISCUOUS=y +CONFIG_IPW2200_QOS=y +# CONFIG_IPW2200_DEBUG is not set +CONFIG_LIBIPW=m +# CONFIG_LIBIPW_DEBUG is not set +CONFIG_IWLWIFI=m + +# +# Debugging Options +# +# CONFIG_IWLWIFI_DEBUG is not set +CONFIG_IWLWIFI_DEVICE_TRACING=y +CONFIG_IWLWIFI_DEVICE_SVTOOL=y +CONFIG_IWLWIFI_LEGACY=m + +# +# Debugging Options +# +# CONFIG_IWLWIFI_LEGACY_DEBUG is not set +# CONFIG_IWLWIFI_LEGACY_DEVICE_TRACING is not set +CONFIG_IWL4965=m +CONFIG_IWL3945=m +CONFIG_IWM=m +# CONFIG_IWM_DEBUG is not set +CONFIG_IWM_TRACING=y +CONFIG_LIBERTAS=m +CONFIG_LIBERTAS_USB=m +CONFIG_LIBERTAS_CS=m +CONFIG_LIBERTAS_SDIO=m +CONFIG_LIBERTAS_SPI=m +# CONFIG_LIBERTAS_DEBUG is not set +CONFIG_LIBERTAS_MESH=y +CONFIG_HERMES=m +CONFIG_HERMES_PRISM=y +CONFIG_HERMES_CACHE_FW_ON_INIT=y +CONFIG_PLX_HERMES=m +CONFIG_TMD_HERMES=m +CONFIG_NORTEL_HERMES=m +CONFIG_PCI_HERMES=m +CONFIG_PCMCIA_HERMES=m +CONFIG_PCMCIA_SPECTRUM=m +CONFIG_ORINOCO_USB=m +CONFIG_P54_COMMON=m +CONFIG_P54_USB=m +CONFIG_P54_PCI=m +CONFIG_P54_SPI=m +CONFIG_P54_SPI_DEFAULT_EEPROM=y +CONFIG_P54_LEDS=y +CONFIG_RT2X00=m +CONFIG_RT2400PCI=m +CONFIG_RT2500PCI=m +CONFIG_RT61PCI=m +CONFIG_RT2800PCI=m +CONFIG_RT2800PCI_RT33XX=y +CONFIG_RT2800PCI_RT35XX=y +CONFIG_RT2800PCI_RT53XX=y +CONFIG_RT2500USB=m +CONFIG_RT73USB=m +CONFIG_RT2800USB=m +CONFIG_RT2800USB_RT33XX=y +CONFIG_RT2800USB_RT35XX=y +CONFIG_RT2800USB_RT53XX=y +CONFIG_RT2800USB_UNKNOWN=y +CONFIG_RT2800_LIB=m +CONFIG_RT2X00_LIB_PCI=m +CONFIG_RT2X00_LIB_USB=m +CONFIG_RT2X00_LIB=m +CONFIG_RT2X00_LIB_FIRMWARE=y +CONFIG_RT2X00_LIB_CRYPTO=y +CONFIG_RT2X00_LIB_LEDS=y +# CONFIG_RT2X00_DEBUG is not set +CONFIG_RTL8192CE=m +CONFIG_RTL8192SE=m +CONFIG_RTL8192DE=m +CONFIG_RTL8192CU=m +CONFIG_RTLWIFI=m +CONFIG_RTL8192C_COMMON=m +CONFIG_WL1251=m +CONFIG_WL1251_SPI=m +CONFIG_WL1251_SDIO=m +CONFIG_WL12XX_MENU=m +CONFIG_WL12XX=m +CONFIG_WL12XX_SPI=m +CONFIG_WL12XX_SDIO=m +CONFIG_WL12XX_SDIO_TEST=m +CONFIG_WL12XX_PLATFORM_DATA=y +CONFIG_ZD1211RW=m +# CONFIG_ZD1211RW_DEBUG is not set +CONFIG_MWIFIEX=m +CONFIG_MWIFIEX_SDIO=m +CONFIG_MWIFIEX_PCIE=m + +# +# WiMAX Wireless Broadband devices +# +CONFIG_WIMAX_I2400M=m +CONFIG_WIMAX_I2400M_USB=m +CONFIG_WIMAX_I2400M_SDIO=m +# CONFIG_WIMAX_IWMC3200_SDIO is not set +CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 +# CONFIG_WAN is not set +CONFIG_XEN_NETDEV_FRONTEND=m +CONFIG_XEN_NETDEV_BACKEND=m +CONFIG_VMXNET3=m +CONFIG_ISDN=y +CONFIG_ISDN_I4L=m +CONFIG_ISDN_PPP=y +CONFIG_ISDN_PPP_VJ=y +CONFIG_ISDN_MPP=y +CONFIG_IPPP_FILTER=y +CONFIG_ISDN_PPP_BSDCOMP=m +CONFIG_ISDN_AUDIO=y +CONFIG_ISDN_TTY_FAX=y + +# +# ISDN feature submodules +# +CONFIG_ISDN_DIVERSION=m + +# +# ISDN4Linux hardware drivers +# + +# +# Passive cards +# +CONFIG_ISDN_DRV_HISAX=m + +# +# D-channel protocol features +# +CONFIG_HISAX_EURO=y +CONFIG_DE_AOC=y +# CONFIG_HISAX_NO_SENDCOMPLETE is not set +# CONFIG_HISAX_NO_LLC is not set +# CONFIG_HISAX_NO_KEYPAD is not set +CONFIG_HISAX_1TR6=y +CONFIG_HISAX_NI1=y +CONFIG_HISAX_MAX_CARDS=8 + +# +# HiSax supported cards +# +CONFIG_HISAX_16_3=y +CONFIG_HISAX_TELESPCI=y +CONFIG_HISAX_S0BOX=y +CONFIG_HISAX_FRITZPCI=y +CONFIG_HISAX_AVM_A1_PCMCIA=y +CONFIG_HISAX_ELSA=y +CONFIG_HISAX_DIEHLDIVA=y +CONFIG_HISAX_SEDLBAUER=y +CONFIG_HISAX_NETJET=y +CONFIG_HISAX_NETJET_U=y +CONFIG_HISAX_NICCY=y +CONFIG_HISAX_BKM_A4T=y +CONFIG_HISAX_SCT_QUADRO=y +CONFIG_HISAX_GAZEL=y +CONFIG_HISAX_HFC_PCI=y +CONFIG_HISAX_W6692=y +CONFIG_HISAX_HFC_SX=y +CONFIG_HISAX_ENTERNOW_PCI=y +# CONFIG_HISAX_DEBUG is not set + +# +# HiSax PCMCIA card service modules +# +CONFIG_HISAX_SEDLBAUER_CS=m +CONFIG_HISAX_ELSA_CS=m +CONFIG_HISAX_AVM_A1_CS=m +CONFIG_HISAX_TELES_CS=m + +# +# HiSax sub driver modules +# +CONFIG_HISAX_ST5481=m +CONFIG_HISAX_HFCUSB=m +CONFIG_HISAX_HFC4S8S=m +CONFIG_HISAX_FRITZ_PCIPNP=m + +# +# Active cards +# +CONFIG_ISDN_CAPI=m +CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y +CONFIG_CAPI_TRACE=y +CONFIG_ISDN_CAPI_MIDDLEWARE=y +CONFIG_ISDN_CAPI_CAPI20=m +CONFIG_ISDN_CAPI_CAPIDRV=m + +# +# CAPI hardware drivers +# +CONFIG_CAPI_AVM=y +CONFIG_ISDN_DRV_AVMB1_B1PCI=m +CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y +CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m +CONFIG_ISDN_DRV_AVMB1_AVM_CS=m +CONFIG_ISDN_DRV_AVMB1_T1PCI=m +CONFIG_ISDN_DRV_AVMB1_C4=m +CONFIG_CAPI_EICON=y +CONFIG_ISDN_DIVAS=m +CONFIG_ISDN_DIVAS_BRIPCI=y +CONFIG_ISDN_DIVAS_PRIPCI=y +CONFIG_ISDN_DIVAS_DIVACAPI=m +CONFIG_ISDN_DIVAS_USERIDI=m +CONFIG_ISDN_DIVAS_MAINT=m +CONFIG_ISDN_DRV_GIGASET=m +CONFIG_GIGASET_CAPI=y +# CONFIG_GIGASET_I4L is not set +# CONFIG_GIGASET_DUMMYLL is not set +CONFIG_GIGASET_BASE=m +CONFIG_GIGASET_M105=m +CONFIG_GIGASET_M101=m +# CONFIG_GIGASET_DEBUG is not set +CONFIG_HYSDN=m +CONFIG_HYSDN_CAPI=y +CONFIG_MISDN=m +CONFIG_MISDN_DSP=m +CONFIG_MISDN_L1OIP=m + +# +# mISDN hardware drivers +# +CONFIG_MISDN_HFCPCI=m +CONFIG_MISDN_HFCMULTI=m +CONFIG_MISDN_HFCUSB=m +CONFIG_MISDN_AVMFRITZ=m +CONFIG_MISDN_SPEEDFAX=m +CONFIG_MISDN_INFINEON=m +CONFIG_MISDN_W6692=m +CONFIG_MISDN_NETJET=m +CONFIG_MISDN_IPAC=m +CONFIG_MISDN_ISAR=m +CONFIG_ISDN_HDLC=m +# CONFIG_PHONE is not set + +# +# Input device support +# +CONFIG_INPUT=y +CONFIG_INPUT_FF_MEMLESS=m +CONFIG_INPUT_POLLDEV=m +CONFIG_INPUT_SPARSEKMAP=m + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_JOYDEV=m +CONFIG_INPUT_EVDEV=m +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +CONFIG_KEYBOARD_ADP5588=m +CONFIG_KEYBOARD_ADP5589=m +CONFIG_KEYBOARD_ATKBD=y +CONFIG_KEYBOARD_QT1070=m +CONFIG_KEYBOARD_QT2160=m +# CONFIG_KEYBOARD_LKKBD is not set +CONFIG_KEYBOARD_GPIO=m +CONFIG_KEYBOARD_GPIO_POLLED=m +CONFIG_KEYBOARD_TCA6416=m +CONFIG_KEYBOARD_MATRIX=m +# CONFIG_KEYBOARD_LM8323 is not set +# CONFIG_KEYBOARD_MAX7359 is not set +CONFIG_KEYBOARD_MCS=m +CONFIG_KEYBOARD_MPR121=m +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_OPENCORES is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=m +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_LIFEBOOK=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +CONFIG_MOUSE_PS2_ELANTECH=y +CONFIG_MOUSE_PS2_SENTELIC=y +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +CONFIG_MOUSE_SERIAL=y +CONFIG_MOUSE_APPLETOUCH=m +CONFIG_MOUSE_BCM5974=m +CONFIG_MOUSE_VSXXXAA=m +CONFIG_MOUSE_GPIO=m +CONFIG_MOUSE_SYNAPTICS_I2C=m +CONFIG_INPUT_JOYSTICK=y +CONFIG_JOYSTICK_ANALOG=m +CONFIG_JOYSTICK_A3D=m +CONFIG_JOYSTICK_ADI=m +CONFIG_JOYSTICK_COBRA=m +CONFIG_JOYSTICK_GF2K=m +CONFIG_JOYSTICK_GRIP=m +CONFIG_JOYSTICK_GRIP_MP=m +CONFIG_JOYSTICK_GUILLEMOT=m +CONFIG_JOYSTICK_INTERACT=m +CONFIG_JOYSTICK_SIDEWINDER=m +CONFIG_JOYSTICK_TMDC=m +CONFIG_JOYSTICK_IFORCE=m +CONFIG_JOYSTICK_IFORCE_USB=y +CONFIG_JOYSTICK_IFORCE_232=y +CONFIG_JOYSTICK_WARRIOR=m +CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_SPACEORB=m +CONFIG_JOYSTICK_SPACEBALL=m +CONFIG_JOYSTICK_STINGER=m +CONFIG_JOYSTICK_TWIDJOY=m +CONFIG_JOYSTICK_ZHENHUA=m +CONFIG_JOYSTICK_DB9=m +CONFIG_JOYSTICK_GAMECON=m +CONFIG_JOYSTICK_TURBOGRAFX=m +CONFIG_JOYSTICK_AS5011=m +CONFIG_JOYSTICK_JOYDUMP=m +CONFIG_JOYSTICK_XPAD=m +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +CONFIG_JOYSTICK_WALKERA0701=m +CONFIG_INPUT_TABLET=y +CONFIG_TABLET_USB_ACECAD=m +CONFIG_TABLET_USB_AIPTEK=m +CONFIG_TABLET_USB_GTCO=m +CONFIG_TABLET_USB_HANWANG=m +CONFIG_TABLET_USB_KBTAB=m +CONFIG_TABLET_USB_WACOM=m +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_ADS7846=m +CONFIG_TOUCHSCREEN_AD7877=m +CONFIG_TOUCHSCREEN_AD7879=m +CONFIG_TOUCHSCREEN_AD7879_I2C=m +CONFIG_TOUCHSCREEN_AD7879_SPI=m +CONFIG_TOUCHSCREEN_ATMEL_MXT=m +CONFIG_TOUCHSCREEN_BU21013=m +CONFIG_TOUCHSCREEN_CY8CTMG110=m +CONFIG_TOUCHSCREEN_DYNAPRO=m +CONFIG_TOUCHSCREEN_HAMPSHIRE=m +CONFIG_TOUCHSCREEN_EETI=m +CONFIG_TOUCHSCREEN_FUJITSU=m +CONFIG_TOUCHSCREEN_GUNZE=m +CONFIG_TOUCHSCREEN_ELO=m +CONFIG_TOUCHSCREEN_WACOM_W8001=m +CONFIG_TOUCHSCREEN_MAX11801=m +CONFIG_TOUCHSCREEN_MCS5000=m +CONFIG_TOUCHSCREEN_MTOUCH=m +CONFIG_TOUCHSCREEN_INEXIO=m +CONFIG_TOUCHSCREEN_MK712=m +CONFIG_TOUCHSCREEN_PENMOUNT=m +CONFIG_TOUCHSCREEN_TOUCHRIGHT=m +CONFIG_TOUCHSCREEN_TOUCHWIN=m +CONFIG_TOUCHSCREEN_UCB1400=m +CONFIG_TOUCHSCREEN_WM831X=m +CONFIG_TOUCHSCREEN_WM97XX=m +CONFIG_TOUCHSCREEN_WM9705=y +CONFIG_TOUCHSCREEN_WM9712=y +CONFIG_TOUCHSCREEN_WM9713=y +CONFIG_TOUCHSCREEN_USB_COMPOSITE=m +CONFIG_TOUCHSCREEN_MC13783=m +CONFIG_TOUCHSCREEN_USB_EGALAX=y +CONFIG_TOUCHSCREEN_USB_PANJIT=y +CONFIG_TOUCHSCREEN_USB_3M=y +CONFIG_TOUCHSCREEN_USB_ITM=y +CONFIG_TOUCHSCREEN_USB_ETURBO=y +CONFIG_TOUCHSCREEN_USB_GUNZE=y +CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y +CONFIG_TOUCHSCREEN_USB_IRTOUCH=y +CONFIG_TOUCHSCREEN_USB_IDEALTEK=y +CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y +CONFIG_TOUCHSCREEN_USB_GOTOP=y +CONFIG_TOUCHSCREEN_USB_JASTEC=y +CONFIG_TOUCHSCREEN_USB_E2I=y +CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y +CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y +CONFIG_TOUCHSCREEN_USB_NEXIO=y +CONFIG_TOUCHSCREEN_TOUCHIT213=m +CONFIG_TOUCHSCREEN_TSC_SERIO=m +CONFIG_TOUCHSCREEN_TSC2005=m +CONFIG_TOUCHSCREEN_TSC2007=m +CONFIG_TOUCHSCREEN_PCAP=m +CONFIG_TOUCHSCREEN_ST1232=m +CONFIG_TOUCHSCREEN_TPS6507X=m +CONFIG_INPUT_MISC=y +CONFIG_INPUT_AB8500_PONKEY=m +CONFIG_INPUT_AD714X=m +CONFIG_INPUT_AD714X_I2C=m +CONFIG_INPUT_AD714X_SPI=m +CONFIG_INPUT_BMA150=m +CONFIG_INPUT_PCSPKR=m +CONFIG_INPUT_MC13783_PWRBUTTON=m +CONFIG_INPUT_MMA8450=m +CONFIG_INPUT_MPU3050=m +CONFIG_INPUT_APANEL=m +CONFIG_INPUT_ATLAS_BTNS=m +CONFIG_INPUT_ATI_REMOTE2=m +CONFIG_INPUT_KEYSPAN_REMOTE=m +CONFIG_INPUT_KXTJ9=m +# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set +CONFIG_INPUT_POWERMATE=m +CONFIG_INPUT_YEALINK=m +CONFIG_INPUT_CM109=m +CONFIG_INPUT_UINPUT=m +CONFIG_INPUT_PCF50633_PMU=m +CONFIG_INPUT_PCF8574=m +CONFIG_INPUT_GPIO_ROTARY_ENCODER=m +CONFIG_INPUT_WM831X_ON=m +# CONFIG_INPUT_PCAP is not set +CONFIG_INPUT_ADXL34X=m +CONFIG_INPUT_ADXL34X_I2C=m +CONFIG_INPUT_ADXL34X_SPI=m +CONFIG_INPUT_CMA3000=m +CONFIG_INPUT_CMA3000_I2C=m +CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_I8042=y +CONFIG_SERIO_SERPORT=m +CONFIG_SERIO_CT82C710=m +CONFIG_SERIO_PARKBD=m +CONFIG_SERIO_PCIPS2=m +CONFIG_SERIO_LIBPS2=y +CONFIG_SERIO_RAW=m +CONFIG_SERIO_ALTERA_PS2=m +CONFIG_SERIO_PS2MULT=m +CONFIG_GAMEPORT=m +CONFIG_GAMEPORT_NS558=m +CONFIG_GAMEPORT_L4=m +CONFIG_GAMEPORT_EMU10K1=m +CONFIG_GAMEPORT_FM801=m + +# +# Character devices +# +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_HW_CONSOLE=y +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_UNIX98_PTYS=y +CONFIG_DEVPTS_MULTIPLE_INSTANCES=y +# CONFIG_LEGACY_PTYS is not set +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_ROCKETPORT=m +CONFIG_CYCLADES=m +# CONFIG_CYZ_INTR is not set +# CONFIG_MOXA_INTELLIO is not set +# CONFIG_MOXA_SMARTIO is not set +CONFIG_SYNCLINK=m +CONFIG_SYNCLINKMP=m +# CONFIG_SYNCLINK_GT is not set +CONFIG_NOZOMI=m +# CONFIG_ISI is not set +CONFIG_N_HDLC=m +CONFIG_N_GSM=m +CONFIG_TRACE_ROUTER=m +CONFIG_TRACE_SINK=m +# CONFIG_DEVKMEM is not set +# CONFIG_STALDRV is not set + +# +# Serial drivers +# +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_SERIAL_8250_PCI=y +CONFIG_SERIAL_8250_PNP=y +CONFIG_SERIAL_8250_CS=m +CONFIG_SERIAL_8250_NR_UARTS=32 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +# CONFIG_SERIAL_8250_EXTENDED is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_MAX3100=m +CONFIG_SERIAL_MAX3107=m +CONFIG_SERIAL_MFD_HSU=m +CONFIG_SERIAL_UARTLITE=m +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_SERIAL_JSM=m +CONFIG_SERIAL_TIMBERDALE=m +CONFIG_SERIAL_ALTERA_JTAGUART=m +CONFIG_SERIAL_ALTERA_UART=m +CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4 +CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200 +CONFIG_SERIAL_IFX6X60=m +CONFIG_SERIAL_PCH_UART=m +CONFIG_SERIAL_XILINX_PS_UART=m +CONFIG_PRINTER=m +# CONFIG_LP_CONSOLE is not set +CONFIG_PPDEV=m +CONFIG_HVC_DRIVER=y +CONFIG_HVC_IRQ=y +CONFIG_HVC_XEN=y +CONFIG_VIRTIO_CONSOLE=m +CONFIG_IPMI_HANDLER=m +# CONFIG_IPMI_PANIC_EVENT is not set +CONFIG_IPMI_DEVICE_INTERFACE=m +CONFIG_IPMI_SI=m +CONFIG_IPMI_WATCHDOG=m +CONFIG_IPMI_POWEROFF=m +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_TIMERIOMEM=m +CONFIG_HW_RANDOM_INTEL=m +CONFIG_HW_RANDOM_AMD=m +CONFIG_HW_RANDOM_VIA=m +CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_NVRAM=m +CONFIG_R3964=m +CONFIG_APPLICOM=m + +# +# PCMCIA character devices +# +CONFIG_SYNCLINK_CS=m +CONFIG_CARDMAN_4000=m +CONFIG_CARDMAN_4040=m +CONFIG_IPWIRELESS=m +CONFIG_MWAVE=m +# CONFIG_RAW_DRIVER is not set +CONFIG_HPET=y +CONFIG_HPET_MMAP=y +CONFIG_HANGCHECK_TIMER=m +CONFIG_TCG_TPM=m +CONFIG_TCG_TIS=m +CONFIG_TCG_NSC=m +CONFIG_TCG_ATMEL=m +CONFIG_TCG_INFINEON=m +CONFIG_TELCLOCK=m +CONFIG_DEVPORT=y +CONFIG_RAMOOPS=m +CONFIG_I2C=m +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_CHARDEV=m +CONFIG_I2C_MUX=m + +# +# Multiplexer I2C Chip support +# +CONFIG_I2C_MUX_GPIO=m +CONFIG_I2C_MUX_PCA9541=m +CONFIG_I2C_MUX_PCA954x=m +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_SMBUS=m +CONFIG_I2C_ALGOBIT=m +CONFIG_I2C_ALGOPCA=m + +# +# I2C Hardware Bus support +# + +# +# PC SMBus host controller drivers +# +CONFIG_I2C_ALI1535=m +CONFIG_I2C_ALI1563=m +CONFIG_I2C_ALI15X3=m +CONFIG_I2C_AMD756=m +CONFIG_I2C_AMD756_S4882=m +CONFIG_I2C_AMD8111=m +CONFIG_I2C_I801=m +CONFIG_I2C_ISCH=m +CONFIG_I2C_PIIX4=m +CONFIG_I2C_NFORCE2=m +CONFIG_I2C_NFORCE2_S4985=m +CONFIG_I2C_SIS5595=m +CONFIG_I2C_SIS630=m +CONFIG_I2C_SIS96X=m +CONFIG_I2C_VIA=m +CONFIG_I2C_VIAPRO=m + +# +# ACPI drivers +# +CONFIG_I2C_SCMI=m + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +CONFIG_I2C_DESIGNWARE_PCI=m +CONFIG_I2C_GPIO=m +CONFIG_I2C_INTEL_MID=m +CONFIG_I2C_OCORES=m +CONFIG_I2C_PCA_PLATFORM=m +# CONFIG_I2C_PXA_PCI is not set +CONFIG_I2C_SIMTEC=m +CONFIG_I2C_XILINX=m +CONFIG_I2C_EG20T=m + +# +# External I2C/SMBus adapter drivers +# +CONFIG_I2C_DIOLAN_U2C=m +CONFIG_I2C_PARPORT=m +CONFIG_I2C_PARPORT_LIGHT=m +CONFIG_I2C_TAOS_EVM=m +CONFIG_I2C_TINY_USB=m + +# +# Other I2C/SMBus bus drivers +# +# CONFIG_I2C_STUB is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +CONFIG_SPI_ALTERA=m +CONFIG_SPI_BITBANG=m +CONFIG_SPI_BUTTERFLY=m +CONFIG_SPI_GPIO=m +CONFIG_SPI_LM70_LLP=m +CONFIG_SPI_OC_TINY=m +# CONFIG_SPI_PXA2XX_PCI is not set +CONFIG_SPI_TOPCLIFF_PCH=m +CONFIG_SPI_XILINX=m +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=m +CONFIG_SPI_TLE62X0=m + +# +# PPS support +# +CONFIG_PPS=m +# CONFIG_PPS_DEBUG is not set + +# +# PPS clients support +# +CONFIG_PPS_CLIENT_KTIMER=m +CONFIG_PPS_CLIENT_LDISC=m +CONFIG_PPS_CLIENT_PARPORT=m +CONFIG_PPS_CLIENT_GPIO=m + +# +# PPS generators support +# + +# +# PTP clock support +# +CONFIG_PTP_1588_CLOCK=m +CONFIG_DP83640_PHY=m +CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y +CONFIG_GPIOLIB=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC=m +CONFIG_GPIO_MAX730X=m + +# +# Memory mapped GPIO drivers: +# +CONFIG_GPIO_GENERIC_PLATFORM=m +CONFIG_GPIO_IT8761E=m +CONFIG_GPIO_SCH=m +CONFIG_GPIO_VX855=m + +# +# I2C GPIO expanders: +# +CONFIG_GPIO_MAX7300=m +CONFIG_GPIO_MAX732X=m +CONFIG_GPIO_PCA953X=m +CONFIG_GPIO_PCF857X=m +CONFIG_GPIO_TPS65912=m +CONFIG_GPIO_WM831X=m +CONFIG_GPIO_ADP5588=m + +# +# PCI GPIO expanders: +# +CONFIG_GPIO_CS5535=m +CONFIG_GPIO_LANGWELL=y +CONFIG_GPIO_PCH=m +CONFIG_GPIO_ML_IOH=m +CONFIG_GPIO_TIMBERDALE=y +CONFIG_GPIO_RDC321X=m + +# +# SPI GPIO expanders: +# +CONFIG_GPIO_MAX7301=m +CONFIG_GPIO_MCP23S08=m +CONFIG_GPIO_MC33880=m +CONFIG_GPIO_74X164=m + +# +# AC97 GPIO expanders: +# +CONFIG_GPIO_UCB1400=y + +# +# MODULbus GPIO expanders: +# +CONFIG_GPIO_JANZ_TTL=m +CONFIG_W1=m +CONFIG_W1_CON=y + +# +# 1-wire Bus Masters +# +CONFIG_W1_MASTER_MATROX=m +CONFIG_W1_MASTER_DS2490=m +CONFIG_W1_MASTER_DS2482=m +CONFIG_W1_MASTER_DS1WM=m +CONFIG_W1_MASTER_GPIO=m + +# +# 1-wire Slaves +# +CONFIG_W1_SLAVE_THERM=m +CONFIG_W1_SLAVE_SMEM=m +CONFIG_W1_SLAVE_DS2408=m +CONFIG_W1_SLAVE_DS2423=m +CONFIG_W1_SLAVE_DS2431=m +CONFIG_W1_SLAVE_DS2433=m +# CONFIG_W1_SLAVE_DS2433_CRC is not set +CONFIG_W1_SLAVE_DS2760=m +CONFIG_W1_SLAVE_DS2780=m +CONFIG_W1_SLAVE_BQ27000=m +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +CONFIG_PDA_POWER=m +CONFIG_WM831X_BACKUP=m +CONFIG_WM831X_POWER=m +CONFIG_TEST_POWER=m +CONFIG_BATTERY_DS2760=m +CONFIG_BATTERY_DS2780=m +CONFIG_BATTERY_DS2782=m +CONFIG_BATTERY_BQ20Z75=m +CONFIG_BATTERY_BQ27x00=m +CONFIG_BATTERY_BQ27X00_I2C=y +CONFIG_BATTERY_BQ27X00_PLATFORM=y +CONFIG_BATTERY_MAX17040=m +CONFIG_BATTERY_MAX17042=m +CONFIG_CHARGER_PCF50633=m +CONFIG_CHARGER_ISP1704=m +CONFIG_CHARGER_MAX8903=m +CONFIG_CHARGER_GPIO=m +CONFIG_HWMON=y +CONFIG_HWMON_VID=m +# CONFIG_HWMON_DEBUG_CHIP is not set + +# +# Native drivers +# +CONFIG_SENSORS_ABITUGURU=m +CONFIG_SENSORS_ABITUGURU3=m +CONFIG_SENSORS_AD7314=m +CONFIG_SENSORS_AD7414=m +CONFIG_SENSORS_AD7418=m +CONFIG_SENSORS_ADCXX=m +CONFIG_SENSORS_ADM1021=m +CONFIG_SENSORS_ADM1025=m +CONFIG_SENSORS_ADM1026=m +CONFIG_SENSORS_ADM1029=m +CONFIG_SENSORS_ADM1031=m +CONFIG_SENSORS_ADM9240=m +CONFIG_SENSORS_ADT7411=m +CONFIG_SENSORS_ADT7462=m +CONFIG_SENSORS_ADT7470=m +CONFIG_SENSORS_ADT7475=m +CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_K8TEMP=m +CONFIG_SENSORS_K10TEMP=m +CONFIG_SENSORS_FAM15H_POWER=m +CONFIG_SENSORS_ASB100=m +CONFIG_SENSORS_ATXP1=m +CONFIG_SENSORS_DS620=m +CONFIG_SENSORS_DS1621=m +CONFIG_SENSORS_I5K_AMB=m +CONFIG_SENSORS_F71805F=m +CONFIG_SENSORS_F71882FG=m +CONFIG_SENSORS_F75375S=m +CONFIG_SENSORS_FSCHMD=m +CONFIG_SENSORS_G760A=m +CONFIG_SENSORS_GL518SM=m +CONFIG_SENSORS_GL520SM=m +CONFIG_SENSORS_GPIO_FAN=m +CONFIG_SENSORS_CORETEMP=m +CONFIG_SENSORS_IBMAEM=m +CONFIG_SENSORS_IBMPEX=m +CONFIG_SENSORS_IT87=m +CONFIG_SENSORS_JC42=m +CONFIG_SENSORS_LINEAGE=m +CONFIG_SENSORS_LM63=m +CONFIG_SENSORS_LM70=m +CONFIG_SENSORS_LM73=m +CONFIG_SENSORS_LM75=m +CONFIG_SENSORS_LM77=m +CONFIG_SENSORS_LM78=m +CONFIG_SENSORS_LM80=m +CONFIG_SENSORS_LM83=m +CONFIG_SENSORS_LM85=m +CONFIG_SENSORS_LM87=m +CONFIG_SENSORS_LM90=m +CONFIG_SENSORS_LM92=m +CONFIG_SENSORS_LM93=m +CONFIG_SENSORS_LTC4151=m +CONFIG_SENSORS_LTC4215=m +CONFIG_SENSORS_LTC4245=m +CONFIG_SENSORS_LTC4261=m +CONFIG_SENSORS_LM95241=m +CONFIG_SENSORS_LM95245=m +CONFIG_SENSORS_MAX1111=m +CONFIG_SENSORS_MAX16065=m +CONFIG_SENSORS_MAX1619=m +CONFIG_SENSORS_MAX1668=m +CONFIG_SENSORS_MAX6639=m +CONFIG_SENSORS_MAX6642=m +CONFIG_SENSORS_MAX6650=m +CONFIG_SENSORS_NTC_THERMISTOR=m +CONFIG_SENSORS_PC87360=m +CONFIG_SENSORS_PC87427=m +CONFIG_SENSORS_PCF8591=m +CONFIG_PMBUS=m +CONFIG_SENSORS_PMBUS=m +CONFIG_SENSORS_ADM1275=m +CONFIG_SENSORS_LM25066=m +CONFIG_SENSORS_LTC2978=m +CONFIG_SENSORS_MAX16064=m +CONFIG_SENSORS_MAX34440=m +CONFIG_SENSORS_MAX8688=m +CONFIG_SENSORS_UCD9000=m +CONFIG_SENSORS_UCD9200=m +CONFIG_SENSORS_ZL6100=m +CONFIG_SENSORS_SHT15=m +CONFIG_SENSORS_SHT21=m +CONFIG_SENSORS_SIS5595=m +CONFIG_SENSORS_SMM665=m +CONFIG_SENSORS_DME1737=m +CONFIG_SENSORS_EMC1403=m +CONFIG_SENSORS_EMC2103=m +CONFIG_SENSORS_EMC6W201=m +CONFIG_SENSORS_SMSC47M1=m +CONFIG_SENSORS_SMSC47M192=m +CONFIG_SENSORS_SMSC47B397=m +CONFIG_SENSORS_SCH56XX_COMMON=m +CONFIG_SENSORS_SCH5627=m +CONFIG_SENSORS_SCH5636=m +CONFIG_SENSORS_ADS1015=m +CONFIG_SENSORS_ADS7828=m +CONFIG_SENSORS_ADS7871=m +CONFIG_SENSORS_AMC6821=m +CONFIG_SENSORS_THMC50=m +CONFIG_SENSORS_TMP102=m +CONFIG_SENSORS_TMP401=m +CONFIG_SENSORS_TMP421=m +CONFIG_SENSORS_VIA_CPUTEMP=m +CONFIG_SENSORS_VIA686A=m +CONFIG_SENSORS_VT1211=m +CONFIG_SENSORS_VT8231=m +CONFIG_SENSORS_W83781D=m +CONFIG_SENSORS_W83791D=m +CONFIG_SENSORS_W83792D=m +CONFIG_SENSORS_W83793=m +CONFIG_SENSORS_W83795=m +# CONFIG_SENSORS_W83795_FANCTRL is not set +CONFIG_SENSORS_W83L785TS=m +CONFIG_SENSORS_W83L786NG=m +CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83627EHF=m +CONFIG_SENSORS_WM831X=m +CONFIG_SENSORS_APPLESMC=m +CONFIG_SENSORS_MC13783_ADC=m + +# +# ACPI drivers +# +CONFIG_SENSORS_ACPI_POWER=m +CONFIG_SENSORS_ATK0110=m +CONFIG_THERMAL=y +CONFIG_THERMAL_HWMON=y +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT is not set + +# +# Watchdog Device Drivers +# +CONFIG_SOFT_WATCHDOG=m +CONFIG_WM831X_WATCHDOG=m +CONFIG_ACQUIRE_WDT=m +CONFIG_ADVANTECH_WDT=m +CONFIG_ALIM1535_WDT=m +CONFIG_ALIM7101_WDT=m +CONFIG_F71808E_WDT=m +CONFIG_SP5100_TCO=m +CONFIG_GEODE_WDT=m +CONFIG_SC520_WDT=m +CONFIG_SBC_FITPC2_WATCHDOG=m +CONFIG_EUROTECH_WDT=m +CONFIG_IB700_WDT=m +CONFIG_IBMASR=m +CONFIG_WAFER_WDT=m +CONFIG_I6300ESB_WDT=m +CONFIG_ITCO_WDT=m +CONFIG_ITCO_VENDOR_SUPPORT=y +CONFIG_IT8712F_WDT=m +CONFIG_IT87_WDT=m +CONFIG_HP_WATCHDOG=m +CONFIG_HPWDT_NMI_DECODING=y +CONFIG_SC1200_WDT=m +CONFIG_PC87413_WDT=m +CONFIG_NV_TCO=m +CONFIG_60XX_WDT=m +CONFIG_SBC8360_WDT=m +CONFIG_CPU5_WDT=m +CONFIG_SMSC_SCH311X_WDT=m +CONFIG_SMSC37B787_WDT=m +CONFIG_W83627HF_WDT=m +CONFIG_W83697HF_WDT=m +CONFIG_W83697UG_WDT=m +CONFIG_W83877F_WDT=m +CONFIG_W83977F_WDT=m +CONFIG_MACHZ_WDT=m +CONFIG_SBC_EPX_C3_WATCHDOG=m +CONFIG_XEN_WDT=m + +# +# PCI-based Watchdog Cards +# +CONFIG_PCIPCWATCHDOG=m +CONFIG_WDTPCI=m + +# +# USB-based Watchdog Cards +# +CONFIG_USBPCWATCHDOG=m +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +CONFIG_SSB=m +CONFIG_SSB_SPROM=y +CONFIG_SSB_BLOCKIO=y +CONFIG_SSB_PCIHOST_POSSIBLE=y +CONFIG_SSB_PCIHOST=y +CONFIG_SSB_B43_PCI_BRIDGE=y +CONFIG_SSB_PCMCIAHOST_POSSIBLE=y +CONFIG_SSB_PCMCIAHOST=y +CONFIG_SSB_SDIOHOST_POSSIBLE=y +CONFIG_SSB_SDIOHOST=y +# CONFIG_SSB_DEBUG is not set +CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y +CONFIG_SSB_DRIVER_PCICORE=y +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +CONFIG_MFD_CORE=y +CONFIG_MFD_SM501=m +CONFIG_MFD_SM501_GPIO=y +CONFIG_HTC_PASIC3=m +CONFIG_UCB1400_CORE=m +CONFIG_TPS6105X=m +CONFIG_TPS65010=m +CONFIG_TPS6507X=m +CONFIG_MFD_TPS65912=y +CONFIG_MFD_TPS65912_SPI=y +# CONFIG_MFD_TMIO is not set +CONFIG_MFD_WM8400=m +CONFIG_MFD_WM831X=y +CONFIG_MFD_WM831X_SPI=y +CONFIG_MFD_PCF50633=m +CONFIG_PCF50633_ADC=m +CONFIG_PCF50633_GPIO=m +CONFIG_MFD_MC13783=m +CONFIG_MFD_MC13XXX=m +CONFIG_ABX500_CORE=y +CONFIG_EZX_PCAP=y +CONFIG_AB8500_CORE=y +# CONFIG_AB8500_DEBUG is not set +CONFIG_AB8500_GPADC=y +CONFIG_MFD_CS5535=m +CONFIG_MFD_TIMBERDALE=m +CONFIG_LPC_SCH=m +CONFIG_MFD_RDC321X=m +CONFIG_MFD_JANZ_CMODIO=m +CONFIG_MFD_VX855=m +CONFIG_MFD_WL1273_CORE=m +CONFIG_REGULATOR=y +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_DUMMY=y +CONFIG_REGULATOR_FIXED_VOLTAGE=m +CONFIG_REGULATOR_VIRTUAL_CONSUMER=m +CONFIG_REGULATOR_USERSPACE_CONSUMER=m +CONFIG_REGULATOR_GPIO=m +CONFIG_REGULATOR_BQ24022=m +CONFIG_REGULATOR_MAX1586=m +CONFIG_REGULATOR_MAX8649=m +CONFIG_REGULATOR_MAX8660=m +CONFIG_REGULATOR_MAX8952=m +CONFIG_REGULATOR_WM831X=m +CONFIG_REGULATOR_WM8400=m +CONFIG_REGULATOR_PCF50633=m +CONFIG_REGULATOR_LP3971=m +CONFIG_REGULATOR_LP3972=m +CONFIG_REGULATOR_PCAP=m +CONFIG_REGULATOR_MC13XXX_CORE=m +CONFIG_REGULATOR_MC13783=m +CONFIG_REGULATOR_MC13892=m +CONFIG_REGULATOR_TPS6105X=m +CONFIG_REGULATOR_TPS65023=m +CONFIG_REGULATOR_TPS6507X=m +CONFIG_REGULATOR_TPS65912=m +CONFIG_REGULATOR_ISL6271A=m +CONFIG_REGULATOR_AD5398=m +CONFIG_REGULATOR_AB8500=y +CONFIG_REGULATOR_TPS6524X=m +CONFIG_MEDIA_SUPPORT=m + +# +# Multimedia core support +# +CONFIG_MEDIA_CONTROLLER=y +CONFIG_VIDEO_DEV=m +CONFIG_VIDEO_V4L2_COMMON=m +CONFIG_VIDEO_V4L2_SUBDEV_API=y +CONFIG_DVB_CORE=m +CONFIG_DVB_NET=y +CONFIG_VIDEO_MEDIA=m + +# +# Multimedia drivers +# +CONFIG_VIDEO_SAA7146=m +CONFIG_VIDEO_SAA7146_VV=m +CONFIG_RC_CORE=m +CONFIG_LIRC=m +CONFIG_RC_MAP=m +CONFIG_IR_NEC_DECODER=m +CONFIG_IR_RC5_DECODER=m +CONFIG_IR_RC6_DECODER=m +CONFIG_IR_JVC_DECODER=m +CONFIG_IR_SONY_DECODER=m +CONFIG_IR_RC5_SZ_DECODER=m +CONFIG_IR_MCE_KBD_DECODER=m +CONFIG_IR_LIRC_CODEC=m +CONFIG_RC_ATI_REMOTE=m +CONFIG_IR_ENE=m +CONFIG_IR_IMON=m +CONFIG_IR_MCEUSB=m +CONFIG_IR_ITE_CIR=m +CONFIG_IR_FINTEK=m +CONFIG_IR_NUVOTON=m +CONFIG_IR_REDRAT3=m +CONFIG_IR_STREAMZAP=m +CONFIG_IR_WINBOND_CIR=m +CONFIG_RC_LOOPBACK=m +CONFIG_MEDIA_ATTACH=y +CONFIG_MEDIA_TUNER=m +# CONFIG_MEDIA_TUNER_CUSTOMISE is not set +CONFIG_MEDIA_TUNER_SIMPLE=m +CONFIG_MEDIA_TUNER_TDA8290=m +CONFIG_MEDIA_TUNER_TDA827X=m +CONFIG_MEDIA_TUNER_TDA18271=m +CONFIG_MEDIA_TUNER_TDA9887=m +CONFIG_MEDIA_TUNER_TEA5761=m +CONFIG_MEDIA_TUNER_TEA5767=m +CONFIG_MEDIA_TUNER_MT20XX=m +CONFIG_MEDIA_TUNER_MT2060=m +CONFIG_MEDIA_TUNER_MT2266=m +CONFIG_MEDIA_TUNER_MT2131=m +CONFIG_MEDIA_TUNER_QT1010=m +CONFIG_MEDIA_TUNER_XC2028=m +CONFIG_MEDIA_TUNER_XC5000=m +CONFIG_MEDIA_TUNER_XC4000=m +CONFIG_MEDIA_TUNER_MXL5005S=m +CONFIG_MEDIA_TUNER_MXL5007T=m +CONFIG_MEDIA_TUNER_MC44S803=m +CONFIG_MEDIA_TUNER_MAX2165=m +CONFIG_MEDIA_TUNER_TDA18218=m +CONFIG_MEDIA_TUNER_TDA18212=m +CONFIG_VIDEO_V4L2=m +CONFIG_VIDEOBUF_GEN=m +CONFIG_VIDEOBUF_DMA_SG=m +CONFIG_VIDEOBUF_VMALLOC=m +CONFIG_VIDEOBUF_DMA_CONTIG=m +CONFIG_VIDEOBUF_DVB=m +CONFIG_VIDEO_BTCX=m +CONFIG_VIDEO_TVEEPROM=m +CONFIG_VIDEO_TUNER=m +CONFIG_V4L2_MEM2MEM_DEV=m +CONFIG_VIDEOBUF2_CORE=m +CONFIG_VIDEOBUF2_MEMOPS=m +CONFIG_VIDEOBUF2_DMA_CONTIG=m +CONFIG_VIDEOBUF2_VMALLOC=m +CONFIG_VIDEO_CAPTURE_DRIVERS=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set +CONFIG_VIDEO_IR_I2C=m + +# +# Encoders, decoders, sensors and other helper chips +# + +# +# Audio decoders, processors and mixers +# +CONFIG_VIDEO_TVAUDIO=m +CONFIG_VIDEO_TDA7432=m +CONFIG_VIDEO_TDA9840=m +CONFIG_VIDEO_TEA6415C=m +CONFIG_VIDEO_TEA6420=m +CONFIG_VIDEO_MSP3400=m +CONFIG_VIDEO_CS5345=m +CONFIG_VIDEO_CS53L32A=m +CONFIG_VIDEO_TLV320AIC23B=m +CONFIG_VIDEO_WM8775=m +CONFIG_VIDEO_WM8739=m +CONFIG_VIDEO_VP27SMPX=m + +# +# RDS decoders +# +CONFIG_VIDEO_SAA6588=m + +# +# Video decoders +# +CONFIG_VIDEO_ADV7180=m +CONFIG_VIDEO_BT819=m +CONFIG_VIDEO_BT856=m +CONFIG_VIDEO_BT866=m +CONFIG_VIDEO_KS0127=m +CONFIG_VIDEO_SAA7110=m +CONFIG_VIDEO_SAA711X=m +CONFIG_VIDEO_SAA7191=m +CONFIG_VIDEO_TVP514X=m +CONFIG_VIDEO_TVP5150=m +CONFIG_VIDEO_TVP7002=m +CONFIG_VIDEO_VPX3220=m + +# +# Video and audio decoders +# +CONFIG_VIDEO_SAA717X=m +CONFIG_VIDEO_CX25840=m + +# +# MPEG video encoders +# +CONFIG_VIDEO_CX2341X=m + +# +# Video encoders +# +CONFIG_VIDEO_SAA7127=m +CONFIG_VIDEO_SAA7185=m +CONFIG_VIDEO_ADV7170=m +CONFIG_VIDEO_ADV7175=m +CONFIG_VIDEO_ADV7343=m +CONFIG_VIDEO_AK881X=m + +# +# Camera sensor devices +# +CONFIG_VIDEO_OV7670=m +CONFIG_VIDEO_MT9P031=m +CONFIG_VIDEO_MT9T001=m +CONFIG_VIDEO_MT9V011=m +CONFIG_VIDEO_MT9V032=m +CONFIG_VIDEO_TCM825X=m +CONFIG_VIDEO_SR030PC30=m +CONFIG_VIDEO_NOON010PC30=m +CONFIG_VIDEO_M5MOLS=m +CONFIG_VIDEO_S5K6AA=m + +# +# Flash devices +# +CONFIG_VIDEO_ADP1653=m + +# +# Video improvement chips +# +CONFIG_VIDEO_UPD64031A=m +CONFIG_VIDEO_UPD64083=m + +# +# Miscelaneous helper chips +# +CONFIG_VIDEO_THS7303=m +CONFIG_VIDEO_M52790=m +CONFIG_VIDEO_VIVI=m +CONFIG_VIDEO_BT848=m +CONFIG_VIDEO_BT848_DVB=y +CONFIG_VIDEO_BWQCAM=m +CONFIG_VIDEO_CQCAM=m +CONFIG_VIDEO_W9966=m +CONFIG_VIDEO_CPIA2=m +CONFIG_VIDEO_ZORAN=m +CONFIG_VIDEO_ZORAN_DC30=m +CONFIG_VIDEO_ZORAN_ZR36060=m +CONFIG_VIDEO_ZORAN_BUZ=m +CONFIG_VIDEO_ZORAN_DC10=m +CONFIG_VIDEO_ZORAN_LML33=m +CONFIG_VIDEO_ZORAN_LML33R10=m +CONFIG_VIDEO_ZORAN_AVS6EYES=m +CONFIG_VIDEO_MEYE=m +CONFIG_VIDEO_SAA7134=m +CONFIG_VIDEO_SAA7134_ALSA=m +CONFIG_VIDEO_SAA7134_RC=y +CONFIG_VIDEO_SAA7134_DVB=m +CONFIG_VIDEO_MXB=m +CONFIG_VIDEO_HEXIUM_ORION=m +CONFIG_VIDEO_HEXIUM_GEMINI=m +CONFIG_VIDEO_TIMBERDALE=m +CONFIG_VIDEO_CX88=m +CONFIG_VIDEO_CX88_ALSA=m +CONFIG_VIDEO_CX88_BLACKBIRD=m +CONFIG_VIDEO_CX88_DVB=m +CONFIG_VIDEO_CX88_MPEG=m +CONFIG_VIDEO_CX88_VP3054=m +CONFIG_VIDEO_CX23885=m +CONFIG_MEDIA_ALTERA_CI=m +CONFIG_VIDEO_CX25821=m +CONFIG_VIDEO_CX25821_ALSA=m +CONFIG_VIDEO_AU0828=m +CONFIG_VIDEO_IVTV=m +CONFIG_VIDEO_FB_IVTV=m +CONFIG_VIDEO_CX18=m +CONFIG_VIDEO_CX18_ALSA=m +CONFIG_VIDEO_SAA7164=m +CONFIG_VIDEO_CAFE_CCIC=m +CONFIG_SOC_CAMERA=m +CONFIG_SOC_CAMERA_IMX074=m +CONFIG_SOC_CAMERA_MT9M001=m +CONFIG_SOC_CAMERA_MT9M111=m +CONFIG_SOC_CAMERA_MT9T031=m +CONFIG_SOC_CAMERA_MT9T112=m +CONFIG_SOC_CAMERA_MT9V022=m +CONFIG_SOC_CAMERA_RJ54N1=m +CONFIG_SOC_CAMERA_TW9910=m +CONFIG_SOC_CAMERA_PLATFORM=m +CONFIG_SOC_CAMERA_OV2640=m +CONFIG_SOC_CAMERA_OV5642=m +CONFIG_SOC_CAMERA_OV6650=m +CONFIG_SOC_CAMERA_OV772X=m +CONFIG_SOC_CAMERA_OV9640=m +CONFIG_SOC_CAMERA_OV9740=m +CONFIG_V4L_USB_DRIVERS=y +CONFIG_USB_VIDEO_CLASS=m +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_GSPCA=m +CONFIG_USB_M5602=m +CONFIG_USB_STV06XX=m +CONFIG_USB_GL860=m +CONFIG_USB_GSPCA_BENQ=m +CONFIG_USB_GSPCA_CONEX=m +CONFIG_USB_GSPCA_CPIA1=m +CONFIG_USB_GSPCA_ETOMS=m +CONFIG_USB_GSPCA_FINEPIX=m +CONFIG_USB_GSPCA_JEILINJ=m +CONFIG_USB_GSPCA_KINECT=m +CONFIG_USB_GSPCA_KONICA=m +CONFIG_USB_GSPCA_MARS=m +CONFIG_USB_GSPCA_MR97310A=m +CONFIG_USB_GSPCA_NW80X=m +CONFIG_USB_GSPCA_OV519=m +CONFIG_USB_GSPCA_OV534=m +CONFIG_USB_GSPCA_OV534_9=m +CONFIG_USB_GSPCA_PAC207=m +CONFIG_USB_GSPCA_PAC7302=m +CONFIG_USB_GSPCA_PAC7311=m +CONFIG_USB_GSPCA_SE401=m +CONFIG_USB_GSPCA_SN9C2028=m +CONFIG_USB_GSPCA_SN9C20X=m +CONFIG_USB_GSPCA_SONIXB=m +CONFIG_USB_GSPCA_SONIXJ=m +CONFIG_USB_GSPCA_SPCA500=m +CONFIG_USB_GSPCA_SPCA501=m +CONFIG_USB_GSPCA_SPCA505=m +CONFIG_USB_GSPCA_SPCA506=m +CONFIG_USB_GSPCA_SPCA508=m +CONFIG_USB_GSPCA_SPCA561=m +CONFIG_USB_GSPCA_SPCA1528=m +CONFIG_USB_GSPCA_SQ905=m +CONFIG_USB_GSPCA_SQ905C=m +CONFIG_USB_GSPCA_SQ930X=m +CONFIG_USB_GSPCA_STK014=m +CONFIG_USB_GSPCA_STV0680=m +CONFIG_USB_GSPCA_SUNPLUS=m +CONFIG_USB_GSPCA_T613=m +CONFIG_USB_GSPCA_TOPRO=m +CONFIG_USB_GSPCA_TV8532=m +CONFIG_USB_GSPCA_VC032X=m +CONFIG_USB_GSPCA_VICAM=m +CONFIG_USB_GSPCA_XIRLINK_CIT=m +CONFIG_USB_GSPCA_ZC3XX=m +CONFIG_VIDEO_PVRUSB2=m +CONFIG_VIDEO_PVRUSB2_SYSFS=y +CONFIG_VIDEO_PVRUSB2_DVB=y +# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set +CONFIG_VIDEO_HDPVR=m +CONFIG_VIDEO_EM28XX=m +CONFIG_VIDEO_EM28XX_ALSA=m +CONFIG_VIDEO_EM28XX_DVB=m +CONFIG_VIDEO_EM28XX_RC=y +CONFIG_VIDEO_TLG2300=m +CONFIG_VIDEO_CX231XX=m +CONFIG_VIDEO_CX231XX_RC=y +CONFIG_VIDEO_CX231XX_ALSA=m +CONFIG_VIDEO_CX231XX_DVB=m +CONFIG_VIDEO_TM6000=m +CONFIG_VIDEO_TM6000_ALSA=m +CONFIG_VIDEO_TM6000_DVB=m +CONFIG_VIDEO_USBVISION=m +CONFIG_USB_ET61X251=m +CONFIG_USB_SN9C102=m +CONFIG_USB_PWC=m +# CONFIG_USB_PWC_DEBUG is not set +CONFIG_USB_PWC_INPUT_EVDEV=y +CONFIG_USB_ZR364XX=m +CONFIG_USB_STKWEBCAM=m +CONFIG_USB_S2255=m +CONFIG_V4L_MEM2MEM_DRIVERS=y +CONFIG_VIDEO_MEM2MEM_TESTDEV=m +CONFIG_RADIO_ADAPTERS=y +CONFIG_RADIO_MAXIRADIO=m +CONFIG_I2C_SI4713=m +CONFIG_RADIO_SI4713=m +CONFIG_USB_DSBR=m +CONFIG_RADIO_SI470X=y +CONFIG_USB_SI470X=m +CONFIG_I2C_SI470X=m +CONFIG_USB_MR800=m +CONFIG_RADIO_TEA5764=m +CONFIG_RADIO_SAA7706H=m +CONFIG_RADIO_TEF6862=m +CONFIG_RADIO_TIMBERDALE=m +CONFIG_RADIO_WL1273=m + +# +# Texas Instruments WL128x FM driver (ST based) +# +CONFIG_RADIO_WL128X=m +CONFIG_DVB_MAX_ADAPTERS=8 +# CONFIG_DVB_DYNAMIC_MINORS is not set +CONFIG_DVB_CAPTURE_DRIVERS=y + +# +# Supported SAA7146 based PCI Adapters +# +CONFIG_TTPCI_EEPROM=m +CONFIG_DVB_AV7110=m +CONFIG_DVB_AV7110_OSD=y +CONFIG_DVB_BUDGET_CORE=m +CONFIG_DVB_BUDGET=m +CONFIG_DVB_BUDGET_CI=m +CONFIG_DVB_BUDGET_AV=m +CONFIG_DVB_BUDGET_PATCH=m + +# +# Supported USB Adapters +# +CONFIG_DVB_USB=m +# CONFIG_DVB_USB_DEBUG is not set +CONFIG_DVB_USB_A800=m +CONFIG_DVB_USB_DIBUSB_MB=m +CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y +CONFIG_DVB_USB_DIBUSB_MC=m +CONFIG_DVB_USB_DIB0700=m +CONFIG_DVB_USB_UMT_010=m +CONFIG_DVB_USB_CXUSB=m +CONFIG_DVB_USB_M920X=m +CONFIG_DVB_USB_GL861=m +CONFIG_DVB_USB_AU6610=m +CONFIG_DVB_USB_DIGITV=m +CONFIG_DVB_USB_VP7045=m +CONFIG_DVB_USB_VP702X=m +CONFIG_DVB_USB_GP8PSK=m +CONFIG_DVB_USB_NOVA_T_USB2=m +CONFIG_DVB_USB_TTUSB2=m +CONFIG_DVB_USB_DTT200U=m +CONFIG_DVB_USB_OPERA1=m +CONFIG_DVB_USB_AF9005=m +CONFIG_DVB_USB_AF9005_REMOTE=m +CONFIG_DVB_USB_PCTV452E=m +CONFIG_DVB_USB_DW2102=m +CONFIG_DVB_USB_CINERGY_T2=m +CONFIG_DVB_USB_ANYSEE=m +CONFIG_DVB_USB_DTV5100=m +CONFIG_DVB_USB_AF9015=m +CONFIG_DVB_USB_CE6230=m +CONFIG_DVB_USB_FRIIO=m +CONFIG_DVB_USB_EC168=m +CONFIG_DVB_USB_AZ6027=m +CONFIG_DVB_USB_LME2510=m +CONFIG_DVB_USB_TECHNISAT_USB2=m +CONFIG_DVB_USB_IT913X=m +CONFIG_DVB_USB_MXL111SF=m +CONFIG_DVB_TTUSB_BUDGET=m +CONFIG_DVB_TTUSB_DEC=m +CONFIG_SMS_SIANO_MDTV=m + +# +# Siano module components +# +CONFIG_SMS_USB_DRV=m +CONFIG_SMS_SDIO_DRV=m + +# +# Supported FlexCopII (B2C2) Adapters +# +CONFIG_DVB_B2C2_FLEXCOP=m +CONFIG_DVB_B2C2_FLEXCOP_PCI=m +CONFIG_DVB_B2C2_FLEXCOP_USB=m +# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set + +# +# Supported BT878 Adapters +# +CONFIG_DVB_BT8XX=m + +# +# Supported Pluto2 Adapters +# +CONFIG_DVB_PLUTO2=m + +# +# Supported SDMC DM1105 Adapters +# +CONFIG_DVB_DM1105=m + +# +# Supported FireWire (IEEE 1394) Adapters +# +CONFIG_DVB_FIREDTV=m +CONFIG_DVB_FIREDTV_INPUT=y + +# +# Supported Earthsoft PT1 Adapters +# +CONFIG_DVB_PT1=m + +# +# Supported Mantis Adapters +# +CONFIG_MANTIS_CORE=m +CONFIG_DVB_MANTIS=m +CONFIG_DVB_HOPPER=m + +# +# Supported nGene Adapters +# +CONFIG_DVB_NGENE=m + +# +# Supported ddbridge ('Octopus') Adapters +# +CONFIG_DVB_DDBRIDGE=m + +# +# Supported DVB Frontends +# +# CONFIG_DVB_FE_CUSTOMISE is not set + +# +# Multistandard (satellite) frontends +# +CONFIG_DVB_STB0899=m +CONFIG_DVB_STB6100=m +CONFIG_DVB_STV090x=m +CONFIG_DVB_STV6110x=m + +# +# Multistandard (cable + terrestrial) frontends +# +CONFIG_DVB_DRXK=m +CONFIG_DVB_TDA18271C2DD=m + +# +# DVB-S (satellite) frontends +# +CONFIG_DVB_CX24110=m +CONFIG_DVB_CX24123=m +CONFIG_DVB_MT312=m +CONFIG_DVB_ZL10036=m +CONFIG_DVB_ZL10039=m +CONFIG_DVB_S5H1420=m +CONFIG_DVB_STV0288=m +CONFIG_DVB_STB6000=m +CONFIG_DVB_STV0299=m +CONFIG_DVB_STV6110=m +CONFIG_DVB_STV0900=m +CONFIG_DVB_TDA8083=m +CONFIG_DVB_TDA10086=m +CONFIG_DVB_TDA8261=m +CONFIG_DVB_VES1X93=m +CONFIG_DVB_TUNER_ITD1000=m +CONFIG_DVB_TUNER_CX24113=m +CONFIG_DVB_TDA826X=m +CONFIG_DVB_TUA6100=m +CONFIG_DVB_CX24116=m +CONFIG_DVB_SI21XX=m +CONFIG_DVB_DS3000=m +CONFIG_DVB_MB86A16=m +CONFIG_DVB_TDA10071=m + +# +# DVB-T (terrestrial) frontends +# +CONFIG_DVB_SP8870=m +CONFIG_DVB_SP887X=m +CONFIG_DVB_CX22700=m +CONFIG_DVB_CX22702=m +CONFIG_DVB_DRXD=m +CONFIG_DVB_L64781=m +CONFIG_DVB_TDA1004X=m +CONFIG_DVB_NXT6000=m +CONFIG_DVB_MT352=m +CONFIG_DVB_ZL10353=m +CONFIG_DVB_DIB3000MB=m +CONFIG_DVB_DIB3000MC=m +CONFIG_DVB_DIB7000M=m +CONFIG_DVB_DIB7000P=m +CONFIG_DVB_TDA10048=m +CONFIG_DVB_AF9013=m +CONFIG_DVB_EC100=m +CONFIG_DVB_STV0367=m +CONFIG_DVB_CXD2820R=m + +# +# DVB-C (cable) frontends +# +CONFIG_DVB_VES1820=m +CONFIG_DVB_TDA10021=m +CONFIG_DVB_TDA10023=m +CONFIG_DVB_STV0297=m + +# +# ATSC (North American/Korean Terrestrial/Cable DTV) frontends +# +CONFIG_DVB_NXT200X=m +CONFIG_DVB_OR51211=m +CONFIG_DVB_OR51132=m +CONFIG_DVB_BCM3510=m +CONFIG_DVB_LGDT330X=m +CONFIG_DVB_LGDT3305=m +CONFIG_DVB_S5H1409=m +CONFIG_DVB_AU8522=m +CONFIG_DVB_S5H1411=m + +# +# ISDB-T (terrestrial) frontends +# +CONFIG_DVB_S921=m +CONFIG_DVB_DIB8000=m +CONFIG_DVB_MB86A20S=m + +# +# Digital terrestrial only tuners/PLL +# +CONFIG_DVB_PLL=m +CONFIG_DVB_TUNER_DIB0070=m +CONFIG_DVB_TUNER_DIB0090=m + +# +# SEC control devices for DVB-S +# +CONFIG_DVB_LNBP21=m +CONFIG_DVB_LNBP22=m +CONFIG_DVB_ISL6405=m +CONFIG_DVB_ISL6421=m +CONFIG_DVB_ISL6423=m +CONFIG_DVB_A8293=m +CONFIG_DVB_LGS8GXX=m +CONFIG_DVB_ATBM8830=m +CONFIG_DVB_TDA665x=m +CONFIG_DVB_IX2505V=m +CONFIG_DVB_IT913X_FE=m + +# +# Tools to develop new frontends +# +# CONFIG_DVB_DUMMY_FE is not set + +# +# Graphics support +# +CONFIG_AGP=y +CONFIG_AGP_AMD64=y +CONFIG_AGP_INTEL=m +CONFIG_AGP_SIS=m +CONFIG_AGP_VIA=m +CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16 +CONFIG_VGA_SWITCHEROO=y +CONFIG_DRM=m +CONFIG_DRM_KMS_HELPER=m +CONFIG_DRM_TTM=m +CONFIG_DRM_TDFX=m +CONFIG_DRM_R128=m +CONFIG_DRM_RADEON=m +CONFIG_DRM_RADEON_KMS=y +CONFIG_DRM_I915=m +CONFIG_DRM_I915_KMS=y +CONFIG_DRM_MGA=m +CONFIG_DRM_SIS=m +CONFIG_DRM_VIA=m +CONFIG_DRM_SAVAGE=m +CONFIG_DRM_VMWGFX=m +CONFIG_STUB_POULSBO=m +CONFIG_VGASTATE=m +CONFIG_VIDEO_OUTPUT_CONTROL=m +CONFIG_FB=y +CONFIG_FIRMWARE_EDID=y +# CONFIG_FB_DDC is not set +CONFIG_FB_BOOT_VESA_SUPPORT=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +CONFIG_FB_SYS_FILLRECT=m +CONFIG_FB_SYS_COPYAREA=m +CONFIG_FB_SYS_IMAGEBLIT=m +# CONFIG_FB_FOREIGN_ENDIAN is not set +CONFIG_FB_SYS_FOPS=m +# CONFIG_FB_WMT_GE_ROPS is not set +CONFIG_FB_DEFERRED_IO=y +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +CONFIG_FB_BACKLIGHT=y +CONFIG_FB_MODE_HELPERS=y +CONFIG_FB_TILEBLITTING=y + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_PM2 is not set +# CONFIG_FB_CYBER2000 is not set +# CONFIG_FB_ARC is not set +# CONFIG_FB_ASILIANT is not set +# CONFIG_FB_IMSTT is not set +CONFIG_FB_VGA16=m +CONFIG_FB_UVESA=m +CONFIG_FB_VESA=y +CONFIG_FB_EFI=y +# CONFIG_FB_N411 is not set +# CONFIG_FB_HGA is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_NVIDIA is not set +# CONFIG_FB_RIVA is not set +# CONFIG_FB_LE80578 is not set +# CONFIG_FB_MATROX is not set +# CONFIG_FB_RADEON is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_S3 is not set +# CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_VIA is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_3DFX is not set +CONFIG_FB_VOODOO1=m +CONFIG_FB_VT8623=m +# CONFIG_FB_TRIDENT is not set +# CONFIG_FB_ARK is not set +# CONFIG_FB_PM3 is not set +# CONFIG_FB_CARMINE is not set +# CONFIG_FB_GEODE is not set +# CONFIG_FB_TMIO is not set +# CONFIG_FB_SM501 is not set +# CONFIG_FB_SMSCUFX is not set +CONFIG_FB_UDL=m +CONFIG_FB_VIRTUAL=m +CONFIG_XEN_FBDEV_FRONTEND=m +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_FB_BROADSHEET is not set +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_LCD_CLASS_DEVICE=m +CONFIG_LCD_L4F00242T03=m +CONFIG_LCD_LMS283GF05=m +CONFIG_LCD_LTV350QV=m +CONFIG_LCD_ILI9320=m +CONFIG_LCD_TDO24M=m +CONFIG_LCD_VGG2432A4=m +CONFIG_LCD_PLATFORM=m +CONFIG_LCD_S6E63M0=m +CONFIG_LCD_LD9040=m +CONFIG_LCD_AMS369FG06=m +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BACKLIGHT_GENERIC=m +CONFIG_BACKLIGHT_PROGEAR=m +CONFIG_BACKLIGHT_APPLE=m +CONFIG_BACKLIGHT_SAHARA=m +CONFIG_BACKLIGHT_WM831X=m +CONFIG_BACKLIGHT_ADP8860=m +CONFIG_BACKLIGHT_ADP8870=m +CONFIG_BACKLIGHT_PCF50633=m + +# +# Display device support +# +CONFIG_DISPLAY_SUPPORT=m + +# +# Display hardware drivers +# + +# +# Console display driver support +# +CONFIG_VGA_CONSOLE=y +# CONFIG_VGACON_SOFT_SCROLLBACK is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y +CONFIG_FONTS=y +# CONFIG_FONT_8x8 is not set +CONFIG_FONT_8x16=y +# CONFIG_FONT_6x11 is not set +# CONFIG_FONT_7x14 is not set +# CONFIG_FONT_PEARL_8x8 is not set +# CONFIG_FONT_ACORN_8x8 is not set +# CONFIG_FONT_MINI_4x6 is not set +# CONFIG_FONT_SUN8x16 is not set +# CONFIG_FONT_SUN12x22 is not set +# CONFIG_FONT_10x18 is not set +# CONFIG_LOGO is not set +CONFIG_SOUND=m +CONFIG_SOUND_OSS_CORE=y +# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set +CONFIG_SND=m +CONFIG_SND_TIMER=m +CONFIG_SND_PCM=m +CONFIG_SND_HWDEP=m +CONFIG_SND_RAWMIDI=m +CONFIG_SND_JACK=y +CONFIG_SND_SEQUENCER=m +CONFIG_SND_SEQ_DUMMY=m +CONFIG_SND_OSSEMUL=y +CONFIG_SND_MIXER_OSS=m +CONFIG_SND_PCM_OSS=m +CONFIG_SND_PCM_OSS_PLUGINS=y +CONFIG_SND_SEQUENCER_OSS=y +CONFIG_SND_HRTIMER=m +CONFIG_SND_SEQ_HRTIMER_DEFAULT=y +CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +CONFIG_SND_VMASTER=y +CONFIG_SND_DMA_SGBUF=y +CONFIG_SND_RAWMIDI_SEQ=m +CONFIG_SND_OPL3_LIB_SEQ=m +# CONFIG_SND_OPL4_LIB_SEQ is not set +# CONFIG_SND_SBAWE_SEQ is not set +CONFIG_SND_EMU10K1_SEQ=m +CONFIG_SND_MPU401_UART=m +CONFIG_SND_OPL3_LIB=m +CONFIG_SND_VX_LIB=m +CONFIG_SND_AC97_CODEC=m +CONFIG_SND_DRIVERS=y +# CONFIG_SND_PCSP is not set +CONFIG_SND_DUMMY=m +CONFIG_SND_ALOOP=m +CONFIG_SND_VIRMIDI=m +CONFIG_SND_MTPAV=m +CONFIG_SND_MTS64=m +CONFIG_SND_SERIAL_U16550=m +CONFIG_SND_MPU401=m +CONFIG_SND_PORTMAN2X4=m +CONFIG_SND_AC97_POWER_SAVE=y +CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0 +CONFIG_SND_SB_COMMON=m +CONFIG_SND_SB16_DSP=m +CONFIG_SND_TEA575X=m +CONFIG_SND_PCI=y +CONFIG_SND_AD1889=m +CONFIG_SND_ALS300=m +CONFIG_SND_ALS4000=m +CONFIG_SND_ALI5451=m +CONFIG_SND_ASIHPI=m +CONFIG_SND_ATIIXP=m +CONFIG_SND_ATIIXP_MODEM=m +CONFIG_SND_AU8810=m +CONFIG_SND_AU8820=m +CONFIG_SND_AU8830=m +CONFIG_SND_AW2=m +CONFIG_SND_AZT3328=m +CONFIG_SND_BT87X=m +# CONFIG_SND_BT87X_OVERCLOCK is not set +CONFIG_SND_CA0106=m +CONFIG_SND_CMIPCI=m +CONFIG_SND_OXYGEN_LIB=m +CONFIG_SND_OXYGEN=m +CONFIG_SND_CS4281=m +CONFIG_SND_CS46XX=m +CONFIG_SND_CS46XX_NEW_DSP=y +CONFIG_SND_CS5530=m +CONFIG_SND_CS5535AUDIO=m +CONFIG_SND_CTXFI=m +CONFIG_SND_DARLA20=m +CONFIG_SND_GINA20=m +CONFIG_SND_LAYLA20=m +CONFIG_SND_DARLA24=m +CONFIG_SND_GINA24=m +CONFIG_SND_LAYLA24=m +CONFIG_SND_MONA=m +CONFIG_SND_MIA=m +CONFIG_SND_ECHO3G=m +CONFIG_SND_INDIGO=m +CONFIG_SND_INDIGOIO=m +CONFIG_SND_INDIGODJ=m +CONFIG_SND_INDIGOIOX=m +CONFIG_SND_INDIGODJX=m +CONFIG_SND_EMU10K1=m +CONFIG_SND_EMU10K1X=m +CONFIG_SND_ENS1370=m +CONFIG_SND_ENS1371=m +CONFIG_SND_ES1938=m +CONFIG_SND_ES1968=m +CONFIG_SND_ES1968_INPUT=y +CONFIG_SND_ES1968_RADIO=y +CONFIG_SND_FM801=m +CONFIG_SND_FM801_TEA575X_BOOL=y +CONFIG_SND_HDA_INTEL=m +CONFIG_SND_HDA_PREALLOC_SIZE=4096 +CONFIG_SND_HDA_HWDEP=y +CONFIG_SND_HDA_RECONFIG=y +CONFIG_SND_HDA_INPUT_BEEP=y +CONFIG_SND_HDA_INPUT_BEEP_MODE=1 +CONFIG_SND_HDA_INPUT_JACK=y +CONFIG_SND_HDA_PATCH_LOADER=y +CONFIG_SND_HDA_CODEC_REALTEK=y +CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS=y +CONFIG_SND_HDA_CODEC_ANALOG=y +CONFIG_SND_HDA_CODEC_SIGMATEL=y +CONFIG_SND_HDA_CODEC_VIA=y +CONFIG_SND_HDA_CODEC_HDMI=y +CONFIG_SND_HDA_CODEC_CIRRUS=y +CONFIG_SND_HDA_CODEC_CONEXANT=y +CONFIG_SND_HDA_CODEC_CA0110=y +CONFIG_SND_HDA_CODEC_CA0132=y +CONFIG_SND_HDA_CODEC_CMEDIA=y +CONFIG_SND_HDA_CODEC_SI3054=y +CONFIG_SND_HDA_GENERIC=y +CONFIG_SND_HDA_POWER_SAVE=y +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +CONFIG_SND_HDSP=m +CONFIG_SND_HDSPM=m +CONFIG_SND_ICE1712=m +CONFIG_SND_ICE1724=m +CONFIG_SND_INTEL8X0=m +CONFIG_SND_INTEL8X0M=m +CONFIG_SND_KORG1212=m +CONFIG_SND_LOLA=m +CONFIG_SND_LX6464ES=m +CONFIG_SND_MAESTRO3=m +CONFIG_SND_MAESTRO3_INPUT=y +CONFIG_SND_MIXART=m +CONFIG_SND_NM256=m +CONFIG_SND_PCXHR=m +CONFIG_SND_RIPTIDE=m +CONFIG_SND_RME32=m +CONFIG_SND_RME96=m +CONFIG_SND_RME9652=m +CONFIG_SND_SONICVIBES=m +CONFIG_SND_TRIDENT=m +CONFIG_SND_VIA82XX=m +CONFIG_SND_VIA82XX_MODEM=m +CONFIG_SND_VIRTUOSO=m +CONFIG_SND_VX222=m +CONFIG_SND_YMFPCI=m +CONFIG_SND_SPI=y +CONFIG_SND_USB=y +CONFIG_SND_USB_AUDIO=m +CONFIG_SND_USB_UA101=m +CONFIG_SND_USB_USX2Y=m +CONFIG_SND_USB_CAIAQ=m +CONFIG_SND_USB_CAIAQ_INPUT=y +CONFIG_SND_USB_US122L=m +CONFIG_SND_USB_6FIRE=m +CONFIG_SND_FIREWIRE=y +CONFIG_SND_FIREWIRE_LIB=m +CONFIG_SND_FIREWIRE_SPEAKERS=m +CONFIG_SND_ISIGHT=m +CONFIG_SND_PCMCIA=y +CONFIG_SND_VXPOCKET=m +CONFIG_SND_PDAUDIOCF=m +CONFIG_SND_SOC=m +CONFIG_SND_SOC_CACHE_LZO=y +CONFIG_SND_SOC_I2C_AND_SPI=m +# CONFIG_SND_SOC_ALL_CODECS is not set +# CONFIG_SOUND_PRIME is not set +CONFIG_AC97_BUS=m +CONFIG_HID_SUPPORT=y +CONFIG_HID=m +CONFIG_HIDRAW=y + +# +# USB Input Devices +# +CONFIG_USB_HID=m +CONFIG_HID_PID=y +CONFIG_USB_HIDDEV=y + +# +# Special HID drivers +# +CONFIG_HID_A4TECH=m +CONFIG_HID_ACRUX=m +CONFIG_HID_ACRUX_FF=y +CONFIG_HID_APPLE=m +CONFIG_HID_BELKIN=m +CONFIG_HID_CHERRY=m +CONFIG_HID_CHICONY=m +CONFIG_HID_PRODIKEYS=m +CONFIG_HID_CYPRESS=m +CONFIG_HID_DRAGONRISE=m +CONFIG_DRAGONRISE_FF=y +CONFIG_HID_EMS_FF=m +CONFIG_HID_ELECOM=m +CONFIG_HID_EZKEY=m +CONFIG_HID_HOLTEK=m +CONFIG_HOLTEK_FF=y +CONFIG_HID_KEYTOUCH=m +CONFIG_HID_KYE=m +CONFIG_HID_UCLOGIC=m +CONFIG_HID_WALTOP=m +CONFIG_HID_GYRATION=m +CONFIG_HID_TWINHAN=m +CONFIG_HID_KENSINGTON=m +CONFIG_HID_LCPOWER=m +CONFIG_HID_LOGITECH=m +CONFIG_HID_LOGITECH_DJ=m +CONFIG_LOGITECH_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGIG940_FF=y +CONFIG_LOGIWHEELS_FF=y +CONFIG_HID_MAGICMOUSE=m +CONFIG_HID_MICROSOFT=m +CONFIG_HID_MONTEREY=m +CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NTRIG=m +CONFIG_HID_ORTEK=m +CONFIG_HID_PANTHERLORD=m +CONFIG_PANTHERLORD_FF=y +CONFIG_HID_PETALYNX=m +CONFIG_HID_PICOLCD=m +CONFIG_HID_PICOLCD_FB=y +CONFIG_HID_PICOLCD_BACKLIGHT=y +CONFIG_HID_PICOLCD_LCD=y +CONFIG_HID_PICOLCD_LEDS=y +CONFIG_HID_PRIMAX=m +CONFIG_HID_QUANTA=m +CONFIG_HID_ROCCAT=m +CONFIG_HID_ROCCAT_COMMON=m +CONFIG_HID_ROCCAT_ARVO=m +CONFIG_HID_ROCCAT_KONE=m +CONFIG_HID_ROCCAT_KONEPLUS=m +CONFIG_HID_ROCCAT_KOVAPLUS=m +CONFIG_HID_ROCCAT_PYRA=m +CONFIG_HID_SAMSUNG=m +CONFIG_HID_SONY=m +CONFIG_HID_SPEEDLINK=m +CONFIG_HID_SUNPLUS=m +CONFIG_HID_GREENASIA=m +CONFIG_GREENASIA_FF=y +CONFIG_HID_SMARTJOYPLUS=m +CONFIG_SMARTJOYPLUS_FF=y +CONFIG_HID_TOPSEED=m +CONFIG_HID_THRUSTMASTER=m +CONFIG_THRUSTMASTER_FF=y +CONFIG_HID_WACOM=m +CONFIG_HID_WACOM_POWER_SUPPLY=y +CONFIG_HID_WIIMOTE=m +CONFIG_HID_ZEROPLUS=m +CONFIG_ZEROPLUS_FF=y +CONFIG_HID_ZYDACRON=m +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=m +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB_ARCH_HAS_XHCI=y +CONFIG_USB=m +# CONFIG_USB_DEBUG is not set +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEVICEFS=y +# CONFIG_USB_DEVICE_CLASS is not set +CONFIG_USB_DYNAMIC_MINORS=y +CONFIG_USB_SUSPEND=y +# CONFIG_USB_OTG is not set +CONFIG_USB_DWC3=m +# CONFIG_USB_DWC3_DEBUG is not set +CONFIG_USB_MON=m +CONFIG_USB_WUSB=m +CONFIG_USB_WUSB_CBAF=m +# CONFIG_USB_WUSB_CBAF_DEBUG is not set + +# +# USB Host Controller Drivers +# +CONFIG_USB_C67X00_HCD=m +CONFIG_USB_XHCI_HCD=m +# CONFIG_USB_XHCI_HCD_DEBUGGING is not set +CONFIG_USB_EHCI_HCD=m +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_OXU210HP_HCD=m +CONFIG_USB_ISP116X_HCD=m +CONFIG_USB_ISP1760_HCD=m +CONFIG_USB_ISP1362_HCD=m +CONFIG_USB_OHCI_HCD=m +# CONFIG_USB_OHCI_HCD_SSB is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_UHCI_HCD=m +CONFIG_USB_U132_HCD=m +CONFIG_USB_SL811_HCD=m +# CONFIG_USB_SL811_HCD_ISO is not set +CONFIG_USB_SL811_CS=m +CONFIG_USB_R8A66597_HCD=m +CONFIG_USB_RENESAS_USBHS_HCD=m +CONFIG_USB_WHCI_HCD=m +CONFIG_USB_HWA_HCD=m +CONFIG_USB_RENESAS_USBHS=m + +# +# USB Device Class drivers +# +CONFIG_USB_ACM=m +CONFIG_USB_PRINTER=m +CONFIG_USB_WDM=m +CONFIG_USB_TMC=m + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may +# + +# +# also be needed; see USB_STORAGE Help for more info +# +CONFIG_USB_STORAGE=m +# CONFIG_USB_STORAGE_DEBUG is not set +CONFIG_USB_STORAGE_REALTEK=m +CONFIG_REALTEK_AUTOPM=y +CONFIG_USB_STORAGE_DATAFAB=m +CONFIG_USB_STORAGE_FREECOM=m +CONFIG_USB_STORAGE_ISD200=m +CONFIG_USB_STORAGE_USBAT=m +CONFIG_USB_STORAGE_SDDR09=m +CONFIG_USB_STORAGE_SDDR55=m +CONFIG_USB_STORAGE_JUMPSHOT=m +CONFIG_USB_STORAGE_ALAUDA=m +CONFIG_USB_STORAGE_ONETOUCH=m +CONFIG_USB_STORAGE_KARMA=m +CONFIG_USB_STORAGE_CYPRESS_ATACB=m +CONFIG_USB_STORAGE_ENE_UB6250=m +CONFIG_USB_UAS=m +# CONFIG_USB_LIBUSUAL is not set + +# +# USB Imaging devices +# +CONFIG_USB_MDC800=m +CONFIG_USB_MICROTEK=m + +# +# USB port drivers +# +CONFIG_USB_USS720=m +CONFIG_USB_SERIAL=m +CONFIG_USB_EZUSB=y +CONFIG_USB_SERIAL_GENERIC=y +CONFIG_USB_SERIAL_AIRCABLE=m +CONFIG_USB_SERIAL_ARK3116=m +CONFIG_USB_SERIAL_BELKIN=m +CONFIG_USB_SERIAL_CH341=m +CONFIG_USB_SERIAL_WHITEHEAT=m +CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m +CONFIG_USB_SERIAL_CP210X=m +CONFIG_USB_SERIAL_CYPRESS_M8=m +CONFIG_USB_SERIAL_EMPEG=m +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_SERIAL_FUNSOFT=m +CONFIG_USB_SERIAL_VISOR=m +CONFIG_USB_SERIAL_IPAQ=m +CONFIG_USB_SERIAL_IR=m +CONFIG_USB_SERIAL_EDGEPORT=m +CONFIG_USB_SERIAL_EDGEPORT_TI=m +CONFIG_USB_SERIAL_GARMIN=m +CONFIG_USB_SERIAL_IPW=m +CONFIG_USB_SERIAL_IUU=m +CONFIG_USB_SERIAL_KEYSPAN_PDA=m +CONFIG_USB_SERIAL_KEYSPAN=m +CONFIG_USB_SERIAL_KEYSPAN_MPR=y +CONFIG_USB_SERIAL_KEYSPAN_USA28=y +CONFIG_USB_SERIAL_KEYSPAN_USA28X=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y +CONFIG_USB_SERIAL_KEYSPAN_USA19=y +CONFIG_USB_SERIAL_KEYSPAN_USA18X=y +CONFIG_USB_SERIAL_KEYSPAN_USA19W=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y +CONFIG_USB_SERIAL_KEYSPAN_USA49W=y +CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y +CONFIG_USB_SERIAL_KLSI=m +CONFIG_USB_SERIAL_KOBIL_SCT=m +CONFIG_USB_SERIAL_MCT_U232=m +CONFIG_USB_SERIAL_MOS7720=m +CONFIG_USB_SERIAL_MOS7715_PARPORT=y +CONFIG_USB_SERIAL_MOS7840=m +CONFIG_USB_SERIAL_MOTOROLA=m +CONFIG_USB_SERIAL_NAVMAN=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_OTI6858=m +CONFIG_USB_SERIAL_QCAUX=m +CONFIG_USB_SERIAL_QUALCOMM=m +CONFIG_USB_SERIAL_SPCP8X5=m +CONFIG_USB_SERIAL_HP4X=m +CONFIG_USB_SERIAL_SAFE=m +# CONFIG_USB_SERIAL_SAFE_PADDED is not set +CONFIG_USB_SERIAL_SIEMENS_MPI=m +CONFIG_USB_SERIAL_SIERRAWIRELESS=m +CONFIG_USB_SERIAL_SYMBOL=m +CONFIG_USB_SERIAL_TI=m +CONFIG_USB_SERIAL_CYBERJACK=m +CONFIG_USB_SERIAL_XIRCOM=m +CONFIG_USB_SERIAL_WWAN=m +CONFIG_USB_SERIAL_OPTION=m +CONFIG_USB_SERIAL_OMNINET=m +CONFIG_USB_SERIAL_OPTICON=m +CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m +CONFIG_USB_SERIAL_ZIO=m +CONFIG_USB_SERIAL_SSU100=m +# CONFIG_USB_SERIAL_DEBUG is not set + +# +# USB Miscellaneous drivers +# +CONFIG_USB_EMI62=m +CONFIG_USB_EMI26=m +CONFIG_USB_ADUTUX=m +CONFIG_USB_SEVSEG=m +CONFIG_USB_RIO500=m +CONFIG_USB_LEGOTOWER=m +CONFIG_USB_LCD=m +CONFIG_USB_LED=m +CONFIG_USB_CYPRESS_CY7C63=m +CONFIG_USB_CYTHERM=m +CONFIG_USB_IDMOUSE=m +CONFIG_USB_FTDI_ELAN=m +CONFIG_USB_APPLEDISPLAY=m +CONFIG_USB_SISUSBVGA=m +# CONFIG_USB_SISUSBVGA_CON is not set +CONFIG_USB_LD=m +CONFIG_USB_TRANCEVIBRATOR=m +CONFIG_USB_IOWARRIOR=m +CONFIG_USB_TEST=m +CONFIG_USB_ISIGHTFW=m +CONFIG_USB_YUREX=m +CONFIG_USB_ATM=m +CONFIG_USB_SPEEDTOUCH=m +CONFIG_USB_CXACRU=m +CONFIG_USB_UEAGLEATM=m +CONFIG_USB_XUSBATM=m +CONFIG_USB_GADGET=m +# CONFIG_USB_GADGET_DEBUG is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DEBUG_FS is not set +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 +CONFIG_USB_R8A66597=m +CONFIG_USB_GADGET_DWC3=m +CONFIG_USB_M66592=m +CONFIG_USB_AMD5536UDC=m +CONFIG_USB_CI13XXX_PCI=m +CONFIG_USB_NET2272=m +CONFIG_USB_NET2272_DMA=y +CONFIG_USB_NET2280=m +CONFIG_USB_GOKU=m +CONFIG_USB_EG20T=m +CONFIG_USB_DUMMY_HCD=m +CONFIG_USB_GADGET_DUALSPEED=y +CONFIG_USB_GADGET_SUPERSPEED=y +# CONFIG_USB_ZERO is not set +CONFIG_USB_AUDIO=m +CONFIG_USB_ETH=m +CONFIG_USB_ETH_RNDIS=y +# CONFIG_USB_ETH_EEM is not set +CONFIG_USB_G_NCM=m +CONFIG_USB_GADGETFS=m +CONFIG_USB_FUNCTIONFS=m +CONFIG_USB_FUNCTIONFS_ETH=y +CONFIG_USB_FUNCTIONFS_RNDIS=y +CONFIG_USB_FUNCTIONFS_GENERIC=y +CONFIG_USB_FILE_STORAGE=m +# CONFIG_USB_FILE_STORAGE_TEST is not set +# CONFIG_USB_MASS_STORAGE is not set +CONFIG_USB_G_SERIAL=m +CONFIG_USB_MIDI_GADGET=m +CONFIG_USB_G_PRINTER=m +# CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_G_NOKIA is not set +# CONFIG_USB_G_ACM_MS is not set +# CONFIG_USB_G_MULTI is not set +CONFIG_USB_G_HID=m +CONFIG_USB_G_DBGP=m +# CONFIG_USB_G_DBGP_PRINTK is not set +CONFIG_USB_G_DBGP_SERIAL=y +CONFIG_USB_G_WEBCAM=m + +# +# OTG and related infrastructure +# +CONFIG_USB_OTG_UTILS=y +CONFIG_USB_GPIO_VBUS=m +CONFIG_NOP_USB_XCEIV=m +CONFIG_AB8500_USB=m +CONFIG_UWB=m +CONFIG_UWB_HWA=m +CONFIG_UWB_WHCI=m +CONFIG_UWB_I1480U=m +CONFIG_MMC=m +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_UNSAFE_RESUME is not set +CONFIG_MMC_CLKGATE=y + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=m +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +CONFIG_SDIO_UART=m +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_MMC_SDHCI=m +CONFIG_MMC_SDHCI_PCI=m +CONFIG_MMC_RICOH_MMC=y +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MMC_WBSD=m +CONFIG_MMC_TIFM_SD=m +CONFIG_MMC_SPI=m +CONFIG_MMC_SDRICOH_CS=m +CONFIG_MMC_CB710=m +CONFIG_MMC_VIA_SDMMC=m +CONFIG_MMC_VUB300=m +CONFIG_MMC_USHC=m +CONFIG_MEMSTICK=m +# CONFIG_MEMSTICK_DEBUG is not set + +# +# MemoryStick drivers +# +# CONFIG_MEMSTICK_UNSAFE_RESUME is not set +CONFIG_MSPRO_BLOCK=m + +# +# MemoryStick Host Controller Drivers +# +CONFIG_MEMSTICK_TIFM_MS=m +CONFIG_MEMSTICK_JMICRON_38X=m +CONFIG_MEMSTICK_R592=m +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y + +# +# LED drivers +# +CONFIG_LEDS_LM3530=m +CONFIG_LEDS_NET5501=m +CONFIG_LEDS_PCA9532=m +CONFIG_LEDS_PCA9532_GPIO=y +CONFIG_LEDS_GPIO=m +CONFIG_LEDS_LP3944=m +CONFIG_LEDS_LP5521=m +CONFIG_LEDS_LP5523=m +CONFIG_LEDS_CLEVO_MAIL=m +CONFIG_LEDS_PCA955X=m +CONFIG_LEDS_WM831X_STATUS=m +CONFIG_LEDS_DAC124S085=m +CONFIG_LEDS_REGULATOR=m +CONFIG_LEDS_BD2802=m +CONFIG_LEDS_INTEL_SS4200=m +CONFIG_LEDS_LT3593=m +CONFIG_LEDS_DELL_NETBOOKS=m +CONFIG_LEDS_MC13783=m +CONFIG_LEDS_TRIGGERS=y + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGER_TIMER=m +CONFIG_LEDS_TRIGGER_HEARTBEAT=m +CONFIG_LEDS_TRIGGER_BACKLIGHT=m +CONFIG_LEDS_TRIGGER_GPIO=m +CONFIG_LEDS_TRIGGER_DEFAULT_ON=m + +# +# iptables trigger is under Netfilter config (LED target) +# +CONFIG_ACCESSIBILITY=y +CONFIG_A11Y_BRAILLE_CONSOLE=y +# CONFIG_INFINIBAND is not set +CONFIG_EDAC=y + +# +# Reporting subsystems +# +# CONFIG_EDAC_DEBUG is not set +CONFIG_EDAC_DECODE_MCE=m +CONFIG_EDAC_MCE_INJ=m +CONFIG_EDAC_MM_EDAC=m +CONFIG_EDAC_AMD64=m +# CONFIG_EDAC_AMD64_ERROR_INJECTION is not set +CONFIG_EDAC_E752X=m +CONFIG_EDAC_I82975X=m +CONFIG_EDAC_I3000=m +CONFIG_EDAC_I3200=m +CONFIG_EDAC_X38=m +CONFIG_EDAC_I5400=m +CONFIG_EDAC_I7CORE=m +CONFIG_EDAC_I5000=m +CONFIG_EDAC_I5100=m +CONFIG_EDAC_I7300=m +CONFIG_EDAC_SBRIDGE=m +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +CONFIG_RTC_INTF_DEV_UIE_EMUL=y +CONFIG_RTC_DRV_TEST=m + +# +# I2C RTC drivers +# +CONFIG_RTC_DRV_DS1307=m +CONFIG_RTC_DRV_DS1374=m +CONFIG_RTC_DRV_DS1672=m +CONFIG_RTC_DRV_DS3232=m +CONFIG_RTC_DRV_MAX6900=m +CONFIG_RTC_DRV_RS5C372=m +CONFIG_RTC_DRV_ISL1208=m +CONFIG_RTC_DRV_ISL12022=m +CONFIG_RTC_DRV_X1205=m +CONFIG_RTC_DRV_PCF8563=m +CONFIG_RTC_DRV_PCF8583=m +CONFIG_RTC_DRV_M41T80=m +CONFIG_RTC_DRV_M41T80_WDT=y +CONFIG_RTC_DRV_BQ32K=m +CONFIG_RTC_DRV_S35390A=m +CONFIG_RTC_DRV_FM3130=m +CONFIG_RTC_DRV_RX8581=m +CONFIG_RTC_DRV_RX8025=m +CONFIG_RTC_DRV_EM3027=m +CONFIG_RTC_DRV_RV3029C2=m + +# +# SPI RTC drivers +# +CONFIG_RTC_DRV_M41T93=m +CONFIG_RTC_DRV_M41T94=m +CONFIG_RTC_DRV_DS1305=m +CONFIG_RTC_DRV_DS1390=m +CONFIG_RTC_DRV_MAX6902=m +CONFIG_RTC_DRV_R9701=m +CONFIG_RTC_DRV_RS5C348=m +CONFIG_RTC_DRV_DS3234=m +CONFIG_RTC_DRV_PCF2123=m + +# +# Platform RTC drivers +# +CONFIG_RTC_DRV_CMOS=y +CONFIG_RTC_DRV_DS1286=m +CONFIG_RTC_DRV_DS1511=m +CONFIG_RTC_DRV_DS1553=m +CONFIG_RTC_DRV_DS1742=m +CONFIG_RTC_DRV_STK17TA8=m +CONFIG_RTC_DRV_M48T86=m +CONFIG_RTC_DRV_M48T35=m +CONFIG_RTC_DRV_M48T59=m +CONFIG_RTC_DRV_MSM6242=m +CONFIG_RTC_DRV_BQ4802=m +CONFIG_RTC_DRV_RP5C01=m +CONFIG_RTC_DRV_V3020=m +CONFIG_RTC_DRV_WM831X=m +CONFIG_RTC_DRV_PCF50633=m +CONFIG_RTC_DRV_AB8500=m + +# +# on-CPU RTC drivers +# +# CONFIG_RTC_DRV_PCAP is not set +CONFIG_RTC_DRV_MC13XXX=m +CONFIG_DMADEVICES=y +# CONFIG_DMADEVICES_DEBUG is not set + +# +# DMA Devices +# +CONFIG_INTEL_MID_DMAC=m +CONFIG_INTEL_IOATDMA=m +CONFIG_TIMB_DMA=m +CONFIG_PCH_DMA=m +CONFIG_DMA_ENGINE=y + +# +# DMA Clients +# +CONFIG_NET_DMA=y +CONFIG_ASYNC_TX_DMA=y +# CONFIG_DMATEST is not set +CONFIG_DCA=m +CONFIG_AUXDISPLAY=y +CONFIG_KS0108=m +CONFIG_KS0108_PORT=0x378 +CONFIG_KS0108_DELAY=2 +CONFIG_CFAG12864B=m +CONFIG_CFAG12864B_RATE=20 +CONFIG_UIO=m +CONFIG_UIO_CIF=m +CONFIG_UIO_PDRV=m +CONFIG_UIO_PDRV_GENIRQ=m +CONFIG_UIO_AEC=m +CONFIG_UIO_SERCOS3=m +CONFIG_UIO_PCI_GENERIC=m +CONFIG_UIO_NETX=m +CONFIG_VIRTIO=m +CONFIG_VIRTIO_RING=m + +# +# Virtio drivers +# +CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_BALLOON=m +CONFIG_VIRTIO_MMIO=m + +# +# Xen driver support +# +CONFIG_XEN_BALLOON=y +# CONFIG_XEN_SELFBALLOONING is not set +CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y +CONFIG_XEN_SCRUB_PAGES=y +CONFIG_XEN_DEV_EVTCHN=m +CONFIG_XEN_BACKEND=y +CONFIG_XENFS=m +CONFIG_XEN_COMPAT_XENFS=y +CONFIG_XEN_SYS_HYPERVISOR=y +CONFIG_XEN_XENBUS_FRONTEND=m +CONFIG_XEN_GNTDEV=m +CONFIG_XEN_GRANT_DEV_ALLOC=m +CONFIG_SWIOTLB_XEN=y +CONFIG_XEN_TMEM=y +CONFIG_XEN_PCIDEV_BACKEND=m +CONFIG_STAGING=y +CONFIG_ET131X=m +CONFIG_SLICOSS=m +CONFIG_USBIP_CORE=m +CONFIG_USBIP_VHCI_HCD=m +CONFIG_USBIP_HOST=m +# CONFIG_USBIP_DEBUG is not set +CONFIG_W35UND=m +CONFIG_PRISM2_USB=m +CONFIG_ECHO=m +CONFIG_COMEDI=m +# CONFIG_COMEDI_DEBUG is not set +CONFIG_COMEDI_MISC_DRIVERS=m +CONFIG_COMEDI_KCOMEDILIB=m +CONFIG_COMEDI_BOND=m +CONFIG_COMEDI_TEST=m +CONFIG_COMEDI_PARPORT=m +CONFIG_COMEDI_SERIAL2002=m +CONFIG_COMEDI_SKEL=m +CONFIG_COMEDI_PCI_DRIVERS=m +CONFIG_COMEDI_ADDI_APCI_035=m +CONFIG_COMEDI_ADDI_APCI_1032=m +CONFIG_COMEDI_ADDI_APCI_1500=m +CONFIG_COMEDI_ADDI_APCI_1516=m +CONFIG_COMEDI_ADDI_APCI_1564=m +CONFIG_COMEDI_ADDI_APCI_16XX=m +CONFIG_COMEDI_ADDI_APCI_2016=m +CONFIG_COMEDI_ADDI_APCI_2032=m +CONFIG_COMEDI_ADDI_APCI_2200=m +CONFIG_COMEDI_ADDI_APCI_3001=m +CONFIG_COMEDI_ADDI_APCI_3120=m +CONFIG_COMEDI_ADDI_APCI_3501=m +CONFIG_COMEDI_ADDI_APCI_3XXX=m +CONFIG_COMEDI_ADL_PCI6208=m +CONFIG_COMEDI_ADL_PCI7230=m +CONFIG_COMEDI_ADL_PCI7296=m +CONFIG_COMEDI_ADL_PCI7432=m +CONFIG_COMEDI_ADL_PCI8164=m +CONFIG_COMEDI_ADL_PCI9111=m +CONFIG_COMEDI_ADL_PCI9118=m +CONFIG_COMEDI_ADV_PCI1710=m +CONFIG_COMEDI_ADV_PCI1723=m +CONFIG_COMEDI_ADV_PCI_DIO=m +CONFIG_COMEDI_AMPLC_DIO200=m +CONFIG_COMEDI_AMPLC_PC236=m +CONFIG_COMEDI_AMPLC_PC263=m +CONFIG_COMEDI_AMPLC_PCI224=m +CONFIG_COMEDI_AMPLC_PCI230=m +CONFIG_COMEDI_CONTEC_PCI_DIO=m +CONFIG_COMEDI_DT3000=m +CONFIG_COMEDI_DYNA_PCI10XX=m +CONFIG_COMEDI_UNIOXX5=m +CONFIG_COMEDI_GSC_HPDI=m +CONFIG_COMEDI_ICP_MULTI=m +CONFIG_COMEDI_II_PCI20KC=m +CONFIG_COMEDI_DAQBOARD2000=m +CONFIG_COMEDI_JR3_PCI=m +CONFIG_COMEDI_KE_COUNTER=m +CONFIG_COMEDI_CB_PCIDAS64=m +CONFIG_COMEDI_CB_PCIDAS=m +CONFIG_COMEDI_CB_PCIDDA=m +CONFIG_COMEDI_CB_PCIDIO=m +CONFIG_COMEDI_CB_PCIMDAS=m +CONFIG_COMEDI_CB_PCIMDDA=m +CONFIG_COMEDI_ME4000=m +CONFIG_COMEDI_ME_DAQ=m +CONFIG_COMEDI_NI_6527=m +CONFIG_COMEDI_NI_65XX=m +CONFIG_COMEDI_NI_660X=m +CONFIG_COMEDI_NI_670X=m +CONFIG_COMEDI_NI_PCIDIO=m +CONFIG_COMEDI_NI_PCIMIO=m +CONFIG_COMEDI_RTD520=m +CONFIG_COMEDI_S526=m +CONFIG_COMEDI_S626=m +CONFIG_COMEDI_SSV_DNP=m +CONFIG_COMEDI_PCMCIA_DRIVERS=m +CONFIG_COMEDI_CB_DAS16_CS=m +CONFIG_COMEDI_DAS08_CS=m +CONFIG_COMEDI_NI_DAQ_700_CS=m +CONFIG_COMEDI_NI_DAQ_DIO24_CS=m +CONFIG_COMEDI_NI_LABPC_CS=m +CONFIG_COMEDI_NI_MIO_CS=m +CONFIG_COMEDI_QUATECH_DAQP_CS=m +CONFIG_COMEDI_USB_DRIVERS=m +CONFIG_COMEDI_DT9812=m +CONFIG_COMEDI_USBDUX=m +CONFIG_COMEDI_USBDUXFAST=m +CONFIG_COMEDI_USBDUXSIGMA=m +CONFIG_COMEDI_VMK80XX=m +CONFIG_COMEDI_NI_COMMON=m +CONFIG_COMEDI_MITE=m +CONFIG_COMEDI_NI_TIO=m +CONFIG_COMEDI_NI_LABPC=m +CONFIG_COMEDI_8255=m +CONFIG_COMEDI_DAS08=m +CONFIG_COMEDI_FC=m +CONFIG_ASUS_OLED=m +# CONFIG_PANEL is not set +CONFIG_R8187SE=m +CONFIG_RTL8192U=m +CONFIG_RTL8192E=m +CONFIG_R8712U=m +CONFIG_R8712_AP=y +CONFIG_RTS_PSTOR=m +# CONFIG_RTS_PSTOR_DEBUG is not set +CONFIG_RTS5139=m +# CONFIG_RTS5139_DEBUG is not set +# CONFIG_TRANZPORT is not set +CONFIG_POHMELFS=m +# CONFIG_POHMELFS_DEBUG is not set +CONFIG_IDE_PHISON=m +CONFIG_LINE6_USB=m +# CONFIG_LINE6_USB_DEBUG is not set +# CONFIG_LINE6_USB_DUMP_CTRL is not set +# CONFIG_LINE6_USB_DUMP_MIDI is not set +# CONFIG_LINE6_USB_DUMP_PCM is not set +# CONFIG_LINE6_USB_RAW is not set +# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set +CONFIG_DRM_NOUVEAU=m +CONFIG_DRM_NOUVEAU_BACKLIGHT=y +CONFIG_DRM_NOUVEAU_DEBUG=y + +# +# I2C encoder or helper chips +# +CONFIG_DRM_I2C_CH7006=m +CONFIG_DRM_I2C_SIL164=m +CONFIG_USB_SERIAL_QUATECH2=m +CONFIG_USB_SERIAL_QUATECH_USB2=m +CONFIG_VT6655=m +CONFIG_VT6656=m +CONFIG_HYPERV_STORAGE=m +CONFIG_HYPERV_NET=m +CONFIG_HYPERV_MOUSE=m +# CONFIG_VME_BUS is not set +CONFIG_DX_SEP=m +# CONFIG_IIO is not set +CONFIG_XVMALLOC=y +CONFIG_ZRAM=m +# CONFIG_ZRAM_DEBUG is not set +CONFIG_ZCACHE=m +CONFIG_WLAGS49_H2=m +CONFIG_WLAGS49_H25=m +CONFIG_FB_SM7XX=m +CONFIG_CRYSTALHD=m +CONFIG_FB_XGI=m +CONFIG_ACPI_QUICKSTART=m +CONFIG_USB_ENESTORAGE=m +CONFIG_BCM_WIMAX=m +CONFIG_FT1000=m +CONFIG_FT1000_USB=m +CONFIG_FT1000_PCMCIA=m + +# +# Speakup console speech +# +CONFIG_SPEAKUP=m +CONFIG_SPEAKUP_SYNTH_ACNTSA=m +CONFIG_SPEAKUP_SYNTH_ACNTPC=m +CONFIG_SPEAKUP_SYNTH_APOLLO=m +CONFIG_SPEAKUP_SYNTH_AUDPTR=m +CONFIG_SPEAKUP_SYNTH_BNS=m +CONFIG_SPEAKUP_SYNTH_DECTLK=m +CONFIG_SPEAKUP_SYNTH_DECEXT=m +CONFIG_SPEAKUP_SYNTH_DECPC=m +CONFIG_SPEAKUP_SYNTH_DTLK=m +CONFIG_SPEAKUP_SYNTH_KEYPC=m +CONFIG_SPEAKUP_SYNTH_LTLK=m +CONFIG_SPEAKUP_SYNTH_SOFT=m +CONFIG_SPEAKUP_SYNTH_SPKOUT=m +CONFIG_SPEAKUP_SYNTH_TXPRT=m +CONFIG_SPEAKUP_SYNTH_DUMMY=m +CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m +CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m +CONFIG_DRM_PSB=m +CONFIG_DRM_PSB_MRST=y +CONFIG_DRM_PSB_MFLD=y +CONFIG_DRM_PSB_CDV=y +CONFIG_INTEL_MEI=m +CONFIG_STAGING_MEDIA=y +CONFIG_DVB_AS102=m +CONFIG_DVB_CXD2099=m +CONFIG_VIDEO_DT3155=m +CONFIG_DT3155_CCIR=y +CONFIG_DT3155_STREAMING=y +CONFIG_EASYCAP=m +# CONFIG_EASYCAP_DEBUG is not set +CONFIG_VIDEO_GO7007=m +CONFIG_VIDEO_GO7007_USB=m +# CONFIG_VIDEO_GO7007_USB_S2250_BOARD is not set +CONFIG_VIDEO_GO7007_OV7640=m +CONFIG_VIDEO_GO7007_SAA7113=m +CONFIG_VIDEO_GO7007_SAA7115=m +CONFIG_VIDEO_GO7007_TW9903=m +CONFIG_VIDEO_GO7007_UDA1342=m +CONFIG_VIDEO_GO7007_SONY_TUNER=m +CONFIG_VIDEO_GO7007_TW2804=m +CONFIG_SOLO6X10=m +CONFIG_LIRC_STAGING=y +CONFIG_LIRC_BT829=m +CONFIG_LIRC_IGORPLUGUSB=m +CONFIG_LIRC_IMON=m +CONFIG_LIRC_PARALLEL=m +CONFIG_LIRC_SASEM=m +CONFIG_LIRC_SERIAL=m +CONFIG_LIRC_SERIAL_TRANSMITTER=y +CONFIG_LIRC_SIR=m +CONFIG_LIRC_TTUSBIR=m +CONFIG_LIRC_ZILOG=m +CONFIG_X86_PLATFORM_DEVICES=y +CONFIG_ACER_WMI=m +CONFIG_ACERHDF=m +CONFIG_ASUS_LAPTOP=m +CONFIG_DELL_LAPTOP=m +CONFIG_DELL_WMI=m +CONFIG_DELL_WMI_AIO=m +CONFIG_FUJITSU_LAPTOP=m +# CONFIG_FUJITSU_LAPTOP_DEBUG is not set +CONFIG_HP_ACCEL=m +CONFIG_HP_WMI=m +CONFIG_MSI_LAPTOP=m +CONFIG_PANASONIC_LAPTOP=m +CONFIG_COMPAL_LAPTOP=m +CONFIG_SONY_LAPTOP=m +# CONFIG_SONYPI_COMPAT is not set +CONFIG_IDEAPAD_LAPTOP=m +CONFIG_THINKPAD_ACPI=m +CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y +# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set +# CONFIG_THINKPAD_ACPI_DEBUG is not set +# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set +CONFIG_THINKPAD_ACPI_VIDEO=y +CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y +CONFIG_SENSORS_HDAPS=m +CONFIG_INTEL_MENLOW=m +CONFIG_EEEPC_LAPTOP=m +CONFIG_ASUS_WMI=m +CONFIG_ASUS_NB_WMI=m +CONFIG_EEEPC_WMI=m +CONFIG_ACPI_WMI=m +CONFIG_MSI_WMI=m +CONFIG_ACPI_ASUS=m +CONFIG_TOPSTAR_LAPTOP=m +CONFIG_ACPI_TOSHIBA=m +CONFIG_TOSHIBA_BT_RFKILL=m +CONFIG_ACPI_CMPC=m +CONFIG_INTEL_IPS=m +CONFIG_IBM_RTL=m +CONFIG_XO15_EBOOK=m +CONFIG_SAMSUNG_LAPTOP=m +CONFIG_MXM_WMI=m +CONFIG_INTEL_OAKTRAIL=m +CONFIG_SAMSUNG_Q10=m + +# +# Hardware Spinlock drivers +# +CONFIG_CLKEVT_I8253=y +CONFIG_I8253_LOCK=y +CONFIG_CLKBLD_I8253=y +CONFIG_IOMMU_API=y +CONFIG_IOMMU_SUPPORT=y +CONFIG_AMD_IOMMU=y +# CONFIG_AMD_IOMMU_STATS is not set +CONFIG_DMAR_TABLE=y +CONFIG_INTEL_IOMMU=y +# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set +CONFIG_INTEL_IOMMU_FLOPPY_WA=y +CONFIG_IRQ_REMAP=y +CONFIG_VIRT_DRIVERS=y +CONFIG_HYPERV=m +CONFIG_HYPERV_UTILS=m +# CONFIG_PM_DEVFREQ is not set + +# +# Firmware Drivers +# +CONFIG_EDD=m +# CONFIG_EDD_OFF is not set +CONFIG_FIRMWARE_MEMMAP=y +CONFIG_EFI_VARS=m +CONFIG_DELL_RBU=m +CONFIG_DCDBAS=m +CONFIG_DMIID=y +CONFIG_DMI_SYSFS=m +# CONFIG_ISCSI_IBFT_FIND is not set +CONFIG_SIGMA=m +# CONFIG_GOOGLE_FIRMWARE is not set + +# +# File systems +# +# CONFIG_EXT2_FS is not set +# CONFIG_EXT3_FS is not set +CONFIG_EXT4_FS=m +CONFIG_EXT4_USE_FOR_EXT23=y +CONFIG_EXT4_FS_XATTR=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD=m +# CONFIG_JBD_DEBUG is not set +CONFIG_JBD2=m +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=m +CONFIG_REISERFS_FS=m +# CONFIG_REISERFS_CHECK is not set +CONFIG_REISERFS_PROC_INFO=y +CONFIG_REISERFS_FS_XATTR=y +CONFIG_REISERFS_FS_POSIX_ACL=y +CONFIG_REISERFS_FS_SECURITY=y +CONFIG_JFS_FS=m +CONFIG_JFS_POSIX_ACL=y +CONFIG_JFS_SECURITY=y +# CONFIG_JFS_DEBUG is not set +CONFIG_JFS_STATISTICS=y +CONFIG_XFS_FS=m +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +CONFIG_XFS_RT=y +# CONFIG_XFS_DEBUG is not set +CONFIG_GFS2_FS=m +CONFIG_GFS2_FS_LOCKING_DLM=y +CONFIG_OCFS2_FS=m +CONFIG_OCFS2_FS_O2CB=m +CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m +CONFIG_OCFS2_FS_STATS=y +# CONFIG_OCFS2_DEBUG_MASKLOG is not set +# CONFIG_OCFS2_DEBUG_FS is not set +CONFIG_BTRFS_FS=m +CONFIG_BTRFS_FS_POSIX_ACL=y +CONFIG_NILFS2_FS=m +CONFIG_FS_POSIX_ACL=y +CONFIG_EXPORTFS=m +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +CONFIG_FANOTIFY=y +# CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set +CONFIG_QUOTA=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +# CONFIG_PRINT_QUOTA_WARNING is not set +# CONFIG_QUOTA_DEBUG is not set +CONFIG_QUOTA_TREE=m +CONFIG_QFMT_V1=m +CONFIG_QFMT_V2=m +CONFIG_QUOTACTL=y +CONFIG_QUOTACTL_COMPAT=y +CONFIG_AUTOFS4_FS=m +CONFIG_FUSE_FS=m +CONFIG_CUSE=m +CONFIG_GENERIC_ACL=y + +# +# Caches +# +CONFIG_FSCACHE=m +CONFIG_FSCACHE_STATS=y +CONFIG_FSCACHE_HISTOGRAM=y +# CONFIG_FSCACHE_DEBUG is not set +# CONFIG_FSCACHE_OBJECT_LIST is not set +CONFIG_CACHEFILES=m +# CONFIG_CACHEFILES_DEBUG is not set +# CONFIG_CACHEFILES_HISTOGRAM is not set + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=m +CONFIG_JOLIET=y +CONFIG_ZISOFS=y +CONFIG_UDF_FS=m +CONFIG_UDF_NLS=y + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=m +CONFIG_MSDOS_FS=m +CONFIG_VFAT_FS=m +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +CONFIG_NTFS_FS=m +# CONFIG_NTFS_DEBUG is not set +CONFIG_NTFS_RW=y + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_KCORE=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +CONFIG_HUGETLBFS=y +CONFIG_HUGETLB_PAGE=y +CONFIG_CONFIGFS_FS=m +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ADFS_FS is not set +CONFIG_AFFS_FS=m +CONFIG_ECRYPT_FS=m +CONFIG_HFS_FS=m +CONFIG_HFSPLUS_FS=m +CONFIG_BEFS_FS=m +# CONFIG_BEFS_DEBUG is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_JFFS2_FS=m +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_LZO is not set +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +CONFIG_UBIFS_FS=m +CONFIG_UBIFS_FS_XATTR=y +# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y +# CONFIG_UBIFS_FS_DEBUG is not set +CONFIG_LOGFS=m +CONFIG_CRAMFS=m +CONFIG_SQUASHFS=m +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_ZLIB=y +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +CONFIG_MINIX_FS=m +CONFIG_OMFS_FS=m +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_ROMFS_FS is not set +CONFIG_PSTORE=y +# CONFIG_SYSV_FS is not set +CONFIG_UFS_FS=m +# CONFIG_UFS_FS_WRITE is not set +# CONFIG_UFS_DEBUG is not set +CONFIG_EXOFS_FS=m +# CONFIG_EXOFS_DEBUG is not set +CONFIG_ORE=m +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=m +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +CONFIG_NFS_V4=y +# CONFIG_NFS_V4_1 is not set +CONFIG_NFS_FSCACHE=y +# CONFIG_NFS_USE_LEGACY_DNS is not set +CONFIG_NFS_USE_KERNEL_DNS=y +# CONFIG_NFS_USE_NEW_IDMAPPER is not set +CONFIG_NFSD=m +CONFIG_NFSD_V2_ACL=y +CONFIG_NFSD_V3=y +CONFIG_NFSD_V3_ACL=y +CONFIG_NFSD_V4=y +CONFIG_LOCKD=m +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=m +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=m +CONFIG_SUNRPC_GSS=m +CONFIG_RPCSEC_GSS_KRB5=m +CONFIG_CEPH_FS=m +CONFIG_CIFS=m +CONFIG_CIFS_STATS=y +# CONFIG_CIFS_STATS2 is not set +CONFIG_CIFS_WEAK_PW_HASH=y +CONFIG_CIFS_UPCALL=y +CONFIG_CIFS_XATTR=y +CONFIG_CIFS_POSIX=y +# CONFIG_CIFS_DEBUG2 is not set +CONFIG_CIFS_DFS_UPCALL=y +CONFIG_CIFS_FSCACHE=y +CONFIG_CIFS_ACL=y +CONFIG_NCP_FS=m +# CONFIG_NCPFS_PACKET_SIGNING is not set +# CONFIG_NCPFS_IOCTL_LOCKING is not set +# CONFIG_NCPFS_STRONG is not set +CONFIG_NCPFS_NFS_NS=y +CONFIG_NCPFS_OS2_NS=y +CONFIG_NCPFS_SMALLDOS=y +CONFIG_NCPFS_NLS=y +# CONFIG_NCPFS_EXTRAS is not set +CONFIG_CODA_FS=m +CONFIG_AFS_FS=m +# CONFIG_AFS_DEBUG is not set +CONFIG_AFS_FSCACHE=y +CONFIG_9P_FS=m +CONFIG_9P_FSCACHE=y +CONFIG_9P_FS_POSIX_ACL=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +CONFIG_MAC_PARTITION=y +CONFIG_MSDOS_PARTITION=y +CONFIG_BSD_DISKLABEL=y +CONFIG_MINIX_SUBPARTITION=y +CONFIG_SOLARIS_X86_PARTITION=y +# CONFIG_UNIXWARE_DISKLABEL is not set +CONFIG_LDM_PARTITION=y +# CONFIG_LDM_DEBUG is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +CONFIG_KARMA_PARTITION=y +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NLS_CODEPAGE_437=m +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=m +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=m +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +CONFIG_NLS_UTF8=m +CONFIG_DLM=m +# CONFIG_DLM_DEBUG is not set + +# +# Kernel hacking +# +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_PRINTK_TIME=y +CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4 +CONFIG_ENABLE_WARN_DEPRECATED=y +# CONFIG_ENABLE_MUST_CHECK is not set +CONFIG_FRAME_WARN=2048 +CONFIG_MAGIC_SYSRQ=y +CONFIG_STRIP_ASM_SYMS=y +CONFIG_UNUSED_SYMBOLS=y +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_SHIRQ is not set +CONFIG_LOCKUP_DETECTOR=y +CONFIG_HARDLOCKUP_DETECTOR=y +# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0 +# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 +CONFIG_DETECT_HUNG_TASK=y +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 +# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set +CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHEDSTATS is not set +CONFIG_TIMER_STATS=y +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +# CONFIG_DEBUG_PREEMPT is not set +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_RT_MUTEX_TESTER is not set +# CONFIG_DEBUG_SPINLOCK is not set +CONFIG_DEBUG_MUTEXES=y +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +CONFIG_STACKTRACE=y +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_INFO is not set +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_VIRTUAL is not set +# CONFIG_DEBUG_WRITECOUNT is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_FRAME_POINTER=y +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=60 +# CONFIG_RCU_CPU_STALL_VERBOSE is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# CONFIG_DEBUG_PER_CPU_MAPS is not set +CONFIG_LKDTM=m +CONFIG_CPU_NOTIFIER_ERROR_INJECT=m +# CONFIG_FAULT_INJECTION is not set +# CONFIG_LATENCYTOP is not set +CONFIG_SYSCTL_SYSCALL_CHECK=y +# CONFIG_DEBUG_PAGEALLOC is not set +CONFIG_USER_STACKTRACE_SUPPORT=y +CONFIG_NOP_TRACER=y +CONFIG_HAVE_FTRACE_NMI_ENTER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y +CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACER_MAX_TRACE=y +CONFIG_RING_BUFFER=y +CONFIG_FTRACE_NMI_ENTER=y +CONFIG_EVENT_TRACING=y +CONFIG_EVENT_POWER_TRACING_DEPRECATED=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_RING_BUFFER_ALLOW_SWAP=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_GRAPH_TRACER=y +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_PREEMPT_TRACER is not set +CONFIG_SCHED_TRACER=y +CONFIG_FTRACE_SYSCALLS=y +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +CONFIG_STACK_TRACER=y +CONFIG_BLK_DEV_IO_TRACE=y +CONFIG_DYNAMIC_FTRACE=y +CONFIG_FUNCTION_PROFILER=y +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +CONFIG_MMIOTRACE=y +# CONFIG_MMIOTRACE_TEST is not set +CONFIG_RING_BUFFER_BENCHMARK=m +# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set +# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set +# CONFIG_DYNAMIC_DEBUG is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_ATOMIC64_SELFTEST is not set +CONFIG_ASYNC_RAID6_TEST=m +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +CONFIG_HAVE_ARCH_KMEMCHECK=y +CONFIG_TEST_KSTRTOX=m +CONFIG_STRICT_DEVMEM=y +CONFIG_X86_VERBOSE_BOOTUP=y +CONFIG_EARLY_PRINTK=y +# CONFIG_EARLY_PRINTK_DBGP is not set +# CONFIG_DEBUG_STACKOVERFLOW is not set +# CONFIG_X86_PTDUMP is not set +CONFIG_DEBUG_RODATA=y +# CONFIG_DEBUG_RODATA_TEST is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_DEBUG_NX_TEST is not set +# CONFIG_IOMMU_DEBUG is not set +# CONFIG_IOMMU_STRESS is not set +CONFIG_HAVE_MMIOTRACE_SUPPORT=y +CONFIG_IO_DELAY_TYPE_0X80=0 +CONFIG_IO_DELAY_TYPE_0XED=1 +CONFIG_IO_DELAY_TYPE_UDELAY=2 +CONFIG_IO_DELAY_TYPE_NONE=3 +CONFIG_IO_DELAY_0X80=y +# CONFIG_IO_DELAY_0XED is not set +# CONFIG_IO_DELAY_UDELAY is not set +# CONFIG_IO_DELAY_NONE is not set +CONFIG_DEFAULT_IO_DELAY_TYPE=0 +# CONFIG_DEBUG_BOOT_PARAMS is not set +# CONFIG_CPA_DEBUG is not set +# CONFIG_OPTIMIZE_INLINING is not set +# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set + +# +# Security options +# +CONFIG_KEYS=y +CONFIG_TRUSTED_KEYS=m +CONFIG_ENCRYPTED_KEYS=m +# CONFIG_KEYS_DEBUG_PROC_KEYS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +CONFIG_SECURITY=y +CONFIG_SECURITYFS=y +CONFIG_SECURITY_NETWORK=y +# CONFIG_SECURITY_NETWORK_XFRM is not set +CONFIG_SECURITY_PATH=y +# CONFIG_INTEL_TXT is not set +# CONFIG_SECURITY_SELINUX is not set +# CONFIG_SECURITY_SMACK is not set +CONFIG_SECURITY_TOMOYO=y +CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048 +CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024 +# CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER is not set +CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init" +CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init" +CONFIG_SECURITY_APPARMOR=y +CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=0 +# CONFIG_IMA is not set +# CONFIG_DEFAULT_SECURITY_TOMOYO is not set +# CONFIG_DEFAULT_SECURITY_APPARMOR is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_XOR_BLOCKS=m +CONFIG_ASYNC_CORE=m +CONFIG_ASYNC_MEMCPY=m +CONFIG_ASYNC_XOR=m +CONFIG_ASYNC_PQ=m +CONFIG_ASYNC_RAID6_RECOV=m +CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y +CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=m +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=m +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=m +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_PCOMP=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +CONFIG_CRYPTO_USER=m +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_PCRYPT=m +CONFIG_CRYPTO_WORKQUEUE=y +CONFIG_CRYPTO_CRYPTD=m +CONFIG_CRYPTO_AUTHENC=m +CONFIG_CRYPTO_TEST=m + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +CONFIG_CRYPTO_SEQIV=m + +# +# Block modes +# +CONFIG_CRYPTO_CBC=m +CONFIG_CRYPTO_CTR=m +CONFIG_CRYPTO_CTS=m +CONFIG_CRYPTO_ECB=m +CONFIG_CRYPTO_LRW=m +CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_XTS=m + +# +# Hash modes +# +CONFIG_CRYPTO_HMAC=m +CONFIG_CRYPTO_XCBC=m +CONFIG_CRYPTO_VMAC=m + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=m +CONFIG_CRYPTO_CRC32C_INTEL=m +CONFIG_CRYPTO_GHASH=m +CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_MD5=m +CONFIG_CRYPTO_MICHAEL_MIC=m +CONFIG_CRYPTO_RMD128=m +CONFIG_CRYPTO_RMD160=m +CONFIG_CRYPTO_RMD256=m +CONFIG_CRYPTO_RMD320=m +CONFIG_CRYPTO_SHA1=m +CONFIG_CRYPTO_SHA1_SSSE3=m +CONFIG_CRYPTO_SHA256=m +CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_TGR192=m +CONFIG_CRYPTO_WP512=m +CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m + +# +# Ciphers +# +CONFIG_CRYPTO_AES=m +CONFIG_CRYPTO_AES_X86_64=m +CONFIG_CRYPTO_AES_NI_INTEL=m +CONFIG_CRYPTO_ANUBIS=m +CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_BLOWFISH_COMMON=m +CONFIG_CRYPTO_BLOWFISH_X86_64=m +CONFIG_CRYPTO_CAMELLIA=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST6=m +CONFIG_CRYPTO_DES=m +CONFIG_CRYPTO_FCRYPT=m +CONFIG_CRYPTO_KHAZAD=m +CONFIG_CRYPTO_SALSA20=m +CONFIG_CRYPTO_SALSA20_X86_64=m +CONFIG_CRYPTO_SEED=m +CONFIG_CRYPTO_SERPENT=m +CONFIG_CRYPTO_TEA=m +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_TWOFISH_COMMON=m +CONFIG_CRYPTO_TWOFISH_X86_64=m +CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=m +CONFIG_CRYPTO_ZLIB=m +CONFIG_CRYPTO_LZO=m + +# +# Random Number Generation +# +CONFIG_CRYPTO_ANSI_CPRNG=m +CONFIG_CRYPTO_USER_API=m +CONFIG_CRYPTO_USER_API_HASH=m +CONFIG_CRYPTO_USER_API_SKCIPHER=m +CONFIG_CRYPTO_HW=y +CONFIG_CRYPTO_DEV_PADLOCK=m +CONFIG_CRYPTO_DEV_PADLOCK_AES=m +CONFIG_CRYPTO_DEV_PADLOCK_SHA=m +CONFIG_HAVE_KVM=y +CONFIG_HAVE_KVM_IRQCHIP=y +CONFIG_HAVE_KVM_EVENTFD=y +CONFIG_KVM_APIC_ARCHITECTURE=y +CONFIG_KVM_MMIO=y +CONFIG_KVM_ASYNC_PF=y +CONFIG_VIRTUALIZATION=y +CONFIG_KVM=m +CONFIG_KVM_INTEL=m +CONFIG_KVM_AMD=m +CONFIG_KVM_MMU_AUDIT=y +CONFIG_VHOST_NET=m +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_RAID6_PQ=m +CONFIG_BITREVERSE=y +CONFIG_GENERIC_FIND_FIRST_BIT=y +CONFIG_CRC_CCITT=m +CONFIG_CRC16=m +CONFIG_CRC_T10DIF=m +CONFIG_CRC_ITU_T=m +CONFIG_CRC32=y +CONFIG_CRC7=m +CONFIG_LIBCRC32C=m +CONFIG_CRC8=m +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=m +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_REED_SOLOMON=m +CONFIG_REED_SOLOMON_DEC16=y +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_KMP=m +CONFIG_TEXTSEARCH_BM=m +CONFIG_TEXTSEARCH_FSM=m +CONFIG_BTREE=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y +CONFIG_HAS_DMA=y +CONFIG_CHECK_SIGNATURE=y +CONFIG_CPU_RMAP=y +CONFIG_NLATTR=y +CONFIG_LRU_CACHE=m +CONFIG_AVERAGE=y +CONFIG_CORDIC=m diff --git a/kernels/linux-libre-aufs_friendly/dib0700-fix.patch b/kernels/linux-libre-aufs_friendly/dib0700-fix.patch new file mode 100644 index 000000000..48f07e6fd --- /dev/null +++ b/kernels/linux-libre-aufs_friendly/dib0700-fix.patch @@ -0,0 +1,1487 @@ +commit 198c545cd7306dc90aaae1d61e64175e70a70dc8 +Author: Patrick Boettcher <Patrick.Boettcher@dibcom.fr> +Date: Wed Aug 3 17:08:21 2011 +0200 + + [media] DiBcom: protect the I2C bufer access + + This patch protect the I2C buffer access in order to manage concurrent + access. This protection is done using mutex. + Furthermore, for the dib9000, if a pid filtering command is + received during the tuning, this pid filtering command is delayed to + avoid any concurrent access issue. + + Cc: Mauro Carvalho Chehab <mchehab@redhat.com> + Cc: Florian Mickler <florian@mickler.org> + Cc: stable@kernel.org + + Signed-off-by: Olivier Grenie <olivier.grenie@dibcom.fr> + Signed-off-by: Patrick Boettcher <Patrick.Boettcher@dibcom.fr> + +diff --git a/drivers/media/dvb/frontends/dib0070.c b/drivers/media/dvb/frontends/dib0070.c +index 1d47d4d..dc1cb17 100644 +--- a/drivers/media/dvb/frontends/dib0070.c ++++ b/drivers/media/dvb/frontends/dib0070.c +@@ -27,6 +27,7 @@ + #include <linux/kernel.h> + #include <linux/slab.h> + #include <linux/i2c.h> ++#include <linux/mutex.h> + + #include "dvb_frontend.h" + +@@ -78,10 +79,18 @@ struct dib0070_state { + struct i2c_msg msg[2]; + u8 i2c_write_buffer[3]; + u8 i2c_read_buffer[2]; ++ struct mutex i2c_buffer_lock; + }; + +-static uint16_t dib0070_read_reg(struct dib0070_state *state, u8 reg) ++static u16 dib0070_read_reg(struct dib0070_state *state, u8 reg) + { ++ u16 ret; ++ ++ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } ++ + state->i2c_write_buffer[0] = reg; + + memset(state->msg, 0, 2 * sizeof(struct i2c_msg)); +@@ -96,13 +105,23 @@ static uint16_t dib0070_read_reg(struct dib0070_state *state, u8 reg) + + if (i2c_transfer(state->i2c, state->msg, 2) != 2) { + printk(KERN_WARNING "DiB0070 I2C read failed\n"); +- return 0; +- } +- return (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1]; ++ ret = 0; ++ } else ++ ret = (state->i2c_read_buffer[0] << 8) ++ | state->i2c_read_buffer[1]; ++ ++ mutex_unlock(&state->i2c_buffer_lock); ++ return ret; + } + + static int dib0070_write_reg(struct dib0070_state *state, u8 reg, u16 val) + { ++ int ret; ++ ++ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return -EINVAL; ++ } + state->i2c_write_buffer[0] = reg; + state->i2c_write_buffer[1] = val >> 8; + state->i2c_write_buffer[2] = val & 0xff; +@@ -115,9 +134,12 @@ static int dib0070_write_reg(struct dib0070_state *state, u8 reg, u16 val) + + if (i2c_transfer(state->i2c, state->msg, 1) != 1) { + printk(KERN_WARNING "DiB0070 I2C write failed\n"); +- return -EREMOTEIO; +- } +- return 0; ++ ret = -EREMOTEIO; ++ } else ++ ret = 0; ++ ++ mutex_unlock(&state->i2c_buffer_lock); ++ return ret; + } + + #define HARD_RESET(state) do { \ +@@ -734,6 +756,7 @@ struct dvb_frontend *dib0070_attach(struct dvb_frontend *fe, struct i2c_adapter + state->cfg = cfg; + state->i2c = i2c; + state->fe = fe; ++ mutex_init(&state->i2c_buffer_lock); + fe->tuner_priv = state; + + if (dib0070_reset(fe) != 0) +diff --git a/drivers/media/dvb/frontends/dib0090.c b/drivers/media/dvb/frontends/dib0090.c +index c9c935a..b174d1c 100644 +--- a/drivers/media/dvb/frontends/dib0090.c ++++ b/drivers/media/dvb/frontends/dib0090.c +@@ -27,6 +27,7 @@ + #include <linux/kernel.h> + #include <linux/slab.h> + #include <linux/i2c.h> ++#include <linux/mutex.h> + + #include "dvb_frontend.h" + +@@ -196,6 +197,7 @@ struct dib0090_state { + struct i2c_msg msg[2]; + u8 i2c_write_buffer[3]; + u8 i2c_read_buffer[2]; ++ struct mutex i2c_buffer_lock; + }; + + struct dib0090_fw_state { +@@ -208,10 +210,18 @@ struct dib0090_fw_state { + struct i2c_msg msg; + u8 i2c_write_buffer[2]; + u8 i2c_read_buffer[2]; ++ struct mutex i2c_buffer_lock; + }; + + static u16 dib0090_read_reg(struct dib0090_state *state, u8 reg) + { ++ u16 ret; ++ ++ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } ++ + state->i2c_write_buffer[0] = reg; + + memset(state->msg, 0, 2 * sizeof(struct i2c_msg)); +@@ -226,14 +236,24 @@ static u16 dib0090_read_reg(struct dib0090_state *state, u8 reg) + + if (i2c_transfer(state->i2c, state->msg, 2) != 2) { + printk(KERN_WARNING "DiB0090 I2C read failed\n"); +- return 0; +- } ++ ret = 0; ++ } else ++ ret = (state->i2c_read_buffer[0] << 8) ++ | state->i2c_read_buffer[1]; + +- return (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1]; ++ mutex_unlock(&state->i2c_buffer_lock); ++ return ret; + } + + static int dib0090_write_reg(struct dib0090_state *state, u32 reg, u16 val) + { ++ int ret; ++ ++ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return -EINVAL; ++ } ++ + state->i2c_write_buffer[0] = reg & 0xff; + state->i2c_write_buffer[1] = val >> 8; + state->i2c_write_buffer[2] = val & 0xff; +@@ -246,13 +266,23 @@ static int dib0090_write_reg(struct dib0090_state *state, u32 reg, u16 val) + + if (i2c_transfer(state->i2c, state->msg, 1) != 1) { + printk(KERN_WARNING "DiB0090 I2C write failed\n"); +- return -EREMOTEIO; +- } +- return 0; ++ ret = -EREMOTEIO; ++ } else ++ ret = 0; ++ ++ mutex_unlock(&state->i2c_buffer_lock); ++ return ret; + } + + static u16 dib0090_fw_read_reg(struct dib0090_fw_state *state, u8 reg) + { ++ u16 ret; ++ ++ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } ++ + state->i2c_write_buffer[0] = reg; + + memset(&state->msg, 0, sizeof(struct i2c_msg)); +@@ -262,13 +292,24 @@ static u16 dib0090_fw_read_reg(struct dib0090_fw_state *state, u8 reg) + state->msg.len = 2; + if (i2c_transfer(state->i2c, &state->msg, 1) != 1) { + printk(KERN_WARNING "DiB0090 I2C read failed\n"); +- return 0; +- } +- return (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1]; ++ ret = 0; ++ } else ++ ret = (state->i2c_read_buffer[0] << 8) ++ | state->i2c_read_buffer[1]; ++ ++ mutex_unlock(&state->i2c_buffer_lock); ++ return ret; + } + + static int dib0090_fw_write_reg(struct dib0090_fw_state *state, u8 reg, u16 val) + { ++ int ret; ++ ++ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return -EINVAL; ++ } ++ + state->i2c_write_buffer[0] = val >> 8; + state->i2c_write_buffer[1] = val & 0xff; + +@@ -279,9 +320,12 @@ static int dib0090_fw_write_reg(struct dib0090_fw_state *state, u8 reg, u16 val) + state->msg.len = 2; + if (i2c_transfer(state->i2c, &state->msg, 1) != 1) { + printk(KERN_WARNING "DiB0090 I2C write failed\n"); +- return -EREMOTEIO; +- } +- return 0; ++ ret = -EREMOTEIO; ++ } else ++ ret = 0; ++ ++ mutex_unlock(&state->i2c_buffer_lock); ++ return ret; + } + + #define HARD_RESET(state) do { if (cfg->reset) { if (cfg->sleep) cfg->sleep(fe, 0); msleep(10); cfg->reset(fe, 1); msleep(10); cfg->reset(fe, 0); msleep(10); } } while (0) +@@ -2440,6 +2484,7 @@ struct dvb_frontend *dib0090_register(struct dvb_frontend *fe, struct i2c_adapte + st->config = config; + st->i2c = i2c; + st->fe = fe; ++ mutex_init(&st->i2c_buffer_lock); + fe->tuner_priv = st; + + if (config->wbd == NULL) +@@ -2471,6 +2516,7 @@ struct dvb_frontend *dib0090_fw_register(struct dvb_frontend *fe, struct i2c_ada + st->config = config; + st->i2c = i2c; + st->fe = fe; ++ mutex_init(&st->i2c_buffer_lock); + fe->tuner_priv = st; + + if (dib0090_fw_reset_digital(fe, st->config) != 0) +diff --git a/drivers/media/dvb/frontends/dib7000m.c b/drivers/media/dvb/frontends/dib7000m.c +index 79cb1c2..dbb76d7 100644 +--- a/drivers/media/dvb/frontends/dib7000m.c ++++ b/drivers/media/dvb/frontends/dib7000m.c +@@ -11,6 +11,7 @@ + #include <linux/kernel.h> + #include <linux/slab.h> + #include <linux/i2c.h> ++#include <linux/mutex.h> + + #include "dvb_frontend.h" + +@@ -55,6 +56,7 @@ struct dib7000m_state { + struct i2c_msg msg[2]; + u8 i2c_write_buffer[4]; + u8 i2c_read_buffer[2]; ++ struct mutex i2c_buffer_lock; + }; + + enum dib7000m_power_mode { +@@ -69,6 +71,13 @@ enum dib7000m_power_mode { + + static u16 dib7000m_read_word(struct dib7000m_state *state, u16 reg) + { ++ u16 ret; ++ ++ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } ++ + state->i2c_write_buffer[0] = (reg >> 8) | 0x80; + state->i2c_write_buffer[1] = reg & 0xff; + +@@ -85,11 +94,21 @@ static u16 dib7000m_read_word(struct dib7000m_state *state, u16 reg) + if (i2c_transfer(state->i2c_adap, state->msg, 2) != 2) + dprintk("i2c read error on %d",reg); + +- return (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1]; ++ ret = (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1]; ++ mutex_unlock(&state->i2c_buffer_lock); ++ ++ return ret; + } + + static int dib7000m_write_word(struct dib7000m_state *state, u16 reg, u16 val) + { ++ int ret; ++ ++ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return -EINVAL; ++ } ++ + state->i2c_write_buffer[0] = (reg >> 8) & 0xff; + state->i2c_write_buffer[1] = reg & 0xff; + state->i2c_write_buffer[2] = (val >> 8) & 0xff; +@@ -101,7 +120,10 @@ static int dib7000m_write_word(struct dib7000m_state *state, u16 reg, u16 val) + state->msg[0].buf = state->i2c_write_buffer; + state->msg[0].len = 4; + +- return i2c_transfer(state->i2c_adap, state->msg, 1) != 1 ? -EREMOTEIO : 0; ++ ret = (i2c_transfer(state->i2c_adap, state->msg, 1) != 1 ? ++ -EREMOTEIO : 0); ++ mutex_unlock(&state->i2c_buffer_lock); ++ return ret; + } + static void dib7000m_write_tab(struct dib7000m_state *state, u16 *buf) + { +@@ -1385,6 +1407,7 @@ struct dvb_frontend * dib7000m_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, + demod = &st->demod; + demod->demodulator_priv = st; + memcpy(&st->demod.ops, &dib7000m_ops, sizeof(struct dvb_frontend_ops)); ++ mutex_init(&st->i2c_buffer_lock); + + st->timf_default = cfg->bw->timf; + +diff --git a/drivers/media/dvb/frontends/dib7000p.c b/drivers/media/dvb/frontends/dib7000p.c +index 0c9f40c..292bc19 100644 +--- a/drivers/media/dvb/frontends/dib7000p.c ++++ b/drivers/media/dvb/frontends/dib7000p.c +@@ -10,6 +10,7 @@ + #include <linux/kernel.h> + #include <linux/slab.h> + #include <linux/i2c.h> ++#include <linux/mutex.h> + + #include "dvb_math.h" + #include "dvb_frontend.h" +@@ -68,6 +69,7 @@ struct dib7000p_state { + struct i2c_msg msg[2]; + u8 i2c_write_buffer[4]; + u8 i2c_read_buffer[2]; ++ struct mutex i2c_buffer_lock; + }; + + enum dib7000p_power_mode { +@@ -81,6 +83,13 @@ static int dib7090_set_diversity_in(struct dvb_frontend *fe, int onoff); + + static u16 dib7000p_read_word(struct dib7000p_state *state, u16 reg) + { ++ u16 ret; ++ ++ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } ++ + state->i2c_write_buffer[0] = reg >> 8; + state->i2c_write_buffer[1] = reg & 0xff; + +@@ -97,11 +106,20 @@ static u16 dib7000p_read_word(struct dib7000p_state *state, u16 reg) + if (i2c_transfer(state->i2c_adap, state->msg, 2) != 2) + dprintk("i2c read error on %d", reg); + +- return (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1]; ++ ret = (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1]; ++ mutex_unlock(&state->i2c_buffer_lock); ++ return ret; + } + + static int dib7000p_write_word(struct dib7000p_state *state, u16 reg, u16 val) + { ++ int ret; ++ ++ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return -EINVAL; ++ } ++ + state->i2c_write_buffer[0] = (reg >> 8) & 0xff; + state->i2c_write_buffer[1] = reg & 0xff; + state->i2c_write_buffer[2] = (val >> 8) & 0xff; +@@ -113,7 +131,10 @@ static int dib7000p_write_word(struct dib7000p_state *state, u16 reg, u16 val) + state->msg[0].buf = state->i2c_write_buffer; + state->msg[0].len = 4; + +- return i2c_transfer(state->i2c_adap, state->msg, 1) != 1 ? -EREMOTEIO : 0; ++ ret = (i2c_transfer(state->i2c_adap, state->msg, 1) != 1 ? ++ -EREMOTEIO : 0); ++ mutex_unlock(&state->i2c_buffer_lock); ++ return ret; + } + + static void dib7000p_write_tab(struct dib7000p_state *state, u16 * buf) +@@ -1646,6 +1667,7 @@ int dib7000p_i2c_enumeration(struct i2c_adapter *i2c, int no_of_demods, u8 defau + return -ENOMEM; + + dpst->i2c_adap = i2c; ++ mutex_init(&dpst->i2c_buffer_lock); + + for (k = no_of_demods - 1; k >= 0; k--) { + dpst->cfg = cfg[k]; +@@ -2324,6 +2346,7 @@ struct dvb_frontend *dib7000p_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, + demod = &st->demod; + demod->demodulator_priv = st; + memcpy(&st->demod.ops, &dib7000p_ops, sizeof(struct dvb_frontend_ops)); ++ mutex_init(&st->i2c_buffer_lock); + + dib7000p_write_word(st, 1287, 0x0003); /* sram lead in, rdy */ + +@@ -2333,8 +2356,9 @@ struct dvb_frontend *dib7000p_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, + st->version = dib7000p_read_word(st, 897); + + /* FIXME: make sure the dev.parent field is initialized, or else +- request_firmware() will hit an OOPS (this should be moved somewhere +- more common) */ ++ request_firmware() will hit an OOPS (this should be moved somewhere ++ more common) */ ++ st->i2c_master.gated_tuner_i2c_adap.dev.parent = i2c_adap->dev.parent; + + dibx000_init_i2c_master(&st->i2c_master, DIB7000P, st->i2c_adap, st->i2c_addr); + +diff --git a/drivers/media/dvb/frontends/dib8000.c b/drivers/media/dvb/frontends/dib8000.c +index 7d2ea11..fe284d5 100644 +--- a/drivers/media/dvb/frontends/dib8000.c ++++ b/drivers/media/dvb/frontends/dib8000.c +@@ -10,6 +10,8 @@ + #include <linux/kernel.h> + #include <linux/slab.h> + #include <linux/i2c.h> ++#include <linux/mutex.h> ++ + #include "dvb_math.h" + + #include "dvb_frontend.h" +@@ -37,6 +39,7 @@ struct i2c_device { + u8 addr; + u8 *i2c_write_buffer; + u8 *i2c_read_buffer; ++ struct mutex *i2c_buffer_lock; + }; + + struct dib8000_state { +@@ -77,6 +80,7 @@ struct dib8000_state { + struct i2c_msg msg[2]; + u8 i2c_write_buffer[4]; + u8 i2c_read_buffer[2]; ++ struct mutex i2c_buffer_lock; + }; + + enum dib8000_power_mode { +@@ -86,24 +90,39 @@ enum dib8000_power_mode { + + static u16 dib8000_i2c_read16(struct i2c_device *i2c, u16 reg) + { ++ u16 ret; + struct i2c_msg msg[2] = { +- {.addr = i2c->addr >> 1, .flags = 0, +- .buf = i2c->i2c_write_buffer, .len = 2}, +- {.addr = i2c->addr >> 1, .flags = I2C_M_RD, +- .buf = i2c->i2c_read_buffer, .len = 2}, ++ {.addr = i2c->addr >> 1, .flags = 0, .len = 2}, ++ {.addr = i2c->addr >> 1, .flags = I2C_M_RD, .len = 2}, + }; + ++ if (mutex_lock_interruptible(i2c->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } ++ ++ msg[0].buf = i2c->i2c_write_buffer; + msg[0].buf[0] = reg >> 8; + msg[0].buf[1] = reg & 0xff; ++ msg[1].buf = i2c->i2c_read_buffer; + + if (i2c_transfer(i2c->adap, msg, 2) != 2) + dprintk("i2c read error on %d", reg); + +- return (msg[1].buf[0] << 8) | msg[1].buf[1]; ++ ret = (msg[1].buf[0] << 8) | msg[1].buf[1]; ++ mutex_unlock(i2c->i2c_buffer_lock); ++ return ret; + } + + static u16 dib8000_read_word(struct dib8000_state *state, u16 reg) + { ++ u16 ret; ++ ++ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } ++ + state->i2c_write_buffer[0] = reg >> 8; + state->i2c_write_buffer[1] = reg & 0xff; + +@@ -120,7 +139,10 @@ static u16 dib8000_read_word(struct dib8000_state *state, u16 reg) + if (i2c_transfer(state->i2c.adap, state->msg, 2) != 2) + dprintk("i2c read error on %d", reg); + +- return (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1]; ++ ret = (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1]; ++ mutex_unlock(&state->i2c_buffer_lock); ++ ++ return ret; + } + + static u32 dib8000_read32(struct dib8000_state *state, u16 reg) +@@ -135,22 +157,35 @@ static u32 dib8000_read32(struct dib8000_state *state, u16 reg) + + static int dib8000_i2c_write16(struct i2c_device *i2c, u16 reg, u16 val) + { +- struct i2c_msg msg = {.addr = i2c->addr >> 1, .flags = 0, +- .buf = i2c->i2c_write_buffer, .len = 4}; ++ struct i2c_msg msg = {.addr = i2c->addr >> 1, .flags = 0, .len = 4}; + int ret = 0; + ++ if (mutex_lock_interruptible(i2c->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return -EINVAL; ++ } ++ ++ msg.buf = i2c->i2c_write_buffer; + msg.buf[0] = (reg >> 8) & 0xff; + msg.buf[1] = reg & 0xff; + msg.buf[2] = (val >> 8) & 0xff; + msg.buf[3] = val & 0xff; + + ret = i2c_transfer(i2c->adap, &msg, 1) != 1 ? -EREMOTEIO : 0; ++ mutex_unlock(i2c->i2c_buffer_lock); + + return ret; + } + + static int dib8000_write_word(struct dib8000_state *state, u16 reg, u16 val) + { ++ int ret; ++ ++ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return -EINVAL; ++ } ++ + state->i2c_write_buffer[0] = (reg >> 8) & 0xff; + state->i2c_write_buffer[1] = reg & 0xff; + state->i2c_write_buffer[2] = (val >> 8) & 0xff; +@@ -162,7 +197,11 @@ static int dib8000_write_word(struct dib8000_state *state, u16 reg, u16 val) + state->msg[0].buf = state->i2c_write_buffer; + state->msg[0].len = 4; + +- return i2c_transfer(state->i2c.adap, state->msg, 1) != 1 ? -EREMOTEIO : 0; ++ ret = (i2c_transfer(state->i2c.adap, state->msg, 1) != 1 ? ++ -EREMOTEIO : 0); ++ mutex_unlock(&state->i2c_buffer_lock); ++ ++ return ret; + } + + static const s16 coeff_2k_sb_1seg_dqpsk[8] = { +@@ -2434,8 +2473,15 @@ int dib8000_i2c_enumeration(struct i2c_adapter *host, int no_of_demods, u8 defau + if (!client.i2c_read_buffer) { + dprintk("%s: not enough memory", __func__); + ret = -ENOMEM; +- goto error_memory; ++ goto error_memory_read; ++ } ++ client.i2c_buffer_lock = kzalloc(sizeof(struct mutex), GFP_KERNEL); ++ if (!client.i2c_buffer_lock) { ++ dprintk("%s: not enough memory", __func__); ++ ret = -ENOMEM; ++ goto error_memory_lock; + } ++ mutex_init(client.i2c_buffer_lock); + + for (k = no_of_demods - 1; k >= 0; k--) { + /* designated i2c address */ +@@ -2476,8 +2522,10 @@ int dib8000_i2c_enumeration(struct i2c_adapter *host, int no_of_demods, u8 defau + } + + error: ++ kfree(client.i2c_buffer_lock); ++error_memory_lock: + kfree(client.i2c_read_buffer); +-error_memory: ++error_memory_read: + kfree(client.i2c_write_buffer); + + return ret; +@@ -2581,6 +2629,8 @@ struct dvb_frontend *dib8000_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, s + state->i2c.addr = i2c_addr; + state->i2c.i2c_write_buffer = state->i2c_write_buffer; + state->i2c.i2c_read_buffer = state->i2c_read_buffer; ++ mutex_init(&state->i2c_buffer_lock); ++ state->i2c.i2c_buffer_lock = &state->i2c_buffer_lock; + state->gpio_val = cfg->gpio_val; + state->gpio_dir = cfg->gpio_dir; + +diff --git a/drivers/media/dvb/frontends/dib9000.c b/drivers/media/dvb/frontends/dib9000.c +index a085588..b931074 100644 +--- a/drivers/media/dvb/frontends/dib9000.c ++++ b/drivers/media/dvb/frontends/dib9000.c +@@ -38,6 +38,15 @@ struct i2c_device { + #define DibInitLock(lock) mutex_init(lock) + #define DibFreeLock(lock) + ++struct dib9000_pid_ctrl { ++#define DIB9000_PID_FILTER_CTRL 0 ++#define DIB9000_PID_FILTER 1 ++ u8 cmd; ++ u8 id; ++ u16 pid; ++ u8 onoff; ++}; ++ + struct dib9000_state { + struct i2c_device i2c; + +@@ -99,6 +108,10 @@ struct dib9000_state { + struct i2c_msg msg[2]; + u8 i2c_write_buffer[255]; + u8 i2c_read_buffer[255]; ++ DIB_LOCK demod_lock; ++ u8 get_frontend_internal; ++ struct dib9000_pid_ctrl pid_ctrl[10]; ++ s8 pid_ctrl_index; /* -1: empty list; -2: do not use the list */ + }; + + static const u32 fe_info[44] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1743,19 +1756,56 @@ EXPORT_SYMBOL(dib9000_set_gpio); + int dib9000_fw_pid_filter_ctrl(struct dvb_frontend *fe, u8 onoff) + { + struct dib9000_state *state = fe->demodulator_priv; +- u16 val = dib9000_read_word(state, 294 + 1) & 0xffef; ++ u16 val; ++ int ret; ++ ++ if ((state->pid_ctrl_index != -2) && (state->pid_ctrl_index < 9)) { ++ /* postpone the pid filtering cmd */ ++ dprintk("pid filter cmd postpone"); ++ state->pid_ctrl_index++; ++ state->pid_ctrl[state->pid_ctrl_index].cmd = DIB9000_PID_FILTER_CTRL; ++ state->pid_ctrl[state->pid_ctrl_index].onoff = onoff; ++ return 0; ++ } ++ ++ DibAcquireLock(&state->demod_lock); ++ ++ val = dib9000_read_word(state, 294 + 1) & 0xffef; + val |= (onoff & 0x1) << 4; + + dprintk("PID filter enabled %d", onoff); +- return dib9000_write_word(state, 294 + 1, val); ++ ret = dib9000_write_word(state, 294 + 1, val); ++ DibReleaseLock(&state->demod_lock); ++ return ret; ++ + } + EXPORT_SYMBOL(dib9000_fw_pid_filter_ctrl); + + int dib9000_fw_pid_filter(struct dvb_frontend *fe, u8 id, u16 pid, u8 onoff) + { + struct dib9000_state *state = fe->demodulator_priv; ++ int ret; ++ ++ if (state->pid_ctrl_index != -2) { ++ /* postpone the pid filtering cmd */ ++ dprintk("pid filter postpone"); ++ if (state->pid_ctrl_index < 9) { ++ state->pid_ctrl_index++; ++ state->pid_ctrl[state->pid_ctrl_index].cmd = DIB9000_PID_FILTER; ++ state->pid_ctrl[state->pid_ctrl_index].id = id; ++ state->pid_ctrl[state->pid_ctrl_index].pid = pid; ++ state->pid_ctrl[state->pid_ctrl_index].onoff = onoff; ++ } else ++ dprintk("can not add any more pid ctrl cmd"); ++ return 0; ++ } ++ ++ DibAcquireLock(&state->demod_lock); + dprintk("Index %x, PID %d, OnOff %d", id, pid, onoff); +- return dib9000_write_word(state, 300 + 1 + id, onoff ? (1 << 13) | pid : 0); ++ ret = dib9000_write_word(state, 300 + 1 + id, ++ onoff ? (1 << 13) | pid : 0); ++ DibReleaseLock(&state->demod_lock); ++ return ret; + } + EXPORT_SYMBOL(dib9000_fw_pid_filter); + +@@ -1778,6 +1828,7 @@ static void dib9000_release(struct dvb_frontend *demod) + DibFreeLock(&state->platform.risc.mbx_lock); + DibFreeLock(&state->platform.risc.mem_lock); + DibFreeLock(&state->platform.risc.mem_mbx_lock); ++ DibFreeLock(&state->demod_lock); + dibx000_exit_i2c_master(&st->i2c_master); + + i2c_del_adapter(&st->tuner_adap); +@@ -1795,14 +1846,19 @@ static int dib9000_sleep(struct dvb_frontend *fe) + { + struct dib9000_state *state = fe->demodulator_priv; + u8 index_frontend; +- int ret; ++ int ret = 0; + ++ DibAcquireLock(&state->demod_lock); + for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++) { + ret = state->fe[index_frontend]->ops.sleep(state->fe[index_frontend]); + if (ret < 0) +- return ret; ++ goto error; + } +- return dib9000_mbx_send(state, OUT_MSG_FE_SLEEP, NULL, 0); ++ ret = dib9000_mbx_send(state, OUT_MSG_FE_SLEEP, NULL, 0); ++ ++error: ++ DibReleaseLock(&state->demod_lock); ++ return ret; + } + + static int dib9000_fe_get_tune_settings(struct dvb_frontend *fe, struct dvb_frontend_tune_settings *tune) +@@ -1816,7 +1872,10 @@ static int dib9000_get_frontend(struct dvb_frontend *fe, struct dvb_frontend_par + struct dib9000_state *state = fe->demodulator_priv; + u8 index_frontend, sub_index_frontend; + fe_status_t stat; +- int ret; ++ int ret = 0; ++ ++ if (state->get_frontend_internal == 0) ++ DibAcquireLock(&state->demod_lock); + + for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++) { + state->fe[index_frontend]->ops.read_status(state->fe[index_frontend], &stat); +@@ -1846,14 +1905,15 @@ static int dib9000_get_frontend(struct dvb_frontend *fe, struct dvb_frontend_par + state->fe[index_frontend]->dtv_property_cache.rolloff; + } + } +- return 0; ++ ret = 0; ++ goto return_value; + } + } + + /* get the channel from master chip */ + ret = dib9000_fw_get_channel(fe, fep); + if (ret != 0) +- return ret; ++ goto return_value; + + /* synchronize the cache with the other frontends */ + for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++) { +@@ -1866,8 +1926,12 @@ static int dib9000_get_frontend(struct dvb_frontend *fe, struct dvb_frontend_par + state->fe[index_frontend]->dtv_property_cache.code_rate_LP = fe->dtv_property_cache.code_rate_LP; + state->fe[index_frontend]->dtv_property_cache.rolloff = fe->dtv_property_cache.rolloff; + } ++ ret = 0; + +- return 0; ++return_value: ++ if (state->get_frontend_internal == 0) ++ DibReleaseLock(&state->demod_lock); ++ return ret; + } + + static int dib9000_set_tune_state(struct dvb_frontend *fe, enum frontend_tune_state tune_state) +@@ -1912,6 +1976,10 @@ static int dib9000_set_frontend(struct dvb_frontend *fe, struct dvb_frontend_par + dprintk("dib9000: must specify bandwidth "); + return 0; + } ++ ++ state->pid_ctrl_index = -1; /* postpone the pid filtering cmd */ ++ DibAcquireLock(&state->demod_lock); ++ + fe->dtv_property_cache.delivery_system = SYS_DVBT; + + /* set the master status */ +@@ -1974,13 +2042,18 @@ static int dib9000_set_frontend(struct dvb_frontend *fe, struct dvb_frontend_par + /* check the tune result */ + if (exit_condition == 1) { /* tune failed */ + dprintk("tune failed"); ++ DibReleaseLock(&state->demod_lock); ++ /* tune failed; put all the pid filtering cmd to junk */ ++ state->pid_ctrl_index = -1; + return 0; + } + + dprintk("tune success on frontend%i", index_frontend_success); + + /* synchronize all the channel cache */ ++ state->get_frontend_internal = 1; + dib9000_get_frontend(state->fe[0], fep); ++ state->get_frontend_internal = 0; + + /* retune the other frontends with the found channel */ + channel_status.status = CHANNEL_STATUS_PARAMETERS_SET; +@@ -2025,6 +2098,28 @@ static int dib9000_set_frontend(struct dvb_frontend *fe, struct dvb_frontend_par + /* turn off the diversity for the last frontend */ + dib9000_fw_set_diversity_in(state->fe[index_frontend - 1], 0); + ++ DibReleaseLock(&state->demod_lock); ++ if (state->pid_ctrl_index >= 0) { ++ u8 index_pid_filter_cmd; ++ u8 pid_ctrl_index = state->pid_ctrl_index; ++ ++ state->pid_ctrl_index = -2; ++ for (index_pid_filter_cmd = 0; ++ index_pid_filter_cmd <= pid_ctrl_index; ++ index_pid_filter_cmd++) { ++ if (state->pid_ctrl[index_pid_filter_cmd].cmd == DIB9000_PID_FILTER_CTRL) ++ dib9000_fw_pid_filter_ctrl(state->fe[0], ++ state->pid_ctrl[index_pid_filter_cmd].onoff); ++ else if (state->pid_ctrl[index_pid_filter_cmd].cmd == DIB9000_PID_FILTER) ++ dib9000_fw_pid_filter(state->fe[0], ++ state->pid_ctrl[index_pid_filter_cmd].id, ++ state->pid_ctrl[index_pid_filter_cmd].pid, ++ state->pid_ctrl[index_pid_filter_cmd].onoff); ++ } ++ } ++ /* do not postpone any more the pid filtering */ ++ state->pid_ctrl_index = -2; ++ + return 0; + } + +@@ -2041,6 +2136,7 @@ static int dib9000_read_status(struct dvb_frontend *fe, fe_status_t * stat) + u8 index_frontend; + u16 lock = 0, lock_slave = 0; + ++ DibAcquireLock(&state->demod_lock); + for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++) + lock_slave |= dib9000_read_lock(state->fe[index_frontend]); + +@@ -2059,6 +2155,8 @@ static int dib9000_read_status(struct dvb_frontend *fe, fe_status_t * stat) + if ((lock & 0x0008) || (lock_slave & 0x0008)) + *stat |= FE_HAS_LOCK; + ++ DibReleaseLock(&state->demod_lock); ++ + return 0; + } + +@@ -2066,10 +2164,14 @@ static int dib9000_read_ber(struct dvb_frontend *fe, u32 * ber) + { + struct dib9000_state *state = fe->demodulator_priv; + u16 *c; ++ int ret = 0; + ++ DibAcquireLock(&state->demod_lock); + DibAcquireLock(&state->platform.risc.mem_mbx_lock); +- if (dib9000_fw_memmbx_sync(state, FE_SYNC_CHANNEL) < 0) +- return -EIO; ++ if (dib9000_fw_memmbx_sync(state, FE_SYNC_CHANNEL) < 0) { ++ ret = -EIO; ++ goto error; ++ } + dib9000_risc_mem_read(state, FE_MM_R_FE_MONITOR, + state->i2c_read_buffer, 16 * 2); + DibReleaseLock(&state->platform.risc.mem_mbx_lock); +@@ -2077,7 +2179,10 @@ static int dib9000_read_ber(struct dvb_frontend *fe, u32 * ber) + c = (u16 *)state->i2c_read_buffer; + + *ber = c[10] << 16 | c[11]; +- return 0; ++ ++error: ++ DibReleaseLock(&state->demod_lock); ++ return ret; + } + + static int dib9000_read_signal_strength(struct dvb_frontend *fe, u16 * strength) +@@ -2086,7 +2191,9 @@ static int dib9000_read_signal_strength(struct dvb_frontend *fe, u16 * strength) + u8 index_frontend; + u16 *c = (u16 *)state->i2c_read_buffer; + u16 val; ++ int ret = 0; + ++ DibAcquireLock(&state->demod_lock); + *strength = 0; + for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++) { + state->fe[index_frontend]->ops.read_signal_strength(state->fe[index_frontend], &val); +@@ -2097,8 +2204,10 @@ static int dib9000_read_signal_strength(struct dvb_frontend *fe, u16 * strength) + } + + DibAcquireLock(&state->platform.risc.mem_mbx_lock); +- if (dib9000_fw_memmbx_sync(state, FE_SYNC_CHANNEL) < 0) +- return -EIO; ++ if (dib9000_fw_memmbx_sync(state, FE_SYNC_CHANNEL) < 0) { ++ ret = -EIO; ++ goto error; ++ } + dib9000_risc_mem_read(state, FE_MM_R_FE_MONITOR, (u8 *) c, 16 * 2); + DibReleaseLock(&state->platform.risc.mem_mbx_lock); + +@@ -2107,7 +2216,10 @@ static int dib9000_read_signal_strength(struct dvb_frontend *fe, u16 * strength) + *strength = 65535; + else + *strength += val; +- return 0; ++ ++error: ++ DibReleaseLock(&state->demod_lock); ++ return ret; + } + + static u32 dib9000_get_snr(struct dvb_frontend *fe) +@@ -2151,6 +2263,7 @@ static int dib9000_read_snr(struct dvb_frontend *fe, u16 * snr) + u8 index_frontend; + u32 snr_master; + ++ DibAcquireLock(&state->demod_lock); + snr_master = dib9000_get_snr(fe); + for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++) + snr_master += dib9000_get_snr(state->fe[index_frontend]); +@@ -2161,6 +2274,8 @@ static int dib9000_read_snr(struct dvb_frontend *fe, u16 * snr) + } else + *snr = 0; + ++ DibReleaseLock(&state->demod_lock); ++ + return 0; + } + +@@ -2168,15 +2283,22 @@ static int dib9000_read_unc_blocks(struct dvb_frontend *fe, u32 * unc) + { + struct dib9000_state *state = fe->demodulator_priv; + u16 *c = (u16 *)state->i2c_read_buffer; ++ int ret = 0; + ++ DibAcquireLock(&state->demod_lock); + DibAcquireLock(&state->platform.risc.mem_mbx_lock); +- if (dib9000_fw_memmbx_sync(state, FE_SYNC_CHANNEL) < 0) +- return -EIO; ++ if (dib9000_fw_memmbx_sync(state, FE_SYNC_CHANNEL) < 0) { ++ ret = -EIO; ++ goto error; ++ } + dib9000_risc_mem_read(state, FE_MM_R_FE_MONITOR, (u8 *) c, 16 * 2); + DibReleaseLock(&state->platform.risc.mem_mbx_lock); + + *unc = c[12]; +- return 0; ++ ++error: ++ DibReleaseLock(&state->demod_lock); ++ return ret; + } + + int dib9000_i2c_enumeration(struct i2c_adapter *i2c, int no_of_demods, u8 default_addr, u8 first_addr) +@@ -2322,6 +2444,10 @@ struct dvb_frontend *dib9000_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, c + DibInitLock(&st->platform.risc.mbx_lock); + DibInitLock(&st->platform.risc.mem_lock); + DibInitLock(&st->platform.risc.mem_mbx_lock); ++ DibInitLock(&st->demod_lock); ++ st->get_frontend_internal = 0; ++ ++ st->pid_ctrl_index = -2; + + st->fe[0] = fe; + fe->demodulator_priv = st; +diff --git a/drivers/media/dvb/frontends/dibx000_common.c b/drivers/media/dvb/frontends/dibx000_common.c +index dc5d17a..774d507 100644 +--- a/drivers/media/dvb/frontends/dibx000_common.c ++++ b/drivers/media/dvb/frontends/dibx000_common.c +@@ -1,4 +1,5 @@ + #include <linux/i2c.h> ++#include <linux/mutex.h> + + #include "dibx000_common.h" + +@@ -10,6 +11,13 @@ MODULE_PARM_DESC(debug, "turn on debugging (default: 0)"); + + static int dibx000_write_word(struct dibx000_i2c_master *mst, u16 reg, u16 val) + { ++ int ret; ++ ++ if (mutex_lock_interruptible(&mst->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return -EINVAL; ++ } ++ + mst->i2c_write_buffer[0] = (reg >> 8) & 0xff; + mst->i2c_write_buffer[1] = reg & 0xff; + mst->i2c_write_buffer[2] = (val >> 8) & 0xff; +@@ -21,11 +29,21 @@ static int dibx000_write_word(struct dibx000_i2c_master *mst, u16 reg, u16 val) + mst->msg[0].buf = mst->i2c_write_buffer; + mst->msg[0].len = 4; + +- return i2c_transfer(mst->i2c_adap, mst->msg, 1) != 1 ? -EREMOTEIO : 0; ++ ret = i2c_transfer(mst->i2c_adap, mst->msg, 1) != 1 ? -EREMOTEIO : 0; ++ mutex_unlock(&mst->i2c_buffer_lock); ++ ++ return ret; + } + + static u16 dibx000_read_word(struct dibx000_i2c_master *mst, u16 reg) + { ++ u16 ret; ++ ++ if (mutex_lock_interruptible(&mst->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } ++ + mst->i2c_write_buffer[0] = reg >> 8; + mst->i2c_write_buffer[1] = reg & 0xff; + +@@ -42,7 +60,10 @@ static u16 dibx000_read_word(struct dibx000_i2c_master *mst, u16 reg) + if (i2c_transfer(mst->i2c_adap, mst->msg, 2) != 2) + dprintk("i2c read error on %d", reg); + +- return (mst->i2c_read_buffer[0] << 8) | mst->i2c_read_buffer[1]; ++ ret = (mst->i2c_read_buffer[0] << 8) | mst->i2c_read_buffer[1]; ++ mutex_unlock(&mst->i2c_buffer_lock); ++ ++ return ret; + } + + static int dibx000_is_i2c_done(struct dibx000_i2c_master *mst) +@@ -257,6 +278,7 @@ static int dibx000_i2c_gated_gpio67_xfer(struct i2c_adapter *i2c_adap, + struct i2c_msg msg[], int num) + { + struct dibx000_i2c_master *mst = i2c_get_adapdata(i2c_adap); ++ int ret; + + if (num > 32) { + dprintk("%s: too much I2C message to be transmitted (%i).\ +@@ -264,10 +286,15 @@ static int dibx000_i2c_gated_gpio67_xfer(struct i2c_adapter *i2c_adap, + return -ENOMEM; + } + +- memset(mst->msg, 0, sizeof(struct i2c_msg) * (2 + num)); +- + dibx000_i2c_select_interface(mst, DIBX000_I2C_INTERFACE_GPIO_6_7); + ++ if (mutex_lock_interruptible(&mst->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return -EINVAL; ++ } ++ ++ memset(mst->msg, 0, sizeof(struct i2c_msg) * (2 + num)); ++ + /* open the gate */ + dibx000_i2c_gate_ctrl(mst, &mst->i2c_write_buffer[0], msg[0].addr, 1); + mst->msg[0].addr = mst->i2c_addr; +@@ -282,7 +309,11 @@ static int dibx000_i2c_gated_gpio67_xfer(struct i2c_adapter *i2c_adap, + mst->msg[num + 1].buf = &mst->i2c_write_buffer[4]; + mst->msg[num + 1].len = 4; + +- return i2c_transfer(mst->i2c_adap, mst->msg, 2 + num) == 2 + num ? num : -EIO; ++ ret = (i2c_transfer(mst->i2c_adap, mst->msg, 2 + num) == 2 + num ? ++ num : -EIO); ++ ++ mutex_unlock(&mst->i2c_buffer_lock); ++ return ret; + } + + static struct i2c_algorithm dibx000_i2c_gated_gpio67_algo = { +@@ -294,6 +325,7 @@ static int dibx000_i2c_gated_tuner_xfer(struct i2c_adapter *i2c_adap, + struct i2c_msg msg[], int num) + { + struct dibx000_i2c_master *mst = i2c_get_adapdata(i2c_adap); ++ int ret; + + if (num > 32) { + dprintk("%s: too much I2C message to be transmitted (%i).\ +@@ -301,10 +333,14 @@ static int dibx000_i2c_gated_tuner_xfer(struct i2c_adapter *i2c_adap, + return -ENOMEM; + } + +- memset(mst->msg, 0, sizeof(struct i2c_msg) * (2 + num)); +- + dibx000_i2c_select_interface(mst, DIBX000_I2C_INTERFACE_TUNER); + ++ if (mutex_lock_interruptible(&mst->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return -EINVAL; ++ } ++ memset(mst->msg, 0, sizeof(struct i2c_msg) * (2 + num)); ++ + /* open the gate */ + dibx000_i2c_gate_ctrl(mst, &mst->i2c_write_buffer[0], msg[0].addr, 1); + mst->msg[0].addr = mst->i2c_addr; +@@ -319,7 +355,10 @@ static int dibx000_i2c_gated_tuner_xfer(struct i2c_adapter *i2c_adap, + mst->msg[num + 1].buf = &mst->i2c_write_buffer[4]; + mst->msg[num + 1].len = 4; + +- return i2c_transfer(mst->i2c_adap, mst->msg, 2 + num) == 2 + num ? num : -EIO; ++ ret = (i2c_transfer(mst->i2c_adap, mst->msg, 2 + num) == 2 + num ? ++ num : -EIO); ++ mutex_unlock(&mst->i2c_buffer_lock); ++ return ret; + } + + static struct i2c_algorithm dibx000_i2c_gated_tuner_algo = { +@@ -390,8 +429,18 @@ static int i2c_adapter_init(struct i2c_adapter *i2c_adap, + int dibx000_init_i2c_master(struct dibx000_i2c_master *mst, u16 device_rev, + struct i2c_adapter *i2c_adap, u8 i2c_addr) + { +- u8 tx[4]; +- struct i2c_msg m = {.addr = i2c_addr >> 1,.buf = tx,.len = 4 }; ++ int ret; ++ ++ mutex_init(&mst->i2c_buffer_lock); ++ if (mutex_lock_interruptible(&mst->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return -EINVAL; ++ } ++ memset(mst->msg, 0, sizeof(struct i2c_msg)); ++ mst->msg[0].addr = i2c_addr >> 1; ++ mst->msg[0].flags = 0; ++ mst->msg[0].buf = mst->i2c_write_buffer; ++ mst->msg[0].len = 4; + + mst->device_rev = device_rev; + mst->i2c_adap = i2c_adap; +@@ -431,9 +480,12 @@ int dibx000_init_i2c_master(struct dibx000_i2c_master *mst, u16 device_rev, + "DiBX000: could not initialize the master i2c_adapter\n"); + + /* initialize the i2c-master by closing the gate */ +- dibx000_i2c_gate_ctrl(mst, tx, 0, 0); ++ dibx000_i2c_gate_ctrl(mst, mst->i2c_write_buffer, 0, 0); ++ ++ ret = (i2c_transfer(i2c_adap, mst->msg, 1) == 1); ++ mutex_unlock(&mst->i2c_buffer_lock); + +- return i2c_transfer(i2c_adap, &m, 1) == 1; ++ return ret; + } + + EXPORT_SYMBOL(dibx000_init_i2c_master); +diff --git a/drivers/media/dvb/frontends/dibx000_common.h b/drivers/media/dvb/frontends/dibx000_common.h +index f031165..5e01147 100644 +--- a/drivers/media/dvb/frontends/dibx000_common.h ++++ b/drivers/media/dvb/frontends/dibx000_common.h +@@ -33,6 +33,7 @@ struct dibx000_i2c_master { + struct i2c_msg msg[34]; + u8 i2c_write_buffer[8]; + u8 i2c_read_buffer[2]; ++ struct mutex i2c_buffer_lock; + }; + + extern int dibx000_init_i2c_master(struct dibx000_i2c_master *mst, +commit 45cbff13693d645fa5dcbba964e802e1746b2e57 +Author: Olivier Grenie <olivier.grenie@dibcom.fr> +Date: Mon Aug 1 17:45:58 2011 +0200 + + [media] dib0700: protect the dib0700 buffer access + + This patch protects the common buffer access inside the dib0700 in order + to manage concurrent access. This protection is done using mutex. + + Cc: Mauro Carvalho Chehab <mchehab@redhat.com> + Cc: Florian Mickler <florian@mickler.org> + Cc: stable@kernel.org + + Signed-off-by: Javier Marcet <javier@marcet.info> + Signed-off-by: Olivier Grenie <olivier.grenie@dibcom.fr> + Signed-off-by: Patrick Boettcher <patrick.boettcher@dibcom.fr> + +diff --git a/drivers/media/dvb/dvb-usb/dib0700_core.c b/drivers/media/dvb/dvb-usb/dib0700_core.c +index 5eb91b4..291b645 100644 +--- a/drivers/media/dvb/dvb-usb/dib0700_core.c ++++ b/drivers/media/dvb/dvb-usb/dib0700_core.c +@@ -30,6 +30,11 @@ int dib0700_get_version(struct dvb_usb_device *d, u32 *hwversion, + struct dib0700_state *st = d->priv; + int ret; + ++ if (mutex_lock_interruptible(&d->usb_mutex) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } ++ + ret = usb_control_msg(d->udev, usb_rcvctrlpipe(d->udev, 0), + REQUEST_GET_VERSION, + USB_TYPE_VENDOR | USB_DIR_IN, 0, 0, +@@ -46,6 +51,7 @@ int dib0700_get_version(struct dvb_usb_device *d, u32 *hwversion, + if (fwtype != NULL) + *fwtype = (st->buf[12] << 24) | (st->buf[13] << 16) | + (st->buf[14] << 8) | st->buf[15]; ++ mutex_unlock(&d->usb_mutex); + return ret; + } + +@@ -108,7 +114,12 @@ int dib0700_ctrl_rd(struct dvb_usb_device *d, u8 *tx, u8 txlen, u8 *rx, u8 rxlen + int dib0700_set_gpio(struct dvb_usb_device *d, enum dib07x0_gpios gpio, u8 gpio_dir, u8 gpio_val) + { + struct dib0700_state *st = d->priv; +- s16 ret; ++ int ret; ++ ++ if (mutex_lock_interruptible(&d->usb_mutex) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } + + st->buf[0] = REQUEST_SET_GPIO; + st->buf[1] = gpio; +@@ -116,6 +127,7 @@ int dib0700_set_gpio(struct dvb_usb_device *d, enum dib07x0_gpios gpio, u8 gpio_ + + ret = dib0700_ctrl_wr(d, st->buf, 3); + ++ mutex_unlock(&d->usb_mutex); + return ret; + } + +@@ -125,6 +137,11 @@ static int dib0700_set_usb_xfer_len(struct dvb_usb_device *d, u16 nb_ts_packets) + int ret; + + if (st->fw_version >= 0x10201) { ++ if (mutex_lock_interruptible(&d->usb_mutex) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } ++ + st->buf[0] = REQUEST_SET_USB_XFER_LEN; + st->buf[1] = (nb_ts_packets >> 8) & 0xff; + st->buf[2] = nb_ts_packets & 0xff; +@@ -132,6 +149,7 @@ static int dib0700_set_usb_xfer_len(struct dvb_usb_device *d, u16 nb_ts_packets) + deb_info("set the USB xfer len to %i Ts packet\n", nb_ts_packets); + + ret = dib0700_ctrl_wr(d, st->buf, 3); ++ mutex_unlock(&d->usb_mutex); + } else { + deb_info("this firmware does not allow to change the USB xfer len\n"); + ret = -EIO; +@@ -208,6 +226,10 @@ static int dib0700_i2c_xfer_new(struct i2c_adapter *adap, struct i2c_msg *msg, + + } else { + /* Write request */ ++ if (mutex_lock_interruptible(&d->usb_mutex) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } + st->buf[0] = REQUEST_NEW_I2C_WRITE; + st->buf[1] = msg[i].addr << 1; + st->buf[2] = (en_start << 7) | (en_stop << 6) | +@@ -227,6 +249,7 @@ static int dib0700_i2c_xfer_new(struct i2c_adapter *adap, struct i2c_msg *msg, + USB_TYPE_VENDOR | USB_DIR_OUT, + 0, 0, st->buf, msg[i].len + 4, + USB_CTRL_GET_TIMEOUT); ++ mutex_unlock(&d->usb_mutex); + if (result < 0) { + deb_info("i2c write error (status = %d)\n", result); + break; +@@ -249,6 +272,10 @@ static int dib0700_i2c_xfer_legacy(struct i2c_adapter *adap, + + if (mutex_lock_interruptible(&d->i2c_mutex) < 0) + return -EAGAIN; ++ if (mutex_lock_interruptible(&d->usb_mutex) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } + + for (i = 0; i < num; i++) { + /* fill in the address */ +@@ -279,6 +306,7 @@ static int dib0700_i2c_xfer_legacy(struct i2c_adapter *adap, + break; + } + } ++ mutex_unlock(&d->usb_mutex); + mutex_unlock(&d->i2c_mutex); + + return i; +@@ -337,7 +365,12 @@ static int dib0700_set_clock(struct dvb_usb_device *d, u8 en_pll, + u16 pll_loopdiv, u16 free_div, u16 dsuScaler) + { + struct dib0700_state *st = d->priv; +- s16 ret; ++ int ret; ++ ++ if (mutex_lock_interruptible(&d->usb_mutex) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } + + st->buf[0] = REQUEST_SET_CLOCK; + st->buf[1] = (en_pll << 7) | (pll_src << 6) | +@@ -352,6 +385,7 @@ static int dib0700_set_clock(struct dvb_usb_device *d, u8 en_pll, + st->buf[9] = dsuScaler & 0xff; /* LSB */ + + ret = dib0700_ctrl_wr(d, st->buf, 10); ++ mutex_unlock(&d->usb_mutex); + + return ret; + } +@@ -360,10 +394,16 @@ int dib0700_set_i2c_speed(struct dvb_usb_device *d, u16 scl_kHz) + { + struct dib0700_state *st = d->priv; + u16 divider; ++ int ret; + + if (scl_kHz == 0) + return -EINVAL; + ++ if (mutex_lock_interruptible(&d->usb_mutex) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } ++ + st->buf[0] = REQUEST_SET_I2C_PARAM; + divider = (u16) (30000 / scl_kHz); + st->buf[1] = 0; +@@ -379,7 +419,11 @@ int dib0700_set_i2c_speed(struct dvb_usb_device *d, u16 scl_kHz) + deb_info("setting I2C speed: %04x %04x %04x (%d kHz).", + (st->buf[2] << 8) | (st->buf[3]), (st->buf[4] << 8) | + st->buf[5], (st->buf[6] << 8) | st->buf[7], scl_kHz); +- return dib0700_ctrl_wr(d, st->buf, 8); ++ ++ ret = dib0700_ctrl_wr(d, st->buf, 8); ++ mutex_unlock(&d->usb_mutex); ++ ++ return ret; + } + + +@@ -515,6 +559,11 @@ int dib0700_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff) + } + } + ++ if (mutex_lock_interruptible(&adap->dev->usb_mutex) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } ++ + st->buf[0] = REQUEST_ENABLE_VIDEO; + /* this bit gives a kind of command, + * rather than enabling something or not */ +@@ -548,7 +597,10 @@ int dib0700_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff) + + deb_info("data for streaming: %x %x\n", st->buf[1], st->buf[2]); + +- return dib0700_ctrl_wr(adap->dev, st->buf, 4); ++ ret = dib0700_ctrl_wr(adap->dev, st->buf, 4); ++ mutex_unlock(&adap->dev->usb_mutex); ++ ++ return ret; + } + + int dib0700_change_protocol(struct rc_dev *rc, u64 rc_type) +@@ -557,6 +609,11 @@ int dib0700_change_protocol(struct rc_dev *rc, u64 rc_type) + struct dib0700_state *st = d->priv; + int new_proto, ret; + ++ if (mutex_lock_interruptible(&d->usb_mutex) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } ++ + st->buf[0] = REQUEST_SET_RC; + st->buf[1] = 0; + st->buf[2] = 0; +@@ -567,23 +624,29 @@ int dib0700_change_protocol(struct rc_dev *rc, u64 rc_type) + else if (rc_type == RC_TYPE_NEC) + new_proto = 0; + else if (rc_type == RC_TYPE_RC6) { +- if (st->fw_version < 0x10200) +- return -EINVAL; ++ if (st->fw_version < 0x10200) { ++ ret = -EINVAL; ++ goto out; ++ } + + new_proto = 2; +- } else +- return -EINVAL; ++ } else { ++ ret = -EINVAL; ++ goto out; ++ } + + st->buf[1] = new_proto; + + ret = dib0700_ctrl_wr(d, st->buf, 3); + if (ret < 0) { + err("ir protocol setup failed"); +- return ret; ++ goto out; + } + + d->props.rc.core.protocol = rc_type; + ++out: ++ mutex_unlock(&d->usb_mutex); + return ret; + } + +commit aeb2d456b746164a4bd19e53de0a6678ca63fcad +Author: Olivier Grenie <olivier.grenie@dibcom.fr> +Date: Thu Aug 4 18:10:03 2011 +0200 + + [media] dib0700: correct error message + + The goal of this patch is to correct a previous patch. In case of error, + the err() function should be used instead of dprintk() function. + + Signed-off-by: Olivier Grenie <olivier.grenie@dibcom.fr> + +diff --git a/drivers/media/dvb/dvb-usb/dib0700_core.c b/drivers/media/dvb/dvb-usb/dib0700_core.c +index 291b645..b693ed1 100644 +--- a/drivers/media/dvb/dvb-usb/dib0700_core.c ++++ b/drivers/media/dvb/dvb-usb/dib0700_core.c +@@ -31,7 +31,7 @@ int dib0700_get_version(struct dvb_usb_device *d, u32 *hwversion, + int ret; + + if (mutex_lock_interruptible(&d->usb_mutex) < 0) { +- dprintk("could not acquire lock"); ++ err("could not acquire lock"); + return 0; + } + +@@ -117,7 +117,7 @@ int dib0700_set_gpio(struct dvb_usb_device *d, enum dib07x0_gpios gpio, u8 gpio_ + int ret; + + if (mutex_lock_interruptible(&d->usb_mutex) < 0) { +- dprintk("could not acquire lock"); ++ err("could not acquire lock"); + return 0; + } + +@@ -138,7 +138,7 @@ static int dib0700_set_usb_xfer_len(struct dvb_usb_device *d, u16 nb_ts_packets) + + if (st->fw_version >= 0x10201) { + if (mutex_lock_interruptible(&d->usb_mutex) < 0) { +- dprintk("could not acquire lock"); ++ err("could not acquire lock"); + return 0; + } + +@@ -227,7 +227,7 @@ static int dib0700_i2c_xfer_new(struct i2c_adapter *adap, struct i2c_msg *msg, + } else { + /* Write request */ + if (mutex_lock_interruptible(&d->usb_mutex) < 0) { +- dprintk("could not acquire lock"); ++ err("could not acquire lock"); + return 0; + } + st->buf[0] = REQUEST_NEW_I2C_WRITE; +@@ -273,7 +273,7 @@ static int dib0700_i2c_xfer_legacy(struct i2c_adapter *adap, + if (mutex_lock_interruptible(&d->i2c_mutex) < 0) + return -EAGAIN; + if (mutex_lock_interruptible(&d->usb_mutex) < 0) { +- dprintk("could not acquire lock"); ++ err("could not acquire lock"); + return 0; + } + +@@ -368,7 +368,7 @@ static int dib0700_set_clock(struct dvb_usb_device *d, u8 en_pll, + int ret; + + if (mutex_lock_interruptible(&d->usb_mutex) < 0) { +- dprintk("could not acquire lock"); ++ err("could not acquire lock"); + return 0; + } + +@@ -400,7 +400,7 @@ int dib0700_set_i2c_speed(struct dvb_usb_device *d, u16 scl_kHz) + return -EINVAL; + + if (mutex_lock_interruptible(&d->usb_mutex) < 0) { +- dprintk("could not acquire lock"); ++ err("could not acquire lock"); + return 0; + } + +@@ -560,7 +560,7 @@ int dib0700_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff) + } + + if (mutex_lock_interruptible(&adap->dev->usb_mutex) < 0) { +- dprintk("could not acquire lock"); ++ err("could not acquire lock"); + return 0; + } + +@@ -610,7 +610,7 @@ int dib0700_change_protocol(struct rc_dev *rc, u64 rc_type) + int new_proto, ret; + + if (mutex_lock_interruptible(&d->usb_mutex) < 0) { +- dprintk("could not acquire lock"); ++ err("could not acquire lock"); + return 0; + } + diff --git a/kernels/linux-libre-aufs_friendly/ext4-options.patch b/kernels/linux-libre-aufs_friendly/ext4-options.patch new file mode 100644 index 000000000..ef1b2417d --- /dev/null +++ b/kernels/linux-libre-aufs_friendly/ext4-options.patch @@ -0,0 +1,49 @@ +Report: https://bbs.archlinux.org/profile.php?id=33804 +Signed-off-by: Tom Gundersen <teg@jklm.no> +Cc: Thomas Baechler <thomas@archlinux.org> +Cc: Tobias Powalowski <tobias.powalowski@googlemail.com> +Cc: Dave Reisner <d@falconindy.com> +--- + fs/ext4/super.c | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +diff --git a/fs/ext4/super.c b/fs/ext4/super.c +index 502c61f..30de9cd 100644 +--- a/fs/ext4/super.c ++++ b/fs/ext4/super.c +@@ -1333,6 +1333,7 @@ enum { + Opt_inode_readahead_blks, Opt_journal_ioprio, + Opt_dioread_nolock, Opt_dioread_lock, + Opt_discard, Opt_nodiscard, Opt_init_itable, Opt_noinit_itable, ++ Opt_nocheck, Opt_reservation, Opt_noreservation, Opt_journal_inum, + }; + + static const match_table_t tokens = { +@@ -1408,6 +1409,10 @@ static const match_table_t tokens = { + {Opt_init_itable, "init_itable=%u"}, + {Opt_init_itable, "init_itable"}, + {Opt_noinit_itable, "noinit_itable"}, ++ {Opt_nocheck, "nocheck"}, ++ {Opt_reservation, "reservation"}, ++ {Opt_noreservation, "noreservation"}, ++ {Opt_journal_inum, "journal=%u"}, + {Opt_err, NULL}, + }; + +@@ -1904,6 +1909,16 @@ set_qf_format: + case Opt_noinit_itable: + clear_opt(sb, INIT_INODE_TABLE); + break; ++#ifdef CONFIG_EXT4_USE_FOR_EXT23 ++ case Opt_nocheck: ++ case Opt_reservation: ++ case Opt_noreservation: ++ case Opt_journal_inum: ++ ext4_msg(sb, KERN_WARNING, ++ "ext3 mount option \"%s\" ignored " ++ "by ext4 module", p); ++ break; ++#endif + default: + ext4_msg(sb, KERN_ERR, + "Unrecognized mount option \"%s\" " diff --git a/kernels/linux-libre-aufs_friendly/fix-i915.patch b/kernels/linux-libre-aufs_friendly/fix-i915.patch new file mode 100644 index 000000000..3b631361a --- /dev/null +++ b/kernels/linux-libre-aufs_friendly/fix-i915.patch @@ -0,0 +1,26 @@ +Signed-off-by: Zhao Yakui <yakui.zhao@intel.com> +Tested-by: Santi <santi@agolina.net> +--- + drivers/gpu/drm/i915/intel_tv.c | 9 +++++++++ + 1 files changed, 9 insertions(+), 0 deletions(-) + +diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c +index dc83b7a..c8f67bf 100644 +--- a/drivers/gpu/drm/i915/intel_tv.c ++++ b/drivers/gpu/drm/i915/intel_tv.c +@@ -1267,6 +1267,15 @@ + DAC_B_0_7_V | + DAC_C_0_7_V); + ++ /* ++ * The TV sense state should be cleared to zero on cantiga platform. Otherwise ++ * the TV is misdetected. This is hardware requirement. ++ */ ++ if (IS_GM45(dev)) ++ tv_dac &= ~(TVDAC_STATE_CHG_EN | TVDAC_A_SENSE_CTL | ++ TVDAC_B_SENSE_CTL | TVDAC_C_SENSE_CTL); ++ ++ + I915_WRITE(TV_CTL, tv_ctl); + I915_WRITE(TV_DAC, tv_dac); + POSTING_READ(TV_DAC); diff --git a/kernels/linux-libre-aufs_friendly/i915-fix-ghost-tv-output.patch b/kernels/linux-libre-aufs_friendly/i915-fix-ghost-tv-output.patch new file mode 100644 index 000000000..3b631361a --- /dev/null +++ b/kernels/linux-libre-aufs_friendly/i915-fix-ghost-tv-output.patch @@ -0,0 +1,26 @@ +Signed-off-by: Zhao Yakui <yakui.zhao@intel.com> +Tested-by: Santi <santi@agolina.net> +--- + drivers/gpu/drm/i915/intel_tv.c | 9 +++++++++ + 1 files changed, 9 insertions(+), 0 deletions(-) + +diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c +index dc83b7a..c8f67bf 100644 +--- a/drivers/gpu/drm/i915/intel_tv.c ++++ b/drivers/gpu/drm/i915/intel_tv.c +@@ -1267,6 +1267,15 @@ + DAC_B_0_7_V | + DAC_C_0_7_V); + ++ /* ++ * The TV sense state should be cleared to zero on cantiga platform. Otherwise ++ * the TV is misdetected. This is hardware requirement. ++ */ ++ if (IS_GM45(dev)) ++ tv_dac &= ~(TVDAC_STATE_CHG_EN | TVDAC_A_SENSE_CTL | ++ TVDAC_B_SENSE_CTL | TVDAC_C_SENSE_CTL); ++ ++ + I915_WRITE(TV_CTL, tv_ctl); + I915_WRITE(TV_DAC, tv_dac); + POSTING_READ(TV_DAC); diff --git a/kernels/linux-libre-aufs_friendly/i915-fix-incorrect-error-message.patch b/kernels/linux-libre-aufs_friendly/i915-fix-incorrect-error-message.patch new file mode 100644 index 000000000..e1addbb05 --- /dev/null +++ b/kernels/linux-libre-aufs_friendly/i915-fix-incorrect-error-message.patch @@ -0,0 +1,22 @@ +commit 6c76e0b94e484ffbdf38d2fe2769b6ca9aa99de4 +Author: Thomas Bächler <thomas@archlinux.org> +Date: Mon Oct 31 19:16:18 2011 +0100 + + Change accidental error message to debug message. + + According to https://lkml.org/lkml/2011/9/19/80, this is not supposed + to be an error message, but a debug message. This worries users. + +diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c +index 04411ad..02d5794 100644 +--- a/drivers/gpu/drm/i915/intel_display.c ++++ b/drivers/gpu/drm/i915/intel_display.c +@@ -5172,7 +5172,7 @@ static void ironlake_update_pch_refclk(struct drm_device *dev) + } else { + /* Enable SSC on PCH eDP if needed */ + if (intel_panel_use_ssc(dev_priv)) { +- DRM_ERROR("enabling SSC on PCH\n"); ++ DRM_DEBUG("enabling SSC on PCH\n"); + temp |= DREF_SUPERSPREAD_SOURCE_ENABLE; + } + } diff --git a/kernels/linux-libre-aufs_friendly/i915-gpu-finish.patch b/kernels/linux-libre-aufs_friendly/i915-gpu-finish.patch new file mode 100644 index 000000000..5840c9181 --- /dev/null +++ b/kernels/linux-libre-aufs_friendly/i915-gpu-finish.patch @@ -0,0 +1,55 @@ +commit 389a55581e30607af0fcde6cdb4e54f189cf46cf +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Nov 29 15:12:16 2011 +0000 + + drm/i915: Only clear the GPU domains upon a successful finish + + By clearing the GPU read domains before waiting upon the buffer, we run + the risk of the wait being interrupted and the domains prematurely + cleared. The next time we attempt to wait upon the buffer (after + userspace handles the signal), we believe that the buffer is idle and so + skip the wait. + + There are a number of bugs across all generations which show signs of an + overly haste reuse of active buffers. + + Such as: + + https://bugs.freedesktop.org/show_bug.cgi?id=29046 + https://bugs.freedesktop.org/show_bug.cgi?id=35863 + https://bugs.freedesktop.org/show_bug.cgi?id=38952 + https://bugs.freedesktop.org/show_bug.cgi?id=40282 + https://bugs.freedesktop.org/show_bug.cgi?id=41098 + https://bugs.freedesktop.org/show_bug.cgi?id=41102 + https://bugs.freedesktop.org/show_bug.cgi?id=41284 + https://bugs.freedesktop.org/show_bug.cgi?id=42141 + + A couple of those pre-date i915_gem_object_finish_gpu(), so may be + unrelated (such as a wild write from a userspace command buffer), but + this does look like a convincing cause for most of those bugs. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + Cc: stable@kernel.org + Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> + Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com> + +diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c +index d560175..036bc58 100644 +--- a/drivers/gpu/drm/i915/i915_gem.c ++++ b/drivers/gpu/drm/i915/i915_gem.c +@@ -3087,10 +3087,13 @@ i915_gem_object_finish_gpu(struct drm_i915_gem_object *obj) + return ret; + } + ++ ret = i915_gem_object_wait_rendering(obj); ++ if (ret) ++ return ret; ++ + /* Ensure that we invalidate the GPU's caches and TLBs. */ + obj->base.read_domains &= ~I915_GEM_GPU_DOMAINS; +- +- return i915_gem_object_wait_rendering(obj); ++ return 0; + } + + /** diff --git a/kernels/linux-libre-aufs_friendly/iwlagn-fix-NULL-pointer-dereference.patch b/kernels/linux-libre-aufs_friendly/iwlagn-fix-NULL-pointer-dereference.patch new file mode 100644 index 000000000..a53a3a425 --- /dev/null +++ b/kernels/linux-libre-aufs_friendly/iwlagn-fix-NULL-pointer-dereference.patch @@ -0,0 +1,38 @@ +This fix regression introduced by commit: + +commit 15b3f3b006b42a678523cad989bfd60b76bf4403 +Author: Wey-Yi Guy <wey-yi.w.guy@intel.com> +Date: Fri Jun 3 07:54:13 2011 -0700 + + iwlagn: set smps mode after assoc for 1000 device + +Also remove unneeded brackets on the way. + +Address: +https://bugzilla.redhat.com/show_bug.cgi?id=744155 + +If fix will not get 3.1 release, it should be applied in 3.1 stable. + +Cc: stable@kernel.org # 3.1+ +Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> +--- + drivers/net/wireless/iwlwifi/iwl-agn-rxon.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c b/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c +index ca632f9..5004342 100644 +--- a/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c ++++ b/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c +@@ -296,8 +296,8 @@ static int iwlagn_rxon_connect(struct iwl_priv *priv, + return ret; + } + +- if ((ctx->vif && ctx->vif->type == NL80211_IFTYPE_STATION) && +- priv->cfg->ht_params->smps_mode) ++ if (ctx->vif && ctx->vif->type == NL80211_IFTYPE_STATION && ++ priv->cfg->ht_params && priv->cfg->ht_params->smps_mode) + ieee80211_request_smps(ctx->vif, + priv->cfg->ht_params->smps_mode); + +-- +1.7.1 diff --git a/kernels/linux-libre-aufs_friendly/linux-libre-aufs_friendly.install b/kernels/linux-libre-aufs_friendly/linux-libre-aufs_friendly.install new file mode 100644 index 000000000..09ca175a6 --- /dev/null +++ b/kernels/linux-libre-aufs_friendly/linux-libre-aufs_friendly.install @@ -0,0 +1,65 @@ +# arg 1: the new package version +# arg 2: the old package version + +KERNEL_NAME=-aufs_friendly +KERNEL_VERSION=3.2.9-2-LIBRE-AUFS_FRIENDLY + +post_install () { + # updating module dependencies + echo ">>> Updating module dependencies. Please wait ..." + depmod ${KERNEL_VERSION} + if command -v mkinitcpio 2>&1 > /dev/null; then + echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..." + mkinitcpio -p linux-libre${KERNEL_NAME} + fi + + # compat symlinks for the official kernels only + if [ -z "${KERNEL_NAME}" -o "${KERNEL_NAME}" = "-aufs_friendly" ]; then + loaders="$(find /boot -name syslinux.cfg -or -name extlinux.conf -or -name grub.cfg -or -name menu.lst)" + [ -f /etc/lilo.conf ] && loaders="$loaders /etc/lilo.conf" + if [ -n "${loaders}" ] && grep -q -e vmlinuz26 -e kernel26.img -e kernel26-fallback.img $loaders; then + # add compat symlinks for the initramfs images + ln -sf initramfs-linux-libre${KERNEL_NAME}.img /boot/kernel26${KERNEL_NAME}.img + ln -sf initramfs-linux-libre${KERNEL_NAME}-fallback.img /boot/kernel26${KERNEL_NAME}-fallback.img + ln -sf vmlinuz-linux-libre${KERNEL_NAME} /boot/vmlinuz26${KERNEL_NAME} + fi + fi +} + +post_upgrade() { + pacman -Q grub &>/dev/null + hasgrub=$? + pacman -Q grub2 &>/dev/null + hasgrub2=$? + pacman -Q lilo &>/dev/null + haslilo=$? + # reminder notices + if [ $haslilo -eq 0 ]; then + echo ">>>" + if [ $hasgrub -eq 0 -o $hasgrub2 -eq 0 ]; then + echo ">>> If you use the LILO bootloader, you should run 'lilo' before rebooting." + else + echo ">>> You appear to be using the LILO bootloader. You should run" + echo ">>> 'lilo' before rebooting." + fi + echo ">>>" + fi + + if findmnt --fstab -uno SOURCE /boot &>/dev/null && ! mountpoint -q /boot; then + echo "WARNING: /boot appears to be a separate partition but is not mounted." + fi + + # updating module dependencies + echo ">>> Updating module dependencies. Please wait ..." + depmod ${KERNEL_VERSION} + if command -v mkinitcpio 2>&1 > /dev/null; then + echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..." + mkinitcpio -p linux-libre${KERNEL_NAME} + fi +} + +post_remove() { + # also remove the compat symlinks + rm -f boot/{initramfs-linux-libre,kernel26}${KERNEL_NAME}.img + rm -f boot/{initramfs-linux-libre,kernel26}${KERNEL_NAME}-fallback.img +} diff --git a/kernels/linux-libre-aufs_friendly/linux-libre-aufs_friendly.preset b/kernels/linux-libre-aufs_friendly/linux-libre-aufs_friendly.preset new file mode 100644 index 000000000..c802eda83 --- /dev/null +++ b/kernels/linux-libre-aufs_friendly/linux-libre-aufs_friendly.preset @@ -0,0 +1,14 @@ +# mkinitcpio preset file for the 'linux-libre-aufs_friendly' package + +ALL_config="/etc/mkinitcpio.conf" +ALL_kver="/boot/vmlinuz-linux-libre-aufs_friendly" + +PRESETS=('default' 'fallback') + +#default_config="/etc/mkinitcpio.conf" +default_image="/boot/initramfs-linux-libre-aufs_friendly.img" +#default_options="" + +#fallback_config="/etc/mkinitcpio.conf" +fallback_image="/boot/initramfs-linux-libre-aufs_friendly-fallback.img" +fallback_options="-S autodetect" diff --git a/kernels/linux-libre-aufs_friendly/md-raid10-fix-bug-when-activating-a-hot-spare.patch b/kernels/linux-libre-aufs_friendly/md-raid10-fix-bug-when-activating-a-hot-spare.patch new file mode 100644 index 000000000..880849db5 --- /dev/null +++ b/kernels/linux-libre-aufs_friendly/md-raid10-fix-bug-when-activating-a-hot-spare.patch @@ -0,0 +1,40 @@ +From 7fcc7c8acf0fba44d19a713207af7e58267c1179 Mon Sep 17 00:00:00 2001 +From: NeilBrown <neilb@suse.de> +Date: Mon, 31 Oct 2011 12:59:44 +1100 +Subject: md/raid10: Fix bug when activating a hot-spare. + +From: NeilBrown <neilb@suse.de> + +commit 7fcc7c8acf0fba44d19a713207af7e58267c1179 upstream. + +This is a fairly serious bug in RAID10. + +When a RAID10 array is degraded and a hot-spare is activated, the +spare does not take up the empty slot, but rather replaces the first +working device. +This is likely to make the array non-functional. It would normally +be possible to recover the data, but that would need care and is not +guaranteed. + +This bug was introduced in commit + 2bb77736ae5dca0a189829fbb7379d43364a9dac +which first appeared in 3.1. + +Signed-off-by: NeilBrown <neilb@suse.de> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/md/raid10.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/md/raid10.c ++++ b/drivers/md/raid10.c +@@ -1337,7 +1337,7 @@ static int raid10_add_disk(mddev_t *mdde + mirror_info_t *p = &conf->mirrors[mirror]; + if (p->recovery_disabled == mddev->recovery_disabled) + continue; +- if (!p->rdev) ++ if (p->rdev) + continue; + + disk_stack_limits(mddev->gendisk, rdev->bdev, diff --git a/kernels/linux-libre-aufs_friendly/usb-add-reset-resume-quirk-for-several-webcams.patch b/kernels/linux-libre-aufs_friendly/usb-add-reset-resume-quirk-for-several-webcams.patch new file mode 100644 index 000000000..9e570dd3f --- /dev/null +++ b/kernels/linux-libre-aufs_friendly/usb-add-reset-resume-quirk-for-several-webcams.patch @@ -0,0 +1,99 @@ +commit 2394d67e446bf616a0885167d5f0d397bdacfdfc +Author: Oliver Neukum <oneukum@suse.de> +Date: Tue Sep 13 08:42:21 2011 +0200 + + USB: add RESET_RESUME for webcams shown to be quirky + + The new runtime PM code has shown that many webcams suffer + from a race condition that may crash them upon resume. + Runtime PM is especially prone to show the problem because + it retains power to the cameras at all times. However + system suspension may also crash the devices and retain + power to the devices. + The only way to solve this problem without races is in + usbcore with the RESET_RESUME quirk. + + Signed-off-by: Oliver Neukum <oneukum@suse.de> + Signed-off-by: stable <stable@kernel.org> + Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c +index 81ce6a8..38f0510 100644 +--- a/drivers/usb/core/quirks.c ++++ b/drivers/usb/core/quirks.c +@@ -38,6 +38,24 @@ static const struct usb_device_id usb_quirk_list[] = { + /* Creative SB Audigy 2 NX */ + { USB_DEVICE(0x041e, 0x3020), .driver_info = USB_QUIRK_RESET_RESUME }, + ++ /* Logitech Webcam C200 */ ++ { USB_DEVICE(0x046d, 0x0802), .driver_info = USB_QUIRK_RESET_RESUME }, ++ ++ /* Logitech Webcam C250 */ ++ { USB_DEVICE(0x046d, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME }, ++ ++ /* Logitech Webcam B/C500 */ ++ { USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME }, ++ ++ /* Logitech Webcam Pro 9000 */ ++ { USB_DEVICE(0x046d, 0x0809), .driver_info = USB_QUIRK_RESET_RESUME }, ++ ++ /* Logitech Webcam C310 */ ++ { USB_DEVICE(0x046d, 0x081b), .driver_info = USB_QUIRK_RESET_RESUME }, ++ ++ /* Logitech Webcam C270 */ ++ { USB_DEVICE(0x046d, 0x0825), .driver_info = USB_QUIRK_RESET_RESUME }, ++ + /* Logitech Harmony 700-series */ + { USB_DEVICE(0x046d, 0xc122), .driver_info = USB_QUIRK_DELAY_INIT }, + +@@ -69,6 +87,9 @@ static const struct usb_device_id usb_quirk_list[] = { + { USB_DEVICE(0x06a3, 0x0006), .driver_info = + USB_QUIRK_CONFIG_INTF_STRINGS }, + ++ /* Guillemot Webcam Hercules Dualpix Exchange*/ ++ { USB_DEVICE(0x06f8, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME }, ++ + /* M-Systems Flash Disk Pioneers */ + { USB_DEVICE(0x08ec, 0x1000), .driver_info = USB_QUIRK_RESET_RESUME }, + +commit 5b253d88cc6c65a23cefc457a5a4ef139913c5fc +Author: Jon Levell <linuxusb@coralbark.net> +Date: Thu Sep 29 20:42:52 2011 +0100 + + USB: add quirk for Logitech C300 web cam + + My webcam is a Logitech C300 and I get "chipmunk"ed squeaky sound. + The following trivial patch fixes it. + + Signed-off-by: Jon Levell <linuxusb@coralbark.net> + Cc: stable <stable@kernel.org> + Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c +index 38f0510..d6a8d82 100644 +--- a/drivers/usb/core/quirks.c ++++ b/drivers/usb/core/quirks.c +@@ -44,6 +44,9 @@ static const struct usb_device_id usb_quirk_list[] = { + /* Logitech Webcam C250 */ + { USB_DEVICE(0x046d, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME }, + ++ /* Logitech Webcam C300 */ ++ { USB_DEVICE(0x046d, 0x0805), .driver_info = USB_QUIRK_RESET_RESUME }, ++ + /* Logitech Webcam B/C500 */ + { USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME }, + +diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c +index d6a8d82..caa1991 100644 +--- a/drivers/usb/core/quirks.c ++++ b/drivers/usb/core/quirks.c +@@ -50,6 +50,9 @@ static const struct usb_device_id usb_quirk_list[] = { + /* Logitech Webcam B/C500 */ + { USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME }, + ++ /* Logitech Webcam C600 */ ++ { USB_DEVICE(0x046d, 0x0808), .driver_info = USB_QUIRK_RESET_RESUME }, ++ + /* Logitech Webcam Pro 9000 */ + { USB_DEVICE(0x046d, 0x0809), .driver_info = USB_QUIRK_RESET_RESUME }, + diff --git a/kernels/linux-libre-rt/PKGBUILD b/kernels/linux-libre-rt/PKGBUILD index 336d58cb0..6f14461fe 100644 --- a/kernels/linux-libre-rt/PKGBUILD +++ b/kernels/linux-libre-rt/PKGBUILD @@ -6,17 +6,18 @@ # Contributor (Parabola): Nicolás Reynolds <fauno@kiwwwi.com.ar> # Contributor (Parabola): Jorge Lopez <jorginho@adinet.com.uy> # Contributor (Parabola): André Silva <andre.paulista@adinet.com.uy> +# Contributor (Parabola): Márcio Silva <coadde@adinet.com.uy> pkgbase=linux-libre-rt -pkgname=('linux-libre-rt' 'linux-libre-rt-headers' 'linux-libre-rt-docs') # Build stock -LIBRE kernel +pkgname=('linux-libre-rt' 'linux-libre-rt-headers') # Build stock -LIBRE kernel with RT support # pkgname=linux-custom # Build kernel with a different name -_kernelname=${pkgname#linux-libre} +_kernelname=-LIBRE-RT _basekernel=3.2 _releasever=6 _rtpatchver=rt13 _pkgver=${_basekernel}.${_releasever} pkgver=${_basekernel}.${_releasever}_${_rtpatchver} -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64') url="http://linux-libre.fsfla.org/" license=('GPL2') @@ -109,12 +110,11 @@ build() { package_linux-libre-rt() { pkgdesc="The Linux-libre Kernel and modules with RT patches" - groups=('base') depends=('coreutils' 'module-init-tools>=3.16' 'mkinitcpio>=0.7') optdepends=('crda: to set the correct wireless channels of your country') - provides=('kernel26' "linux=$_pkgver") - conflicts=('kernel26' 'kernel26-libre' 'linux') - replaces=('kernel26' 'kernel26-libre' 'linux') + provides=('kernel26-rt' "linux-rt=$_pkgver") + conflicts=('kernel26-rt' 'kernel26-libre-rt' 'linux-rt') + replaces=('kernel26-rt' 'kernel26-libre-rt' 'linux-rt') backup=("etc/mkinitcpio.d/${pkgname}.preset") install=${pkgname}.install @@ -137,10 +137,6 @@ package_linux-libre-rt() { # set correct depmod command for install sed \ - -e "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/g" \ - -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \ - -i "${startdir}/${pkgname}.install" - sed \ -e "s|ALL_kver=.*|ALL_kver=\"/boot/vmlinuz-${pkgname}\"|g" \ -e "s|default_image=.*|default_image=\"/boot/initramfs-${pkgname}.img\"|g" \ -e "s|fallback_image=.*|fallback_image=\"/boot/initramfs-${pkgname}-fallback.img\"|g" \ @@ -160,10 +156,10 @@ package_linux-libre-rt() { } package_linux-libre-rt-headers() { - pkgdesc="Header files and scripts for building modules for linux-libre kernel" - provides=('kernel26-headers' "linux-headers=${_pkgver}") - conflicts=('kernel26-headers' 'kernel26-libre-headers' 'linux-headers') - replaces=('kernel26-headers' 'kernel26-libre-headers' 'linux-headers') + pkgdesc="Header files and scripts for building modules for linux-libre-rt kernel" + provides=('kernel26-rt-headers' "linux-rt-headers=${_pkgver}") + conflicts=('kernel26-rt-headers' 'kernel26-libre-rt-headers' 'linux-rt-headers') + replaces=('kernel26-rt-headers' 'kernel26-libre-rt-headers' 'linux-rt-headers') mkdir -p "${pkgdir}/lib/modules/${_kernver}" @@ -290,19 +286,3 @@ package_linux-libre-rt-headers() { rm -rf "${pkgdir}"/usr/src/linux-${_kernver}/arch/{alpha,arm,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,microblaze,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,xtensa} } -package_linux-libre-rt-docs() { - pkgdesc="Kernel hackers manual - HTML documentation that comes with the Linux-libre kernel." - provides=('kernel26-docs' "linux-docs=$_pkgver") - conflicts=('kernel26-docs' 'kernel26-libre-docs' 'linux-docs') - replaces=('kernel26-docs' 'kernel26-libre-docs' 'linux-docs') - - cd "${srcdir}/linux-${_basekernel}" - - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}" - cp -al Documentation "${pkgdir}/usr/src/linux-${_kernver}" - find "${pkgdir}" -type f -exec chmod 444 {} \; - find "${pkgdir}" -type d -exec chmod 755 {} \; - - # remove a file already in linux package - rm -f "${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile" -} diff --git a/kernels/linux-libre-rt/linux-libre-rt.install b/kernels/linux-libre-rt/linux-libre-rt.install index 5c40a32e9..79c6aea4d 100644 --- a/kernels/linux-libre-rt/linux-libre-rt.install +++ b/kernels/linux-libre-rt/linux-libre-rt.install @@ -1,8 +1,8 @@ # arg 1: the new package version # arg 2: the old package version -KERNEL_NAME= -KERNEL_VERSION=3.2.2-LIBRE +KERNEL_NAME=-rt +KERNEL_VERSION=3.2.6-2-LIBRE-RT post_install () { # updating module dependencies @@ -12,7 +12,7 @@ post_install () { mkinitcpio -p linux-libre${KERNEL_NAME} # compat symlinks for the official kernels only - if [ -z "${KERNEL_NAME}" -o "${KERNEL_NAME}" = "-lts" ]; then + if [ -z "${KERNEL_NAME}" -o "${KERNEL_NAME}" = "-rt" ]; then loaders="$(find /boot -name syslinux.cfg -or -name extlinux.conf -or -name grub.cfg -or -name menu.lst)" [ -f /etc/lilo.conf ] && loaders="$loaders /etc/lilo.conf" if [ -n "${loaders}" ] && grep -q -e vmlinuz26 -e kernel26.img -e kernel26-fallback.img $loaders; then diff --git a/kernels/linux-libre-xen/PKGBUILD b/kernels/linux-libre-xen/PKGBUILD index e8e763670..72d62953e 100644 --- a/kernels/linux-libre-xen/PKGBUILD +++ b/kernels/linux-libre-xen/PKGBUILD @@ -4,14 +4,15 @@ # Contributor (Parabola): Nicolás Reynolds <fauno@kiwwwi.com.ar> # Contributor (Parabola): Sorin-Mihai Vârgolici <smv@yobicore.org> # Contributor (Parabola): André Silva <andre.paulista@adinet.com.uy> +# Contributor (Parabola): Márcio Silva <coadde@adinet.com.uy> pkgbase=linux-libre-xen -pkgname=('linux-libre-xen' 'linux-libre-xen-headers' 'linux-libre-xen-docs') # Build stock -LIBRE kernel with Xen guest support +pkgname=('linux-libre-xen' 'linux-libre-xen-headers') # Build stock -LIBRE kernel with Xen guest support # pkgname=linux-custom # Build kernel with a different name -_kernelname=${pkgname#linux-libre} +_kernelname=-LIBRE-XEN _basekernel=3.2 pkgver=${_basekernel}.9 -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64') url="http://linux-libre.fsfla.org/" license=('GPL2') @@ -104,12 +105,11 @@ build() { package_linux-libre-xen() { pkgdesc="The Linux-libre Kernel and modules with Xen guest support" - groups=('base') depends=('coreutils' 'module-init-tools>=3.16' 'mkinitcpio>=0.7') optdepends=('crda: to set the correct wireless channels of your country') - provides=('kernel26' "linux=$pkgver") - conflicts=('kernel26' 'kernel26-libre' 'linux') - replaces=('kernel26' 'kernel26-libre' 'linux') + provides=('kernel26-xen' "linux-xen=$pkgver") + conflicts=('kernel26-xen' 'kernel26-libre-xen' 'linux-xen') + replaces=('kernel26-xen' 'kernel26-libre-xen' 'linux-xen') backup=("etc/mkinitcpio.d/${pkgname}.preset") install=${pkgname}.install @@ -132,10 +132,6 @@ package_linux-libre-xen() { # set correct depmod command for install sed \ - -e "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/g" \ - -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \ - -i "${startdir}/${pkgname}.install" - sed \ -e "s|ALL_kver=.*|ALL_kver=\"/boot/vmlinuz-${pkgname}\"|g" \ -e "s|default_image=.*|default_image=\"/boot/initramfs-${pkgname}.img\"|g" \ -e "s|fallback_image=.*|fallback_image=\"/boot/initramfs-${pkgname}-fallback.img\"|g" \ @@ -155,10 +151,10 @@ package_linux-libre-xen() { } package_linux-libre-xen-headers() { - pkgdesc="Header files and scripts for building modules for linux-libre kernel" - provides=('kernel26-headers' "linux-headers=${pkgver}") - conflicts=('kernel26-headers' 'kernel26-libre-headers' 'linux-headers') - replaces=('kernel26-headers' 'kernel26-libre-headers' 'linux-headers') + pkgdesc="Header files and scripts for building modules for linux-libre-xen kernel" + provides=('kernel26-xen-headers' "linux-xen-headers=${pkgver}") + conflicts=('kernel26-xen-headers' 'kernel26-libre-xen-headers' 'linux-xen-headers') + replaces=('kernel26-xen-headers' 'kernel26-libre-xen-headers' 'linux-xen-headers') mkdir -p "${pkgdir}/lib/modules/${_kernver}" @@ -284,20 +280,3 @@ package_linux-libre-xen-headers() { # remove unneeded architectures rm -rf "${pkgdir}"/usr/src/linux-${_kernver}/arch/{alpha,arm,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,microblaze,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,xtensa} } - -package_linux-libre-xen-docs() { - pkgdesc="Kernel hackers manual - HTML documentation that comes with the Linux-libre kernel." - provides=('kernel26-docs' "linux-docs=$pkgver") - conflicts=('kernel26-docs' 'kernel26-libre-docs' 'linux-docs') - replaces=('kernel26-docs' 'kernel26-libre-docs' 'linux-docs') - - cd "${srcdir}/linux-${_basekernel}" - - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}" - cp -al Documentation "${pkgdir}/usr/src/linux-${_kernver}" - find "${pkgdir}" -type f -exec chmod 444 {} \; - find "${pkgdir}" -type d -exec chmod 755 {} \; - - # remove a file already in linux package - rm -f "${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile" -} diff --git a/kernels/linux-libre-xen/linux-libre-xen.install b/kernels/linux-libre-xen/linux-libre-xen.install index 63985389f..609bf0a79 100644 --- a/kernels/linux-libre-xen/linux-libre-xen.install +++ b/kernels/linux-libre-xen/linux-libre-xen.install @@ -2,7 +2,7 @@ # arg 2: the old package version KERNEL_NAME=-xen -KERNEL_VERSION=3.2.9-1-LIBRE-XEN +KERNEL_VERSION=3.2.9-2-LIBRE-XEN post_install () { # updating module dependencies @@ -12,7 +12,7 @@ post_install () { mkinitcpio -p linux-libre${KERNEL_NAME} # compat symlinks for the official kernels only - if [ -z "${KERNEL_NAME}" -o "${KERNEL_NAME}" = "-lts" ]; then + if [ -z "${KERNEL_NAME}" -o "${KERNEL_NAME}" = "-xen" ]; then loaders="$(find /boot -name syslinux.cfg -or -name extlinux.conf -or -name grub.cfg -or -name menu.lst)" [ -f /etc/lilo.conf ] && loaders="$loaders /etc/lilo.conf" if [ -n "${loaders}" ] && grep -q -e vmlinuz26 -e kernel26.img -e kernel26-fallback.img $loaders; then diff --git a/libre/aufs3-libre/PKGBUILD b/libre/aufs3-libre/PKGBUILD new file mode 100644 index 000000000..5b2dafdfa --- /dev/null +++ b/libre/aufs3-libre/PKGBUILD @@ -0,0 +1,69 @@ +# Contributor: Paul Mattal <pjmattal@elys.com> +# Maintainer: Calimero <calimeroteknik@free.fr> +# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy> + +pkgname=aufs3-libre +pkgver=3.2_20120109 +pkgrel=1 + +# Set to whatever the tree of your aufs-libre-friendly kernel is, and set the right dependency. +#_kernver=${pkgver%_*}-LIBRE +#depends=('aufs_friendly') + +_kernver=3.2-LIBRE-AUFS_FRIENDLY +depends=('linux-libre-aufs_friendly') + +pkgdesc="Another UnionFS implementation" +arch=('i686' 'x86_64') +url="http://aufs.sourceforge.net/" +license=('GPL2') +replaces=('aufs' 'aufs2' 'aufs3') +conflicts=('aufs3') +provides=("aufs3=$pkgver") +install=aufs3-libre.install +source=("http://calimeroteknik.free.fr/src/aufs3-${pkgver}.tar.gz") +options=('!makeflags' '!strip') +md5sums=('35dd55adc3f403f532ebe6d8fb354c77') + +build() { + cd "${srcdir}/aufs3-${pkgver}" + sed -i 's|CONFIG_AUFS_HNOTIFY =.*|CONFIG_AUFS_HNOTIFY = y|' \ + config.mk + sed -i 's|CONFIG_AUFS_HFSNOTIFY =.*|CONFIG_AUFS_HFSNOTIFY = y|' \ + config.mk + sed -i 's|CONFIG_AUFS_EXPORT =.*|CONFIG_AUFS_EXPORT = y|' \ + config.mk + sed -i 's|CONFIG_AUFS_SHWH =.*|CONFIG_AUFS_SHWH = y|' \ + config.mk + sed -i 's|CONFIG_AUFS_BDEV_LOOP =.*|CONFIG_AUFS_BDEV_LOOP = y|' \ + config.mk + sed -i 's|CONFIG_AUFS_BR_RAMFS =.*|CONFIG_AUFS_BR_RAMFS = y|' \ + config.mk + sed -i 's|CONFIG_AUFS_DEBUG =.*|CONFIG_AUFS_DEBUG =|' \ + config.mk + if [ "${CARCH}" = "x86_64" ]; then + inot64=" y" + else + inot64="" + fi + sed -i "s|CONFIG_AUFS_INO_T_64 =.*|CONFIG_AUFS_INO_T_64 =${inot64}|" \ + config.mk + # build, sed fixes are from gentoo portage build + sed -i "s:aufs.ko usr/include/linux/aufs_type.h:aufs.ko:g" Makefile + sed -i "s:__user::g" include/linux/aufs_type.h + make KDIR="/usr/src/linux-$(</lib/modules/extramodules-${_kernver}/version)" +} + +package() { + cd "${srcdir}/aufs3-${pkgver}" + install -D -m644 fs/aufs/aufs.ko \ + "${pkgdir}/lib/modules/extramodules-${_kernver}/aufs.ko" + #"${pkgdir}/lib/modules/${_kernver}/kernel/fs/aufs/aufs.ko" + # tweak the install script for the right kernel version + sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \ + "${startdir}/aufs3.install" + # install include file + install -D -m 644 include/linux/aufs_type.h "${pkgdir}/usr/include/linux/aufs_type.h" + # gzip -9 the module + find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \; +} diff --git a/libre/aufs3-libre/aufs3-libre.install b/libre/aufs3-libre/aufs3-libre.install new file mode 100644 index 000000000..e08b76b54 --- /dev/null +++ b/libre/aufs3-libre/aufs3-libre.install @@ -0,0 +1,12 @@ +post_install() { + KERNEL_VERSION=3.2-LIBRE-AUFS_FRIENDLY + depmod $(cat /lib/modules/extramodules-$KERNEL_VERSION/version) +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/libre/h-client/PKGBUILD b/libre/h-client/PKGBUILD new file mode 100644 index 000000000..e77a2437e --- /dev/null +++ b/libre/h-client/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Michał Masłowski <mtjm@mtjm.eu> + +pkgname=h-client +_pkgver=0.0a0.dev-r107 +pkgver=${_pkgver/-/.} +pkgrel=1 +pkgdesc="A client for an h-source server (such as http://www.h-node.com)" +arch=('any') +url="https://savannah.nongnu.org/projects/h-client/" +license=('GPL3') +depends=('python2' 'python2-distribute' 'python-pycurl' 'pygtk') +options=(!emptydirs) +# Official source is in SVN, this is made by "python2 setup.py sdist" +# on a machine having Subversion 1.6.x (e.g. on Trisquel 4.0). +source=("https://mtjm.eu/releases/hclient-${_pkgver}.tar.gz") +sha512sums=('d820871fcf3f92e6e31aa02273ae413bf066524eaf245f1d4cf7dc8b0ba5799eb07bf86dd28861c8878c73147bbcae563668cb3a6fa9c3382c751e6717d85f0c') + +build() { + cd "$srcdir/hclient-${_pkgver}" + make +} + +check() { + cd "$srcdir/hclient-${_pkgver}" + python2 setup.py test +} + +package() { + cd "$srcdir/hclient-${_pkgver}" + python2 setup.py install --root="$pkgdir/" --optimize=1 + make DESTDIR="$pkgdir" prefix=/usr install-data +} + +# vim:set ts=2 sw=2 et: diff --git a/libre/hplip-libre/PKGBUILD b/libre/hplip-libre/PKGBUILD index 058573d05..ff876dfe8 100644 --- a/libre/hplip-libre/PKGBUILD +++ b/libre/hplip-libre/PKGBUILD @@ -1,11 +1,12 @@ # $Id: PKGBUILD 144357 2011-12-05 03:44:51Z eric $ # Maintainer : Rémy Oudompheng <remy@archlinux.org> # Contributor: Morgan LEFIEUX <comete@archlinuxfr.org> +# Contributor (Parabola): Jorge López <jorginho@adinet.com.uy> _pkgname=hplip pkgname=hplip-libre -pkgver=3.11.10 -pkgrel=2 +pkgver=3.12.2 +pkgrel=1 pkgdesc="Drivers for HP DeskJet, OfficeJet, Photosmart, Business Inkjet and some LaserJet" arch=('i686' 'x86_64') url="http://hplipopensource.com" @@ -27,8 +28,8 @@ provides=("${_pkgname}=${pkgver}") options=('!libtool') install=hplip.install source=(http://downloads.sourceforge.net/${_pkgname}/$_pkgname-$pkgver.tar.gz{,.asc}) -md5sums=('6143f30f3b6905ef22105176a3b80db0' - '396bbd8c5cc92aa8295e5bcb508692f3') +sha1sums=('bdf3e37a344f5b57b62425f755c4293d6d4ae875' + 'aa00cdf755fea38f39247a0a4a2e8241dc15112c') build() { cd "$srcdir/$_pkgname-$pkgver" @@ -41,10 +42,8 @@ build() { sed -i 's|python %HOME%|python2 %HOME%|' base/utils.py sed -i 's|python ./plugin.py|python2 ./plugin.py|' base/pkit.py - # fix sysfs rules - sed -i -e "s|SYSFS|ATTR|g" \ - -e "s|sysfs|attr|g" \ - data/rules/56-hpmud_support.rules + export AUTOMAKE='automake --foreign' + autoreconf --force --install ./configure --prefix=/usr \ --enable-qt4 \ @@ -67,4 +66,6 @@ package() { make rulesdir=/lib/udev/rules.d DESTDIR="$pkgdir/" install # remove config provided by sane and autostart of hp-daemon rm -rf "$pkgdir"/etc/{sane.d,xdg} + # remove HAL .fdi file because HAL is no longer used + rm -rf "$pkgdir"/usr/share/hal } diff --git a/libre/hplip-libre/hplip.install b/libre/hplip-libre/hplip.install index a05cbdd50..cb0eaf8e8 100644 --- a/libre/hplip-libre/hplip.install +++ b/libre/hplip-libre/hplip.install @@ -8,4 +8,3 @@ NOTE EOF } - diff --git a/libre/kdenetwork-libre/PKGBUILD b/libre/kdenetwork-libre/PKGBUILD index 309a63d5c..0af5fc0ec 100644 --- a/libre/kdenetwork-libre/PKGBUILD +++ b/libre/kdenetwork-libre/PKGBUILD @@ -21,17 +21,22 @@ makedepends=('cmake' 'automoc4' 'boost' 'speex' 'ortp' 'libotr' 'ppp' 'qca-ossl' 'kdebase-workspace' 'kdebase-lib' 'libvncserver' 'libmsn' 'v4l-utils' 'libidn' 'rdesktop' 'qimageblitz' 'libxdamage' 'libgadu' 'libktorrent' 'libmms' 'mediastreamer') -source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz") -sha1sums=('e914a1d990ff42ec88cf37ffc897ae9df9b1fa45') +source=("http://repo.parabolagnulinux.org/other/${pkgbase}-libre-${pkgver}.tar.xz") +sha1sums=('953424a894acf60b6326cd9d9f045f0a9b548e7c') # Based on http://bzr.trisquel.info/package-helpers/trunk/annotate/head%3A/helpers/natty/make-kdenetwork, revision 34. +-mksource() { + [ -f "${pkgbase}-${pkgver}.tar.bz2" ] || wget "http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2" + tar xf "${pkgbase}-${pkgver}.tar.bz2" + cd "${pkgbase}-${pkgver}" + sed -i 's/Skype protocol" ON/Skype protocol" OFF/g' kopete/protocols/CMakeLists.txt + rm -rf kopete/protocols/skype + sed 's/, Skype//' -i ./doc/kopete/index.docbook + cd .. + tar cJf "${pkgbase}-libre-${pkgver}.tar.xz" "${pkgbase}-${pkgver}" +} build() { - cd "${srcdir}/${pkgbase}-${pkgver}" - sed -i 's/Skype protocol" ON/Skype protocol" OFF/g' kopete/protocols/CMakeLists.txt - rm -rf kopete/protocols/skype - sed 's/, Skype//' -i ./doc/kopete/index.docbook - cd "${srcdir}" mkdir build cd build diff --git a/libre/linux-libre-aufs_friendly/CVE-2012-0056.patch b/libre/linux-libre-aufs_friendly/CVE-2012-0056.patch new file mode 100644 index 000000000..6a83fef1c --- /dev/null +++ b/libre/linux-libre-aufs_friendly/CVE-2012-0056.patch @@ -0,0 +1,268 @@ +From e268337dfe26dfc7efd422a804dbb27977a3cccc Mon Sep 17 00:00:00 2001 +From: Linus Torvalds <torvalds@linux-foundation.org> +Date: Tue, 17 Jan 2012 15:21:19 -0800 +Subject: [PATCH] proc: clean up and fix /proc/<pid>/mem handling +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf8 +Content-Transfer-Encoding: 8bit + +Jüri Aedla reported that the /proc/<pid>/mem handling really isn't very +robust, and it also doesn't match the permission checking of any of the +other related files. + +This changes it to do the permission checks at open time, and instead of +tracking the process, it tracks the VM at the time of the open. That +simplifies the code a lot, but does mean that if you hold the file +descriptor open over an execve(), you'll continue to read from the _old_ +VM. + +That is different from our previous behavior, but much simpler. If +somebody actually finds a load where this matters, we'll need to revert +this commit. + +I suspect that nobody will ever notice - because the process mapping +addresses will also have changed as part of the execve. So you cannot +actually usefully access the fd across a VM change simply because all +the offsets for IO would have changed too. + +Reported-by: Jüri Aedla <asd@ut.ee> +Cc: Al Viro <viro@zeniv.linux.org.uk> +Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> +--- + fs/proc/base.c | 145 +++++++++++++++----------------------------------------- + 1 files changed, 39 insertions(+), 106 deletions(-) + +diff --git a/fs/proc/base.c b/fs/proc/base.c +index 5485a53..662ddf2 100644 +--- a/fs/proc/base.c ++++ b/fs/proc/base.c +@@ -198,65 +198,7 @@ static int proc_root_link(struct dentry *dentry, struct path *path) + return result; + } + +-static struct mm_struct *__check_mem_permission(struct task_struct *task) +-{ +- struct mm_struct *mm; +- +- mm = get_task_mm(task); +- if (!mm) +- return ERR_PTR(-EINVAL); +- +- /* +- * A task can always look at itself, in case it chooses +- * to use system calls instead of load instructions. +- */ +- if (task == current) +- return mm; +- +- /* +- * If current is actively ptrace'ing, and would also be +- * permitted to freshly attach with ptrace now, permit it. +- */ +- if (task_is_stopped_or_traced(task)) { +- int match; +- rcu_read_lock(); +- match = (ptrace_parent(task) == current); +- rcu_read_unlock(); +- if (match && ptrace_may_access(task, PTRACE_MODE_ATTACH)) +- return mm; +- } +- +- /* +- * No one else is allowed. +- */ +- mmput(mm); +- return ERR_PTR(-EPERM); +-} +- +-/* +- * If current may access user memory in @task return a reference to the +- * corresponding mm, otherwise ERR_PTR. +- */ +-static struct mm_struct *check_mem_permission(struct task_struct *task) +-{ +- struct mm_struct *mm; +- int err; +- +- /* +- * Avoid racing if task exec's as we might get a new mm but validate +- * against old credentials. +- */ +- err = mutex_lock_killable(&task->signal->cred_guard_mutex); +- if (err) +- return ERR_PTR(err); +- +- mm = __check_mem_permission(task); +- mutex_unlock(&task->signal->cred_guard_mutex); +- +- return mm; +-} +- +-struct mm_struct *mm_for_maps(struct task_struct *task) ++static struct mm_struct *mm_access(struct task_struct *task, unsigned int mode) + { + struct mm_struct *mm; + int err; +@@ -267,7 +209,7 @@ struct mm_struct *mm_for_maps(struct task_struct *task) + + mm = get_task_mm(task); + if (mm && mm != current->mm && +- !ptrace_may_access(task, PTRACE_MODE_READ)) { ++ !ptrace_may_access(task, mode)) { + mmput(mm); + mm = ERR_PTR(-EACCES); + } +@@ -276,6 +218,11 @@ struct mm_struct *mm_for_maps(struct task_struct *task) + return mm; + } + ++struct mm_struct *mm_for_maps(struct task_struct *task) ++{ ++ return mm_access(task, PTRACE_MODE_READ); ++} ++ + static int proc_pid_cmdline(struct task_struct *task, char * buffer) + { + int res = 0; +@@ -752,38 +699,39 @@ static const struct file_operations proc_single_file_operations = { + + static int mem_open(struct inode* inode, struct file* file) + { +- file->private_data = (void*)((long)current->self_exec_id); ++ struct task_struct *task = get_proc_task(file->f_path.dentry->d_inode); ++ struct mm_struct *mm; ++ ++ if (!task) ++ return -ESRCH; ++ ++ mm = mm_access(task, PTRACE_MODE_ATTACH); ++ put_task_struct(task); ++ ++ if (IS_ERR(mm)) ++ return PTR_ERR(mm); ++ + /* OK to pass negative loff_t, we can catch out-of-range */ + file->f_mode |= FMODE_UNSIGNED_OFFSET; ++ file->private_data = mm; ++ + return 0; + } + + static ssize_t mem_read(struct file * file, char __user * buf, + size_t count, loff_t *ppos) + { +- struct task_struct *task = get_proc_task(file->f_path.dentry->d_inode); ++ int ret; + char *page; + unsigned long src = *ppos; +- int ret = -ESRCH; +- struct mm_struct *mm; ++ struct mm_struct *mm = file->private_data; + +- if (!task) +- goto out_no_task; ++ if (!mm) ++ return 0; + +- ret = -ENOMEM; + page = (char *)__get_free_page(GFP_TEMPORARY); + if (!page) +- goto out; +- +- mm = check_mem_permission(task); +- ret = PTR_ERR(mm); +- if (IS_ERR(mm)) +- goto out_free; +- +- ret = -EIO; +- +- if (file->private_data != (void*)((long)current->self_exec_id)) +- goto out_put; ++ return -ENOMEM; + + ret = 0; + +@@ -810,13 +758,7 @@ static ssize_t mem_read(struct file * file, char __user * buf, + } + *ppos = src; + +-out_put: +- mmput(mm); +-out_free: + free_page((unsigned long) page); +-out: +- put_task_struct(task); +-out_no_task: + return ret; + } + +@@ -825,27 +767,15 @@ static ssize_t mem_write(struct file * file, const char __user *buf, + { + int copied; + char *page; +- struct task_struct *task = get_proc_task(file->f_path.dentry->d_inode); + unsigned long dst = *ppos; +- struct mm_struct *mm; ++ struct mm_struct *mm = file->private_data; + +- copied = -ESRCH; +- if (!task) +- goto out_no_task; ++ if (!mm) ++ return 0; + +- copied = -ENOMEM; + page = (char *)__get_free_page(GFP_TEMPORARY); + if (!page) +- goto out_task; +- +- mm = check_mem_permission(task); +- copied = PTR_ERR(mm); +- if (IS_ERR(mm)) +- goto out_free; +- +- copied = -EIO; +- if (file->private_data != (void *)((long)current->self_exec_id)) +- goto out_mm; ++ return -ENOMEM; + + copied = 0; + while (count > 0) { +@@ -869,13 +799,7 @@ static ssize_t mem_write(struct file * file, const char __user *buf, + } + *ppos = dst; + +-out_mm: +- mmput(mm); +-out_free: + free_page((unsigned long) page); +-out_task: +- put_task_struct(task); +-out_no_task: + return copied; + } + +@@ -895,11 +819,20 @@ loff_t mem_lseek(struct file *file, loff_t offset, int orig) + return file->f_pos; + } + ++static int mem_release(struct inode *inode, struct file *file) ++{ ++ struct mm_struct *mm = file->private_data; ++ ++ mmput(mm); ++ return 0; ++} ++ + static const struct file_operations proc_mem_operations = { + .llseek = mem_lseek, + .read = mem_read, + .write = mem_write, + .open = mem_open, ++ .release = mem_release, + }; + + static ssize_t environ_read(struct file *file, char __user *buf, +-- +1.7.6.5 + diff --git a/libre/linux-libre-aufs_friendly/Kbuild b/libre/linux-libre-aufs_friendly/Kbuild new file mode 100644 index 000000000..8a9d7dceb --- /dev/null +++ b/libre/linux-libre-aufs_friendly/Kbuild @@ -0,0 +1,19 @@ +# Fail on warnings - also for files referenced in subdirs +# -Werror can be disabled for specific files using: +# CFLAGS_<file.o> := -Wno-error +subdir-ccflags-y := -Wno-error + +# platform specific definitions +include arch/mips/Kbuild.platforms +obj-y := $(platform-y) + +# make clean traverses $(obj-) without having included .config, so +# everything ends up here +obj- := $(platform-) + +# mips object files +# The object files are linked as core-y files would be linked + +obj-y += kernel/ +obj-y += mm/ +obj-y += math-emu/ diff --git a/libre/linux-libre-aufs_friendly/Kbuild.platforms b/libre/linux-libre-aufs_friendly/Kbuild.platforms new file mode 100644 index 000000000..90a226888 --- /dev/null +++ b/libre/linux-libre-aufs_friendly/Kbuild.platforms @@ -0,0 +1,6 @@ +# All platforms listed in alphabetic order + +platforms += loongson + +# include the platform specific files +include $(patsubst %, $(srctree)/arch/mips/%/Platform, $(platforms)) diff --git a/libre/linux-libre-aufs_friendly/PKGBUILD b/libre/linux-libre-aufs_friendly/PKGBUILD new file mode 100644 index 000000000..49b0adba1 --- /dev/null +++ b/libre/linux-libre-aufs_friendly/PKGBUILD @@ -0,0 +1,386 @@ +# $Id: PKGBUILD 130991 2011-07-09 12:23:51Z thomas $ +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> +# Maintainer: Thomas Baechler <thomas@archlinux.org> +# Maintainer: Calimero <calimeroteknik@free.fr> +# Maintainer (Parabola): Nicolás Reynolds <fauno@kiwwwi.com.ar> +# Maintainer (Parabola): Sorin-Mihai Vârgolici <smv@yobicore.org> +# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy> +# Maintainer (Parabola): Michał Masłowski <mtjm@mtjm.eu> + +# In order to just get linux-libre as it used to be, with the exported symbols for AUFS-libre: + +# Uncomment these lines +# pkgname=('linux-libre' 'linux-libre-headers' 'linux-libre-docs') # Build stock -LIBRE kernel +# pkgname=linux-custom # Build kernel with a different name +# pkgbase=linux-libre + +# Comment this line +pkgname=('linux-libre-aufs_friendly' 'linux-libre-aufs_friendly-headers') # Build stock -LIBRE kernel with AUFS-libre support + +_kernelname=${pkgname#linux-libre} +_basekernel=3.2 +_sublevel=9 +pkgver=${_basekernel}.${_sublevel} +_lxopkgver=${_basekernel}.7 # nearly always the same as pkgver +pkgrel=1 +arch=('i686' 'x86_64' 'mips64el') +url="http://linux-libre.fsfla.org/" +license=('GPL2') +makedepends=('xmlto' 'docbook-xsl') +options=('!strip') +source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-libre/linux-${_basekernel}-libre.tar.xz" + "http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-libre/patch-${_basekernel}-libre-${pkgver}-libre.xz" + # the main kernel config files + 'config.i686' 'config.x86_64' + # patches exporting symbols for the aufs module (reason for this package) + 'aufs3-libre-base.patch' 'aufs3-libre-standalone.patch' + # standard config files for mkinitcpio ramdisk + "${pkgname}.preset" + 'Kbuild' + 'Kbuild.platforms' + 'boot-logo.patch' + 'change-default-console-loglevel.patch' + 'i915-fix-ghost-tv-output.patch' + 'i915-gpu-finish.patch' + 'ext4-options.patch' + "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/linux-patches-${_lxopkgver}-libre-lemote_0lxo_mipsel.tar.bz2") +md5sums=('27c641c4f6785fc647cdd3e44963a55c' + '8e601878ccdd37111cc84500ebd81387' + '1e5dd328dbf4e68072a22c05c18813c7' + '6f9df3879268e0f07f535db2b6197475' + '44a5461daf301a46adf20c475069aaa7' + '9c1d9e47a0991b9d3d1f1ede01171c04' + '318ce8b3b64e4923a840817b91035753' + '2967cecc3af9f954ccc822fd63dca6ff' + '8267264d9a8966e57fdacd1fa1fc65c4' + '04b21c79df0a952c22d681dd4f4562df' + '9d3c56a4b999c8bfbd4018089a62f662' + '263725f20c0b9eb9c353040792d644e5' + '4cd79aa147825837dc8bc9f6b736c0a0' + 'f36222e7ce20c8e4dc27376f9be60f6c' + '690e6201d219638544d2fba3996dc822') +if [ "$CARCH" != "mips64el" ]; then + # Don't use the Loongson-specific patches on non-mips64el arches. + unset source[${#source[@]}-1] + unset md5sums[${#md5sums[@]}-1] +fi + +build() { + cd "${srcdir}/linux-${_basekernel}" + + if [ "${_basekernel}" != "${pkgver}" ]; then + patch -Np1 -i "${srcdir}/patch-${_basekernel}-libre-${pkgver}-libre" + fi + + # Add freedo as boot logo + patch -Np1 -i "${srcdir}/boot-logo.patch" + + # fix FS#27883 + # drm/i915: Only clear the GPU domains upon a successful finish + patch -Np1 -i "${srcdir}/i915-gpu-finish.patch" + + # Some chips detect a ghost TV output + # mailing list discussion: http://lists.freedesktop.org/archives/intel-gfx/2011-April/010371.html + # Arch Linux bug report: FS#19234 + # + # It is unclear why this patch wasn't merged upstream, it was accepted, + # then dropped because the reasoning was unclear. However, it is clearly + # needed. + patch -Np1 -i "${srcdir}/i915-fix-ghost-tv-output.patch" + + # set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param) + # remove this when a Kconfig knob is made available by upstream + # (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227) + patch -Np1 -i "${srcdir}/change-default-console-loglevel.patch" + + msg 'AUFS3-libre patches' + patch -p1 -i "${srcdir}/aufs3-libre-base.patch" + patch -p1 -i "${srcdir}/aufs3-libre-standalone.patch" + + # fix ext4 module to mount ext3/2 correct + # https://bugs.archlinux.org/task/28653 + patch -Np1 -i "${srcdir}/ext4-options.patch" + + if [ "$CARCH" == "mips64el" ]; then + sed -i "s|^EXTRAVERSION.*|EXTRAVERSION =-libre|" Makefile + sed -r "s|^( SUBLEVEL = ).*|\1$_sublevel|" \ + < "${srcdir}/lxo-config.patch" > lxo-config.patch + msg2 "Adding loongson-community patches" + patch -Np1 -i ${srcdir}/${_basekernel}*-*-loongson-community.patch + patch -Np0 -i lxo-config.patch + +# ensure N32, add localversion, remove uevent helper as per +# https://git.kernel.org/?p=linux/hotplug/udev.git;a=blob_plain;f=README +# and make USB storage support builtin (e.g. for booting from USB +# disks without slowly loading an initramfs) + sed -ri -e "s|CONFIG_MIPS32_N32=.*|CONFIG_MIPS32_N32=y|g" \ + -e "s|CONFIG_MIPS32_N32=.*|CONFIG_MIPS32_N32=y|g" \ + -e "s|CONFIG_UEVENT_HELPER_PATH=.*|CONFIG_UEVENT_HELPER_PATH=\"\"|g" \ + -e "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"-LIBRE\"|g" \ + -e "s;(CONFIG_USB(_COMMON|_EHCI_HCD|_OHCI_HCD|_STORAGE.*|_UAS)?)=.*;\1=y;g" \ + ./.config + else + cat "${srcdir}/config.${CARCH}" > ./.config # simpler + fi + + if [ "${_kernelname}" != "" ]; then + sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" ./.config + fi + + # set extraversion to pkgrel + sed -ri "s|^(EXTRAVERSION =).*|\1 -${pkgrel}|" Makefile + + # get kernel version + make prepare + + # load configuration + # Configure the kernel. Replace the line below with one of your choice. + #make menuconfig # CLI menu for configuration + #make nconfig # new CLI menu for configuration + #make xconfig # X-based configuration + #make oldconfig # using old config from previous kernel version + # ... or manually edit .config + + #################### + # stop here + # this is useful to configure the kernel + #msg "Stopping build" + #return 1 + #################### + + yes "" | make config + + # build! + if [ "$CARCH" == "mips64el" ]; then + # The build system passes it directly to linker, disable to avoid + # having unknown -Wl,... options. + export LDFLAGS="" + # bzImage is arch-specific and not supported on mips; vmlinux is + # useful for oprofile. + make ${MAKEFLAGS} vmlinux vmlinuz modules + else + make ${MAKEFLAGS} bzImage modules + fi +} + +package_linux-libre-aufs_friendly() { + pkgdesc="The Linux-libre Kernel and modules, with symbols exported for AUFS3-libre" + depends=('coreutils' 'module-init-tools>=3.16') + optdepends=('crda: to set the correct wireless channels of your country') + provides=('kernel26-aufs_friendly' "linux-aufs_friendly=$pkgver") + conflicts=('kernel26-aufs_friendly' 'kernel26-libre-aufs_friendly' 'linux-aufs_friendly') + replaces=('kernel26-aufs_friendly' 'kernel26-libre-aufs_friendly' 'linux-aufs_friendly') + backup=("etc/mkinitcpio.d/${pkgname}.preset") + install=${pkgname}.install + if [ "$CARCH" = "mips64el" ]; then + optdepends+=('mkinitcpio: to make the initramfs (needs reinstall of this package)') + conflicts+=('mkinitcpio<0.7') + else + depends+=('mkinitcpio>=0.7') + fi + + cd "${srcdir}/linux-${_basekernel}" + + KARCH=x86 + [ $CARCH = "mips64el" ] && KARCH=mips + + # get kernel version + _kernver="$(make kernelrelease)" + + mkdir -p "${pkgdir}"/{lib/modules,lib/firmware,boot} + make INSTALL_MOD_PATH="${pkgdir}" modules_install + + if [ "$CARCH" == "mips64el" ]; then + cp vmlinuz "${pkgdir}/boot/vmlinuz-${pkgname}" + cp vmlinux "${pkgdir}/boot/vmlinux-${pkgname}" + else + cp "arch/${KARCH}/boot/bzImage" "${pkgdir}/boot/vmlinuz-${pkgname}" + fi + + # add vmlinux + install -D -m644 vmlinux "${pkgdir}/usr/src/linux-${_kernver}/vmlinux" + + # install fallback mkinitcpio.conf file and preset file for kernel + install -D -m644 "${srcdir}/${pkgname}.preset" "${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset" + + # set correct depmod command for install + sed \ + -e "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/g" \ + -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \ + -i "${startdir}/${pkgname}.install" + sed \ + -e "s|ALL_kver=.*|ALL_kver=\"/boot/vmlinuz-${pkgname}\"|g" \ + -e "s|default_image=.*|default_image=\"/boot/initramfs-${pkgname}.img\"|g" \ + -e "s|fallback_image=.*|fallback_image=\"/boot/initramfs-${pkgname}-fallback.img\"|g" \ + -i "${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset" + +# mkinitcpio 0.7 relies on bzImage to find the kernel version + if [ "$CARCH" == "mips64el" ]; then + sed -e "s|ALL_kver=.*|ALL_kver=\"${_kernver}\"|g" \ + -i "${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset" + fi + + # remove build and source links + rm -f "${pkgdir}"/lib/modules/${_kernver}/{source,build} + # remove the firmware + rm -rf "${pkgdir}/lib/firmware" + # gzip -9 all modules to save 100MB of space + find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \; + # make room for external modules + ln -s "../extramodules-${_basekernel}${_kernelname:--LIBRE}" "${pkgdir}/lib/modules/${_kernver}/extramodules" + # add real version for building modules and running depmod from post_install/upgrade + mkdir -p "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--LIBRE}" + echo "${_kernver}" > "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--LIBRE}/version" +} + +package_linux-libre-aufs_friendly-headers() { + pkgdesc="Header files and scripts for building modules for linux-libre-aufs_friendly kernel" + provides=('kernel26-aufs_friendly-headers' "linux-aufs_friendly-headers=${pkgver}") + conflicts=('kernel26-aufs_friendly-headers' 'kernel26-libre-aufs_friendly-headers' 'linux-aufs_friendly-headers') + replaces=('kernel26-aufs_friendly-headers' 'kernel26-libre-aufs_friendly-headers' 'linux-aufs_friendly-headers') + + KARCH=x86 + [ $CARCH = "mips64el" ] && KARCH=mips + +# In case of repackaging this is empty + if [ -z "${_kernver}" ]; then + cd "${srcdir}/linux-${_basekernel}" + _kernver="$(make kernelrelease)" + fi + + mkdir -p "${pkgdir}/lib/modules/${_kernver}" + + cd "${pkgdir}/lib/modules/${_kernver}" + ln -sf ../../../usr/src/linux-${_kernver} build + + cd "${srcdir}/linux-${_basekernel}" + install -D -m644 Makefile \ + "${pkgdir}/usr/src/linux-${_kernver}/Makefile" + install -D -m644 kernel/Makefile \ + "${pkgdir}/usr/src/linux-${_kernver}/kernel/Makefile" + install -D -m644 .config \ + "${pkgdir}/usr/src/linux-${_kernver}/.config" + + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include" + + for i in acpi asm-generic config crypto drm generated linux math-emu \ + media net pcmcia scsi sound trace video xen; do + cp -a include/${i} "${pkgdir}/usr/src/linux-${_kernver}/include/" + done + + # copy arch includes for external modules + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}" + cp -a "arch/${KARCH}/include" "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/" + + # copy files necessary for later builds + cp Module.symvers "${pkgdir}/usr/src/linux-${_kernver}" + cp -a scripts "${pkgdir}/usr/src/linux-${_kernver}" + + if [ "$CARCH" = "mips64el" ]; then + cp "arch/${KARCH}/Kbuild" "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/" + cp -a "arch/${KARCH}/loongson" "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/" + cp "${srcdir}/Kbuild.platforms" "${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/" + fi + + # fix permissions on scripts dir + chmod og-w -R "${pkgdir}/usr/src/linux-${_kernver}/scripts" + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/.tmp_versions" + + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/kernel" + + cp arch/${KARCH}/Makefile "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/" + + if [ "${CARCH}" = "i686" ]; then + cp arch/${KARCH}/Makefile_32.cpu "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/" + fi + + cp arch/${KARCH}/kernel/asm-offsets.s "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/kernel/" + + # add headers for lirc package + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video" + + cp drivers/media/video/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/" + + for i in bt8xx cpia2 cx25840 cx88 em28xx et61x251 pwc saa7134 sn9c102; do + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/${i}" + cp -a drivers/media/video/${i}/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/${i}" + done + + # add docbook makefile + install -D -m644 Documentation/DocBook/Makefile \ + "${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile" + + # add dm headers + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/md" + cp drivers/md/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/md" + + # add inotify.h + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include/linux" + cp include/linux/inotify.h "${pkgdir}/usr/src/linux-${_kernver}/include/linux/" + + # add wireless headers + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/" + cp net/mac80211/*.h "${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/" + + # add dvb headers for external modules + # in reference to: + # http://bugs.archlinux.org/task/9912 + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core" + cp drivers/media/dvb/dvb-core/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core/" + # and... + # http://bugs.archlinux.org/task/11194 + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/" + cp include/config/dvb/*.h "${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/" + + # add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new + # in reference to: + # http://bugs.archlinux.org/task/13146 + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/" + cp drivers/media/dvb/frontends/lgdt330x.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/" + cp drivers/media/video/msp3400-driver.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/" + + # add dvb headers + # in reference to: + # http://bugs.archlinux.org/task/20402 + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-usb" + cp drivers/media/dvb/dvb-usb/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-usb/" + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends" + cp drivers/media/dvb/frontends/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/" + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/common/tuners" + cp drivers/media/common/tuners/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/common/tuners/" + + # add xfs and shmem for aufs building + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/fs/xfs" + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/mm" + cp fs/xfs/xfs_sb.h "${pkgdir}/usr/src/linux-${_kernver}/fs/xfs/xfs_sb.h" + + # copy in Kconfig files + for i in `find . -name "Kconfig*"`; do + mkdir -p "${pkgdir}"/usr/src/linux-${_kernver}/`echo ${i} | sed 's|/Kconfig.*||'` + cp ${i} "${pkgdir}/usr/src/linux-${_kernver}/${i}" + done + + chown -R root.root "${pkgdir}/usr/src/linux-${_kernver}" + find "${pkgdir}/usr/src/linux-${_kernver}" -type d -exec chmod 755 {} \; + + # strip scripts directory + find "${pkgdir}/usr/src/linux-${_kernver}/scripts" -type f -perm -u+w 2>/dev/null | while read binary ; do + case "$(file -bi "${binary}")" in + *application/x-sharedlib*) # Libraries (.so) + /usr/bin/strip ${STRIP_SHARED} "${binary}";; + *application/x-archive*) # Libraries (.a) + /usr/bin/strip ${STRIP_STATIC} "${binary}";; + *application/x-executable*) # Binaries + /usr/bin/strip ${STRIP_BINARIES} "${binary}";; + esac + done + + # remove unneeded architectures + rm -rf "${pkgdir}"/usr/src/linux-${_kernver}/arch/{alpha,arm,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,microblaze,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,xtensa} + if [ "$CARCH" = "mips64el" ]; then + rm -rf ${pkgdir}/usr/src/linux-${_kernver}/arch/x86 + else + rm -rf ${pkgdir}/usr/src/linux-${_kernver}/arch/mips + fi +} + diff --git a/libre/linux-libre-aufs_friendly/aufs3-libre-base.patch b/libre/linux-libre-aufs_friendly/aufs3-libre-base.patch new file mode 100644 index 000000000..ac30c8db9 --- /dev/null +++ b/libre/linux-libre-aufs_friendly/aufs3-libre-base.patch @@ -0,0 +1,70 @@ +aufs3.2 base patch + +diff --git a/fs/namei.c b/fs/namei.c +index 5008f01..4cc94cf 100644 +--- a/fs/namei.c ++++ b/fs/namei.c +@@ -1753,7 +1753,7 @@ static struct dentry *__lookup_hash(struct qstr *name, + * needs parent already locked. Doesn't follow mounts. + * SMP-safe. + */ +-static struct dentry *lookup_hash(struct nameidata *nd) ++struct dentry *lookup_hash(struct nameidata *nd) + { + return __lookup_hash(&nd->last, nd->path.dentry, nd); + } +diff --git a/fs/splice.c b/fs/splice.c +index fa2defa..e3569b0 100644 +--- a/fs/splice.c ++++ b/fs/splice.c +@@ -1085,8 +1085,8 @@ EXPORT_SYMBOL(generic_splice_sendpage); + /* + * Attempt to initiate a splice from pipe to file. + */ +-static long do_splice_from(struct pipe_inode_info *pipe, struct file *out, +- loff_t *ppos, size_t len, unsigned int flags) ++long do_splice_from(struct pipe_inode_info *pipe, struct file *out, ++ loff_t *ppos, size_t len, unsigned int flags) + { + ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, + loff_t *, size_t, unsigned int); +@@ -1113,9 +1113,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out, + /* + * Attempt to initiate a splice from a file to a pipe. + */ +-static long do_splice_to(struct file *in, loff_t *ppos, +- struct pipe_inode_info *pipe, size_t len, +- unsigned int flags) ++long do_splice_to(struct file *in, loff_t *ppos, ++ struct pipe_inode_info *pipe, size_t len, ++ unsigned int flags) + { + ssize_t (*splice_read)(struct file *, loff_t *, + struct pipe_inode_info *, size_t, unsigned int); +diff --git a/include/linux/namei.h b/include/linux/namei.h +index ffc0213..ef35a31 100644 +--- a/include/linux/namei.h ++++ b/include/linux/namei.h +@@ -85,6 +85,7 @@ extern int vfs_path_lookup(struct dentry *, struct vfsmount *, + extern struct file *lookup_instantiate_filp(struct nameidata *nd, struct dentry *dentry, + int (*open)(struct inode *, struct file *)); + ++extern struct dentry *lookup_hash(struct nameidata *nd); + extern struct dentry *lookup_one_len(const char *, struct dentry *, int); + + extern int follow_down_one(struct path *); +diff --git a/include/linux/splice.h b/include/linux/splice.h +index 26e5b61..3ffef2f 100644 +--- a/include/linux/splice.h ++++ b/include/linux/splice.h +@@ -91,4 +91,10 @@ extern void splice_shrink_spd(struct pipe_inode_info *, + extern void spd_release_page(struct splice_pipe_desc *, unsigned int); + + extern const struct pipe_buf_operations page_cache_pipe_buf_ops; ++ ++extern long do_splice_from(struct pipe_inode_info *pipe, struct file *out, ++ loff_t *ppos, size_t len, unsigned int flags); ++extern long do_splice_to(struct file *in, loff_t *ppos, ++ struct pipe_inode_info *pipe, size_t len, ++ unsigned int flags); + #endif diff --git a/libre/linux-libre-aufs_friendly/aufs3-libre-standalone.patch b/libre/linux-libre-aufs_friendly/aufs3-libre-standalone.patch new file mode 100644 index 000000000..ae897f388 --- /dev/null +++ b/libre/linux-libre-aufs_friendly/aufs3-libre-standalone.patch @@ -0,0 +1,257 @@ +aufs3.2 standalone patch + +diff --git a/fs/file_table.c b/fs/file_table.c +index c322794..2aad244 100644 +--- a/fs/file_table.c ++++ b/fs/file_table.c +@@ -443,6 +443,8 @@ void file_sb_list_del(struct file *file) + } + } + ++EXPORT_SYMBOL(file_sb_list_del); ++ + #ifdef CONFIG_SMP + + /* +diff --git a/fs/inode.c b/fs/inode.c +index ee4e66b..728042b 100644 +--- a/fs/inode.c ++++ b/fs/inode.c +@@ -65,6 +65,7 @@ static struct hlist_head *inode_hashtable __read_mostly; + static __cacheline_aligned_in_smp DEFINE_SPINLOCK(inode_hash_lock); + + __cacheline_aligned_in_smp DEFINE_SPINLOCK(inode_sb_list_lock); ++EXPORT_SYMBOL(inode_sb_list_lock); + + /* + * Empty aops. Can be used for the cases where the user does not +diff --git a/fs/namei.c b/fs/namei.c +index 4cc94cf..af19e30 100644 +--- a/fs/namei.c ++++ b/fs/namei.c +@@ -1757,6 +1757,7 @@ struct dentry *lookup_hash(struct nameidata *nd) + { + return __lookup_hash(&nd->last, nd->path.dentry, nd); + } ++EXPORT_SYMBOL(lookup_hash); + + /** + * lookup_one_len - filesystem helper to lookup single pathname component +diff --git a/fs/namespace.c b/fs/namespace.c +index cfc6d44..173d15a 100644 +--- a/fs/namespace.c ++++ b/fs/namespace.c +@@ -1506,6 +1506,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg, + } + return 0; + } ++EXPORT_SYMBOL(iterate_mounts); + + static void cleanup_group_ids(struct vfsmount *mnt, struct vfsmount *end) + { +diff --git a/fs/notify/group.c b/fs/notify/group.c +index 63fc294..6f4adca 100644 +--- a/fs/notify/group.c ++++ b/fs/notify/group.c +@@ -22,6 +22,7 @@ + #include <linux/srcu.h> + #include <linux/rculist.h> + #include <linux/wait.h> ++#include <linux/module.h> + + #include <linux/fsnotify_backend.h> + #include "fsnotify.h" +@@ -70,6 +71,7 @@ void fsnotify_put_group(struct fsnotify_group *group) + if (atomic_dec_and_test(&group->refcnt)) + fsnotify_destroy_group(group); + } ++EXPORT_SYMBOL(fsnotify_put_group); + + /* + * Create a new fsnotify_group and hold a reference for the group returned. +@@ -102,3 +104,4 @@ struct fsnotify_group *fsnotify_alloc_group(const struct fsnotify_ops *ops) + + return group; + } ++EXPORT_SYMBOL(fsnotify_alloc_group); +diff --git a/fs/notify/mark.c b/fs/notify/mark.c +index e14587d..be6533b 100644 +--- a/fs/notify/mark.c ++++ b/fs/notify/mark.c +@@ -112,6 +112,7 @@ void fsnotify_put_mark(struct fsnotify_mark *mark) + if (atomic_dec_and_test(&mark->refcnt)) + mark->free_mark(mark); + } ++EXPORT_SYMBOL(fsnotify_put_mark); + + /* + * Any time a mark is getting freed we end up here. +@@ -189,6 +190,7 @@ void fsnotify_destroy_mark(struct fsnotify_mark *mark) + if (unlikely(atomic_dec_and_test(&group->num_marks))) + fsnotify_final_destroy_group(group); + } ++EXPORT_SYMBOL(fsnotify_destroy_mark); + + void fsnotify_set_mark_mask_locked(struct fsnotify_mark *mark, __u32 mask) + { +@@ -276,6 +278,7 @@ err: + + return ret; + } ++EXPORT_SYMBOL(fsnotify_add_mark); + + /* + * clear any marks in a group in which mark->flags & flags is true +@@ -331,6 +334,7 @@ void fsnotify_init_mark(struct fsnotify_mark *mark, + atomic_set(&mark->refcnt, 1); + mark->free_mark = free_mark; + } ++EXPORT_SYMBOL(fsnotify_init_mark); + + static int fsnotify_mark_destroy(void *ignored) + { +diff --git a/fs/open.c b/fs/open.c +index 22c41b5..33b4033 100644 +--- a/fs/open.c ++++ b/fs/open.c +@@ -60,6 +60,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs, + mutex_unlock(&dentry->d_inode->i_mutex); + return ret; + } ++EXPORT_SYMBOL(do_truncate); + + static long do_sys_truncate(const char __user *pathname, loff_t length) + { +diff --git a/fs/splice.c b/fs/splice.c +index e3569b0..9dc07b7 100644 +--- a/fs/splice.c ++++ b/fs/splice.c +@@ -1109,6 +1109,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out, + + return splice_write(pipe, out, ppos, len, flags); + } ++EXPORT_SYMBOL(do_splice_from); + + /* + * Attempt to initiate a splice from a file to a pipe. +@@ -1135,6 +1136,7 @@ long do_splice_to(struct file *in, loff_t *ppos, + + return splice_read(in, ppos, pipe, len, flags); + } ++EXPORT_SYMBOL(do_splice_to); + + /** + * splice_direct_to_actor - splices data directly between two non-pipes +diff --git a/security/commoncap.c b/security/commoncap.c +index ee4f848..611fd70 100644 +--- a/security/commoncap.c ++++ b/security/commoncap.c +@@ -975,3 +975,4 @@ int cap_file_mmap(struct file *file, unsigned long reqprot, + } + return ret; + } ++EXPORT_SYMBOL(cap_file_mmap); +diff --git a/security/device_cgroup.c b/security/device_cgroup.c +index 4450fbe..bc94175 100644 +--- a/security/device_cgroup.c ++++ b/security/device_cgroup.c +@@ -7,6 +7,7 @@ + #include <linux/device_cgroup.h> + #include <linux/cgroup.h> + #include <linux/ctype.h> ++#include <linux/export.h> + #include <linux/list.h> + #include <linux/uaccess.h> + #include <linux/seq_file.h> +@@ -500,6 +501,7 @@ found: + + return -EPERM; + } ++EXPORT_SYMBOL(__devcgroup_inode_permission); + + int devcgroup_inode_mknod(int mode, dev_t dev) + { +diff --git a/security/security.c b/security/security.c +index e2f684a..892000c 100644 +--- a/security/security.c ++++ b/security/security.c +@@ -411,6 +411,7 @@ int security_path_rmdir(struct path *dir, struct dentry *dentry) + return 0; + return security_ops->path_rmdir(dir, dentry); + } ++EXPORT_SYMBOL(security_path_rmdir); + + int security_path_unlink(struct path *dir, struct dentry *dentry) + { +@@ -427,6 +428,7 @@ int security_path_symlink(struct path *dir, struct dentry *dentry, + return 0; + return security_ops->path_symlink(dir, dentry, old_name); + } ++EXPORT_SYMBOL(security_path_symlink); + + int security_path_link(struct dentry *old_dentry, struct path *new_dir, + struct dentry *new_dentry) +@@ -435,6 +437,7 @@ int security_path_link(struct dentry *old_dentry, struct path *new_dir, + return 0; + return security_ops->path_link(old_dentry, new_dir, new_dentry); + } ++EXPORT_SYMBOL(security_path_link); + + int security_path_rename(struct path *old_dir, struct dentry *old_dentry, + struct path *new_dir, struct dentry *new_dentry) +@@ -453,6 +456,7 @@ int security_path_truncate(struct path *path) + return 0; + return security_ops->path_truncate(path); + } ++EXPORT_SYMBOL(security_path_truncate); + + int security_path_chmod(struct dentry *dentry, struct vfsmount *mnt, + mode_t mode) +@@ -461,6 +465,7 @@ int security_path_chmod(struct dentry *dentry, struct vfsmount *mnt, + return 0; + return security_ops->path_chmod(dentry, mnt, mode); + } ++EXPORT_SYMBOL(security_path_chmod); + + int security_path_chown(struct path *path, uid_t uid, gid_t gid) + { +@@ -468,6 +473,7 @@ int security_path_chown(struct path *path, uid_t uid, gid_t gid) + return 0; + return security_ops->path_chown(path, uid, gid); + } ++EXPORT_SYMBOL(security_path_chown); + + int security_path_chroot(struct path *path) + { +@@ -544,6 +550,7 @@ int security_inode_readlink(struct dentry *dentry) + return 0; + return security_ops->inode_readlink(dentry); + } ++EXPORT_SYMBOL(security_inode_readlink); + + int security_inode_follow_link(struct dentry *dentry, struct nameidata *nd) + { +@@ -558,6 +565,7 @@ int security_inode_permission(struct inode *inode, int mask) + return 0; + return security_ops->inode_permission(inode, mask); + } ++EXPORT_SYMBOL(security_inode_permission); + + int security_inode_setattr(struct dentry *dentry, struct iattr *attr) + { +@@ -673,6 +681,7 @@ int security_file_permission(struct file *file, int mask) + + return fsnotify_perm(file, mask); + } ++EXPORT_SYMBOL(security_file_permission); + + int security_file_alloc(struct file *file) + { +@@ -700,6 +709,7 @@ int security_file_mmap(struct file *file, unsigned long reqprot, + return ret; + return ima_file_mmap(file, prot); + } ++EXPORT_SYMBOL(security_file_mmap); + + int security_file_mprotect(struct vm_area_struct *vma, unsigned long reqprot, + unsigned long prot) diff --git a/libre/linux-libre-aufs_friendly/boot-logo.patch b/libre/linux-libre-aufs_friendly/boot-logo.patch new file mode 100644 index 000000000..c392928a5 --- /dev/null +++ b/libre/linux-libre-aufs_friendly/boot-logo.patch @@ -0,0 +1,23163 @@ +diff -Nur linux-2.6.39.1/drivers/video/logo/logo_linux_clut224.ppm linux-2.6.39-LIBRE/drivers/video/logo/logo_linux_clut224.ppm +--- linux-2.6.39.1/drivers/video/logo/logo_linux_clut224.ppm 2011-06-02 21:34:20.000000000 -0300 ++++ linux-2.6.39-LIBRE/drivers/video/logo/logo_linux_clut224.ppm 2011-06-22 13:42:06.000000000 -0300 +@@ -1,1604 +1,861 @@ + P3 +-# Standard 224-color Linux logo +-80 80 ++80 78 + 255 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 6 6 6 6 6 6 10 10 10 10 10 10 +- 10 10 10 6 6 6 6 6 6 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 6 6 6 10 10 10 14 14 14 +- 22 22 22 26 26 26 30 30 30 34 34 34 +- 30 30 30 30 30 30 26 26 26 18 18 18 +- 14 14 14 10 10 10 6 6 6 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 1 0 0 1 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 6 6 6 14 14 14 26 26 26 42 42 42 +- 54 54 54 66 66 66 78 78 78 78 78 78 +- 78 78 78 74 74 74 66 66 66 54 54 54 +- 42 42 42 26 26 26 18 18 18 10 10 10 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 1 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 22 22 22 42 42 42 66 66 66 86 86 86 +- 66 66 66 38 38 38 38 38 38 22 22 22 +- 26 26 26 34 34 34 54 54 54 66 66 66 +- 86 86 86 70 70 70 46 46 46 26 26 26 +- 14 14 14 6 6 6 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 1 0 0 1 0 0 1 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 10 10 10 26 26 26 +- 50 50 50 82 82 82 58 58 58 6 6 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 6 6 6 54 54 54 86 86 86 66 66 66 +- 38 38 38 18 18 18 6 6 6 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 6 6 6 22 22 22 50 50 50 +- 78 78 78 34 34 34 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 6 6 6 70 70 70 +- 78 78 78 46 46 46 22 22 22 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 1 0 0 1 0 0 1 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 6 6 6 18 18 18 42 42 42 82 82 82 +- 26 26 26 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 14 14 14 +- 46 46 46 34 34 34 6 6 6 2 2 6 +- 42 42 42 78 78 78 42 42 42 18 18 18 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 1 0 0 0 0 0 1 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 10 10 10 30 30 30 66 66 66 58 58 58 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 26 26 26 +- 86 86 86 101 101 101 46 46 46 10 10 10 +- 2 2 6 58 58 58 70 70 70 34 34 34 +- 10 10 10 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 1 0 0 1 0 0 1 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 14 14 14 42 42 42 86 86 86 10 10 10 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 30 30 30 +- 94 94 94 94 94 94 58 58 58 26 26 26 +- 2 2 6 6 6 6 78 78 78 54 54 54 +- 22 22 22 6 6 6 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 6 6 6 +- 22 22 22 62 62 62 62 62 62 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 26 26 26 +- 54 54 54 38 38 38 18 18 18 10 10 10 +- 2 2 6 2 2 6 34 34 34 82 82 82 +- 38 38 38 14 14 14 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 1 0 0 1 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 6 6 6 +- 30 30 30 78 78 78 30 30 30 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 10 10 10 +- 10 10 10 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 78 78 78 +- 50 50 50 18 18 18 6 6 6 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 1 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 38 38 38 86 86 86 14 14 14 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 54 54 54 +- 66 66 66 26 26 26 6 6 6 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 1 0 0 1 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 14 14 14 +- 42 42 42 82 82 82 2 2 6 2 2 6 +- 2 2 6 6 6 6 10 10 10 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 6 6 6 +- 14 14 14 10 10 10 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 18 18 18 +- 82 82 82 34 34 34 10 10 10 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 1 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 14 14 14 +- 46 46 46 86 86 86 2 2 6 2 2 6 +- 6 6 6 6 6 6 22 22 22 34 34 34 +- 6 6 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 18 18 18 34 34 34 +- 10 10 10 50 50 50 22 22 22 2 2 6 +- 2 2 6 2 2 6 2 2 6 10 10 10 +- 86 86 86 42 42 42 14 14 14 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 1 0 0 1 0 0 1 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 14 14 14 +- 46 46 46 86 86 86 2 2 6 2 2 6 +- 38 38 38 116 116 116 94 94 94 22 22 22 +- 22 22 22 2 2 6 2 2 6 2 2 6 +- 14 14 14 86 86 86 138 138 138 162 162 162 +-154 154 154 38 38 38 26 26 26 6 6 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 86 86 86 46 46 46 14 14 14 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 14 14 14 +- 46 46 46 86 86 86 2 2 6 14 14 14 +-134 134 134 198 198 198 195 195 195 116 116 116 +- 10 10 10 2 2 6 2 2 6 6 6 6 +-101 98 89 187 187 187 210 210 210 218 218 218 +-214 214 214 134 134 134 14 14 14 6 6 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 86 86 86 50 50 50 18 18 18 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 1 0 0 0 +- 0 0 1 0 0 1 0 0 1 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 14 14 14 +- 46 46 46 86 86 86 2 2 6 54 54 54 +-218 218 218 195 195 195 226 226 226 246 246 246 +- 58 58 58 2 2 6 2 2 6 30 30 30 +-210 210 210 253 253 253 174 174 174 123 123 123 +-221 221 221 234 234 234 74 74 74 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 70 70 70 58 58 58 22 22 22 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 14 14 14 +- 46 46 46 82 82 82 2 2 6 106 106 106 +-170 170 170 26 26 26 86 86 86 226 226 226 +-123 123 123 10 10 10 14 14 14 46 46 46 +-231 231 231 190 190 190 6 6 6 70 70 70 +- 90 90 90 238 238 238 158 158 158 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 70 70 70 58 58 58 22 22 22 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 1 0 0 0 +- 0 0 1 0 0 1 0 0 1 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 14 14 14 +- 42 42 42 86 86 86 6 6 6 116 116 116 +-106 106 106 6 6 6 70 70 70 149 149 149 +-128 128 128 18 18 18 38 38 38 54 54 54 +-221 221 221 106 106 106 2 2 6 14 14 14 +- 46 46 46 190 190 190 198 198 198 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 74 74 74 62 62 62 22 22 22 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 1 0 0 0 +- 0 0 1 0 0 0 0 0 1 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 14 14 14 +- 42 42 42 94 94 94 14 14 14 101 101 101 +-128 128 128 2 2 6 18 18 18 116 116 116 +-118 98 46 121 92 8 121 92 8 98 78 10 +-162 162 162 106 106 106 2 2 6 2 2 6 +- 2 2 6 195 195 195 195 195 195 6 6 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 74 74 74 62 62 62 22 22 22 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 1 0 0 1 +- 0 0 1 0 0 0 0 0 1 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 38 38 38 90 90 90 14 14 14 58 58 58 +-210 210 210 26 26 26 54 38 6 154 114 10 +-226 170 11 236 186 11 225 175 15 184 144 12 +-215 174 15 175 146 61 37 26 9 2 2 6 +- 70 70 70 246 246 246 138 138 138 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 70 70 70 66 66 66 26 26 26 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 38 38 38 86 86 86 14 14 14 10 10 10 +-195 195 195 188 164 115 192 133 9 225 175 15 +-239 182 13 234 190 10 232 195 16 232 200 30 +-245 207 45 241 208 19 232 195 16 184 144 12 +-218 194 134 211 206 186 42 42 42 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 50 50 50 74 74 74 30 30 30 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 34 34 34 86 86 86 14 14 14 2 2 6 +-121 87 25 192 133 9 219 162 10 239 182 13 +-236 186 11 232 195 16 241 208 19 244 214 54 +-246 218 60 246 218 38 246 215 20 241 208 19 +-241 208 19 226 184 13 121 87 25 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 50 50 50 82 82 82 34 34 34 10 10 10 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 34 34 34 82 82 82 30 30 30 61 42 6 +-180 123 7 206 145 10 230 174 11 239 182 13 +-234 190 10 238 202 15 241 208 19 246 218 74 +-246 218 38 246 215 20 246 215 20 246 215 20 +-226 184 13 215 174 15 184 144 12 6 6 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 26 26 26 94 94 94 42 42 42 14 14 14 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 30 30 30 78 78 78 50 50 50 104 69 6 +-192 133 9 216 158 10 236 178 12 236 186 11 +-232 195 16 241 208 19 244 214 54 245 215 43 +-246 215 20 246 215 20 241 208 19 198 155 10 +-200 144 11 216 158 10 156 118 10 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 6 6 6 90 90 90 54 54 54 18 18 18 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 30 30 30 78 78 78 46 46 46 22 22 22 +-137 92 6 210 162 10 239 182 13 238 190 10 +-238 202 15 241 208 19 246 215 20 246 215 20 +-241 208 19 203 166 17 185 133 11 210 150 10 +-216 158 10 210 150 10 102 78 10 2 2 6 +- 6 6 6 54 54 54 14 14 14 2 2 6 +- 2 2 6 62 62 62 74 74 74 30 30 30 +- 10 10 10 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 34 34 34 78 78 78 50 50 50 6 6 6 +- 94 70 30 139 102 15 190 146 13 226 184 13 +-232 200 30 232 195 16 215 174 15 190 146 13 +-168 122 10 192 133 9 210 150 10 213 154 11 +-202 150 34 182 157 106 101 98 89 2 2 6 +- 2 2 6 78 78 78 116 116 116 58 58 58 +- 2 2 6 22 22 22 90 90 90 46 46 46 +- 18 18 18 6 6 6 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 38 38 38 86 86 86 50 50 50 6 6 6 +-128 128 128 174 154 114 156 107 11 168 122 10 +-198 155 10 184 144 12 197 138 11 200 144 11 +-206 145 10 206 145 10 197 138 11 188 164 115 +-195 195 195 198 198 198 174 174 174 14 14 14 +- 2 2 6 22 22 22 116 116 116 116 116 116 +- 22 22 22 2 2 6 74 74 74 70 70 70 +- 30 30 30 10 10 10 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 6 6 6 18 18 18 +- 50 50 50 101 101 101 26 26 26 10 10 10 +-138 138 138 190 190 190 174 154 114 156 107 11 +-197 138 11 200 144 11 197 138 11 192 133 9 +-180 123 7 190 142 34 190 178 144 187 187 187 +-202 202 202 221 221 221 214 214 214 66 66 66 +- 2 2 6 2 2 6 50 50 50 62 62 62 +- 6 6 6 2 2 6 10 10 10 90 90 90 +- 50 50 50 18 18 18 6 6 6 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 10 10 10 34 34 34 +- 74 74 74 74 74 74 2 2 6 6 6 6 +-144 144 144 198 198 198 190 190 190 178 166 146 +-154 121 60 156 107 11 156 107 11 168 124 44 +-174 154 114 187 187 187 190 190 190 210 210 210 +-246 246 246 253 253 253 253 253 253 182 182 182 +- 6 6 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 62 62 62 +- 74 74 74 34 34 34 14 14 14 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 10 10 10 22 22 22 54 54 54 +- 94 94 94 18 18 18 2 2 6 46 46 46 +-234 234 234 221 221 221 190 190 190 190 190 190 +-190 190 190 187 187 187 187 187 187 190 190 190 +-190 190 190 195 195 195 214 214 214 242 242 242 +-253 253 253 253 253 253 253 253 253 253 253 253 +- 82 82 82 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 14 14 14 +- 86 86 86 54 54 54 22 22 22 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 6 6 6 18 18 18 46 46 46 90 90 90 +- 46 46 46 18 18 18 6 6 6 182 182 182 +-253 253 253 246 246 246 206 206 206 190 190 190 +-190 190 190 190 190 190 190 190 190 190 190 190 +-206 206 206 231 231 231 250 250 250 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-202 202 202 14 14 14 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 42 42 42 86 86 86 42 42 42 18 18 18 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 6 6 6 +- 14 14 14 38 38 38 74 74 74 66 66 66 +- 2 2 6 6 6 6 90 90 90 250 250 250 +-253 253 253 253 253 253 238 238 238 198 198 198 +-190 190 190 190 190 190 195 195 195 221 221 221 +-246 246 246 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 82 82 82 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 78 78 78 70 70 70 34 34 34 +- 14 14 14 6 6 6 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 14 14 14 +- 34 34 34 66 66 66 78 78 78 6 6 6 +- 2 2 6 18 18 18 218 218 218 253 253 253 +-253 253 253 253 253 253 253 253 253 246 246 246 +-226 226 226 231 231 231 246 246 246 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 178 178 178 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 18 18 18 90 90 90 62 62 62 +- 30 30 30 10 10 10 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 10 10 10 26 26 26 +- 58 58 58 90 90 90 18 18 18 2 2 6 +- 2 2 6 110 110 110 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-250 250 250 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 231 231 231 18 18 18 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 18 18 18 94 94 94 +- 54 54 54 26 26 26 10 10 10 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 6 6 6 22 22 22 50 50 50 +- 90 90 90 26 26 26 2 2 6 2 2 6 +- 14 14 14 195 195 195 250 250 250 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-250 250 250 242 242 242 54 54 54 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 38 38 38 +- 86 86 86 50 50 50 22 22 22 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 6 6 6 14 14 14 38 38 38 82 82 82 +- 34 34 34 2 2 6 2 2 6 2 2 6 +- 42 42 42 195 195 195 246 246 246 253 253 253 +-253 253 253 253 253 253 253 253 253 250 250 250 +-242 242 242 242 242 242 250 250 250 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 250 250 250 246 246 246 238 238 238 +-226 226 226 231 231 231 101 101 101 6 6 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 38 38 38 82 82 82 42 42 42 14 14 14 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 10 10 10 26 26 26 62 62 62 66 66 66 +- 2 2 6 2 2 6 2 2 6 6 6 6 +- 70 70 70 170 170 170 206 206 206 234 234 234 +-246 246 246 250 250 250 250 250 250 238 238 238 +-226 226 226 231 231 231 238 238 238 250 250 250 +-250 250 250 250 250 250 246 246 246 231 231 231 +-214 214 214 206 206 206 202 202 202 202 202 202 +-198 198 198 202 202 202 182 182 182 18 18 18 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 62 62 62 66 66 66 30 30 30 +- 10 10 10 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 14 14 14 42 42 42 82 82 82 18 18 18 +- 2 2 6 2 2 6 2 2 6 10 10 10 +- 94 94 94 182 182 182 218 218 218 242 242 242 +-250 250 250 253 253 253 253 253 253 250 250 250 +-234 234 234 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 246 246 246 +-238 238 238 226 226 226 210 210 210 202 202 202 +-195 195 195 195 195 195 210 210 210 158 158 158 +- 6 6 6 14 14 14 50 50 50 14 14 14 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 6 6 6 86 86 86 46 46 46 +- 18 18 18 6 6 6 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 6 6 6 +- 22 22 22 54 54 54 70 70 70 2 2 6 +- 2 2 6 10 10 10 2 2 6 22 22 22 +-166 166 166 231 231 231 250 250 250 253 253 253 +-253 253 253 253 253 253 253 253 253 250 250 250 +-242 242 242 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 246 246 246 +-231 231 231 206 206 206 198 198 198 226 226 226 +- 94 94 94 2 2 6 6 6 6 38 38 38 +- 30 30 30 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 62 62 62 66 66 66 +- 26 26 26 10 10 10 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 30 30 30 74 74 74 50 50 50 2 2 6 +- 26 26 26 26 26 26 2 2 6 106 106 106 +-238 238 238 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 246 246 246 218 218 218 202 202 202 +-210 210 210 14 14 14 2 2 6 2 2 6 +- 30 30 30 22 22 22 2 2 6 2 2 6 +- 2 2 6 2 2 6 18 18 18 86 86 86 +- 42 42 42 14 14 14 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 14 14 14 +- 42 42 42 90 90 90 22 22 22 2 2 6 +- 42 42 42 2 2 6 18 18 18 218 218 218 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 250 250 250 221 221 221 +-218 218 218 101 101 101 2 2 6 14 14 14 +- 18 18 18 38 38 38 10 10 10 2 2 6 +- 2 2 6 2 2 6 2 2 6 78 78 78 +- 58 58 58 22 22 22 6 6 6 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 6 6 6 18 18 18 +- 54 54 54 82 82 82 2 2 6 26 26 26 +- 22 22 22 2 2 6 123 123 123 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 250 250 250 +-238 238 238 198 198 198 6 6 6 38 38 38 +- 58 58 58 26 26 26 38 38 38 2 2 6 +- 2 2 6 2 2 6 2 2 6 46 46 46 +- 78 78 78 30 30 30 10 10 10 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 10 10 10 30 30 30 +- 74 74 74 58 58 58 2 2 6 42 42 42 +- 2 2 6 22 22 22 231 231 231 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 250 250 250 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 246 246 246 46 46 46 38 38 38 +- 42 42 42 14 14 14 38 38 38 14 14 14 +- 2 2 6 2 2 6 2 2 6 6 6 6 +- 86 86 86 46 46 46 14 14 14 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 6 6 6 14 14 14 42 42 42 +- 90 90 90 18 18 18 18 18 18 26 26 26 +- 2 2 6 116 116 116 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 250 250 250 238 238 238 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 94 94 94 6 6 6 +- 2 2 6 2 2 6 10 10 10 34 34 34 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 74 74 74 58 58 58 22 22 22 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 10 10 10 26 26 26 66 66 66 +- 82 82 82 2 2 6 38 38 38 6 6 6 +- 14 14 14 210 210 210 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 246 246 246 242 242 242 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 144 144 144 2 2 6 +- 2 2 6 2 2 6 2 2 6 46 46 46 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 42 42 42 74 74 74 30 30 30 10 10 10 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 6 6 6 14 14 14 42 42 42 90 90 90 +- 26 26 26 6 6 6 42 42 42 2 2 6 +- 74 74 74 250 250 250 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 242 242 242 242 242 242 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 182 182 182 2 2 6 +- 2 2 6 2 2 6 2 2 6 46 46 46 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 10 10 10 86 86 86 38 38 38 10 10 10 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 10 10 10 26 26 26 66 66 66 82 82 82 +- 2 2 6 22 22 22 18 18 18 2 2 6 +-149 149 149 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 234 234 234 242 242 242 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 206 206 206 2 2 6 +- 2 2 6 2 2 6 2 2 6 38 38 38 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 6 6 6 86 86 86 46 46 46 14 14 14 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 6 6 6 +- 18 18 18 46 46 46 86 86 86 18 18 18 +- 2 2 6 34 34 34 10 10 10 6 6 6 +-210 210 210 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 234 234 234 242 242 242 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 221 221 221 6 6 6 +- 2 2 6 2 2 6 6 6 6 30 30 30 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 82 82 82 54 54 54 18 18 18 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 26 26 26 66 66 66 62 62 62 2 2 6 +- 2 2 6 38 38 38 10 10 10 26 26 26 +-238 238 238 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 231 231 231 238 238 238 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 231 231 231 6 6 6 +- 2 2 6 2 2 6 10 10 10 30 30 30 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 66 66 66 58 58 58 22 22 22 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 38 38 38 78 78 78 6 6 6 2 2 6 +- 2 2 6 46 46 46 14 14 14 42 42 42 +-246 246 246 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 231 231 231 242 242 242 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 234 234 234 10 10 10 +- 2 2 6 2 2 6 22 22 22 14 14 14 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 66 66 66 62 62 62 22 22 22 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 6 6 6 18 18 18 +- 50 50 50 74 74 74 2 2 6 2 2 6 +- 14 14 14 70 70 70 34 34 34 62 62 62 +-250 250 250 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 231 231 231 246 246 246 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 234 234 234 14 14 14 +- 2 2 6 2 2 6 30 30 30 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 66 66 66 62 62 62 22 22 22 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 6 6 6 18 18 18 +- 54 54 54 62 62 62 2 2 6 2 2 6 +- 2 2 6 30 30 30 46 46 46 70 70 70 +-250 250 250 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 231 231 231 246 246 246 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 226 226 226 10 10 10 +- 2 2 6 6 6 6 30 30 30 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 66 66 66 58 58 58 22 22 22 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 6 6 6 22 22 22 +- 58 58 58 62 62 62 2 2 6 2 2 6 +- 2 2 6 2 2 6 30 30 30 78 78 78 +-250 250 250 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 231 231 231 246 246 246 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 206 206 206 2 2 6 +- 22 22 22 34 34 34 18 14 6 22 22 22 +- 26 26 26 18 18 18 6 6 6 2 2 6 +- 2 2 6 82 82 82 54 54 54 18 18 18 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 6 6 6 26 26 26 +- 62 62 62 106 106 106 74 54 14 185 133 11 +-210 162 10 121 92 8 6 6 6 62 62 62 +-238 238 238 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 231 231 231 246 246 246 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 158 158 158 18 18 18 +- 14 14 14 2 2 6 2 2 6 2 2 6 +- 6 6 6 18 18 18 66 66 66 38 38 38 +- 6 6 6 94 94 94 50 50 50 18 18 18 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 6 6 6 +- 10 10 10 10 10 10 18 18 18 38 38 38 +- 78 78 78 142 134 106 216 158 10 242 186 14 +-246 190 14 246 190 14 156 118 10 10 10 10 +- 90 90 90 238 238 238 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 231 231 231 250 250 250 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 246 230 190 +-238 204 91 238 204 91 181 142 44 37 26 9 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 38 38 38 46 46 46 +- 26 26 26 106 106 106 54 54 54 18 18 18 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 6 6 6 14 14 14 22 22 22 +- 30 30 30 38 38 38 50 50 50 70 70 70 +-106 106 106 190 142 34 226 170 11 242 186 14 +-246 190 14 246 190 14 246 190 14 154 114 10 +- 6 6 6 74 74 74 226 226 226 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 231 231 231 250 250 250 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 228 184 62 +-241 196 14 241 208 19 232 195 16 38 30 10 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 6 6 6 30 30 30 26 26 26 +-203 166 17 154 142 90 66 66 66 26 26 26 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 6 6 6 18 18 18 38 38 38 58 58 58 +- 78 78 78 86 86 86 101 101 101 123 123 123 +-175 146 61 210 150 10 234 174 13 246 186 14 +-246 190 14 246 190 14 246 190 14 238 190 10 +-102 78 10 2 2 6 46 46 46 198 198 198 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 234 234 234 242 242 242 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 224 178 62 +-242 186 14 241 196 14 210 166 10 22 18 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 6 6 6 121 92 8 +-238 202 15 232 195 16 82 82 82 34 34 34 +- 10 10 10 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 14 14 14 38 38 38 70 70 70 154 122 46 +-190 142 34 200 144 11 197 138 11 197 138 11 +-213 154 11 226 170 11 242 186 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-225 175 15 46 32 6 2 2 6 22 22 22 +-158 158 158 250 250 250 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 250 250 250 242 242 242 224 178 62 +-239 182 13 236 186 11 213 154 11 46 32 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 61 42 6 225 175 15 +-238 190 10 236 186 11 112 100 78 42 42 42 +- 14 14 14 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 6 6 6 +- 22 22 22 54 54 54 154 122 46 213 154 11 +-226 170 11 230 174 11 226 170 11 226 170 11 +-236 178 12 242 186 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-241 196 14 184 144 12 10 10 10 2 2 6 +- 6 6 6 116 116 116 242 242 242 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 231 231 231 198 198 198 214 170 54 +-236 178 12 236 178 12 210 150 10 137 92 6 +- 18 14 6 2 2 6 2 2 6 2 2 6 +- 6 6 6 70 47 6 200 144 11 236 178 12 +-239 182 13 239 182 13 124 112 88 58 58 58 +- 22 22 22 6 6 6 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 30 30 30 70 70 70 180 133 36 226 170 11 +-239 182 13 242 186 14 242 186 14 246 186 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 232 195 16 98 70 6 2 2 6 +- 2 2 6 2 2 6 66 66 66 221 221 221 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 206 206 206 198 198 198 214 166 58 +-230 174 11 230 174 11 216 158 10 192 133 9 +-163 110 8 116 81 8 102 78 10 116 81 8 +-167 114 7 197 138 11 226 170 11 239 182 13 +-242 186 14 242 186 14 162 146 94 78 78 78 +- 34 34 34 14 14 14 6 6 6 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 6 6 6 +- 30 30 30 78 78 78 190 142 34 226 170 11 +-239 182 13 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 241 196 14 203 166 17 22 18 6 +- 2 2 6 2 2 6 2 2 6 38 38 38 +-218 218 218 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-250 250 250 206 206 206 198 198 198 202 162 69 +-226 170 11 236 178 12 224 166 10 210 150 10 +-200 144 11 197 138 11 192 133 9 197 138 11 +-210 150 10 226 170 11 242 186 14 246 190 14 +-246 190 14 246 186 14 225 175 15 124 112 88 +- 62 62 62 30 30 30 14 14 14 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 30 30 30 78 78 78 174 135 50 224 166 10 +-239 182 13 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 241 196 14 139 102 15 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 78 78 78 250 250 250 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-250 250 250 214 214 214 198 198 198 190 150 46 +-219 162 10 236 178 12 234 174 13 224 166 10 +-216 158 10 213 154 11 213 154 11 216 158 10 +-226 170 11 239 182 13 246 190 14 246 190 14 +-246 190 14 246 190 14 242 186 14 206 162 42 +-101 101 101 58 58 58 30 30 30 14 14 14 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 30 30 30 74 74 74 174 135 50 216 158 10 +-236 178 12 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 241 196 14 226 184 13 +- 61 42 6 2 2 6 2 2 6 2 2 6 +- 22 22 22 238 238 238 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 226 226 226 187 187 187 180 133 36 +-216 158 10 236 178 12 239 182 13 236 178 12 +-230 174 11 226 170 11 226 170 11 230 174 11 +-236 178 12 242 186 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 186 14 239 182 13 +-206 162 42 106 106 106 66 66 66 34 34 34 +- 14 14 14 6 6 6 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 6 6 6 +- 26 26 26 70 70 70 163 133 67 213 154 11 +-236 178 12 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 241 196 14 +-190 146 13 18 14 6 2 2 6 2 2 6 +- 46 46 46 246 246 246 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 221 221 221 86 86 86 156 107 11 +-216 158 10 236 178 12 242 186 14 246 186 14 +-242 186 14 239 182 13 239 182 13 242 186 14 +-242 186 14 246 186 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-242 186 14 225 175 15 142 122 72 66 66 66 +- 30 30 30 10 10 10 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 6 6 6 +- 26 26 26 70 70 70 163 133 67 210 150 10 +-236 178 12 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-232 195 16 121 92 8 34 34 34 106 106 106 +-221 221 221 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-242 242 242 82 82 82 18 14 6 163 110 8 +-216 158 10 236 178 12 242 186 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 242 186 14 163 133 67 +- 46 46 46 18 18 18 6 6 6 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 10 10 10 +- 30 30 30 78 78 78 163 133 67 210 150 10 +-236 178 12 246 186 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-241 196 14 215 174 15 190 178 144 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 218 218 218 +- 58 58 58 2 2 6 22 18 6 167 114 7 +-216 158 10 236 178 12 246 186 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 186 14 242 186 14 190 150 46 +- 54 54 54 22 22 22 6 6 6 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 14 14 14 +- 38 38 38 86 86 86 180 133 36 213 154 11 +-236 178 12 246 186 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 232 195 16 190 146 13 214 214 214 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 250 250 250 170 170 170 26 26 26 +- 2 2 6 2 2 6 37 26 9 163 110 8 +-219 162 10 239 182 13 246 186 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 186 14 236 178 12 224 166 10 142 122 72 +- 46 46 46 18 18 18 6 6 6 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 6 6 6 18 18 18 +- 50 50 50 109 106 95 192 133 9 224 166 10 +-242 186 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-242 186 14 226 184 13 210 162 10 142 110 46 +-226 226 226 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-253 253 253 253 253 253 253 253 253 253 253 253 +-198 198 198 66 66 66 2 2 6 2 2 6 +- 2 2 6 2 2 6 50 34 6 156 107 11 +-219 162 10 239 182 13 246 186 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 242 186 14 +-234 174 13 213 154 11 154 122 46 66 66 66 +- 30 30 30 10 10 10 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 6 6 6 22 22 22 +- 58 58 58 154 121 60 206 145 10 234 174 13 +-242 186 14 246 186 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 186 14 236 178 12 210 162 10 163 110 8 +- 61 42 6 138 138 138 218 218 218 250 250 250 +-253 253 253 253 253 253 253 253 253 250 250 250 +-242 242 242 210 210 210 144 144 144 66 66 66 +- 6 6 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 61 42 6 163 110 8 +-216 158 10 236 178 12 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 239 182 13 230 174 11 216 158 10 +-190 142 34 124 112 88 70 70 70 38 38 38 +- 18 18 18 6 6 6 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 6 6 6 22 22 22 +- 62 62 62 168 124 44 206 145 10 224 166 10 +-236 178 12 239 182 13 242 186 14 242 186 14 +-246 186 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 236 178 12 216 158 10 175 118 6 +- 80 54 7 2 2 6 6 6 6 30 30 30 +- 54 54 54 62 62 62 50 50 50 38 38 38 +- 14 14 14 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 6 6 6 80 54 7 167 114 7 +-213 154 11 236 178 12 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 190 14 242 186 14 239 182 13 239 182 13 +-230 174 11 210 150 10 174 135 50 124 112 88 +- 82 82 82 54 54 54 34 34 34 18 18 18 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 6 6 6 18 18 18 +- 50 50 50 158 118 36 192 133 9 200 144 11 +-216 158 10 219 162 10 224 166 10 226 170 11 +-230 174 11 236 178 12 239 182 13 239 182 13 +-242 186 14 246 186 14 246 190 14 246 190 14 +-246 190 14 246 190 14 246 190 14 246 190 14 +-246 186 14 230 174 11 210 150 10 163 110 8 +-104 69 6 10 10 10 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 6 6 6 91 60 6 167 114 7 +-206 145 10 230 174 11 242 186 14 246 190 14 +-246 190 14 246 190 14 246 186 14 242 186 14 +-239 182 13 230 174 11 224 166 10 213 154 11 +-180 133 36 124 112 88 86 86 86 58 58 58 +- 38 38 38 22 22 22 10 10 10 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 14 14 14 +- 34 34 34 70 70 70 138 110 50 158 118 36 +-167 114 7 180 123 7 192 133 9 197 138 11 +-200 144 11 206 145 10 213 154 11 219 162 10 +-224 166 10 230 174 11 239 182 13 242 186 14 +-246 186 14 246 186 14 246 186 14 246 186 14 +-239 182 13 216 158 10 185 133 11 152 99 6 +-104 69 6 18 14 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 2 2 6 2 2 6 2 2 6 +- 2 2 6 6 6 6 80 54 7 152 99 6 +-192 133 9 219 162 10 236 178 12 239 182 13 +-246 186 14 242 186 14 239 182 13 236 178 12 +-224 166 10 206 145 10 192 133 9 154 121 60 +- 94 94 94 62 62 62 42 42 42 22 22 22 +- 14 14 14 6 6 6 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 6 6 6 +- 18 18 18 34 34 34 58 58 58 78 78 78 +-101 98 89 124 112 88 142 110 46 156 107 11 +-163 110 8 167 114 7 175 118 6 180 123 7 +-185 133 11 197 138 11 210 150 10 219 162 10 +-226 170 11 236 178 12 236 178 12 234 174 13 +-219 162 10 197 138 11 163 110 8 130 83 6 +- 91 60 6 10 10 10 2 2 6 2 2 6 +- 18 18 18 38 38 38 38 38 38 38 38 38 +- 38 38 38 38 38 38 38 38 38 38 38 38 +- 38 38 38 38 38 38 26 26 26 2 2 6 +- 2 2 6 6 6 6 70 47 6 137 92 6 +-175 118 6 200 144 11 219 162 10 230 174 11 +-234 174 13 230 174 11 219 162 10 210 150 10 +-192 133 9 163 110 8 124 112 88 82 82 82 +- 50 50 50 30 30 30 14 14 14 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 6 6 6 14 14 14 22 22 22 34 34 34 +- 42 42 42 58 58 58 74 74 74 86 86 86 +-101 98 89 122 102 70 130 98 46 121 87 25 +-137 92 6 152 99 6 163 110 8 180 123 7 +-185 133 11 197 138 11 206 145 10 200 144 11 +-180 123 7 156 107 11 130 83 6 104 69 6 +- 50 34 6 54 54 54 110 110 110 101 98 89 +- 86 86 86 82 82 82 78 78 78 78 78 78 +- 78 78 78 78 78 78 78 78 78 78 78 78 +- 78 78 78 82 82 82 86 86 86 94 94 94 +-106 106 106 101 101 101 86 66 34 124 80 6 +-156 107 11 180 123 7 192 133 9 200 144 11 +-206 145 10 200 144 11 192 133 9 175 118 6 +-139 102 15 109 106 95 70 70 70 42 42 42 +- 22 22 22 10 10 10 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 6 6 6 10 10 10 +- 14 14 14 22 22 22 30 30 30 38 38 38 +- 50 50 50 62 62 62 74 74 74 90 90 90 +-101 98 89 112 100 78 121 87 25 124 80 6 +-137 92 6 152 99 6 152 99 6 152 99 6 +-138 86 6 124 80 6 98 70 6 86 66 30 +-101 98 89 82 82 82 58 58 58 46 46 46 +- 38 38 38 34 34 34 34 34 34 34 34 34 +- 34 34 34 34 34 34 34 34 34 34 34 34 +- 34 34 34 34 34 34 38 38 38 42 42 42 +- 54 54 54 82 82 82 94 86 76 91 60 6 +-134 86 6 156 107 11 167 114 7 175 118 6 +-175 118 6 167 114 7 152 99 6 121 87 25 +-101 98 89 62 62 62 34 34 34 18 18 18 +- 6 6 6 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 6 6 6 6 6 6 10 10 10 +- 18 18 18 22 22 22 30 30 30 42 42 42 +- 50 50 50 66 66 66 86 86 86 101 98 89 +-106 86 58 98 70 6 104 69 6 104 69 6 +-104 69 6 91 60 6 82 62 34 90 90 90 +- 62 62 62 38 38 38 22 22 22 14 14 14 +- 10 10 10 10 10 10 10 10 10 10 10 10 +- 10 10 10 10 10 10 6 6 6 10 10 10 +- 10 10 10 10 10 10 10 10 10 14 14 14 +- 22 22 22 42 42 42 70 70 70 89 81 66 +- 80 54 7 104 69 6 124 80 6 137 92 6 +-134 86 6 116 81 8 100 82 52 86 86 86 +- 58 58 58 30 30 30 14 14 14 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 6 6 6 10 10 10 14 14 14 +- 18 18 18 26 26 26 38 38 38 54 54 54 +- 70 70 70 86 86 86 94 86 76 89 81 66 +- 89 81 66 86 86 86 74 74 74 50 50 50 +- 30 30 30 14 14 14 6 6 6 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 6 6 6 18 18 18 34 34 34 58 58 58 +- 82 82 82 89 81 66 89 81 66 89 81 66 +- 94 86 66 94 86 76 74 74 74 50 50 50 +- 26 26 26 14 14 14 6 6 6 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 6 6 6 6 6 6 14 14 14 18 18 18 +- 30 30 30 38 38 38 46 46 46 54 54 54 +- 50 50 50 42 42 42 30 30 30 18 18 18 +- 10 10 10 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 6 6 6 14 14 14 26 26 26 +- 38 38 38 50 50 50 58 58 58 58 58 58 +- 54 54 54 42 42 42 30 30 30 18 18 18 +- 10 10 10 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 6 6 6 +- 6 6 6 10 10 10 14 14 14 18 18 18 +- 18 18 18 14 14 14 10 10 10 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 6 6 6 +- 14 14 14 18 18 18 22 22 22 22 22 22 +- 18 18 18 14 14 14 10 10 10 6 6 6 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 6 9 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 6 9 23 30 36 44 54 65 57 72 88 44 54 65 6 12 15 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 31 41 52 ++103 134 161 163 205 246 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 143 185 225 ++82 108 129 8 14 16 0 2 0 0 6 9 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 17 24 30 126 162 196 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 161 203 243 92 119 140 0 6 9 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 44 54 65 154 195 235 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 138 174 208 21 27 33 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 70 96 117 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 157 198 239 49 59 70 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 7 0 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 3 6 52 62 74 170 212 252 170 212 252 170 212 252 170 212 252 129 165 199 ++82 108 129 149 191 231 170 212 252 170 212 252 170 212 252 129 165 199 82 108 129 149 191 231 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 166 207 248 37 48 59 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 21 13 4 31 23 12 0 2 0 0 2 0 105 75 32 155 111 43 23 15 7 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 6 9 3 10 13 146 188 228 170 212 252 170 212 252 170 212 252 157 198 239 0 6 9 ++0 2 0 52 62 74 170 212 252 170 212 252 154 195 235 0 6 9 0 2 0 55 66 77 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 151 193 233 17 24 30 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++10 12 8 23 15 7 139 99 44 206 148 61 67 49 21 0 2 0 125 92 35 206 148 61 ++15 9 7 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 96 127 154 170 212 252 170 212 252 170 212 252 170 212 252 92 119 140 21 22 20 ++10 12 8 53 68 84 170 212 252 170 212 252 92 119 140 10 12 8 7 10 5 53 68 84 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 134 170 204 ++0 6 9 0 3 6 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 21 22 20 ++62 64 61 38 40 37 0 2 0 34 26 8 212 153 66 64 46 18 0 2 0 170 124 49 ++180 132 57 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++18 22 24 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 65 87 102 115 117 114 ++43 44 42 88 115 136 170 212 252 170 212 252 68 83 99 108 110 107 60 62 59 88 115 136 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++80 98 121 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 10 12 8 56 58 55 95 96 94 178 180 177 215 217 214 198 200 197 ++158 160 156 138 140 137 82 83 81 0 2 0 64 46 18 228 167 73 23 15 7 41 31 10 ++250 179 73 55 39 17 7 0 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++75 94 116 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 63 78 94 0 2 0 ++0 2 0 126 162 196 170 212 252 170 212 252 57 72 88 0 2 0 0 2 0 126 162 196 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++157 198 239 8 14 16 0 6 9 0 2 0 45 47 44 195 197 194 192 194 191 38 40 37 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 192 194 191 234 236 233 176 178 175 118 120 117 143 145 142 176 178 175 ++215 217 214 234 236 233 234 236 233 104 106 103 0 2 0 142 101 40 134 100 43 0 2 0 ++164 119 51 170 124 49 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++134 170 204 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 115 152 185 8 14 16 ++49 59 70 166 207 248 170 212 252 170 212 252 119 150 178 8 14 16 55 66 77 166 207 248 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 92 119 140 0 2 0 0 2 0 200 202 199 254 255 252 254 255 252 244 246 243 ++40 41 39 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 38 40 37 234 236 233 234 236 233 234 236 233 135 137 134 215 217 214 171 173 170 ++141 142 139 138 140 137 138 140 137 135 137 134 31 32 30 3 6 2 212 153 66 15 9 7 ++78 58 25 248 178 79 41 31 10 7 0 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 3 6 21 27 33 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 163 205 246 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 154 195 235 0 6 9 82 83 81 254 255 252 254 255 252 254 255 252 254 255 252 ++188 190 187 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 62 64 61 234 236 233 234 236 233 234 236 233 198 200 197 131 133 130 198 200 197 ++232 234 231 234 236 233 234 236 233 234 236 233 152 154 151 0 2 0 147 105 44 67 49 21 ++23 15 7 250 179 73 158 114 46 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 6 9 61 76 92 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 154 195 235 103 134 161 80 98 121 ++52 62 74 18 22 24 0 2 0 3 10 13 38 45 51 80 98 121 151 193 233 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 109 141 168 0 2 0 169 171 168 254 255 252 254 255 252 254 255 252 254 255 252 ++226 228 225 65 66 64 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 43 44 42 234 236 233 234 236 233 234 236 233 234 236 233 131 133 130 192 194 191 ++152 154 151 141 142 139 141 142 139 141 142 139 158 160 156 3 6 2 82 62 28 129 95 39 ++0 2 0 206 148 61 248 178 79 21 13 4 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 96 115 138 ++170 212 252 170 212 252 170 212 252 170 212 252 129 165 199 18 22 24 0 2 0 0 2 0 ++34 26 8 75 55 22 114 83 33 95 68 30 55 39 17 7 0 0 0 6 9 84 103 125 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 84 103 125 0 2 0 229 231 228 254 255 252 254 255 252 254 255 252 171 173 170 ++0 2 0 0 2 0 0 6 9 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 18 20 17 234 236 233 234 236 233 234 236 233 234 236 233 138 140 137 178 180 177 ++226 228 225 234 236 233 234 236 233 234 236 233 231 233 230 45 47 44 23 15 7 190 136 56 ++0 2 0 147 105 44 250 179 73 64 46 18 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 122 159 192 ++170 212 252 170 212 252 170 212 252 126 162 196 0 2 0 26 20 13 190 136 56 245 175 76 ++250 179 73 161 117 49 164 119 51 245 175 76 250 179 73 206 148 61 75 55 22 0 2 0 ++126 162 196 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 68 83 99 0 2 0 252 254 250 254 255 252 254 255 252 254 255 252 71 73 70 ++8 14 16 88 115 136 17 24 30 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 232 234 231 234 236 233 234 236 233 234 236 233 215 217 214 148 150 147 ++183 185 181 141 142 139 135 137 134 135 137 134 141 142 139 87 89 86 0 2 0 202 145 58 ++3 6 2 88 66 26 250 179 73 109 79 35 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 157 198 239 ++170 212 252 170 212 252 166 207 248 26 33 39 26 20 13 224 163 69 250 179 73 250 179 73 ++250 179 73 197 142 62 202 145 58 250 179 73 250 179 73 250 179 73 234 172 70 21 13 4 ++38 45 51 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 52 62 74 21 22 20 254 255 252 254 255 252 254 255 252 254 255 252 21 22 20 ++49 59 70 170 212 252 166 207 248 91 123 149 8 14 16 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 215 217 214 234 236 233 234 236 233 234 236 233 234 236 233 123 125 122 ++188 190 187 229 231 228 234 236 233 234 236 233 222 224 221 118 120 117 0 2 0 168 123 54 ++34 26 8 67 49 21 250 179 73 134 100 43 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 34 41 47 170 212 252 ++170 212 252 170 212 252 85 112 133 0 2 0 164 119 51 250 179 73 250 179 73 250 179 73 ++250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 129 95 39 ++0 2 0 138 174 208 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 34 44 55 45 47 44 254 255 252 254 255 252 254 255 252 254 255 252 24 22 25 ++52 62 74 170 212 252 170 212 252 170 212 252 138 174 208 10 16 18 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 178 180 177 234 236 233 234 236 233 234 236 233 234 236 233 141 142 139 ++198 200 197 148 150 147 135 137 134 135 137 134 148 150 147 123 125 122 0 2 0 190 136 56 ++21 13 4 78 58 25 250 179 73 129 95 39 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 82 108 129 170 212 252 ++170 212 252 170 212 252 23 30 36 58 42 19 250 179 73 250 179 73 250 179 73 250 179 73 ++250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 147 105 44 ++0 2 0 139 181 221 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 34 41 47 45 47 44 254 255 252 254 255 252 254 255 252 254 255 252 56 58 55 ++25 32 38 170 212 252 170 212 252 170 212 252 170 212 252 138 174 208 10 16 18 0 6 9 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 91 93 90 234 236 233 234 236 233 234 236 233 234 236 233 126 127 125 ++169 171 168 222 224 221 234 236 233 229 231 228 178 180 177 71 73 70 0 2 0 212 153 66 ++0 2 0 95 68 30 250 179 73 119 87 37 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 138 174 208 170 212 252 ++170 212 252 154 195 235 0 2 0 125 92 35 250 179 73 250 179 73 250 179 73 250 179 73 ++250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 119 87 37 ++0 2 0 157 198 239 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 57 72 88 7 10 5 252 254 250 254 255 252 254 255 252 254 255 252 95 96 94 ++0 6 9 166 207 248 170 212 252 170 212 252 170 212 252 170 212 252 138 174 208 8 14 16 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 7 10 5 222 224 221 234 236 233 234 236 233 234 236 233 141 142 139 ++183 185 181 138 140 137 131 133 130 141 142 139 192 194 191 102 104 101 0 2 0 224 163 69 ++0 2 0 105 75 32 250 179 73 55 39 17 7 0 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 21 27 33 170 212 252 170 212 252 ++170 212 252 115 152 185 0 2 0 180 132 57 250 179 73 250 179 73 250 179 73 250 179 73 ++250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 228 167 73 10 12 8 ++38 45 51 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 82 108 129 0 2 0 222 224 221 254 255 252 254 255 252 254 255 252 158 160 156 ++0 2 0 92 119 140 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 122 159 192 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 141 142 139 234 236 233 234 236 233 234 236 233 131 133 130 ++185 187 183 231 233 230 222 224 221 158 160 156 138 140 137 48 50 48 3 6 2 250 179 73 ++134 100 43 206 148 61 218 158 64 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 75 94 116 170 212 252 170 212 252 ++170 212 252 92 119 140 0 2 0 224 163 69 250 179 73 250 179 73 250 179 73 250 179 73 ++250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 87 61 23 7 0 0 ++134 170 204 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 109 141 168 0 2 0 178 180 177 254 255 252 254 255 252 254 255 252 252 254 250 ++39 43 45 10 16 18 157 198 239 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++88 115 136 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 45 47 44 234 236 233 234 236 233 234 236 233 131 133 130 ++148 150 147 138 140 137 148 150 147 210 212 209 152 154 151 26 27 25 29 21 8 250 179 73 ++250 179 73 234 172 70 55 39 17 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 126 162 196 170 212 252 170 212 252 ++170 212 252 103 134 161 0 2 0 202 145 58 250 179 73 250 179 73 250 179 73 250 179 73 ++250 179 73 250 179 73 250 179 73 250 179 73 238 175 73 75 55 22 0 2 0 75 102 123 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 140 177 211 0 2 0 135 137 134 254 255 252 254 255 252 254 255 252 254 255 252 ++183 185 181 0 2 0 75 94 116 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 57 72 88 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 162 164 161 234 236 233 234 236 233 135 137 134 ++226 228 225 198 200 197 104 106 103 15 17 14 0 2 0 15 9 7 147 105 44 250 179 73 ++248 178 79 55 39 17 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 6 9 21 27 33 170 212 252 170 212 252 170 212 252 ++170 212 252 122 159 192 0 2 0 175 129 54 250 179 73 250 179 73 250 179 73 250 179 73 ++250 179 73 250 179 73 250 179 73 202 145 58 55 39 17 0 2 0 82 108 129 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 12 17 20 60 62 59 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 69 71 68 0 6 9 143 185 225 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 159 201 241 26 33 39 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 7 10 5 162 164 161 215 217 214 95 96 94 ++56 58 55 0 2 0 0 2 0 0 2 0 61 44 16 238 175 73 250 179 73 250 179 73 ++218 158 64 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 88 115 136 170 212 252 170 212 252 170 212 252 ++170 212 252 143 185 225 0 2 0 147 105 44 250 179 73 250 179 73 250 179 73 250 179 73 ++250 179 73 212 153 66 95 68 30 0 2 0 8 14 16 103 134 161 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 68 83 99 0 2 0 231 233 230 254 255 252 254 255 252 254 255 252 ++254 255 252 210 212 209 0 6 9 53 68 84 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 126 162 196 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 7 0 0 23 15 7 250 179 73 250 179 73 250 179 73 ++250 179 73 29 21 8 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 6 9 154 195 235 170 212 252 170 212 252 170 212 252 ++170 212 252 166 207 248 0 2 0 52 36 13 158 114 46 180 132 57 161 117 49 119 87 37 ++41 31 10 0 2 0 0 2 0 72 87 103 154 195 235 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 115 152 185 0 2 0 152 154 151 254 255 252 238 241 237 85 87 84 ++229 231 228 254 255 252 99 101 98 0 2 0 126 162 196 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 63 78 94 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 202 145 58 250 179 73 250 179 73 ++250 179 73 105 75 32 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 32 39 45 0 2 0 57 72 88 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 85 112 133 12 17 20 0 2 0 0 2 0 0 2 0 0 2 0 ++34 41 47 92 110 133 143 185 225 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 166 207 248 6 12 15 71 73 70 254 255 252 229 231 228 0 2 0 ++141 142 139 254 255 252 231 233 230 10 12 8 34 44 55 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 154 195 235 6 12 15 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 125 92 35 250 179 73 250 179 73 ++250 179 73 180 132 57 0 2 0 0 2 0 0 2 0 0 2 0 3 10 13 68 83 99 ++129 165 199 85 112 133 0 2 0 122 159 192 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 126 162 196 119 156 189 134 170 204 149 191 231 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 57 72 88 3 6 2 242 244 240 254 255 252 35 37 34 ++78 80 77 254 255 252 254 255 252 128 130 127 0 2 0 105 137 164 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 91 123 149 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 7 0 0 55 39 17 250 179 73 250 179 73 ++250 179 73 245 175 76 7 10 5 0 2 0 44 54 65 103 134 161 161 203 243 170 212 252 ++170 212 252 21 27 33 25 32 38 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 61 76 92 0 2 0 242 244 240 254 255 252 102 104 101 ++10 12 8 231 233 230 254 255 252 244 246 243 26 27 25 21 27 33 159 201 241 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 32 39 45 0 6 9 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 218 158 64 250 179 73 ++250 179 73 250 179 73 75 55 22 0 2 0 161 203 243 170 212 252 170 212 252 170 212 252 ++115 147 174 0 2 0 91 123 149 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 159 201 241 146 188 228 ++140 177 211 134 170 204 146 188 228 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 17 24 30 62 64 61 254 255 252 254 255 252 215 217 214 ++0 2 0 102 104 101 254 255 252 254 255 252 166 168 165 0 2 0 72 87 103 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 129 165 199 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 105 75 32 250 179 73 ++250 179 73 250 179 73 150 108 46 0 2 0 113 145 172 170 212 252 170 212 252 170 212 252 ++49 59 70 3 10 13 157 198 239 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 166 207 248 109 141 168 65 87 102 28 35 41 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 6 9 28 35 41 70 96 117 138 174 208 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 0 2 0 102 104 101 254 255 252 254 255 252 254 255 252 ++102 104 101 0 2 0 192 194 191 254 255 252 254 255 252 78 80 77 0 2 0 122 159 192 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 34 44 55 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 61 76 92 154 195 235 0 6 9 29 21 8 250 179 73 ++250 179 73 250 179 73 224 163 69 0 2 0 68 83 99 170 212 252 170 212 252 143 179 213 ++0 2 0 72 87 103 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++161 203 243 96 115 138 17 24 30 0 2 0 0 2 0 45 47 44 102 104 101 123 125 122 ++138 140 137 143 145 142 115 117 114 82 83 81 43 44 42 0 2 0 0 2 0 32 39 45 ++126 162 196 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 0 2 0 85 87 84 254 255 252 254 255 252 254 255 252 ++242 244 240 27 29 27 35 37 34 254 255 252 254 255 252 231 233 230 10 12 8 21 27 33 ++159 201 241 170 212 252 170 212 252 170 212 252 170 212 252 163 205 246 0 6 9 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 6 9 44 54 65 170 212 252 170 212 252 34 44 55 0 2 0 82 62 28 ++109 79 35 224 163 69 250 179 73 52 36 13 15 20 22 170 212 252 170 212 252 75 89 106 ++0 2 0 143 179 213 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 134 170 204 ++25 32 38 0 2 0 40 41 39 155 157 153 238 241 237 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 210 212 209 115 117 114 18 20 17 ++0 2 0 68 83 99 157 198 239 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 52 62 74 7 10 5 234 236 233 254 255 252 254 255 252 ++254 255 252 195 197 194 102 104 101 254 255 252 254 255 252 254 255 252 162 164 161 0 2 0 ++72 87 103 170 212 252 170 212 252 170 212 252 170 212 252 119 156 189 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 115 147 174 170 212 252 91 123 149 0 2 0 0 2 0 6 12 15 ++0 2 0 15 9 7 197 142 62 125 92 35 0 2 0 115 152 185 113 145 172 3 6 2 ++41 51 62 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 113 145 172 0 6 9 ++10 12 8 155 157 153 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 232 234 231 ++87 89 86 0 2 0 32 39 45 154 195 235 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 115 152 185 0 2 0 138 140 137 254 255 252 254 255 252 ++254 255 252 254 255 252 249 251 248 254 255 252 254 255 252 254 255 252 254 255 252 65 66 64 ++0 2 0 122 159 192 170 212 252 170 212 252 170 212 252 66 80 97 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 154 195 235 170 212 252 143 179 213 88 115 136 149 191 231 170 212 252 ++126 162 196 3 6 2 64 46 18 202 145 58 0 2 0 0 2 0 0 2 0 0 2 0 ++92 119 140 170 212 252 170 212 252 170 212 252 170 212 252 143 179 213 3 10 13 27 29 27 ++215 217 214 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 155 157 153 0 2 0 32 39 45 154 195 235 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 23 30 36 27 29 27 249 251 248 254 255 252 ++254 255 252 188 190 187 7 10 5 226 228 225 254 255 252 254 255 252 254 255 252 231 233 230 ++7 10 5 21 27 33 159 201 241 170 212 252 103 134 161 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 119 156 189 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 55 66 77 11 4 3 250 179 73 24 17 10 0 2 0 0 2 0 0 2 0 ++143 185 225 170 212 252 170 212 252 170 212 252 159 201 241 28 35 41 7 10 5 200 202 199 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 155 157 153 0 2 0 55 66 77 170 212 252 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 96 127 154 0 2 0 158 160 156 254 255 252 ++254 255 252 192 194 191 0 2 0 176 178 175 254 255 252 254 255 252 254 255 252 254 255 252 ++141 142 139 0 2 0 72 87 103 129 165 199 0 6 9 0 6 9 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 6 9 12 17 20 143 185 225 170 212 252 170 212 252 170 212 252 170 212 252 ++138 174 208 17 24 30 29 21 8 250 179 73 101 72 28 0 2 0 0 2 0 32 39 45 ++170 212 252 170 212 252 170 212 252 170 212 252 57 72 88 0 2 0 152 154 151 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 108 110 107 0 2 0 115 152 185 170 212 252 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 166 207 248 18 22 24 40 41 39 254 255 252 ++254 255 252 232 234 231 0 2 0 148 150 147 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 10 12 8 0 2 0 8 14 16 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 6 9 41 51 62 61 76 92 34 44 55 3 10 13 ++0 2 0 11 4 3 164 119 51 250 179 73 175 129 54 0 2 0 0 2 0 82 108 129 ++170 212 252 170 212 252 170 212 252 98 129 156 0 2 0 95 96 94 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 238 241 237 18 20 17 25 32 38 166 207 248 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 85 112 133 0 2 0 188 190 187 ++254 255 252 254 255 252 198 200 197 242 244 240 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 120 122 119 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 6 9 0 2 0 0 6 9 7 0 0 ++31 23 12 202 145 58 250 179 73 250 179 73 238 175 73 0 2 0 0 2 0 122 159 192 ++170 212 252 170 212 252 170 212 252 28 35 41 31 32 30 244 246 243 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 152 154 151 0 2 0 85 112 133 170 212 252 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 138 174 208 0 2 0 148 150 147 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 222 224 221 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++7 0 0 234 172 70 250 179 73 250 179 73 250 179 73 34 26 8 0 2 0 149 191 231 ++170 212 252 170 212 252 129 165 199 0 2 0 128 130 127 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 252 254 250 48 50 48 3 10 13 146 188 228 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 157 198 239 0 2 0 118 120 117 ++254 255 252 254 255 252 254 255 252 169 171 168 231 233 230 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 40 41 39 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 170 124 49 250 179 73 250 179 73 250 179 73 48 33 15 6 12 15 170 212 252 ++170 212 252 170 212 252 65 87 102 0 2 0 222 224 221 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 195 197 194 0 2 0 84 103 125 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 3 10 13 85 87 84 ++254 255 252 254 255 252 234 236 233 0 2 0 128 130 127 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 99 101 98 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 95 68 30 250 179 73 250 179 73 250 179 73 34 26 8 34 44 55 170 212 252 ++170 212 252 163 205 246 8 14 16 62 64 61 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 35 37 34 34 44 55 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 26 33 39 60 62 59 ++254 255 252 254 255 252 238 241 237 0 2 0 108 110 107 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 158 160 156 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 23 15 7 248 178 79 250 179 73 245 175 76 0 2 0 63 78 94 170 212 252 ++170 212 252 109 141 168 0 2 0 158 160 156 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 104 106 103 0 2 0 ++154 195 235 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 21 27 33 69 71 68 ++254 255 252 254 255 252 244 246 243 0 2 0 91 93 90 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 215 217 214 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 197 142 62 250 179 73 212 153 66 0 2 0 92 110 133 170 212 252 ++170 212 252 80 98 121 0 2 0 231 233 230 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 176 178 175 0 2 0 ++105 137 164 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 8 14 16 87 89 86 ++254 255 252 254 255 252 254 255 252 40 41 39 21 22 20 252 254 250 254 255 252 254 255 252 ++254 255 252 254 255 252 252 254 250 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 125 92 35 250 179 73 170 124 49 0 2 0 113 145 172 170 212 252 ++170 212 252 53 68 84 15 17 14 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 242 244 240 0 2 0 ++63 78 94 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 0 2 0 104 106 103 ++254 255 252 254 255 252 254 255 252 123 125 122 0 2 0 166 168 165 254 255 252 254 255 252 ++254 255 252 254 255 252 234 236 233 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 7 0 0 52 36 13 250 179 73 129 95 39 0 2 0 143 179 213 170 212 252 ++170 212 252 32 39 45 48 50 48 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 60 62 59 ++18 22 24 170 212 252 170 212 252 170 212 252 170 212 252 163 205 246 0 2 0 102 104 101 ++254 255 252 254 255 252 254 255 252 226 228 225 15 17 14 10 12 8 215 217 214 254 255 252 ++254 255 252 254 255 252 210 212 209 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 88 66 26 29 21 8 0 2 0 166 207 248 170 212 252 ++170 212 252 3 10 13 85 87 84 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 123 125 122 ++0 2 0 149 191 231 170 212 252 170 212 252 170 212 252 170 212 252 21 27 33 56 58 55 ++254 255 252 254 255 252 254 255 252 254 255 252 178 180 177 0 2 0 38 40 37 238 241 237 ++254 255 252 254 255 252 210 212 209 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 7 0 0 7 0 0 0 2 0 161 203 243 170 212 252 ++149 191 231 0 2 0 123 125 122 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 141 142 139 ++0 2 0 143 179 213 170 212 252 170 212 252 170 212 252 170 212 252 66 80 97 0 2 0 ++210 212 209 254 255 252 254 255 252 254 255 252 254 255 252 120 122 119 0 2 0 21 22 20 ++143 145 142 244 246 243 219 221 218 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 149 191 231 170 212 252 ++129 165 199 0 2 0 158 160 156 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 155 157 153 ++0 2 0 134 170 204 170 212 252 170 212 252 170 212 252 170 212 252 143 185 225 0 6 9 ++69 71 68 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 71 73 70 0 2 0 ++0 2 0 0 2 0 40 41 39 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 139 181 221 170 212 252 ++129 165 199 0 2 0 162 164 161 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 169 171 168 ++0 2 0 119 156 189 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 75 94 116 ++0 2 0 135 137 134 254 255 252 254 255 252 254 255 252 254 255 252 69 71 68 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 134 170 204 170 212 252 ++134 170 204 0 2 0 152 154 151 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 183 185 181 ++0 2 0 113 145 172 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 166 207 248 ++44 54 65 0 2 0 162 164 161 254 255 252 254 255 252 254 255 252 35 37 34 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 126 162 196 170 212 252 ++138 174 208 0 2 0 143 145 142 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 198 200 197 ++0 2 0 103 134 161 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++157 198 239 28 35 41 0 2 0 188 190 187 254 255 252 252 254 250 3 6 2 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 115 152 185 170 212 252 ++143 179 213 0 2 0 135 137 134 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 210 212 209 ++0 2 0 91 123 149 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 146 188 228 0 6 9 26 27 25 242 244 240 176 178 175 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 105 137 164 170 212 252 ++143 185 225 0 2 0 128 130 127 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 185 187 183 ++0 2 0 105 137 164 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 163 205 246 0 2 0 0 2 0 102 104 101 60 62 59 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 80 98 121 170 212 252 ++149 191 231 0 2 0 118 120 117 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 143 145 142 ++0 2 0 134 170 204 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 143 179 213 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 44 54 65 170 212 252 ++170 212 252 3 10 13 85 87 84 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 108 110 107 ++0 2 0 157 198 239 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 115 152 185 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 3 10 13 170 212 252 ++170 212 252 34 44 55 43 44 42 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 69 71 68 ++15 20 22 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++170 212 252 75 94 116 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 139 181 221 ++170 212 252 63 78 94 3 6 2 249 251 248 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 31 32 30 ++41 51 62 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++161 203 243 6 12 15 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 105 137 164 ++170 212 252 88 115 136 0 2 0 210 212 209 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 249 251 248 0 2 0 ++68 83 99 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++96 127 154 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 61 76 92 ++170 212 252 119 150 178 0 2 0 169 171 168 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 183 185 181 0 2 0 ++91 123 149 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 ++28 35 41 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 6 9 ++146 188 228 143 185 225 0 2 0 126 127 125 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 85 87 84 0 6 9 ++154 195 235 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 98 129 156 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++72 90 112 170 212 252 18 22 24 56 58 55 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 238 241 237 7 10 5 55 66 77 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 122 159 192 0 6 9 ++0 6 9 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 122 159 192 72 87 103 0 2 0 229 231 228 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 152 154 151 0 2 0 113 145 172 ++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 139 181 221 8 14 16 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 18 22 24 109 141 168 0 2 0 148 150 147 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 56 58 55 12 17 20 166 207 248 ++170 212 252 170 212 252 170 212 252 170 212 252 146 188 228 23 30 36 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 101 72 28 202 145 58 ++180 132 57 0 2 0 38 45 51 3 10 13 69 71 68 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 200 202 199 0 2 0 75 89 106 170 212 252 ++170 212 252 170 212 252 170 212 252 109 141 168 8 14 16 0 2 0 21 13 4 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 7 0 0 0 2 0 101 72 28 218 158 64 250 179 73 250 179 73 ++250 179 73 139 99 44 0 2 0 8 14 16 0 2 0 238 241 237 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 244 246 243 38 40 37 3 10 13 139 181 221 170 212 252 ++170 212 252 161 203 243 66 80 97 0 2 0 31 23 12 191 142 60 248 183 74 180 132 57 ++44 34 15 0 2 0 7 0 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 23 15 7 190 136 56 250 179 73 250 179 73 250 179 73 250 179 73 ++250 179 73 250 179 73 150 108 46 0 2 0 0 2 0 82 83 81 222 224 221 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 102 104 101 0 2 0 98 129 156 170 212 252 163 205 246 ++98 129 156 23 30 36 0 2 0 82 62 28 234 172 70 248 183 74 248 183 74 248 183 74 ++248 183 74 158 114 46 29 21 8 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 64 46 18 109 79 35 150 108 46 224 163 69 250 179 73 ++250 179 73 250 179 73 250 179 73 158 114 46 0 2 0 0 2 0 3 6 2 115 117 114 ++234 236 233 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 176 178 175 0 2 0 57 72 88 146 188 228 80 98 121 8 14 16 ++0 2 0 24 17 10 158 114 46 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 ++248 183 74 248 183 74 242 178 77 58 42 19 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 7 0 0 0 2 0 0 2 0 67 49 21 250 179 73 ++250 179 73 250 179 73 250 179 73 250 179 73 228 167 73 95 68 30 0 2 0 0 2 0 ++0 2 0 52 54 51 108 110 107 162 164 161 219 221 218 254 255 252 254 255 252 254 255 252 ++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 252 254 250 ++219 221 218 178 180 177 18 20 17 6 12 15 26 33 39 0 2 0 0 2 0 52 36 13 ++164 119 51 242 178 77 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 242 178 77 ++187 138 56 175 129 54 158 114 46 82 62 28 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 78 58 25 250 179 73 ++250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 234 172 70 142 101 40 ++44 34 15 10 12 8 0 2 0 0 2 0 0 2 0 18 20 17 60 62 59 71 73 70 ++82 83 81 95 96 94 104 106 103 118 120 117 115 117 114 78 80 77 40 41 39 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 44 34 15 105 75 32 191 142 60 248 183 74 ++248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 105 75 32 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 187 138 56 250 179 73 ++250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 ++250 179 73 250 179 73 142 101 40 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 206 148 61 248 183 74 248 183 74 248 183 74 ++248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 161 117 49 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 228 167 73 250 179 73 ++238 175 73 190 136 56 158 114 46 234 172 70 250 179 73 250 179 73 250 179 73 250 179 73 ++250 179 73 147 105 44 0 2 0 7 0 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 67 49 21 248 183 74 248 183 74 248 183 74 ++248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 ++31 23 12 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 7 10 5 21 13 4 ++0 2 0 0 2 0 0 2 0 147 105 44 250 179 73 250 179 73 250 179 73 250 179 73 ++134 100 43 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 155 111 43 248 183 74 248 183 74 ++248 183 74 248 183 74 224 163 69 55 39 17 64 46 18 164 119 51 242 178 77 248 183 74 ++75 55 22 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 202 145 58 250 179 73 250 179 73 228 167 73 88 66 26 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 7 0 0 0 2 0 168 123 54 248 183 74 ++248 183 74 248 183 74 158 114 46 0 2 0 7 0 0 0 2 0 10 12 8 44 34 15 ++15 9 7 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 29 21 8 250 179 73 250 179 73 158 114 46 15 14 3 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 7 0 0 0 2 0 175 129 54 ++248 183 74 248 183 74 114 83 33 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 29 21 8 147 105 44 58 42 19 0 2 0 7 0 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++105 75 32 218 158 64 23 15 7 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 7 0 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 ++ +diff -Nur linux-2.6.39.1/drivers/video/logo/logo_linux_mono.pbm linux-2.6.39-LIBRE/drivers/video/logo/logo_linux_mono.pbm +--- linux-2.6.39.1/drivers/video/logo/logo_linux_mono.pbm 2011-06-02 21:34:20.000000000 -0300 ++++ linux-2.6.39-LIBRE/drivers/video/logo/logo_linux_mono.pbm 2011-06-22 13:42:06.000000000 -0300 +@@ -1,203 +1,159 @@ +-P1 +-# Standard black and white Linux logo +-80 80 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 +-1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 +-1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 +-1 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 +-1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 +-0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 0 0 1 +-1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 +-1 1 1 1 0 1 1 1 0 1 1 1 1 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 +-1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 +-0 1 1 0 0 0 0 0 0 0 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 1 +-1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 +-1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 +-1 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 1 1 +-1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 +-1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 +-1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 +-0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 +-1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 +-0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 1 +-1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 0 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 0 0 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 1 1 1 +-0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 0 0 0 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 +-1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 +-1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 +-0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 +-1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 +-0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 +-1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 +-0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 +-1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 0 0 0 0 1 0 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 1 1 0 +-0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 1 0 0 0 +-0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 +-0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 +-0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 +-1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 +-1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 +-1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 +-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 +-1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 +-1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ++P2 ++80 78 ++255 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 255 255 255 255 255 0 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 255 255 255 0 0 0 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 0 255 255 0 0 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 0 255 255 0 0 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 255 255 255 255 255 0 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 0 0 0 0 255 255 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 255 255 255 255 255 255 255 255 255 0 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 255 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 255 ++255 0 0 0 0 0 0 0 0 0 ++0 0 0 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 255 255 255 255 ++255 255 0 0 0 0 0 0 0 0 ++0 0 0 255 255 255 255 255 255 255 255 255 255 0 0 255 0 255 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 0 0 255 255 255 255 ++255 255 0 0 0 0 0 0 0 0 ++0 0 0 0 255 255 255 255 255 255 255 255 255 0 0 255 255 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 255 255 255 ++255 255 255 0 0 0 0 0 0 0 ++0 0 0 0 255 255 255 255 255 255 0 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 255 255 255 ++255 255 255 255 0 0 0 0 0 0 ++0 0 0 0 0 255 255 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 255 255 ++255 255 255 255 255 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 255 255 255 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 0 255 255 0 0 255 255 ++255 255 255 255 255 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 0 255 255 255 0 0 255 ++255 255 255 255 255 255 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 0 0 255 255 255 0 255 ++255 255 255 255 255 255 255 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 0 0 255 255 255 0 0 ++255 255 255 255 255 255 255 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 0 0 255 255 255 0 ++0 255 255 255 255 255 255 255 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 0 0 255 255 255 0 ++0 255 255 255 255 255 255 255 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 255 255 0 0 255 255 255 0 0 255 255 255 255 255 255 255 0 0 0 0 0 0 255 255 255 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 ++0 0 255 255 255 255 255 255 0 0 ++0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 0 0 255 255 0 0 255 255 0 0 255 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 255 255 255 ++255 0 0 255 255 255 255 255 0 0 ++0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 0 0 255 0 0 255 255 0 0 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255 ++255 0 0 255 255 255 255 0 0 0 ++0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 0 0 255 0 0 0 0 0 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 255 255 255 ++255 255 0 0 255 255 255 0 0 0 ++0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 0 0 255 0 0 0 0 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 255 255 255 255 0 255 255 255 ++255 255 255 0 0 255 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 255 0 0 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 0 255 255 255 ++255 255 255 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 ++255 255 255 255 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 ++255 255 255 255 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 ++255 255 255 255 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 255 255 255 0 255 255 ++255 255 255 255 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 255 255 255 0 0 255 ++255 255 255 255 255 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 255 255 255 0 0 255 ++255 255 255 255 255 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 255 255 255 0 0 255 ++255 255 255 255 255 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 255 255 255 255 0 255 ++255 255 255 255 255 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 255 255 255 255 0 0 ++255 255 255 255 255 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 0 0 255 255 255 255 255 0 ++0 255 255 255 255 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 0 0 255 255 255 255 255 255 ++0 0 255 255 255 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 255 255 255 255 255 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 255 255 255 255 255 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 0 0 255 255 255 255 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 0 0 255 255 255 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255 0 0 255 255 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 0 255 255 255 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 0 255 255 255 255 255 255 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 0 0 255 255 255 255 255 255 255 255 255 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 255 255 255 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++0 0 0 0 0 0 0 0 0 0 +diff -Nur linux-2.6.39.1/drivers/video/logo/logo_linux_vga16.ppm linux-2.6.39-LIBRE/drivers/video/logo/logo_linux_vga16.ppm +--- linux-2.6.39.1/drivers/video/logo/logo_linux_vga16.ppm 2011-06-02 21:34:20.000000000 -0300 ++++ linux-2.6.39-LIBRE/drivers/video/logo/logo_linux_vga16.ppm 2011-06-22 13:42:06.000000000 -0300 +@@ -1,1604 +1,18724 @@ + P3 +-# Standard 16-color Linux logo +-80 80 ++# CREATOR: GIMP PNM Filter Version 1.1 ++80 78 + 255 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 85 85 85 85 85 85 85 85 85 +- 85 85 85 85 85 85 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 85 85 85 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 85 85 85 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 170 170 170 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +-170 170 170 170 170 170 85 85 85 0 0 0 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 85 85 85 170 170 170 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 170 170 170 170 170 170 +-170 170 170 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 85 85 85 170 170 170 170 170 170 170 170 170 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 170 170 170 255 255 255 255 255 255 +-255 255 255 170 170 170 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 85 85 85 +-170 170 170 170 170 170 255 255 255 255 255 255 +- 0 0 0 0 0 0 0 0 0 0 0 0 +-170 170 170 255 255 255 170 170 170 170 170 170 +-255 255 255 170 170 170 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 85 85 85 +-170 170 170 0 0 0 0 0 0 255 255 255 +- 85 85 85 0 0 0 0 0 0 0 0 0 +-255 255 255 170 170 170 0 0 0 85 85 85 +-170 170 170 255 255 255 170 170 170 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 85 85 85 +- 85 85 85 0 0 0 0 0 0 170 170 170 +- 85 85 85 0 0 0 0 0 0 0 0 0 +-255 255 255 85 85 85 0 0 0 0 0 0 +- 85 85 85 255 255 255 170 170 170 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 85 85 85 +-170 170 170 0 0 0 0 0 0 170 170 170 +- 85 85 85 85 85 85 85 85 85 85 85 85 +-255 255 255 85 85 85 0 0 0 0 0 0 +- 85 85 85 255 255 255 170 170 170 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +-255 255 255 0 0 0 0 0 0 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 0 0 0 0 0 0 +- 85 85 85 255 255 255 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +-170 170 170 170 170 170 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 170 170 170 170 170 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 85 85 85 0 0 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 170 85 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 85 85 85 0 0 0 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 170 85 0 +-170 85 0 170 85 0 85 85 85 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 85 85 85 0 0 0 +- 85 85 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-170 85 0 170 85 0 170 85 0 170 85 0 +-170 85 0 170 85 0 85 85 85 0 0 0 +- 0 0 0 85 85 85 170 170 170 85 85 85 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 85 85 85 0 0 0 +- 85 85 85 170 85 0 170 85 0 170 85 0 +-170 85 0 170 85 0 170 85 0 170 85 0 +-170 85 0 170 85 0 170 85 0 170 85 0 +-170 170 170 170 170 170 170 170 170 0 0 0 +- 0 0 0 0 0 0 170 170 170 170 170 170 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 85 85 85 170 170 170 170 85 0 170 85 0 +-170 85 0 170 85 0 170 85 0 170 85 0 +-170 85 0 170 85 0 170 170 170 170 170 170 +-170 170 170 170 170 170 170 170 170 85 85 85 +- 0 0 0 0 0 0 85 85 85 85 85 85 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 85 85 85 170 170 170 170 170 170 170 85 0 +-170 85 0 170 85 0 170 85 0 170 85 0 +-170 170 170 170 170 170 170 170 170 170 170 170 +-255 255 255 255 255 255 255 255 255 170 170 170 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 85 85 85 +-255 255 255 255 255 255 170 170 170 170 170 170 +-170 170 170 170 170 170 170 170 170 170 170 170 +-170 170 170 170 170 170 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 170 170 170 +-255 255 255 255 255 255 170 170 170 170 170 170 +-170 170 170 170 170 170 170 170 170 170 170 170 +-170 170 170 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-170 170 170 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 85 85 85 255 255 255 +-255 255 255 255 255 255 255 255 255 170 170 170 +-170 170 170 170 170 170 170 170 170 170 170 170 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 0 0 0 85 85 85 170 170 170 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 85 85 85 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 170 170 170 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 85 85 85 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 85 85 85 170 170 170 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 170 170 170 170 170 170 170 170 170 +-255 255 255 255 255 255 255 255 255 170 170 170 +-170 170 170 170 170 170 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-170 170 170 170 170 170 170 170 170 170 170 170 +-170 170 170 170 170 170 170 170 170 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +-170 170 170 170 170 170 170 170 170 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-170 170 170 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 170 170 170 +-170 170 170 170 170 170 170 170 170 85 85 85 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +-170 170 170 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 170 170 170 170 170 170 170 170 170 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 85 85 85 0 0 0 0 0 0 85 85 85 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 170 170 170 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 170 170 170 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-170 170 170 85 85 85 0 0 0 0 0 0 +- 0 0 0 85 85 85 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 85 85 85 +- 0 0 0 0 0 0 85 85 85 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 170 170 170 0 0 0 85 85 85 +- 85 85 85 0 0 0 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 85 85 85 +- 0 0 0 85 85 85 170 170 170 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 170 170 170 0 0 0 85 85 85 +- 85 85 85 0 0 0 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 85 85 85 +- 0 0 0 170 170 170 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 85 85 85 0 0 0 +- 0 0 0 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 85 85 85 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 85 85 85 0 0 0 0 0 0 +-170 170 170 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 85 85 85 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 85 85 85 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 85 85 85 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 0 0 0 +- 85 85 85 85 85 85 85 85 85 85 85 85 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 0 0 0 170 85 0 +-255 255 85 170 85 0 0 0 0 0 0 0 +- 85 85 85 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 85 85 85 85 85 85 0 0 0 +- 0 0 0 85 85 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 0 0 0 +- 0 0 0 85 85 85 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 85 170 85 0 255 255 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 85 85 85 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +- 0 0 0 0 0 0 85 85 85 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 85 +-170 85 0 255 255 85 170 85 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +-170 85 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 0 0 0 0 0 0 85 85 85 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 170 85 0 +-255 255 85 170 85 0 255 255 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 170 85 0 +-255 255 85 170 85 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 0 0 0 0 0 0 0 0 0 +- 85 85 85 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 85 +-170 85 0 255 255 85 170 85 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 255 255 85 +-170 85 0 255 255 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 0 0 0 0 0 0 +- 0 0 0 85 85 85 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 255 255 85 170 85 0 +-255 255 85 170 85 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 0 0 0 +- 0 0 0 0 0 0 85 85 85 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 170 170 170 170 170 170 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 170 170 170 170 170 170 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 170 170 170 170 170 170 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 170 170 170 170 170 170 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 0 0 0 0 0 0 0 0 0 +- 85 85 85 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 170 170 170 85 85 85 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 85 85 85 85 85 85 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-170 170 170 85 85 85 85 85 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 170 170 170 +- 85 85 85 0 0 0 0 0 0 170 85 0 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 85 85 85 +- 0 0 0 0 0 0 0 0 0 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-170 170 170 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-170 170 170 85 85 85 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 170 85 0 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 170 85 0 +-170 85 0 170 170 170 255 255 255 255 255 255 +-255 255 255 255 255 255 255 255 255 255 255 255 +-255 255 255 255 255 255 170 170 170 85 85 85 +- 85 85 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-170 85 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 170 85 0 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 170 85 0 170 85 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 170 85 0 +-170 85 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-170 85 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-170 85 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 85 85 85 170 85 0 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 170 85 0 170 85 0 170 85 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 170 85 0 170 85 0 +-170 85 0 170 85 0 170 85 0 170 85 0 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 170 85 0 +-170 85 0 0 0 0 0 0 0 0 0 0 +- 85 85 85 85 85 85 85 85 85 85 85 85 +- 85 85 85 85 85 85 85 85 85 85 85 85 +- 85 85 85 85 85 85 85 85 85 0 0 0 +- 0 0 0 0 0 0 0 0 0 170 85 0 +-170 85 0 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 255 255 85 170 85 0 +-170 85 0 170 85 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 170 85 0 170 85 0 +-170 85 0 170 85 0 170 85 0 170 85 0 +-170 85 0 170 85 0 255 255 85 170 85 0 +-255 255 85 170 85 0 170 85 0 170 85 0 +- 85 85 85 85 85 85 85 85 85 85 85 85 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 85 85 85 +- 85 85 85 85 85 85 85 85 85 170 85 0 +-170 85 0 170 85 0 170 85 0 255 255 85 +-170 85 0 255 255 85 170 85 0 170 85 0 +-170 85 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 170 85 0 +-170 85 0 170 85 0 170 85 0 170 85 0 +-170 85 0 170 85 0 170 85 0 170 85 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 170 85 0 +-170 85 0 170 85 0 170 85 0 170 85 0 +-170 85 0 170 85 0 170 85 0 170 85 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 170 85 0 170 85 0 170 85 0 +-170 85 0 170 85 0 170 85 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +-170 85 0 170 85 0 170 85 0 170 85 0 +-170 85 0 170 85 0 170 85 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 +- 0 0 0 0 0 0 0 0 0 0 0 0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++85 ++85 ++170 ++170 ++170 ++255 ++255 ++255 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++170 ++170 ++170 ++170 ++170 ++170 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++170 ++170 ++170 ++85 ++85 ++85 ++170 ++170 ++170 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++255 ++255 ++255 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++255 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++170 ++170 ++170 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++170 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++255 ++255 ++255 ++170 ++170 ++170 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++85 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++170 ++170 ++170 ++170 ++170 ++170 ++85 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++85 ++85 ++255 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++170 ++170 ++170 ++0 ++0 ++0 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++255 ++255 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++85 ++85 ++170 ++170 ++170 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++255 ++170 ++170 ++170 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++85 ++85 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++85 ++85 ++85 ++255 ++255 ++85 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 ++0 diff --git a/libre/linux-libre-aufs_friendly/change-default-console-loglevel.patch b/libre/linux-libre-aufs_friendly/change-default-console-loglevel.patch new file mode 100644 index 000000000..63435d84f --- /dev/null +++ b/libre/linux-libre-aufs_friendly/change-default-console-loglevel.patch @@ -0,0 +1,12 @@ +diff -upr linux-3.0.orig/kernel/printk.c linux-3.0/kernel/printk.c +--- linux-3.0.orig/kernel/printk.c 2011-07-22 05:17:23.000000000 +0300 ++++ linux-3.0/kernel/printk.c 2011-07-27 14:43:07.000000000 +0300 +@@ -58,7 +58,7 @@ void asmlinkage __attribute__((weak)) ea + + /* We show everything that is MORE important than this.. */ + #define MINIMUM_CONSOLE_LOGLEVEL 1 /* Minimum loglevel we let people use */ +-#define DEFAULT_CONSOLE_LOGLEVEL 7 /* anything MORE serious than KERN_DEBUG */ ++#define DEFAULT_CONSOLE_LOGLEVEL 4 /* anything MORE serious than KERN_DEBUG */ + + DECLARE_WAIT_QUEUE_HEAD(log_wait); + diff --git a/libre/linux-libre-aufs_friendly/config.i686 b/libre/linux-libre-aufs_friendly/config.i686 new file mode 100644 index 000000000..220956bb0 --- /dev/null +++ b/libre/linux-libre-aufs_friendly/config.i686 @@ -0,0 +1,5879 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/i386 3.2.6-1 Kernel Configuration +# +# CONFIG_64BIT is not set +CONFIG_X86_32=y +# CONFIG_X86_64 is not set +CONFIG_X86=y +CONFIG_INSTRUCTION_DECODER=y +CONFIG_OUTPUT_FORMAT="elf32-i386" +CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig" +CONFIG_GENERIC_CMOS_UPDATE=y +CONFIG_CLOCKSOURCE_WATCHDOG=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_MMU=y +CONFIG_ZONE_DMA=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_GENERIC_ISA_DMA=y +CONFIG_GENERIC_IOMAP=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_GPIO=y +CONFIG_ARCH_MAY_HAVE_PC_FDC=y +# CONFIG_RWSEM_GENERIC_SPINLOCK is not set +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +# CONFIG_GENERIC_TIME_VSYSCALL is not set +CONFIG_ARCH_HAS_CPU_RELAX=y +CONFIG_ARCH_HAS_DEFAULT_IDLE=y +CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y +CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +# CONFIG_ZONE_DMA32 is not set +CONFIG_ARCH_POPULATES_NODE_MAP=y +# CONFIG_AUDIT_ARCH is not set +CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y +CONFIG_HAVE_INTEL_TXT=y +CONFIG_X86_32_SMP=y +CONFIG_X86_HT=y +CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx" +CONFIG_KTIME_SCALAR=y +CONFIG_ARCH_CPU_PROBE_RELEASE=y +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_HAVE_IRQ_WORK=y +CONFIG_IRQ_WORK=y + +# +# General setup +# +CONFIG_EXPERIMENTAL=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +CONFIG_LOCALVERSION="-LIBRE-AUFS_FRIENDLY" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_HAVE_KERNEL_GZIP=y +CONFIG_HAVE_KERNEL_BZIP2=y +CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_XZ=y +CONFIG_HAVE_KERNEL_LZO=y +CONFIG_KERNEL_GZIP=y +# CONFIG_KERNEL_BZIP2 is not set +# CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_XZ is not set +# CONFIG_KERNEL_LZO is not set +CONFIG_DEFAULT_HOSTNAME="(none)" +CONFIG_SWAP=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +# CONFIG_FHANDLE is not set +CONFIG_TASKSTATS=y +CONFIG_TASK_DELAY_ACCT=y +CONFIG_TASK_XACCT=y +CONFIG_TASK_IO_ACCOUNTING=y +CONFIG_AUDIT=y +CONFIG_AUDITSYSCALL=y +CONFIG_AUDIT_WATCH=y +CONFIG_AUDIT_TREE=y +CONFIG_HAVE_GENERIC_HARDIRQS=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_HARDIRQS=y +CONFIG_HAVE_SPARSE_IRQ=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_PENDING_IRQ=y +CONFIG_GENERIC_IRQ_CHIP=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_SPARSE_IRQ=y + +# +# RCU Subsystem +# +CONFIG_TREE_PREEMPT_RCU=y +CONFIG_PREEMPT_RCU=y +# CONFIG_RCU_TRACE is not set +CONFIG_RCU_FANOUT=32 +# CONFIG_RCU_FANOUT_EXACT is not set +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_BOOST is not set +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=19 +CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y +CONFIG_CGROUPS=y +# CONFIG_CGROUP_DEBUG is not set +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CPUSETS=y +CONFIG_PROC_PID_CPUSET=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_RESOURCE_COUNTERS=y +CONFIG_CGROUP_MEM_RES_CTLR=y +CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y +# CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED is not set +# CONFIG_CGROUP_PERF is not set +CONFIG_CGROUP_SCHED=y +CONFIG_FAIR_GROUP_SCHED=y +CONFIG_CFS_BANDWIDTH=y +CONFIG_RT_GROUP_SCHED=y +CONFIG_BLK_CGROUP=y +# CONFIG_DEBUG_BLK_CGROUP is not set +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +CONFIG_USER_NS=y +CONFIG_PID_NS=y +CONFIG_NET_NS=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_MM_OWNER=y +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_RELAY=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +# CONFIG_EXPERT is not set +CONFIG_UID16=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_PCSPKR_PLATFORM=y +CONFIG_HAVE_PCSPKR_PLATFORM=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +# CONFIG_EMBEDDED is not set +CONFIG_HAVE_PERF_EVENTS=y + +# +# Kernel Performance Events And Counters +# +CONFIG_PERF_EVENTS=y +CONFIG_PERF_COUNTERS=y +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_PCI_QUIRKS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y +CONFIG_PROFILING=y +CONFIG_TRACEPOINTS=y +CONFIG_OPROFILE=m +# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +CONFIG_JUMP_LABEL=y +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_USER_RETURN_NOTIFIER=y +CONFIG_HAVE_IOREMAP_PROT=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_OPTPROBES=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_USE_GENERIC_SMP_HELPERS=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y +CONFIG_HAVE_USER_RETURN_NOTIFIER=y +CONFIG_HAVE_PERF_EVENTS_NMI=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +CONFIG_MODULE_FORCE_LOAD=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +CONFIG_MODVERSIONS=y +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_STOP_MACHINE=y +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y +CONFIG_BLK_DEV_BSGLIB=y +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_DEV_THROTTLING=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +CONFIG_CFQ_GROUP_IOSCHED=y +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_PREEMPT_NOTIFIERS=y +CONFIG_PADATA=y +# CONFIG_INLINE_SPIN_TRYLOCK is not set +# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set +# CONFIG_INLINE_SPIN_LOCK is not set +# CONFIG_INLINE_SPIN_LOCK_BH is not set +# CONFIG_INLINE_SPIN_LOCK_IRQ is not set +# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set +# CONFIG_INLINE_SPIN_UNLOCK is not set +# CONFIG_INLINE_SPIN_UNLOCK_BH is not set +# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set +# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set +# CONFIG_INLINE_READ_TRYLOCK is not set +# CONFIG_INLINE_READ_LOCK is not set +# CONFIG_INLINE_READ_LOCK_BH is not set +# CONFIG_INLINE_READ_LOCK_IRQ is not set +# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set +# CONFIG_INLINE_READ_UNLOCK is not set +# CONFIG_INLINE_READ_UNLOCK_BH is not set +# CONFIG_INLINE_READ_UNLOCK_IRQ is not set +# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set +# CONFIG_INLINE_WRITE_TRYLOCK is not set +# CONFIG_INLINE_WRITE_LOCK is not set +# CONFIG_INLINE_WRITE_LOCK_BH is not set +# CONFIG_INLINE_WRITE_LOCK_IRQ is not set +# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set +# CONFIG_INLINE_WRITE_UNLOCK is not set +# CONFIG_INLINE_WRITE_UNLOCK_BH is not set +# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set +# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set +# CONFIG_MUTEX_SPIN_ON_OWNER is not set +CONFIG_FREEZER=y + +# +# Processor type and features +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y +CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y +CONFIG_SMP=y +CONFIG_X86_MPPARSE=y +# CONFIG_X86_BIGSMP is not set +# CONFIG_X86_EXTENDED_PLATFORM is not set +CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y +CONFIG_X86_32_IRIS=m +CONFIG_SCHED_OMIT_FRAME_POINTER=y +CONFIG_PARAVIRT_GUEST=y +# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set +# CONFIG_XEN_PRIVILEGED_GUEST is not set +CONFIG_KVM_CLOCK=y +CONFIG_KVM_GUEST=y +CONFIG_LGUEST_GUEST=y +CONFIG_PARAVIRT=y +# CONFIG_PARAVIRT_SPINLOCKS is not set +CONFIG_PARAVIRT_CLOCK=y +# CONFIG_PARAVIRT_DEBUG is not set +CONFIG_NO_BOOTMEM=y +# CONFIG_MEMTEST is not set +# CONFIG_M386 is not set +# CONFIG_M486 is not set +# CONFIG_M586 is not set +# CONFIG_M586TSC is not set +# CONFIG_M586MMX is not set +CONFIG_M686=y +# CONFIG_MPENTIUMII is not set +# CONFIG_MPENTIUMIII is not set +# CONFIG_MPENTIUMM is not set +# CONFIG_MPENTIUM4 is not set +# CONFIG_MK6 is not set +# CONFIG_MK7 is not set +# CONFIG_MK8 is not set +# CONFIG_MCRUSOE is not set +# CONFIG_MEFFICEON is not set +# CONFIG_MWINCHIPC6 is not set +# CONFIG_MWINCHIP3D is not set +# CONFIG_MELAN is not set +# CONFIG_MGEODEGX1 is not set +# CONFIG_MGEODE_LX is not set +# CONFIG_MCYRIXIII is not set +# CONFIG_MVIAC3_2 is not set +# CONFIG_MVIAC7 is not set +# CONFIG_MCORE2 is not set +# CONFIG_MATOM is not set +CONFIG_X86_GENERIC=y +CONFIG_X86_INTERNODE_CACHE_SHIFT=6 +CONFIG_X86_CMPXCHG=y +CONFIG_CMPXCHG_LOCAL=y +CONFIG_CMPXCHG_DOUBLE=y +CONFIG_X86_L1_CACHE_SHIFT=6 +CONFIG_X86_XADD=y +# CONFIG_X86_PPRO_FENCE is not set +CONFIG_X86_WP_WORKS_OK=y +CONFIG_X86_INVLPG=y +CONFIG_X86_BSWAP=y +CONFIG_X86_POPAD_OK=y +CONFIG_X86_INTEL_USERCOPY=y +CONFIG_X86_USE_PPRO_CHECKSUM=y +CONFIG_X86_TSC=y +CONFIG_X86_CMPXCHG64=y +CONFIG_X86_CMOV=y +CONFIG_X86_MINIMUM_CPU_FAMILY=5 +CONFIG_X86_DEBUGCTLMSR=y +CONFIG_CPU_SUP_INTEL=y +CONFIG_CPU_SUP_CYRIX_32=y +CONFIG_CPU_SUP_AMD=y +CONFIG_CPU_SUP_CENTAUR=y +CONFIG_CPU_SUP_TRANSMETA_32=y +CONFIG_CPU_SUP_UMC_32=y +CONFIG_HPET_TIMER=y +CONFIG_HPET_EMULATE_RTC=y +CONFIG_DMI=y +# CONFIG_IOMMU_HELPER is not set +CONFIG_NR_CPUS=8 +CONFIG_SCHED_SMT=y +CONFIG_SCHED_MC=y +# CONFIG_IRQ_TIME_ACCOUNTING is not set +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PREEMPT=y +CONFIG_PREEMPT_COUNT=y +CONFIG_X86_LOCAL_APIC=y +CONFIG_X86_IO_APIC=y +CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y +CONFIG_X86_MCE=y +CONFIG_X86_MCE_INTEL=y +CONFIG_X86_MCE_AMD=y +# CONFIG_X86_ANCIENT_MCE is not set +CONFIG_X86_MCE_THRESHOLD=y +# CONFIG_X86_MCE_INJECT is not set +CONFIG_X86_THERMAL_VECTOR=y +CONFIG_VM86=y +CONFIG_TOSHIBA=m +CONFIG_I8K=m +CONFIG_X86_REBOOTFIXUPS=y +CONFIG_MICROCODE=m +CONFIG_MICROCODE_INTEL=y +CONFIG_MICROCODE_AMD=y +CONFIG_MICROCODE_OLD_INTERFACE=y +CONFIG_X86_MSR=m +CONFIG_X86_CPUID=m +# CONFIG_NOHIGHMEM is not set +CONFIG_HIGHMEM4G=y +# CONFIG_HIGHMEM64G is not set +CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_HIGHMEM=y +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set +# CONFIG_ARCH_DMA_ADDR_T_64BIT is not set +CONFIG_ARCH_FLATMEM_ENABLE=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ILLEGAL_POINTER_VALUE=0 +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_SPARSEMEM_STATIC=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_COMPACTION=y +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=1 +CONFIG_BOUNCE=y +CONFIG_VIRT_TO_BUS=y +CONFIG_MMU_NOTIFIER=y +CONFIG_KSM=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y +CONFIG_MEMORY_FAILURE=y +CONFIG_HWPOISON_INJECT=m +CONFIG_TRANSPARENT_HUGEPAGE=y +# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set +CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y +CONFIG_CLEANCACHE=y +# CONFIG_HIGHPTE is not set +CONFIG_X86_CHECK_BIOS_CORRUPTION=y +CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y +CONFIG_X86_RESERVE_LOW=64 +# CONFIG_MATH_EMULATION is not set +CONFIG_MTRR=y +CONFIG_MTRR_SANITIZER=y +CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0 +CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 +CONFIG_X86_PAT=y +CONFIG_ARCH_USES_PG_UNCACHED=y +CONFIG_ARCH_RANDOM=y +CONFIG_EFI=y +CONFIG_SECCOMP=y +CONFIG_CC_STACKPROTECTOR=y +# CONFIG_HZ_100 is not set +# CONFIG_HZ_250 is not set +CONFIG_HZ_300=y +# CONFIG_HZ_1000 is not set +CONFIG_HZ=300 +CONFIG_SCHED_HRTICK=y +CONFIG_KEXEC=y +# CONFIG_CRASH_DUMP is not set +# CONFIG_KEXEC_JUMP is not set +CONFIG_PHYSICAL_START=0x1000000 +CONFIG_RELOCATABLE=y +CONFIG_X86_NEED_RELOCS=y +CONFIG_PHYSICAL_ALIGN=0x100000 +CONFIG_HOTPLUG_CPU=y +# CONFIG_COMPAT_VDSO is not set +# CONFIG_CMDLINE_BOOL is not set +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y + +# +# Power management and ACPI options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_HIBERNATE_CALLBACKS=y +CONFIG_HIBERNATION=y +CONFIG_PM_STD_PARTITION="" +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +CONFIG_PM_RUNTIME=y +CONFIG_PM=y +CONFIG_PM_DEBUG=y +CONFIG_PM_ADVANCED_DEBUG=y +# CONFIG_PM_TEST_SUSPEND is not set +CONFIG_CAN_PM_TRACE=y +# CONFIG_PM_TRACE_RTC is not set +CONFIG_ACPI=y +CONFIG_ACPI_SLEEP=y +# CONFIG_ACPI_PROCFS is not set +# CONFIG_ACPI_PROCFS_POWER is not set +CONFIG_ACPI_EC_DEBUGFS=m +# CONFIG_ACPI_PROC_EVENT is not set +CONFIG_ACPI_AC=m +CONFIG_ACPI_BATTERY=m +CONFIG_ACPI_BUTTON=m +CONFIG_ACPI_VIDEO=m +CONFIG_ACPI_FAN=m +CONFIG_ACPI_DOCK=y +CONFIG_ACPI_PROCESSOR=m +CONFIG_ACPI_IPMI=m +CONFIG_ACPI_HOTPLUG_CPU=y +CONFIG_ACPI_PROCESSOR_AGGREGATOR=m +CONFIG_ACPI_THERMAL=m +# CONFIG_ACPI_CUSTOM_DSDT is not set +CONFIG_ACPI_BLACKLIST_YEAR=0 +# CONFIG_ACPI_DEBUG is not set +CONFIG_ACPI_PCI_SLOT=m +CONFIG_X86_PM_TIMER=y +CONFIG_ACPI_CONTAINER=m +CONFIG_ACPI_SBS=m +CONFIG_ACPI_HED=y +CONFIG_ACPI_CUSTOM_METHOD=m +CONFIG_ACPI_APEI=y +CONFIG_ACPI_APEI_GHES=y +CONFIG_ACPI_APEI_PCIEAER=y +CONFIG_ACPI_APEI_MEMORY_FAILURE=y +CONFIG_ACPI_APEI_EINJ=m +CONFIG_ACPI_APEI_ERST_DEBUG=m +CONFIG_SFI=y +CONFIG_X86_APM_BOOT=y +CONFIG_APM=y +# CONFIG_APM_IGNORE_USER_SUSPEND is not set +CONFIG_APM_DO_ENABLE=y +# CONFIG_APM_CPU_IDLE is not set +# CONFIG_APM_DISPLAY_BLANK is not set +# CONFIG_APM_ALLOW_INTS is not set + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_TABLE=m +CONFIG_CPU_FREQ_STAT=m +CONFIG_CPU_FREQ_STAT_DETAILS=y +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=m +CONFIG_CPU_FREQ_GOV_USERSPACE=m +CONFIG_CPU_FREQ_GOV_ONDEMAND=m +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m + +# +# x86 CPU frequency scaling drivers +# +CONFIG_X86_PCC_CPUFREQ=m +CONFIG_X86_ACPI_CPUFREQ=m +CONFIG_X86_POWERNOW_K6=m +CONFIG_X86_POWERNOW_K7=m +CONFIG_X86_POWERNOW_K7_ACPI=y +CONFIG_X86_POWERNOW_K8=m +CONFIG_X86_GX_SUSPMOD=m +# CONFIG_X86_SPEEDSTEP_CENTRINO is not set +CONFIG_X86_SPEEDSTEP_ICH=m +CONFIG_X86_SPEEDSTEP_SMI=m +CONFIG_X86_P4_CLOCKMOD=m +CONFIG_X86_CPUFREQ_NFORCE2=m +CONFIG_X86_LONGRUN=m +CONFIG_X86_LONGHAUL=m +CONFIG_X86_E_POWERSAVER=m + +# +# shared options +# +CONFIG_X86_SPEEDSTEP_LIB=m +CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y +CONFIG_CPU_IDLE=y +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_CPU_IDLE_GOV_MENU=y +CONFIG_INTEL_IDLE=y + +# +# Bus options (PCI etc.) +# +CONFIG_PCI=y +# CONFIG_PCI_GOBIOS is not set +# CONFIG_PCI_GOMMCONFIG is not set +# CONFIG_PCI_GODIRECT is not set +# CONFIG_PCI_GOOLPC is not set +CONFIG_PCI_GOANY=y +CONFIG_PCI_BIOS=y +CONFIG_PCI_DIRECT=y +CONFIG_PCI_MMCONFIG=y +CONFIG_PCI_OLPC=y +CONFIG_PCI_DOMAINS=y +# CONFIG_PCI_CNB20LE_QUIRK is not set +CONFIG_PCIEPORTBUS=y +CONFIG_HOTPLUG_PCI_PCIE=m +CONFIG_PCIEAER=y +# CONFIG_PCIE_ECRC is not set +# CONFIG_PCIEAER_INJECT is not set +CONFIG_PCIEASPM=y +# CONFIG_PCIEASPM_DEBUG is not set +CONFIG_PCIE_PME=y +CONFIG_ARCH_SUPPORTS_MSI=y +CONFIG_PCI_MSI=y +# CONFIG_PCI_DEBUG is not set +CONFIG_PCI_STUB=m +CONFIG_HT_IRQ=y +CONFIG_PCI_ATS=y +CONFIG_PCI_IOV=y +CONFIG_PCI_PRI=y +CONFIG_PCI_PASID=y +CONFIG_PCI_IOAPIC=y +CONFIG_PCI_LABEL=y +CONFIG_ISA_DMA_API=y +CONFIG_ISA=y +# CONFIG_EISA is not set +# CONFIG_MCA is not set +# CONFIG_SCx200 is not set +CONFIG_OLPC=y +CONFIG_OLPC_XO1_PM=y +CONFIG_OLPC_XO1_RTC=y +CONFIG_OLPC_XO1_SCI=y +CONFIG_OLPC_XO15_SCI=y +CONFIG_ALIX=y +CONFIG_AMD_NB=y +CONFIG_PCCARD=m +CONFIG_PCMCIA=m +CONFIG_PCMCIA_LOAD_CIS=y +CONFIG_CARDBUS=y + +# +# PC-card bridges +# +CONFIG_YENTA=m +CONFIG_YENTA_O2=y +CONFIG_YENTA_RICOH=y +CONFIG_YENTA_TI=y +CONFIG_YENTA_ENE_TUNE=y +CONFIG_YENTA_TOSHIBA=y +CONFIG_PD6729=m +CONFIG_I82092=m +CONFIG_I82365=m +CONFIG_TCIC=m +CONFIG_PCMCIA_PROBE=y +CONFIG_PCCARD_NONSTATIC=y +CONFIG_HOTPLUG_PCI=m +CONFIG_HOTPLUG_PCI_FAKE=m +CONFIG_HOTPLUG_PCI_COMPAQ=m +# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set +CONFIG_HOTPLUG_PCI_IBM=m +CONFIG_HOTPLUG_PCI_ACPI=m +CONFIG_HOTPLUG_PCI_ACPI_IBM=m +CONFIG_HOTPLUG_PCI_CPCI=y +CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m +CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m +CONFIG_HOTPLUG_PCI_SHPC=m +CONFIG_RAPIDIO=y +CONFIG_RAPIDIO_TSI721=y +CONFIG_RAPIDIO_DISC_TIMEOUT=30 +# CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS is not set +CONFIG_RAPIDIO_DEBUG=y +CONFIG_RAPIDIO_TSI57X=y +CONFIG_RAPIDIO_CPS_XX=y +CONFIG_RAPIDIO_TSI568=y +CONFIG_RAPIDIO_CPS_GEN2=y +CONFIG_RAPIDIO_TSI500=y + +# +# Executable file formats / Emulations +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_HAVE_AOUT=y +CONFIG_BINFMT_AOUT=m +CONFIG_BINFMT_MISC=y +CONFIG_HAVE_ATOMIC_IOMAP=y +CONFIG_HAVE_TEXT_POKE_SMP=y +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_XFRM=y +CONFIG_XFRM_USER=m +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +CONFIG_XFRM_IPCOMP=m +CONFIG_NET_KEY=m +# CONFIG_NET_KEY_MIGRATE is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_FIB_TRIE_STATS=y +CONFIG_IP_MULTIPLE_TABLES=y +CONFIG_IP_ROUTE_MULTIPATH=y +CONFIG_IP_ROUTE_VERBOSE=y +CONFIG_IP_ROUTE_CLASSID=y +# CONFIG_IP_PNP is not set +CONFIG_NET_IPIP=m +CONFIG_NET_IPGRE_DEMUX=m +CONFIG_NET_IPGRE=m +# CONFIG_NET_IPGRE_BROADCAST is not set +CONFIG_IP_MROUTE=y +# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set +CONFIG_IP_PIMSM_V1=y +CONFIG_IP_PIMSM_V2=y +# CONFIG_ARPD is not set +CONFIG_SYN_COOKIES=y +CONFIG_INET_AH=m +CONFIG_INET_ESP=m +CONFIG_INET_IPCOMP=m +CONFIG_INET_XFRM_TUNNEL=m +CONFIG_INET_TUNNEL=m +CONFIG_INET_XFRM_MODE_TRANSPORT=m +CONFIG_INET_XFRM_MODE_TUNNEL=m +CONFIG_INET_XFRM_MODE_BEET=m +CONFIG_INET_LRO=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +CONFIG_TCP_CONG_ADVANCED=y +CONFIG_TCP_CONG_BIC=m +CONFIG_TCP_CONG_CUBIC=y +CONFIG_TCP_CONG_WESTWOOD=m +CONFIG_TCP_CONG_HTCP=m +CONFIG_TCP_CONG_HSTCP=m +CONFIG_TCP_CONG_HYBLA=m +CONFIG_TCP_CONG_VEGAS=m +CONFIG_TCP_CONG_SCALABLE=m +CONFIG_TCP_CONG_LP=m +CONFIG_TCP_CONG_VENO=m +CONFIG_TCP_CONG_YEAH=m +CONFIG_TCP_CONG_ILLINOIS=m +CONFIG_DEFAULT_CUBIC=y +# CONFIG_DEFAULT_RENO is not set +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=y +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +CONFIG_IPV6_ROUTE_INFO=y +CONFIG_IPV6_OPTIMISTIC_DAD=y +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +CONFIG_INET6_IPCOMP=m +CONFIG_IPV6_MIP6=m +CONFIG_INET6_XFRM_TUNNEL=m +CONFIG_INET6_TUNNEL=m +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m +CONFIG_IPV6_SIT=m +CONFIG_IPV6_SIT_6RD=y +CONFIG_IPV6_NDISC_NODETYPE=y +CONFIG_IPV6_TUNNEL=m +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_SUBTREES=y +# CONFIG_IPV6_MROUTE is not set +CONFIG_NETLABEL=y +CONFIG_NETWORK_SECMARK=y +CONFIG_NETWORK_PHY_TIMESTAMPING=y +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_ADVANCED=y +CONFIG_BRIDGE_NETFILTER=y + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_NETLINK=m +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_NETLINK_LOG=m +CONFIG_NF_CONNTRACK=m +CONFIG_NF_CONNTRACK_MARK=y +CONFIG_NF_CONNTRACK_SECMARK=y +CONFIG_NF_CONNTRACK_ZONES=y +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CONNTRACK_TIMESTAMP=y +CONFIG_NF_CT_PROTO_DCCP=m +CONFIG_NF_CT_PROTO_GRE=m +CONFIG_NF_CT_PROTO_SCTP=m +CONFIG_NF_CT_PROTO_UDPLITE=m +CONFIG_NF_CONNTRACK_AMANDA=m +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_BROADCAST=m +CONFIG_NF_CONNTRACK_NETBIOS_NS=m +CONFIG_NF_CONNTRACK_SNMP=m +CONFIG_NF_CONNTRACK_PPTP=m +CONFIG_NF_CONNTRACK_SANE=m +CONFIG_NF_CONNTRACK_SIP=m +CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_CT_NETLINK=m +CONFIG_NETFILTER_TPROXY=m +CONFIG_NETFILTER_XTABLES=m + +# +# Xtables combined modules +# +CONFIG_NETFILTER_XT_MARK=m +CONFIG_NETFILTER_XT_CONNMARK=m +CONFIG_NETFILTER_XT_SET=m + +# +# Xtables targets +# +CONFIG_NETFILTER_XT_TARGET_AUDIT=m +CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m +CONFIG_NETFILTER_XT_TARGET_CONNMARK=m +CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m +CONFIG_NETFILTER_XT_TARGET_CT=m +CONFIG_NETFILTER_XT_TARGET_DSCP=m +CONFIG_NETFILTER_XT_TARGET_HL=m +CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m +CONFIG_NETFILTER_XT_TARGET_LED=m +CONFIG_NETFILTER_XT_TARGET_MARK=m +CONFIG_NETFILTER_XT_TARGET_NFLOG=m +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m +CONFIG_NETFILTER_XT_TARGET_NOTRACK=m +CONFIG_NETFILTER_XT_TARGET_RATEEST=m +CONFIG_NETFILTER_XT_TARGET_TEE=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m +CONFIG_NETFILTER_XT_TARGET_TRACE=m +CONFIG_NETFILTER_XT_TARGET_SECMARK=m +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m + +# +# Xtables matches +# +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m +CONFIG_NETFILTER_XT_MATCH_CLUSTER=m +CONFIG_NETFILTER_XT_MATCH_COMMENT=m +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +CONFIG_NETFILTER_XT_MATCH_CPU=m +CONFIG_NETFILTER_XT_MATCH_DCCP=m +CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m +CONFIG_NETFILTER_XT_MATCH_DSCP=m +CONFIG_NETFILTER_XT_MATCH_ESP=m +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m +CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_HL=m +CONFIG_NETFILTER_XT_MATCH_IPRANGE=m +CONFIG_NETFILTER_XT_MATCH_IPVS=m +CONFIG_NETFILTER_XT_MATCH_LENGTH=m +CONFIG_NETFILTER_XT_MATCH_LIMIT=m +CONFIG_NETFILTER_XT_MATCH_MAC=m +CONFIG_NETFILTER_XT_MATCH_MARK=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +CONFIG_NETFILTER_XT_MATCH_OSF=m +CONFIG_NETFILTER_XT_MATCH_OWNER=m +CONFIG_NETFILTER_XT_MATCH_POLICY=m +CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MATCH_QUOTA=m +CONFIG_NETFILTER_XT_MATCH_RATEEST=m +CONFIG_NETFILTER_XT_MATCH_REALM=m +CONFIG_NETFILTER_XT_MATCH_RECENT=m +CONFIG_NETFILTER_XT_MATCH_SCTP=m +CONFIG_NETFILTER_XT_MATCH_SOCKET=m +CONFIG_NETFILTER_XT_MATCH_STATE=m +CONFIG_NETFILTER_XT_MATCH_STATISTIC=m +CONFIG_NETFILTER_XT_MATCH_STRING=m +CONFIG_NETFILTER_XT_MATCH_TCPMSS=m +CONFIG_NETFILTER_XT_MATCH_TIME=m +CONFIG_NETFILTER_XT_MATCH_U32=m +CONFIG_IP_SET=m +CONFIG_IP_SET_MAX=256 +CONFIG_IP_SET_BITMAP_IP=m +CONFIG_IP_SET_BITMAP_IPMAC=m +CONFIG_IP_SET_BITMAP_PORT=m +CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPPORT=m +CONFIG_IP_SET_HASH_IPPORTIP=m +CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETPORT=m +CONFIG_IP_SET_HASH_NETIFACE=m +CONFIG_IP_SET_LIST_SET=m +CONFIG_IP_VS=m +# CONFIG_IP_VS_IPV6 is not set +# CONFIG_IP_VS_DEBUG is not set +CONFIG_IP_VS_TAB_BITS=12 + +# +# IPVS transport protocol load balancing support +# +CONFIG_IP_VS_PROTO_TCP=y +CONFIG_IP_VS_PROTO_UDP=y +CONFIG_IP_VS_PROTO_AH_ESP=y +CONFIG_IP_VS_PROTO_ESP=y +CONFIG_IP_VS_PROTO_AH=y +CONFIG_IP_VS_PROTO_SCTP=y + +# +# IPVS scheduler +# +CONFIG_IP_VS_RR=m +CONFIG_IP_VS_WRR=m +CONFIG_IP_VS_LC=m +CONFIG_IP_VS_WLC=m +CONFIG_IP_VS_LBLC=m +CONFIG_IP_VS_LBLCR=m +CONFIG_IP_VS_DH=m +CONFIG_IP_VS_SH=m +CONFIG_IP_VS_SED=m +CONFIG_IP_VS_NQ=m + +# +# IPVS application helper +# +CONFIG_IP_VS_FTP=m +CONFIG_IP_VS_NFCT=y +CONFIG_IP_VS_PE_SIP=m + +# +# IP: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV4=m +CONFIG_NF_CONNTRACK_IPV4=m +CONFIG_NF_CONNTRACK_PROC_COMPAT=y +CONFIG_IP_NF_QUEUE=m +CONFIG_IP_NF_IPTABLES=m +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_TTL=m +CONFIG_IP_NF_FILTER=m +CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_LOG=m +CONFIG_IP_NF_TARGET_ULOG=m +CONFIG_NF_NAT=m +CONFIG_NF_NAT_NEEDED=y +CONFIG_IP_NF_TARGET_MASQUERADE=m +CONFIG_IP_NF_TARGET_NETMAP=m +CONFIG_IP_NF_TARGET_REDIRECT=m +CONFIG_NF_NAT_SNMP_BASIC=m +CONFIG_NF_NAT_PROTO_DCCP=m +CONFIG_NF_NAT_PROTO_GRE=m +CONFIG_NF_NAT_PROTO_UDPLITE=m +CONFIG_NF_NAT_PROTO_SCTP=m +CONFIG_NF_NAT_FTP=m +CONFIG_NF_NAT_IRC=m +CONFIG_NF_NAT_TFTP=m +CONFIG_NF_NAT_AMANDA=m +CONFIG_NF_NAT_PPTP=m +CONFIG_NF_NAT_H323=m +CONFIG_NF_NAT_SIP=m +CONFIG_IP_NF_MANGLE=m +CONFIG_IP_NF_TARGET_CLUSTERIP=m +CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_TARGET_TTL=m +CONFIG_IP_NF_RAW=m +CONFIG_IP_NF_SECURITY=m +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARP_MANGLE=m + +# +# IPv6: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV6=m +CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_IP6_NF_QUEUE=m +CONFIG_IP6_NF_IPTABLES=m +CONFIG_IP6_NF_MATCH_AH=m +CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_MATCH_FRAG=m +CONFIG_IP6_NF_MATCH_OPTS=m +CONFIG_IP6_NF_MATCH_HL=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_MATCH_MH=m +CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_TARGET_HL=m +CONFIG_IP6_NF_TARGET_LOG=m +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_MANGLE=m +CONFIG_IP6_NF_RAW=m +CONFIG_IP6_NF_SECURITY=m +CONFIG_BRIDGE_NF_EBTABLES=m +CONFIG_BRIDGE_EBT_BROUTE=m +CONFIG_BRIDGE_EBT_T_FILTER=m +CONFIG_BRIDGE_EBT_T_NAT=m +CONFIG_BRIDGE_EBT_802_3=m +CONFIG_BRIDGE_EBT_AMONG=m +CONFIG_BRIDGE_EBT_ARP=m +CONFIG_BRIDGE_EBT_IP=m +CONFIG_BRIDGE_EBT_IP6=m +CONFIG_BRIDGE_EBT_LIMIT=m +CONFIG_BRIDGE_EBT_MARK=m +CONFIG_BRIDGE_EBT_PKTTYPE=m +CONFIG_BRIDGE_EBT_STP=m +CONFIG_BRIDGE_EBT_VLAN=m +CONFIG_BRIDGE_EBT_ARPREPLY=m +CONFIG_BRIDGE_EBT_DNAT=m +CONFIG_BRIDGE_EBT_MARK_T=m +CONFIG_BRIDGE_EBT_REDIRECT=m +CONFIG_BRIDGE_EBT_SNAT=m +CONFIG_BRIDGE_EBT_LOG=m +CONFIG_BRIDGE_EBT_ULOG=m +CONFIG_BRIDGE_EBT_NFLOG=m +CONFIG_IP_DCCP=m +CONFIG_INET_DCCP_DIAG=m + +# +# DCCP CCIDs Configuration (EXPERIMENTAL) +# +# CONFIG_IP_DCCP_CCID2_DEBUG is not set +CONFIG_IP_DCCP_CCID3=y +# CONFIG_IP_DCCP_CCID3_DEBUG is not set +CONFIG_IP_DCCP_TFRC_LIB=y + +# +# DCCP Kernel Hacking +# +# CONFIG_IP_DCCP_DEBUG is not set +CONFIG_IP_SCTP=m +# CONFIG_SCTP_DBG_MSG is not set +# CONFIG_SCTP_DBG_OBJCNT is not set +# CONFIG_SCTP_HMAC_NONE is not set +CONFIG_SCTP_HMAC_SHA1=y +# CONFIG_SCTP_HMAC_MD5 is not set +# CONFIG_RDS is not set +# CONFIG_TIPC is not set +CONFIG_ATM=m +CONFIG_ATM_CLIP=m +# CONFIG_ATM_CLIP_NO_ICMP is not set +CONFIG_ATM_LANE=m +CONFIG_ATM_MPOA=m +CONFIG_ATM_BR2684=m +# CONFIG_ATM_BR2684_IPFILTER is not set +CONFIG_L2TP=m +# CONFIG_L2TP_DEBUGFS is not set +CONFIG_L2TP_V3=y +CONFIG_L2TP_IP=m +CONFIG_L2TP_ETH=m +CONFIG_STP=m +CONFIG_BRIDGE=m +CONFIG_BRIDGE_IGMP_SNOOPING=y +# CONFIG_NET_DSA is not set +CONFIG_VLAN_8021Q=m +# CONFIG_VLAN_8021Q_GVRP is not set +# CONFIG_DECNET is not set +CONFIG_LLC=m +CONFIG_LLC2=m +CONFIG_IPX=m +# CONFIG_IPX_INTERN is not set +CONFIG_ATALK=m +CONFIG_DEV_APPLETALK=m +CONFIG_LTPC=m +CONFIG_COPS=m +CONFIG_COPS_DAYNA=y +CONFIG_COPS_TANGENT=y +CONFIG_IPDDP=m +CONFIG_IPDDP_ENCAP=y +CONFIG_IPDDP_DECAP=y +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set +CONFIG_PHONET=m +CONFIG_IEEE802154=m +CONFIG_IEEE802154_6LOWPAN=m +CONFIG_NET_SCHED=y + +# +# Queueing/Scheduling +# +CONFIG_NET_SCH_CBQ=m +CONFIG_NET_SCH_HTB=m +CONFIG_NET_SCH_HFSC=m +CONFIG_NET_SCH_ATM=m +CONFIG_NET_SCH_PRIO=m +CONFIG_NET_SCH_MULTIQ=m +CONFIG_NET_SCH_RED=m +CONFIG_NET_SCH_SFB=m +CONFIG_NET_SCH_SFQ=m +CONFIG_NET_SCH_TEQL=m +CONFIG_NET_SCH_TBF=m +CONFIG_NET_SCH_GRED=m +CONFIG_NET_SCH_DSMARK=m +CONFIG_NET_SCH_NETEM=m +CONFIG_NET_SCH_DRR=m +CONFIG_NET_SCH_MQPRIO=m +CONFIG_NET_SCH_CHOKE=m +CONFIG_NET_SCH_QFQ=m +CONFIG_NET_SCH_INGRESS=m + +# +# Classification +# +CONFIG_NET_CLS=y +CONFIG_NET_CLS_BASIC=m +CONFIG_NET_CLS_TCINDEX=m +CONFIG_NET_CLS_ROUTE4=m +CONFIG_NET_CLS_FW=m +CONFIG_NET_CLS_U32=m +# CONFIG_CLS_U32_PERF is not set +# CONFIG_CLS_U32_MARK is not set +CONFIG_NET_CLS_RSVP=m +CONFIG_NET_CLS_RSVP6=m +CONFIG_NET_CLS_FLOW=m +CONFIG_NET_CLS_CGROUP=y +# CONFIG_NET_EMATCH is not set +CONFIG_NET_CLS_ACT=y +CONFIG_NET_ACT_POLICE=m +CONFIG_NET_ACT_GACT=m +CONFIG_GACT_PROB=y +CONFIG_NET_ACT_MIRRED=m +CONFIG_NET_ACT_IPT=m +CONFIG_NET_ACT_NAT=m +CONFIG_NET_ACT_PEDIT=m +CONFIG_NET_ACT_SIMP=m +CONFIG_NET_ACT_SKBEDIT=m +CONFIG_NET_ACT_CSUM=m +CONFIG_NET_CLS_IND=y +CONFIG_NET_SCH_FIFO=y +# CONFIG_DCB is not set +CONFIG_DNS_RESOLVER=y +CONFIG_BATMAN_ADV=m +# CONFIG_BATMAN_ADV_DEBUG is not set +CONFIG_RPS=y +CONFIG_RFS_ACCEL=y +CONFIG_XPS=y + +# +# Network testing +# +CONFIG_NET_PKTGEN=m +CONFIG_NET_DROP_MONITOR=y +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +CONFIG_IRDA=m + +# +# IrDA protocols +# +CONFIG_IRLAN=m +CONFIG_IRNET=m +CONFIG_IRCOMM=m +CONFIG_IRDA_ULTRA=y + +# +# IrDA options +# +CONFIG_IRDA_CACHE_LAST_LSAP=y +CONFIG_IRDA_FAST_RR=y +# CONFIG_IRDA_DEBUG is not set + +# +# Infrared-port device drivers +# + +# +# SIR device drivers +# +CONFIG_IRTTY_SIR=m + +# +# Dongle support +# +CONFIG_DONGLE=y +CONFIG_ESI_DONGLE=m +CONFIG_ACTISYS_DONGLE=m +CONFIG_TEKRAM_DONGLE=m +CONFIG_TOIM3232_DONGLE=m +CONFIG_LITELINK_DONGLE=m +CONFIG_MA600_DONGLE=m +CONFIG_GIRBIL_DONGLE=m +CONFIG_MCP2120_DONGLE=m +CONFIG_OLD_BELKIN_DONGLE=m +CONFIG_ACT200L_DONGLE=m +CONFIG_KINGSUN_DONGLE=m +CONFIG_KSDAZZLE_DONGLE=m +CONFIG_KS959_DONGLE=m + +# +# FIR device drivers +# +CONFIG_USB_IRDA=m +CONFIG_SIGMATEL_FIR=m +CONFIG_NSC_FIR=m +CONFIG_WINBOND_FIR=m +CONFIG_TOSHIBA_FIR=m +CONFIG_SMC_IRCC_FIR=m +CONFIG_ALI_FIR=m +CONFIG_VLSI_FIR=m +CONFIG_VIA_FIR=m +CONFIG_MCS_FIR=m +CONFIG_BT=m +CONFIG_BT_L2CAP=y +CONFIG_BT_SCO=y +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=m +# CONFIG_BT_BNEP_MC_FILTER is not set +# CONFIG_BT_BNEP_PROTO_FILTER is not set +# CONFIG_BT_CMTP is not set +CONFIG_BT_HIDP=m + +# +# Bluetooth device drivers +# +CONFIG_BT_HCIBTUSB=m +CONFIG_BT_HCIBTSDIO=m +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_H4=y +CONFIG_BT_HCIUART_BCSP=y +CONFIG_BT_HCIUART_ATH3K=y +CONFIG_BT_HCIUART_LL=y +CONFIG_BT_HCIBCM203X=m +CONFIG_BT_HCIBPA10X=m +CONFIG_BT_HCIBFUSB=m +CONFIG_BT_HCIDTL1=m +CONFIG_BT_HCIBT3C=m +CONFIG_BT_HCIBLUECARD=m +CONFIG_BT_HCIBTUART=m +CONFIG_BT_HCIVHCI=m +CONFIG_BT_MRVL=m +CONFIG_BT_MRVL_SDIO=m +CONFIG_BT_ATH3K=m +CONFIG_BT_WILINK=m +CONFIG_AF_RXRPC=m +# CONFIG_AF_RXRPC_DEBUG is not set +CONFIG_RXKAD=m +CONFIG_FIB_RULES=y +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_SPY=y +CONFIG_WEXT_PRIV=y +CONFIG_CFG80211=m +CONFIG_NL80211_TESTMODE=y +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_WEXT=y +CONFIG_WIRELESS_EXT_SYSFS=y +CONFIG_LIB80211=m +CONFIG_LIB80211_CRYPT_WEP=m +CONFIG_LIB80211_CRYPT_CCMP=m +CONFIG_LIB80211_CRYPT_TKIP=m +# CONFIG_LIB80211_DEBUG is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +CONFIG_MAC80211_MESH=y +CONFIG_MAC80211_LEDS=y +# CONFIG_MAC80211_DEBUGFS is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_WIMAX=m +CONFIG_WIMAX_DEBUG_LEVEL=8 +CONFIG_RFKILL=m +CONFIG_RFKILL_LEDS=y +CONFIG_RFKILL_INPUT=y +CONFIG_RFKILL_REGULATOR=m +CONFIG_NET_9P=m +CONFIG_NET_9P_VIRTIO=m +# CONFIG_NET_9P_DEBUG is not set +CONFIG_CAIF=m +# CONFIG_CAIF_DEBUG is not set +CONFIG_CAIF_NETDEV=m +CONFIG_CEPH_LIB=m +# CONFIG_CEPH_LIB_PRETTYDEBUG is not set +# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set +CONFIG_NFC=m +CONFIG_NFC_NCI=m + +# +# Near Field Communication (NFC) devices +# +CONFIG_PN544_NFC=m +CONFIG_NFC_PN533=m +CONFIG_NFC_WILINK=m + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER_PATH="" +CONFIG_DEVTMPFS=y +# CONFIG_DEVTMPFS_MOUNT is not set +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=m +CONFIG_REGMAP_SPI=y +CONFIG_CONNECTOR=y +CONFIG_PROC_EVENTS=y +CONFIG_MTD=m +CONFIG_MTD_TESTS=m +CONFIG_MTD_REDBOOT_PARTS=m +CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 +# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set +# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set +CONFIG_MTD_OF_PARTS=m +CONFIG_MTD_AR7_PARTS=m + +# +# User Modules And Translation Layers +# +CONFIG_MTD_CHAR=m +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_BLOCK_RO=m +CONFIG_FTL=m +CONFIG_NFTL=m +CONFIG_NFTL_RW=y +CONFIG_INFTL=m +CONFIG_RFD_FTL=m +CONFIG_SSFDC=m +# CONFIG_SM_FTL is not set +CONFIG_MTD_OOPS=m +CONFIG_MTD_SWAP=m + +# +# RAM/ROM/Flash chip drivers +# +CONFIG_MTD_CFI=m +CONFIG_MTD_JEDECPROBE=m +CONFIG_MTD_GEN_PROBE=m +# CONFIG_MTD_CFI_ADV_OPTIONS is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +CONFIG_MTD_CFI_INTELEXT=m +CONFIG_MTD_CFI_AMDSTD=m +CONFIG_MTD_CFI_STAA=m +CONFIG_MTD_CFI_UTIL=m +CONFIG_MTD_RAM=m +CONFIG_MTD_ROM=m +CONFIG_MTD_ABSENT=m + +# +# Mapping drivers for chip access +# +CONFIG_MTD_COMPLEX_MAPPINGS=y +# CONFIG_MTD_PHYSMAP is not set +CONFIG_MTD_PHYSMAP_OF=m +CONFIG_MTD_SC520CDP=m +CONFIG_MTD_NETSC520=m +CONFIG_MTD_TS5500=m +# CONFIG_MTD_SBC_GXX is not set +# CONFIG_MTD_AMD76XROM is not set +# CONFIG_MTD_ICHXROM is not set +# CONFIG_MTD_ESB2ROM is not set +# CONFIG_MTD_CK804XROM is not set +CONFIG_MTD_SCB2_FLASH=m +# CONFIG_MTD_NETtel is not set +# CONFIG_MTD_L440GX is not set +CONFIG_MTD_PCI=m +# CONFIG_MTD_PCMCIA is not set +# CONFIG_MTD_GPIO_ADDR is not set +# CONFIG_MTD_INTEL_VR_NOR is not set +CONFIG_MTD_PLATRAM=m +# CONFIG_MTD_LATCH_ADDR is not set + +# +# Self-contained MTD device drivers +# +CONFIG_MTD_PMC551=m +# CONFIG_MTD_PMC551_BUGFIX is not set +# CONFIG_MTD_PMC551_DEBUG is not set +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_M25P80 is not set +# CONFIG_MTD_SST25L is not set +# CONFIG_MTD_SLRAM is not set +CONFIG_MTD_PHRAM=m +CONFIG_MTD_MTDRAM=m +CONFIG_MTDRAM_TOTAL_SIZE=4096 +CONFIG_MTDRAM_ERASE_SIZE=128 +CONFIG_MTD_BLOCK2MTD=m + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +# CONFIG_MTD_DOC2001PLUS is not set +CONFIG_MTD_DOCG3=m +CONFIG_MTD_NAND_ECC=m +CONFIG_MTD_NAND_ECC_SMC=y +CONFIG_MTD_NAND=m +# CONFIG_MTD_NAND_VERIFY_WRITE is not set +# CONFIG_MTD_NAND_ECC_BCH is not set +CONFIG_MTD_SM_COMMON=m +# CONFIG_MTD_NAND_MUSEUM_IDS is not set +# CONFIG_MTD_NAND_DENALI is not set +CONFIG_MTD_NAND_IDS=m +CONFIG_MTD_NAND_RICOH=m +CONFIG_MTD_NAND_DISKONCHIP=m +# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set +CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 +# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set +# CONFIG_MTD_NAND_CAFE is not set +CONFIG_MTD_NAND_CS553X=m +CONFIG_MTD_NAND_NANDSIM=m +# CONFIG_MTD_NAND_PLATFORM is not set +CONFIG_MTD_ALAUDA=m +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR flash memory drivers +# +CONFIG_MTD_LPDDR=m +CONFIG_MTD_QINFO_PROBE=m +CONFIG_MTD_UBI=m +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_MTD_UBI_BEB_RESERVE=1 +# CONFIG_MTD_UBI_GLUEBI is not set +# CONFIG_MTD_UBI_DEBUG is not set +CONFIG_OF=y + +# +# Device Tree and Open Firmware support +# +CONFIG_PROC_DEVICETREE=y +CONFIG_OF_PROMTREE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_DEVICE=y +CONFIG_OF_GPIO=y +CONFIG_OF_I2C=m +CONFIG_OF_NET=y +CONFIG_OF_SPI=y +CONFIG_OF_MDIO=m +CONFIG_OF_PCI=y +CONFIG_OF_PCI_IRQ=y +CONFIG_PARPORT=m +CONFIG_PARPORT_PC=m +CONFIG_PARPORT_SERIAL=m +CONFIG_PARPORT_PC_FIFO=y +CONFIG_PARPORT_PC_SUPERIO=y +CONFIG_PARPORT_PC_PCMCIA=m +# CONFIG_PARPORT_GSC is not set +CONFIG_PARPORT_AX88796=m +CONFIG_PARPORT_1284=y +CONFIG_PARPORT_NOT_PC=y +CONFIG_PNP=y +# CONFIG_PNP_DEBUG_MESSAGES is not set + +# +# Protocols +# +CONFIG_ISAPNP=y +# CONFIG_PNPBIOS is not set +CONFIG_PNPACPI=y +CONFIG_BLK_DEV=y +CONFIG_BLK_DEV_FD=m +# CONFIG_BLK_DEV_XD is not set +# CONFIG_PARIDE is not set +CONFIG_BLK_CPQ_DA=m +CONFIG_BLK_CPQ_CISS_DA=m +# CONFIG_CISS_SCSI_TAPE is not set +CONFIG_BLK_DEV_DAC960=m +# CONFIG_BLK_DEV_UMEM is not set +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=m +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +CONFIG_BLK_DEV_CRYPTOLOOP=m +CONFIG_BLK_DEV_DRBD=m +# CONFIG_DRBD_FAULT_INJECTION is not set +CONFIG_BLK_DEV_NBD=m +CONFIG_BLK_DEV_OSD=m +CONFIG_BLK_DEV_SX8=m +# CONFIG_BLK_DEV_UB is not set +CONFIG_BLK_DEV_RAM=m +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=16384 +# CONFIG_BLK_DEV_XIP is not set +CONFIG_CDROM_PKTCDVD=m +CONFIG_CDROM_PKTCDVD_BUFFERS=8 +# CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_ATA_OVER_ETH=m +CONFIG_VIRTIO_BLK=m +# CONFIG_BLK_DEV_HD is not set +CONFIG_BLK_DEV_RBD=m +CONFIG_SENSORS_LIS3LV02D=m +CONFIG_MISC_DEVICES=y +CONFIG_AD525X_DPOT=m +CONFIG_AD525X_DPOT_I2C=m +CONFIG_AD525X_DPOT_SPI=m +# CONFIG_IBM_ASM is not set +CONFIG_PHANTOM=m +CONFIG_INTEL_MID_PTI=m +CONFIG_SGI_IOC4=m +CONFIG_TIFM_CORE=m +CONFIG_TIFM_7XX1=m +CONFIG_ICS932S401=m +CONFIG_ENCLOSURE_SERVICES=m +CONFIG_CS5535_MFGPT=m +CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7 +CONFIG_CS5535_CLOCK_EVENT_SRC=m +CONFIG_HP_ILO=m +CONFIG_APDS9802ALS=m +CONFIG_ISL29003=m +CONFIG_ISL29020=m +CONFIG_SENSORS_TSL2550=m +CONFIG_SENSORS_BH1780=m +CONFIG_SENSORS_BH1770=m +CONFIG_SENSORS_APDS990X=m +CONFIG_HMC6352=m +CONFIG_DS1682=m +CONFIG_TI_DAC7512=m +CONFIG_VMWARE_BALLOON=m +CONFIG_BMP085=m +# CONFIG_PCH_PHUB is not set +CONFIG_USB_SWITCH_FSA9480=m +CONFIG_C2PORT=m +CONFIG_C2PORT_DURAMAR_2150=m + +# +# EEPROM support +# +CONFIG_EEPROM_AT24=m +CONFIG_EEPROM_AT25=m +CONFIG_EEPROM_LEGACY=m +CONFIG_EEPROM_MAX6875=m +CONFIG_EEPROM_93CX6=m +CONFIG_EEPROM_93XX46=m +CONFIG_CB710_CORE=m +# CONFIG_CB710_DEBUG is not set +CONFIG_CB710_DEBUG_ASSUMPTIONS=y +CONFIG_IWMC3200TOP=m +# CONFIG_IWMC3200TOP_DEBUG is not set +# CONFIG_IWMC3200TOP_DEBUGFS is not set + +# +# Texas Instruments shared transport line discipline +# +CONFIG_TI_ST=m +CONFIG_SENSORS_LIS3_I2C=m + +# +# Altera FPGA firmware download module +# +CONFIG_ALTERA_STAPL=m +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=m +CONFIG_RAID_ATTRS=m +CONFIG_SCSI=m +CONFIG_SCSI_DMA=y +CONFIG_SCSI_TGT=m +CONFIG_SCSI_NETLINK=y +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=m +CONFIG_CHR_DEV_ST=m +CONFIG_CHR_DEV_OSST=m +CONFIG_BLK_DEV_SR=m +CONFIG_BLK_DEV_SR_VENDOR=y +CONFIG_CHR_DEV_SG=m +CONFIG_CHR_DEV_SCH=m +CONFIG_SCSI_ENCLOSURE=m +CONFIG_SCSI_MULTI_LUN=y +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set +CONFIG_SCSI_WAIT_SCAN=m + +# +# SCSI Transports +# +CONFIG_SCSI_SPI_ATTRS=m +CONFIG_SCSI_FC_ATTRS=m +# CONFIG_SCSI_FC_TGT_ATTRS is not set +CONFIG_SCSI_ISCSI_ATTRS=m +CONFIG_SCSI_SAS_ATTRS=m +CONFIG_SCSI_SAS_LIBSAS=m +CONFIG_SCSI_SAS_ATA=y +CONFIG_SCSI_SAS_HOST_SMP=y +CONFIG_SCSI_SRP_ATTRS=m +CONFIG_SCSI_SRP_TGT_ATTRS=y +CONFIG_SCSI_LOWLEVEL=y +CONFIG_ISCSI_TCP=m +CONFIG_ISCSI_BOOT_SYSFS=m +CONFIG_SCSI_CXGB3_ISCSI=m +CONFIG_SCSI_CXGB4_ISCSI=m +CONFIG_SCSI_BNX2_ISCSI=m +CONFIG_SCSI_BNX2X_FCOE=m +CONFIG_BE2ISCSI=m +CONFIG_BLK_DEV_3W_XXXX_RAID=m +CONFIG_SCSI_HPSA=m +CONFIG_SCSI_3W_9XXX=m +CONFIG_SCSI_3W_SAS=m +CONFIG_SCSI_7000FASST=m +CONFIG_SCSI_ACARD=m +CONFIG_SCSI_AHA152X=m +CONFIG_SCSI_AHA1542=m +CONFIG_SCSI_AACRAID=m +CONFIG_SCSI_AIC7XXX=m +CONFIG_AIC7XXX_CMDS_PER_DEVICE=32 +CONFIG_AIC7XXX_RESET_DELAY_MS=15000 +# CONFIG_AIC7XXX_DEBUG_ENABLE is not set +CONFIG_AIC7XXX_DEBUG_MASK=0 +CONFIG_AIC7XXX_REG_PRETTY_PRINT=y +# CONFIG_SCSI_AIC7XXX_OLD is not set +CONFIG_SCSI_AIC79XX=m +CONFIG_AIC79XX_CMDS_PER_DEVICE=32 +CONFIG_AIC79XX_RESET_DELAY_MS=15000 +# CONFIG_AIC79XX_DEBUG_ENABLE is not set +CONFIG_AIC79XX_DEBUG_MASK=0 +CONFIG_AIC79XX_REG_PRETTY_PRINT=y +CONFIG_SCSI_AIC94XX=m +# CONFIG_AIC94XX_DEBUG is not set +CONFIG_SCSI_MVSAS=m +# CONFIG_SCSI_MVSAS_DEBUG is not set +CONFIG_SCSI_MVSAS_TASKLET=y +CONFIG_SCSI_MVUMI=m +CONFIG_SCSI_DPT_I2O=m +CONFIG_SCSI_ADVANSYS=m +CONFIG_SCSI_IN2000=m +CONFIG_SCSI_ARCMSR=m +CONFIG_MEGARAID_NEWGEN=y +CONFIG_MEGARAID_MM=m +CONFIG_MEGARAID_MAILBOX=m +CONFIG_MEGARAID_LEGACY=m +CONFIG_MEGARAID_SAS=m +CONFIG_SCSI_MPT2SAS=m +CONFIG_SCSI_MPT2SAS_MAX_SGE=128 +# CONFIG_SCSI_MPT2SAS_LOGGING is not set +CONFIG_SCSI_HPTIOP=m +CONFIG_SCSI_BUSLOGIC=m +# CONFIG_SCSI_FLASHPOINT is not set +CONFIG_VMWARE_PVSCSI=m +CONFIG_LIBFC=m +CONFIG_LIBFCOE=m +CONFIG_FCOE=m +CONFIG_FCOE_FNIC=m +CONFIG_SCSI_DMX3191D=m +CONFIG_SCSI_DTC3280=m +CONFIG_SCSI_EATA=m +# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set +# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set +CONFIG_SCSI_EATA_MAX_TAGS=16 +CONFIG_SCSI_FUTURE_DOMAIN=m +CONFIG_SCSI_GDTH=m +CONFIG_SCSI_ISCI=m +CONFIG_SCSI_GENERIC_NCR5380=m +CONFIG_SCSI_GENERIC_NCR5380_MMIO=m +CONFIG_SCSI_GENERIC_NCR53C400=y +CONFIG_SCSI_IPS=m +CONFIG_SCSI_INITIO=m +CONFIG_SCSI_INIA100=m +CONFIG_SCSI_PPA=m +CONFIG_SCSI_IMM=m +# CONFIG_SCSI_IZIP_EPP16 is not set +# CONFIG_SCSI_IZIP_SLOW_CTR is not set +CONFIG_SCSI_NCR53C406A=m +CONFIG_SCSI_STEX=m +CONFIG_SCSI_SYM53C8XX_2=m +CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 +CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 +CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 +CONFIG_SCSI_SYM53C8XX_MMIO=y +CONFIG_SCSI_IPR=m +# CONFIG_SCSI_IPR_TRACE is not set +# CONFIG_SCSI_IPR_DUMP is not set +CONFIG_SCSI_PAS16=m +CONFIG_SCSI_QLOGIC_FAS=m +CONFIG_SCSI_QLOGIC_1280=m +CONFIG_SCSI_QLA_FC=m +CONFIG_SCSI_QLA_ISCSI=m +CONFIG_SCSI_LPFC=m +# CONFIG_SCSI_LPFC_DEBUG_FS is not set +CONFIG_SCSI_SYM53C416=m +CONFIG_SCSI_DC395x=m +CONFIG_SCSI_DC390T=m +CONFIG_SCSI_T128=m +CONFIG_SCSI_U14_34F=m +# CONFIG_SCSI_U14_34F_TAGGED_QUEUE is not set +# CONFIG_SCSI_U14_34F_LINKED_COMMANDS is not set +CONFIG_SCSI_U14_34F_MAX_TAGS=8 +CONFIG_SCSI_ULTRASTOR=m +CONFIG_SCSI_NSP32=m +# CONFIG_SCSI_DEBUG is not set +CONFIG_SCSI_PMCRAID=m +CONFIG_SCSI_PM8001=m +CONFIG_SCSI_SRP=m +CONFIG_SCSI_BFA_FC=m +CONFIG_SCSI_LOWLEVEL_PCMCIA=y +CONFIG_PCMCIA_AHA152X=m +CONFIG_PCMCIA_FDOMAIN=m +CONFIG_PCMCIA_NINJA_SCSI=m +CONFIG_PCMCIA_QLOGIC=m +CONFIG_PCMCIA_SYM53C500=m +CONFIG_SCSI_DH=m +CONFIG_SCSI_DH_RDAC=m +CONFIG_SCSI_DH_HP_SW=m +CONFIG_SCSI_DH_EMC=m +CONFIG_SCSI_DH_ALUA=m +CONFIG_SCSI_OSD_INITIATOR=m +CONFIG_SCSI_OSD_ULD=m +CONFIG_SCSI_OSD_DPRINT_SENSE=0 +# CONFIG_SCSI_OSD_DEBUG is not set +CONFIG_ATA=m +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_VERBOSE_ERROR=y +CONFIG_ATA_ACPI=y +CONFIG_SATA_PMP=y + +# +# Controllers with non-SFF native interface +# +CONFIG_SATA_AHCI=m +CONFIG_SATA_AHCI_PLATFORM=m +CONFIG_SATA_INIC162X=m +CONFIG_SATA_ACARD_AHCI=m +CONFIG_SATA_SIL24=m +CONFIG_ATA_SFF=y + +# +# SFF controllers with custom DMA interface +# +CONFIG_PDC_ADMA=m +CONFIG_SATA_QSTOR=m +CONFIG_SATA_SX4=m +CONFIG_ATA_BMDMA=y + +# +# SATA SFF controllers with BMDMA +# +CONFIG_ATA_PIIX=m +CONFIG_SATA_MV=m +CONFIG_SATA_NV=m +CONFIG_SATA_PROMISE=m +CONFIG_SATA_SIL=m +CONFIG_SATA_SIS=m +CONFIG_SATA_SVW=m +CONFIG_SATA_ULI=m +CONFIG_SATA_VIA=m +CONFIG_SATA_VITESSE=m + +# +# PATA SFF controllers with BMDMA +# +CONFIG_PATA_ALI=m +CONFIG_PATA_AMD=m +CONFIG_PATA_ARASAN_CF=m +CONFIG_PATA_ARTOP=m +CONFIG_PATA_ATIIXP=m +CONFIG_PATA_ATP867X=m +CONFIG_PATA_CMD64X=m +CONFIG_PATA_CS5520=m +CONFIG_PATA_CS5530=m +CONFIG_PATA_CS5535=m +CONFIG_PATA_CS5536=m +CONFIG_PATA_CYPRESS=m +CONFIG_PATA_EFAR=m +CONFIG_PATA_HPT366=m +CONFIG_PATA_HPT37X=m +CONFIG_PATA_HPT3X2N=m +CONFIG_PATA_HPT3X3=m +# CONFIG_PATA_HPT3X3_DMA is not set +CONFIG_PATA_IT8213=m +CONFIG_PATA_IT821X=m +CONFIG_PATA_JMICRON=m +CONFIG_PATA_MARVELL=m +CONFIG_PATA_NETCELL=m +CONFIG_PATA_NINJA32=m +CONFIG_PATA_NS87415=m +CONFIG_PATA_OLDPIIX=m +CONFIG_PATA_OPTIDMA=m +CONFIG_PATA_PDC2027X=m +CONFIG_PATA_PDC_OLD=m +CONFIG_PATA_RADISYS=m +CONFIG_PATA_RDC=m +CONFIG_PATA_SC1200=m +CONFIG_PATA_SCH=m +CONFIG_PATA_SERVERWORKS=m +CONFIG_PATA_SIL680=m +CONFIG_PATA_SIS=m +CONFIG_PATA_TOSHIBA=m +CONFIG_PATA_TRIFLEX=m +CONFIG_PATA_VIA=m +CONFIG_PATA_WINBOND=m + +# +# PIO-only SFF controllers +# +CONFIG_PATA_CMD640_PCI=m +CONFIG_PATA_ISAPNP=m +CONFIG_PATA_MPIIX=m +CONFIG_PATA_NS87410=m +CONFIG_PATA_OPTI=m +CONFIG_PATA_PCMCIA=m +CONFIG_PATA_QDI=m +CONFIG_PATA_RZ1000=m +CONFIG_PATA_WINBOND_VLB=m + +# +# Generic fallback / legacy drivers +# +CONFIG_PATA_ACPI=m +CONFIG_ATA_GENERIC=m +CONFIG_PATA_LEGACY=m +CONFIG_MD=y +CONFIG_BLK_DEV_MD=m +CONFIG_MD_LINEAR=m +CONFIG_MD_RAID0=m +CONFIG_MD_RAID1=m +CONFIG_MD_RAID10=m +CONFIG_MD_RAID456=m +# CONFIG_MULTICORE_RAID456 is not set +CONFIG_MD_MULTIPATH=m +CONFIG_MD_FAULTY=m +CONFIG_BLK_DEV_DM=m +# CONFIG_DM_DEBUG is not set +CONFIG_DM_BUFIO=m +CONFIG_DM_PERSISTENT_DATA=m +CONFIG_DM_CRYPT=m +CONFIG_DM_SNAPSHOT=m +CONFIG_DM_THIN_PROVISIONING=m +# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set +# CONFIG_DM_DEBUG_SPACE_MAPS is not set +CONFIG_DM_MIRROR=m +CONFIG_DM_RAID=m +CONFIG_DM_LOG_USERSPACE=m +CONFIG_DM_ZERO=m +CONFIG_DM_MULTIPATH=m +CONFIG_DM_MULTIPATH_QL=m +CONFIG_DM_MULTIPATH_ST=m +CONFIG_DM_DELAY=m +CONFIG_DM_UEVENT=y +CONFIG_DM_FLAKEY=m +CONFIG_TARGET_CORE=m +CONFIG_TCM_IBLOCK=m +CONFIG_TCM_FILEIO=m +CONFIG_TCM_PSCSI=m +CONFIG_LOOPBACK_TARGET=m +CONFIG_TCM_FC=m +CONFIG_ISCSI_TARGET=m +CONFIG_FUSION=y +CONFIG_FUSION_SPI=m +CONFIG_FUSION_FC=m +CONFIG_FUSION_SAS=m +CONFIG_FUSION_MAX_SGE=128 +CONFIG_FUSION_CTL=m +# CONFIG_FUSION_LOGGING is not set + +# +# IEEE 1394 (FireWire) support +# +CONFIG_FIREWIRE=m +CONFIG_FIREWIRE_OHCI=m +CONFIG_FIREWIRE_OHCI_DEBUG=y +CONFIG_FIREWIRE_SBP2=m +CONFIG_FIREWIRE_NET=m +CONFIG_FIREWIRE_NOSY=m +CONFIG_I2O=m +CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y +CONFIG_I2O_EXT_ADAPTEC=y +CONFIG_I2O_CONFIG=m +CONFIG_I2O_CONFIG_OLD_IOCTL=y +CONFIG_I2O_BUS=m +CONFIG_I2O_BLOCK=m +CONFIG_I2O_SCSI=m +CONFIG_I2O_PROC=m +CONFIG_MACINTOSH_DRIVERS=y +CONFIG_MAC_EMUMOUSEBTN=y +CONFIG_NETDEVICES=y +CONFIG_NET_CORE=y +CONFIG_BONDING=m +CONFIG_DUMMY=m +CONFIG_EQUALIZER=m +# CONFIG_NET_FC is not set +CONFIG_MII=m +CONFIG_IEEE802154_DRIVERS=m +CONFIG_IEEE802154_FAKEHARD=m +CONFIG_IFB=m +CONFIG_MACVLAN=m +CONFIG_MACVTAP=m +CONFIG_NETCONSOLE=m +CONFIG_NETCONSOLE_DYNAMIC=y +CONFIG_NETPOLL=y +# CONFIG_NETPOLL_TRAP is not set +CONFIG_NET_POLL_CONTROLLER=y +CONFIG_RIONET=m +CONFIG_RIONET_TX_SIZE=128 +CONFIG_RIONET_RX_SIZE=128 +CONFIG_TUN=m +CONFIG_VETH=m +CONFIG_VIRTIO_NET=m +CONFIG_SUNGEM_PHY=m +# CONFIG_ARCNET is not set +CONFIG_ATM_DRIVERS=y +# CONFIG_ATM_DUMMY is not set +CONFIG_ATM_TCP=m +CONFIG_ATM_LANAI=m +CONFIG_ATM_ENI=m +# CONFIG_ATM_ENI_DEBUG is not set +# CONFIG_ATM_ENI_TUNE_BURST is not set +CONFIG_ATM_FIRESTREAM=m +CONFIG_ATM_ZATM=m +# CONFIG_ATM_ZATM_DEBUG is not set +CONFIG_ATM_NICSTAR=m +# CONFIG_ATM_NICSTAR_USE_SUNI is not set +# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set +CONFIG_ATM_IDT77252=m +# CONFIG_ATM_IDT77252_DEBUG is not set +# CONFIG_ATM_IDT77252_RCV_ALL is not set +CONFIG_ATM_IDT77252_USE_SUNI=y +CONFIG_ATM_AMBASSADOR=m +# CONFIG_ATM_AMBASSADOR_DEBUG is not set +CONFIG_ATM_HORIZON=m +# CONFIG_ATM_HORIZON_DEBUG is not set +CONFIG_ATM_IA=m +# CONFIG_ATM_IA_DEBUG is not set +CONFIG_ATM_FORE200E=m +# CONFIG_ATM_FORE200E_USE_TASKLET is not set +CONFIG_ATM_FORE200E_TX_RETRY=16 +CONFIG_ATM_FORE200E_DEBUG=0 +CONFIG_ATM_HE=m +# CONFIG_ATM_HE_USE_SUNI is not set +CONFIG_ATM_SOLOS=m + +# +# CAIF transport drivers +# +CONFIG_CAIF_TTY=m +CONFIG_CAIF_SPI_SLAVE=m +CONFIG_CAIF_SPI_SYNC=y +CONFIG_CAIF_HSI=m +CONFIG_ETHERNET=y +CONFIG_MDIO=m +CONFIG_NET_VENDOR_3COM=y +CONFIG_EL1=m +CONFIG_EL3=m +CONFIG_3C515=m +CONFIG_PCMCIA_3C574=m +CONFIG_PCMCIA_3C589=m +CONFIG_VORTEX=m +CONFIG_TYPHOON=m +CONFIG_NET_VENDOR_ADAPTEC=y +CONFIG_ADAPTEC_STARFIRE=m +CONFIG_NET_VENDOR_ALTEON=y +CONFIG_ACENIC=m +# CONFIG_ACENIC_OMIT_TIGON_I is not set +CONFIG_NET_VENDOR_AMD=y +CONFIG_AMD8111_ETH=m +CONFIG_LANCE=m +CONFIG_PCNET32=m +CONFIG_DEPCA=m +CONFIG_PCMCIA_NMCLAN=m +CONFIG_NI65=m +CONFIG_NET_VENDOR_ATHEROS=y +CONFIG_ATL2=m +CONFIG_ATL1=m +CONFIG_ATL1E=m +CONFIG_ATL1C=m +CONFIG_NET_VENDOR_BROADCOM=y +CONFIG_B44=m +CONFIG_B44_PCI_AUTOSELECT=y +CONFIG_B44_PCICORE_AUTOSELECT=y +CONFIG_B44_PCI=y +CONFIG_BNX2=m +CONFIG_CNIC=m +CONFIG_TIGON3=m +CONFIG_BNX2X=m +CONFIG_NET_VENDOR_BROCADE=y +CONFIG_BNA=m +CONFIG_NET_VENDOR_CHELSIO=y +CONFIG_CHELSIO_T1=m +CONFIG_CHELSIO_T1_1G=y +CONFIG_CHELSIO_T3=m +CONFIG_CHELSIO_T4=m +CONFIG_CHELSIO_T4VF=m +CONFIG_NET_VENDOR_CIRRUS=y +CONFIG_CS89x0=m +CONFIG_NET_VENDOR_CISCO=y +CONFIG_ENIC=m +CONFIG_DNET=m +CONFIG_NET_VENDOR_DEC=y +CONFIG_EWRK3=m +CONFIG_NET_TULIP=y +CONFIG_DE2104X=m +CONFIG_DE2104X_DSL=0 +CONFIG_TULIP=m +# CONFIG_TULIP_MWI is not set +# CONFIG_TULIP_MMIO is not set +# CONFIG_TULIP_NAPI is not set +CONFIG_DE4X5=m +CONFIG_WINBOND_840=m +CONFIG_DM9102=m +CONFIG_ULI526X=m +CONFIG_PCMCIA_XIRCOM=m +CONFIG_NET_VENDOR_DLINK=y +CONFIG_DE600=m +CONFIG_DE620=m +CONFIG_DL2K=m +CONFIG_SUNDANCE=m +# CONFIG_SUNDANCE_MMIO is not set +CONFIG_NET_VENDOR_EMULEX=y +CONFIG_BE2NET=m +CONFIG_NET_VENDOR_EXAR=y +CONFIG_S2IO=m +CONFIG_VXGE=m +# CONFIG_VXGE_DEBUG_TRACE_ALL is not set +CONFIG_NET_VENDOR_FUJITSU=y +CONFIG_AT1700=m +CONFIG_PCMCIA_FMVJ18X=m +CONFIG_ETH16I=m +CONFIG_NET_VENDOR_HP=y +CONFIG_HP100=m +CONFIG_NET_VENDOR_INTEL=y +CONFIG_E100=m +CONFIG_E1000=m +CONFIG_E1000E=m +CONFIG_IGB=m +CONFIG_IGB_DCA=y +CONFIG_IGBVF=m +CONFIG_IXGB=m +CONFIG_IXGBE=m +CONFIG_IXGBE_DCA=y +CONFIG_IXGBEVF=m +CONFIG_NET_VENDOR_I825XX=y +CONFIG_ELPLUS=m +CONFIG_EL16=m +CONFIG_APRICOT=m +CONFIG_EEXPRESS=m +CONFIG_EEXPRESS_PRO=m +CONFIG_LP486E=m +CONFIG_NI52=m +CONFIG_ZNET=m +CONFIG_IP1000=m +CONFIG_JME=m +CONFIG_NET_VENDOR_MARVELL=y +CONFIG_SKGE=m +# CONFIG_SKGE_DEBUG is not set +CONFIG_SKGE_GENESIS=y +CONFIG_SKY2=m +# CONFIG_SKY2_DEBUG is not set +CONFIG_NET_VENDOR_MELLANOX=y +CONFIG_MLX4_EN=m +CONFIG_MLX4_CORE=m +CONFIG_MLX4_DEBUG=y +CONFIG_NET_VENDOR_MICREL=y +CONFIG_KS8842=m +CONFIG_KS8851=m +CONFIG_KS8851_MLL=m +CONFIG_KSZ884X_PCI=m +CONFIG_NET_VENDOR_MICROCHIP=y +CONFIG_ENC28J60=m +# CONFIG_ENC28J60_WRITEVERIFY is not set +CONFIG_NET_VENDOR_MYRI=y +CONFIG_MYRI10GE=m +CONFIG_MYRI10GE_DCA=y +CONFIG_FEALNX=m +CONFIG_NET_VENDOR_NATSEMI=y +CONFIG_NATSEMI=m +CONFIG_NS83820=m +CONFIG_NET_VENDOR_8390=y +CONFIG_EL2=m +CONFIG_AC3200=m +CONFIG_PCMCIA_AXNET=m +CONFIG_E2100=m +CONFIG_HPLAN_PLUS=m +CONFIG_HPLAN=m +CONFIG_NE2000=m +CONFIG_NE2K_PCI=m +CONFIG_PCMCIA_PCNET=m +CONFIG_ULTRA=m +CONFIG_WD80x3=m +CONFIG_NET_VENDOR_NVIDIA=y +CONFIG_FORCEDETH=m +CONFIG_NET_VENDOR_OKI=y +CONFIG_PCH_GBE=m +CONFIG_ETHOC=m +CONFIG_NET_PACKET_ENGINE=y +CONFIG_HAMACHI=m +CONFIG_YELLOWFIN=m +CONFIG_NET_VENDOR_QLOGIC=y +CONFIG_QLA3XXX=m +CONFIG_QLCNIC=m +CONFIG_QLGE=m +CONFIG_NETXEN_NIC=m +CONFIG_NET_VENDOR_RACAL=y +CONFIG_NET_VENDOR_REALTEK=y +CONFIG_ATP=m +CONFIG_8139CP=m +CONFIG_8139TOO=m +# CONFIG_8139TOO_PIO is not set +CONFIG_8139TOO_TUNE_TWISTER=y +CONFIG_8139TOO_8129=y +# CONFIG_8139_OLD_RX_RESET is not set +CONFIG_R8169=m +CONFIG_NET_VENDOR_RDC=y +CONFIG_R6040=m +CONFIG_NET_VENDOR_SEEQ=y +CONFIG_SEEQ8005=m +CONFIG_NET_VENDOR_SILAN=y +CONFIG_SC92031=m +CONFIG_NET_VENDOR_SIS=y +CONFIG_SIS900=m +CONFIG_SIS190=m +CONFIG_SFC=m +CONFIG_SFC_MTD=y +CONFIG_NET_VENDOR_SMSC=y +CONFIG_SMC9194=m +CONFIG_PCMCIA_SMC91C92=m +CONFIG_EPIC100=m +CONFIG_SMSC9420=m +CONFIG_NET_VENDOR_STMICRO=y +CONFIG_STMMAC_ETH=m +# CONFIG_STMMAC_DEBUG_FS is not set +# CONFIG_STMMAC_DA is not set +CONFIG_STMMAC_RING=y +# CONFIG_STMMAC_CHAINED is not set +CONFIG_NET_VENDOR_SUN=y +CONFIG_HAPPYMEAL=m +CONFIG_SUNGEM=m +CONFIG_CASSINI=m +CONFIG_NIU=m +CONFIG_NET_VENDOR_TEHUTI=y +CONFIG_TEHUTI=m +CONFIG_NET_VENDOR_TI=y +CONFIG_TLAN=m +CONFIG_NET_VENDOR_VIA=y +CONFIG_VIA_RHINE=m +# CONFIG_VIA_RHINE_MMIO is not set +CONFIG_VIA_VELOCITY=m +CONFIG_NET_VENDOR_XIRCOM=y +CONFIG_PCMCIA_XIRC2PS=m +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +CONFIG_NET_SB1000=m +CONFIG_PHYLIB=m + +# +# MII PHY device drivers +# +CONFIG_MARVELL_PHY=m +CONFIG_DAVICOM_PHY=m +CONFIG_QSEMI_PHY=m +CONFIG_LXT_PHY=m +CONFIG_CICADA_PHY=m +CONFIG_VITESSE_PHY=m +CONFIG_SMSC_PHY=m +CONFIG_BROADCOM_PHY=m +CONFIG_ICPLUS_PHY=m +CONFIG_REALTEK_PHY=m +CONFIG_NATIONAL_PHY=m +CONFIG_STE10XP=m +CONFIG_LSI_ET1011C_PHY=m +CONFIG_MICREL_PHY=m +# CONFIG_MDIO_BITBANG is not set +CONFIG_PLIP=m +CONFIG_PPP=m +CONFIG_PPP_BSDCOMP=m +CONFIG_PPP_DEFLATE=m +CONFIG_PPP_FILTER=y +CONFIG_PPP_MPPE=m +CONFIG_PPP_MULTILINK=y +CONFIG_PPPOATM=m +CONFIG_PPPOE=m +CONFIG_PPTP=m +CONFIG_PPPOL2TP=m +CONFIG_PPP_ASYNC=m +CONFIG_PPP_SYNC_TTY=m +CONFIG_SLIP=m +CONFIG_SLHC=m +# CONFIG_SLIP_COMPRESSED is not set +# CONFIG_SLIP_SMART is not set +# CONFIG_SLIP_MODE_SLIP6 is not set +# CONFIG_TR is not set + +# +# USB Network Adapters +# +CONFIG_USB_CATC=m +CONFIG_USB_KAWETH=m +CONFIG_USB_PEGASUS=m +CONFIG_USB_RTL8150=m +CONFIG_USB_USBNET=m +CONFIG_USB_NET_AX8817X=m +CONFIG_USB_NET_CDCETHER=m +CONFIG_USB_NET_CDC_EEM=m +CONFIG_USB_NET_CDC_NCM=m +CONFIG_USB_NET_DM9601=m +CONFIG_USB_NET_SMSC75XX=m +CONFIG_USB_NET_SMSC95XX=m +CONFIG_USB_NET_GL620A=m +CONFIG_USB_NET_NET1080=m +CONFIG_USB_NET_PLUSB=m +CONFIG_USB_NET_MCS7830=m +CONFIG_USB_NET_RNDIS_HOST=m +CONFIG_USB_NET_CDC_SUBSET=m +CONFIG_USB_ALI_M5632=y +CONFIG_USB_AN2720=y +CONFIG_USB_BELKIN=y +CONFIG_USB_ARMLINUX=y +CONFIG_USB_EPSON2888=y +CONFIG_USB_KC2190=y +CONFIG_USB_NET_ZAURUS=m +CONFIG_USB_NET_CX82310_ETH=m +CONFIG_USB_NET_KALMIA=m +CONFIG_USB_HSO=m +CONFIG_USB_NET_INT51X1=m +CONFIG_USB_CDC_PHONET=m +CONFIG_USB_IPHETH=m +CONFIG_USB_SIERRA_NET=m +CONFIG_USB_VL600=m +CONFIG_WLAN=y +CONFIG_PCMCIA_RAYCS=m +CONFIG_LIBERTAS_THINFIRM=m +# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set +CONFIG_LIBERTAS_THINFIRM_USB=m +CONFIG_AIRO=m +CONFIG_ATMEL=m +CONFIG_PCI_ATMEL=m +CONFIG_PCMCIA_ATMEL=m +CONFIG_AT76C50X_USB=m +CONFIG_AIRO_CS=m +CONFIG_PCMCIA_WL3501=m +CONFIG_PRISM54=m +CONFIG_USB_ZD1201=m +CONFIG_USB_NET_RNDIS_WLAN=m +CONFIG_RTL8180=m +CONFIG_RTL8187=m +CONFIG_RTL8187_LEDS=y +CONFIG_ADM8211=m +# CONFIG_MAC80211_HWSIM is not set +CONFIG_MWL8K=m +CONFIG_ATH_COMMON=m +# CONFIG_ATH_DEBUG is not set +CONFIG_ATH5K=m +# CONFIG_ATH5K_DEBUG is not set +# CONFIG_ATH5K_TRACER is not set +CONFIG_ATH5K_PCI=y +CONFIG_ATH9K_HW=m +CONFIG_ATH9K_COMMON=m +CONFIG_ATH9K=m +CONFIG_ATH9K_PCI=y +CONFIG_ATH9K_AHB=y +# CONFIG_ATH9K_DEBUGFS is not set +CONFIG_ATH9K_RATE_CONTROL=y +CONFIG_ATH9K_HTC=m +# CONFIG_ATH9K_HTC_DEBUGFS is not set +CONFIG_CARL9170=m +CONFIG_CARL9170_LEDS=y +CONFIG_CARL9170_WPC=y +# CONFIG_CARL9170_HWRNG is not set +CONFIG_ATH6KL=m +# CONFIG_ATH6KL_DEBUG is not set +CONFIG_B43=m +CONFIG_B43_SSB=y +CONFIG_B43_PCI_AUTOSELECT=y +CONFIG_B43_PCICORE_AUTOSELECT=y +CONFIG_B43_PCMCIA=y +CONFIG_B43_SDIO=y +CONFIG_B43_PIO=y +CONFIG_B43_PHY_N=y +CONFIG_B43_PHY_LP=y +CONFIG_B43_PHY_HT=y +CONFIG_B43_LEDS=y +CONFIG_B43_HWRNG=y +# CONFIG_B43_DEBUG is not set +CONFIG_B43LEGACY=m +CONFIG_B43LEGACY_PCI_AUTOSELECT=y +CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y +CONFIG_B43LEGACY_LEDS=y +CONFIG_B43LEGACY_HWRNG=y +# CONFIG_B43LEGACY_DEBUG is not set +CONFIG_B43LEGACY_DMA=y +CONFIG_B43LEGACY_PIO=y +CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y +# CONFIG_B43LEGACY_DMA_MODE is not set +# CONFIG_B43LEGACY_PIO_MODE is not set +CONFIG_BRCMUTIL=m +CONFIG_BRCMSMAC=m +CONFIG_BRCMFMAC=m +# CONFIG_BRCMDBG is not set +CONFIG_HOSTAP=m +CONFIG_HOSTAP_FIRMWARE=y +# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set +CONFIG_HOSTAP_PLX=m +CONFIG_HOSTAP_PCI=m +CONFIG_HOSTAP_CS=m +CONFIG_IPW2100=m +CONFIG_IPW2100_MONITOR=y +# CONFIG_IPW2100_DEBUG is not set +CONFIG_IPW2200=m +CONFIG_IPW2200_MONITOR=y +CONFIG_IPW2200_RADIOTAP=y +CONFIG_IPW2200_PROMISCUOUS=y +CONFIG_IPW2200_QOS=y +# CONFIG_IPW2200_DEBUG is not set +CONFIG_LIBIPW=m +# CONFIG_LIBIPW_DEBUG is not set +CONFIG_IWLWIFI=m + +# +# Debugging Options +# +# CONFIG_IWLWIFI_DEBUG is not set +CONFIG_IWLWIFI_DEVICE_TRACING=y +CONFIG_IWLWIFI_DEVICE_SVTOOL=y +CONFIG_IWLWIFI_LEGACY=m + +# +# Debugging Options +# +# CONFIG_IWLWIFI_LEGACY_DEBUG is not set +# CONFIG_IWLWIFI_LEGACY_DEVICE_TRACING is not set +CONFIG_IWL4965=m +CONFIG_IWL3945=m +CONFIG_IWM=m +# CONFIG_IWM_DEBUG is not set +CONFIG_IWM_TRACING=y +CONFIG_LIBERTAS=m +CONFIG_LIBERTAS_USB=m +CONFIG_LIBERTAS_CS=m +CONFIG_LIBERTAS_SDIO=m +CONFIG_LIBERTAS_SPI=m +# CONFIG_LIBERTAS_DEBUG is not set +CONFIG_LIBERTAS_MESH=y +CONFIG_HERMES=m +CONFIG_HERMES_PRISM=y +CONFIG_HERMES_CACHE_FW_ON_INIT=y +CONFIG_PLX_HERMES=m +CONFIG_TMD_HERMES=m +CONFIG_NORTEL_HERMES=m +CONFIG_PCI_HERMES=m +CONFIG_PCMCIA_HERMES=m +CONFIG_PCMCIA_SPECTRUM=m +CONFIG_ORINOCO_USB=m +CONFIG_P54_COMMON=m +CONFIG_P54_USB=m +CONFIG_P54_PCI=m +CONFIG_P54_SPI=m +CONFIG_P54_SPI_DEFAULT_EEPROM=y +CONFIG_P54_LEDS=y +CONFIG_RT2X00=m +CONFIG_RT2400PCI=m +CONFIG_RT2500PCI=m +CONFIG_RT61PCI=m +CONFIG_RT2800PCI=m +CONFIG_RT2800PCI_RT33XX=y +CONFIG_RT2800PCI_RT35XX=y +CONFIG_RT2800PCI_RT53XX=y +CONFIG_RT2500USB=m +CONFIG_RT73USB=m +CONFIG_RT2800USB=m +CONFIG_RT2800USB_RT33XX=y +CONFIG_RT2800USB_RT35XX=y +CONFIG_RT2800USB_RT53XX=y +CONFIG_RT2800USB_UNKNOWN=y +CONFIG_RT2800_LIB=m +CONFIG_RT2X00_LIB_PCI=m +CONFIG_RT2X00_LIB_USB=m +CONFIG_RT2X00_LIB=m +CONFIG_RT2X00_LIB_FIRMWARE=y +CONFIG_RT2X00_LIB_CRYPTO=y +CONFIG_RT2X00_LIB_LEDS=y +# CONFIG_RT2X00_DEBUG is not set +CONFIG_RTL8192CE=m +CONFIG_RTL8192SE=m +CONFIG_RTL8192DE=m +CONFIG_RTL8192CU=m +CONFIG_RTLWIFI=m +CONFIG_RTL8192C_COMMON=m +CONFIG_WL1251=m +CONFIG_WL1251_SPI=m +CONFIG_WL1251_SDIO=m +CONFIG_WL12XX_MENU=m +CONFIG_WL12XX=m +CONFIG_WL12XX_SPI=m +CONFIG_WL12XX_SDIO=m +CONFIG_WL12XX_SDIO_TEST=m +CONFIG_WL12XX_PLATFORM_DATA=y +CONFIG_ZD1211RW=m +# CONFIG_ZD1211RW_DEBUG is not set +CONFIG_MWIFIEX=m +CONFIG_MWIFIEX_SDIO=m +CONFIG_MWIFIEX_PCIE=m + +# +# WiMAX Wireless Broadband devices +# +CONFIG_WIMAX_I2400M=m +CONFIG_WIMAX_I2400M_USB=m +CONFIG_WIMAX_I2400M_SDIO=m +# CONFIG_WIMAX_IWMC3200_SDIO is not set +CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 +# CONFIG_WAN is not set +CONFIG_VMXNET3=m +CONFIG_ISDN=y +CONFIG_ISDN_I4L=m +CONFIG_ISDN_PPP=y +CONFIG_ISDN_PPP_VJ=y +CONFIG_ISDN_MPP=y +CONFIG_IPPP_FILTER=y +CONFIG_ISDN_PPP_BSDCOMP=m +CONFIG_ISDN_AUDIO=y +CONFIG_ISDN_TTY_FAX=y + +# +# ISDN feature submodules +# +CONFIG_ISDN_DIVERSION=m + +# +# ISDN4Linux hardware drivers +# + +# +# Passive cards +# +CONFIG_ISDN_DRV_HISAX=m + +# +# D-channel protocol features +# +CONFIG_HISAX_EURO=y +CONFIG_DE_AOC=y +# CONFIG_HISAX_NO_SENDCOMPLETE is not set +# CONFIG_HISAX_NO_LLC is not set +# CONFIG_HISAX_NO_KEYPAD is not set +CONFIG_HISAX_1TR6=y +CONFIG_HISAX_NI1=y +CONFIG_HISAX_MAX_CARDS=8 + +# +# HiSax supported cards +# +CONFIG_HISAX_16_0=y +CONFIG_HISAX_16_3=y +CONFIG_HISAX_TELESPCI=y +CONFIG_HISAX_S0BOX=y +CONFIG_HISAX_AVM_A1=y +CONFIG_HISAX_FRITZPCI=y +CONFIG_HISAX_AVM_A1_PCMCIA=y +CONFIG_HISAX_ELSA=y +CONFIG_HISAX_IX1MICROR2=y +CONFIG_HISAX_DIEHLDIVA=y +CONFIG_HISAX_ASUSCOM=y +CONFIG_HISAX_TELEINT=y +CONFIG_HISAX_HFCS=y +CONFIG_HISAX_SEDLBAUER=y +CONFIG_HISAX_SPORTSTER=y +CONFIG_HISAX_MIC=y +CONFIG_HISAX_NETJET=y +CONFIG_HISAX_NETJET_U=y +CONFIG_HISAX_NICCY=y +CONFIG_HISAX_ISURF=y +CONFIG_HISAX_HSTSAPHIR=y +CONFIG_HISAX_BKM_A4T=y +CONFIG_HISAX_SCT_QUADRO=y +CONFIG_HISAX_GAZEL=y +CONFIG_HISAX_HFC_PCI=y +CONFIG_HISAX_W6692=y +CONFIG_HISAX_HFC_SX=y +CONFIG_HISAX_ENTERNOW_PCI=y +# CONFIG_HISAX_DEBUG is not set + +# +# HiSax PCMCIA card service modules +# +CONFIG_HISAX_SEDLBAUER_CS=m +CONFIG_HISAX_ELSA_CS=m +CONFIG_HISAX_AVM_A1_CS=m +CONFIG_HISAX_TELES_CS=m + +# +# HiSax sub driver modules +# +CONFIG_HISAX_ST5481=m +CONFIG_HISAX_HFCUSB=m +CONFIG_HISAX_HFC4S8S=m +CONFIG_HISAX_FRITZ_PCIPNP=m + +# +# Active cards +# +CONFIG_ISDN_DRV_ICN=m +CONFIG_ISDN_DRV_PCBIT=m +CONFIG_ISDN_DRV_SC=m +CONFIG_ISDN_DRV_ACT2000=m +CONFIG_ISDN_CAPI=m +CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y +CONFIG_CAPI_TRACE=y +CONFIG_ISDN_CAPI_MIDDLEWARE=y +CONFIG_ISDN_CAPI_CAPI20=m +CONFIG_ISDN_CAPI_CAPIDRV=m + +# +# CAPI hardware drivers +# +CONFIG_CAPI_AVM=y +CONFIG_ISDN_DRV_AVMB1_B1ISA=m +CONFIG_ISDN_DRV_AVMB1_B1PCI=m +CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y +CONFIG_ISDN_DRV_AVMB1_T1ISA=m +CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m +CONFIG_ISDN_DRV_AVMB1_AVM_CS=m +CONFIG_ISDN_DRV_AVMB1_T1PCI=m +CONFIG_ISDN_DRV_AVMB1_C4=m +CONFIG_CAPI_EICON=y +CONFIG_ISDN_DIVAS=m +CONFIG_ISDN_DIVAS_BRIPCI=y +CONFIG_ISDN_DIVAS_PRIPCI=y +CONFIG_ISDN_DIVAS_DIVACAPI=m +CONFIG_ISDN_DIVAS_USERIDI=m +CONFIG_ISDN_DIVAS_MAINT=m +CONFIG_ISDN_DRV_GIGASET=m +CONFIG_GIGASET_CAPI=y +# CONFIG_GIGASET_I4L is not set +# CONFIG_GIGASET_DUMMYLL is not set +CONFIG_GIGASET_BASE=m +CONFIG_GIGASET_M105=m +CONFIG_GIGASET_M101=m +# CONFIG_GIGASET_DEBUG is not set +CONFIG_HYSDN=m +CONFIG_HYSDN_CAPI=y +CONFIG_MISDN=m +CONFIG_MISDN_DSP=m +CONFIG_MISDN_L1OIP=m + +# +# mISDN hardware drivers +# +CONFIG_MISDN_HFCPCI=m +CONFIG_MISDN_HFCMULTI=m +CONFIG_MISDN_HFCUSB=m +CONFIG_MISDN_AVMFRITZ=m +CONFIG_MISDN_SPEEDFAX=m +CONFIG_MISDN_INFINEON=m +CONFIG_MISDN_W6692=m +CONFIG_MISDN_NETJET=m +CONFIG_MISDN_IPAC=m +CONFIG_MISDN_ISAR=m +CONFIG_ISDN_HDLC=m +# CONFIG_PHONE is not set + +# +# Input device support +# +CONFIG_INPUT=y +CONFIG_INPUT_FF_MEMLESS=m +CONFIG_INPUT_POLLDEV=m +CONFIG_INPUT_SPARSEKMAP=m + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_JOYDEV=m +CONFIG_INPUT_EVDEV=m +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +CONFIG_KEYBOARD_ADP5588=m +CONFIG_KEYBOARD_ADP5589=m +CONFIG_KEYBOARD_ATKBD=y +CONFIG_KEYBOARD_QT1070=m +CONFIG_KEYBOARD_QT2160=m +# CONFIG_KEYBOARD_LKKBD is not set +CONFIG_KEYBOARD_GPIO=m +CONFIG_KEYBOARD_GPIO_POLLED=m +CONFIG_KEYBOARD_TCA6416=m +CONFIG_KEYBOARD_MATRIX=m +# CONFIG_KEYBOARD_LM8323 is not set +# CONFIG_KEYBOARD_MAX7359 is not set +CONFIG_KEYBOARD_MCS=m +CONFIG_KEYBOARD_MPR121=m +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_OPENCORES is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=m +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_LIFEBOOK=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +CONFIG_MOUSE_PS2_ELANTECH=y +CONFIG_MOUSE_PS2_SENTELIC=y +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +CONFIG_MOUSE_PS2_OLPC=y +CONFIG_MOUSE_SERIAL=y +CONFIG_MOUSE_APPLETOUCH=m +CONFIG_MOUSE_BCM5974=m +CONFIG_MOUSE_INPORT=m +# CONFIG_MOUSE_ATIXL is not set +CONFIG_MOUSE_LOGIBM=m +CONFIG_MOUSE_PC110PAD=m +CONFIG_MOUSE_VSXXXAA=m +CONFIG_MOUSE_GPIO=m +CONFIG_MOUSE_SYNAPTICS_I2C=m +CONFIG_INPUT_JOYSTICK=y +CONFIG_JOYSTICK_ANALOG=m +CONFIG_JOYSTICK_A3D=m +CONFIG_JOYSTICK_ADI=m +CONFIG_JOYSTICK_COBRA=m +CONFIG_JOYSTICK_GF2K=m +CONFIG_JOYSTICK_GRIP=m +CONFIG_JOYSTICK_GRIP_MP=m +CONFIG_JOYSTICK_GUILLEMOT=m +CONFIG_JOYSTICK_INTERACT=m +CONFIG_JOYSTICK_SIDEWINDER=m +CONFIG_JOYSTICK_TMDC=m +CONFIG_JOYSTICK_IFORCE=m +CONFIG_JOYSTICK_IFORCE_USB=y +CONFIG_JOYSTICK_IFORCE_232=y +CONFIG_JOYSTICK_WARRIOR=m +CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_SPACEORB=m +CONFIG_JOYSTICK_SPACEBALL=m +CONFIG_JOYSTICK_STINGER=m +CONFIG_JOYSTICK_TWIDJOY=m +CONFIG_JOYSTICK_ZHENHUA=m +CONFIG_JOYSTICK_DB9=m +CONFIG_JOYSTICK_GAMECON=m +CONFIG_JOYSTICK_TURBOGRAFX=m +CONFIG_JOYSTICK_AS5011=m +CONFIG_JOYSTICK_JOYDUMP=m +CONFIG_JOYSTICK_XPAD=m +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +CONFIG_JOYSTICK_WALKERA0701=m +CONFIG_INPUT_TABLET=y +CONFIG_TABLET_USB_ACECAD=m +CONFIG_TABLET_USB_AIPTEK=m +CONFIG_TABLET_USB_GTCO=m +CONFIG_TABLET_USB_HANWANG=m +CONFIG_TABLET_USB_KBTAB=m +CONFIG_TABLET_USB_WACOM=m +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_ADS7846=m +CONFIG_TOUCHSCREEN_AD7877=m +CONFIG_TOUCHSCREEN_AD7879=m +CONFIG_TOUCHSCREEN_AD7879_I2C=m +CONFIG_TOUCHSCREEN_AD7879_SPI=m +CONFIG_TOUCHSCREEN_ATMEL_MXT=m +CONFIG_TOUCHSCREEN_BU21013=m +CONFIG_TOUCHSCREEN_CY8CTMG110=m +CONFIG_TOUCHSCREEN_DYNAPRO=m +CONFIG_TOUCHSCREEN_HAMPSHIRE=m +CONFIG_TOUCHSCREEN_EETI=m +CONFIG_TOUCHSCREEN_FUJITSU=m +CONFIG_TOUCHSCREEN_GUNZE=m +CONFIG_TOUCHSCREEN_ELO=m +CONFIG_TOUCHSCREEN_WACOM_W8001=m +CONFIG_TOUCHSCREEN_MAX11801=m +CONFIG_TOUCHSCREEN_MCS5000=m +CONFIG_TOUCHSCREEN_MTOUCH=m +CONFIG_TOUCHSCREEN_INEXIO=m +CONFIG_TOUCHSCREEN_MK712=m +CONFIG_TOUCHSCREEN_HTCPEN=m +CONFIG_TOUCHSCREEN_PENMOUNT=m +CONFIG_TOUCHSCREEN_TOUCHRIGHT=m +CONFIG_TOUCHSCREEN_TOUCHWIN=m +CONFIG_TOUCHSCREEN_UCB1400=m +CONFIG_TOUCHSCREEN_WM831X=m +CONFIG_TOUCHSCREEN_WM97XX=m +CONFIG_TOUCHSCREEN_WM9705=y +CONFIG_TOUCHSCREEN_WM9712=y +CONFIG_TOUCHSCREEN_WM9713=y +CONFIG_TOUCHSCREEN_USB_COMPOSITE=m +CONFIG_TOUCHSCREEN_MC13783=m +CONFIG_TOUCHSCREEN_USB_EGALAX=y +CONFIG_TOUCHSCREEN_USB_PANJIT=y +CONFIG_TOUCHSCREEN_USB_3M=y +CONFIG_TOUCHSCREEN_USB_ITM=y +CONFIG_TOUCHSCREEN_USB_ETURBO=y +CONFIG_TOUCHSCREEN_USB_GUNZE=y +CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y +CONFIG_TOUCHSCREEN_USB_IRTOUCH=y +CONFIG_TOUCHSCREEN_USB_IDEALTEK=y +CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y +CONFIG_TOUCHSCREEN_USB_GOTOP=y +CONFIG_TOUCHSCREEN_USB_JASTEC=y +CONFIG_TOUCHSCREEN_USB_E2I=y +CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y +CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y +CONFIG_TOUCHSCREEN_USB_NEXIO=y +CONFIG_TOUCHSCREEN_TOUCHIT213=m +CONFIG_TOUCHSCREEN_TSC_SERIO=m +CONFIG_TOUCHSCREEN_TSC2005=m +CONFIG_TOUCHSCREEN_TSC2007=m +CONFIG_TOUCHSCREEN_PCAP=m +CONFIG_TOUCHSCREEN_ST1232=m +CONFIG_TOUCHSCREEN_TPS6507X=m +CONFIG_INPUT_MISC=y +CONFIG_INPUT_AB8500_PONKEY=m +CONFIG_INPUT_AD714X=m +CONFIG_INPUT_AD714X_I2C=m +CONFIG_INPUT_AD714X_SPI=m +CONFIG_INPUT_BMA150=m +CONFIG_INPUT_PCSPKR=m +CONFIG_INPUT_MC13783_PWRBUTTON=m +CONFIG_INPUT_MMA8450=m +CONFIG_INPUT_MPU3050=m +CONFIG_INPUT_APANEL=m +CONFIG_INPUT_WISTRON_BTNS=m +CONFIG_INPUT_ATLAS_BTNS=m +CONFIG_INPUT_ATI_REMOTE2=m +CONFIG_INPUT_KEYSPAN_REMOTE=m +CONFIG_INPUT_KXTJ9=m +# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set +CONFIG_INPUT_POWERMATE=m +CONFIG_INPUT_YEALINK=m +CONFIG_INPUT_CM109=m +CONFIG_INPUT_UINPUT=m +CONFIG_INPUT_PCF50633_PMU=m +CONFIG_INPUT_PCF8574=m +CONFIG_INPUT_GPIO_ROTARY_ENCODER=m +CONFIG_INPUT_WM831X_ON=m +# CONFIG_INPUT_PCAP is not set +CONFIG_INPUT_ADXL34X=m +CONFIG_INPUT_ADXL34X_I2C=m +CONFIG_INPUT_ADXL34X_SPI=m +CONFIG_INPUT_CMA3000=m +CONFIG_INPUT_CMA3000_I2C=m + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_I8042=y +CONFIG_SERIO_SERPORT=m +CONFIG_SERIO_CT82C710=m +CONFIG_SERIO_PARKBD=m +CONFIG_SERIO_PCIPS2=m +CONFIG_SERIO_LIBPS2=y +CONFIG_SERIO_RAW=m +CONFIG_SERIO_ALTERA_PS2=m +CONFIG_SERIO_PS2MULT=m +CONFIG_GAMEPORT=m +CONFIG_GAMEPORT_NS558=m +CONFIG_GAMEPORT_L4=m +CONFIG_GAMEPORT_EMU10K1=m +CONFIG_GAMEPORT_FM801=m + +# +# Character devices +# +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_HW_CONSOLE=y +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_UNIX98_PTYS=y +CONFIG_DEVPTS_MULTIPLE_INSTANCES=y +# CONFIG_LEGACY_PTYS is not set +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_ROCKETPORT=m +CONFIG_CYCLADES=m +# CONFIG_CYZ_INTR is not set +# CONFIG_MOXA_INTELLIO is not set +# CONFIG_MOXA_SMARTIO is not set +CONFIG_SYNCLINK=m +CONFIG_SYNCLINKMP=m +# CONFIG_SYNCLINK_GT is not set +CONFIG_NOZOMI=m +# CONFIG_ISI is not set +CONFIG_N_HDLC=m +CONFIG_N_GSM=m +CONFIG_TRACE_ROUTER=m +CONFIG_TRACE_SINK=m +# CONFIG_DEVKMEM is not set +# CONFIG_STALDRV is not set + +# +# Serial drivers +# +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_SERIAL_8250_PCI=y +CONFIG_SERIAL_8250_PNP=y +CONFIG_SERIAL_8250_CS=m +CONFIG_SERIAL_8250_NR_UARTS=32 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +# CONFIG_SERIAL_8250_EXTENDED is not set +CONFIG_SERIAL_8250_DW=m + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_MAX3100=m +CONFIG_SERIAL_MAX3107=m +CONFIG_SERIAL_MFD_HSU=m +CONFIG_SERIAL_UARTLITE=m +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_SERIAL_JSM=m +CONFIG_SERIAL_OF_PLATFORM=m +CONFIG_SERIAL_TIMBERDALE=m +CONFIG_SERIAL_ALTERA_JTAGUART=m +CONFIG_SERIAL_ALTERA_UART=m +CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4 +CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200 +CONFIG_SERIAL_IFX6X60=m +CONFIG_SERIAL_PCH_UART=m +CONFIG_SERIAL_XILINX_PS_UART=m +CONFIG_PRINTER=m +# CONFIG_LP_CONSOLE is not set +CONFIG_PPDEV=m +CONFIG_HVC_DRIVER=y +CONFIG_VIRTIO_CONSOLE=y +CONFIG_IPMI_HANDLER=m +# CONFIG_IPMI_PANIC_EVENT is not set +CONFIG_IPMI_DEVICE_INTERFACE=m +CONFIG_IPMI_SI=m +CONFIG_IPMI_WATCHDOG=m +CONFIG_IPMI_POWEROFF=m +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_TIMERIOMEM=m +CONFIG_HW_RANDOM_INTEL=m +CONFIG_HW_RANDOM_AMD=m +CONFIG_HW_RANDOM_GEODE=m +CONFIG_HW_RANDOM_VIA=m +CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_NVRAM=m +CONFIG_DTLK=m +CONFIG_R3964=m +CONFIG_APPLICOM=m +CONFIG_SONYPI=m + +# +# PCMCIA character devices +# +CONFIG_SYNCLINK_CS=m +CONFIG_CARDMAN_4000=m +CONFIG_CARDMAN_4040=m +CONFIG_IPWIRELESS=m +CONFIG_MWAVE=m +CONFIG_PC8736x_GPIO=m +CONFIG_NSC_GPIO=m +# CONFIG_RAW_DRIVER is not set +CONFIG_HPET=y +CONFIG_HPET_MMAP=y +CONFIG_HANGCHECK_TIMER=m +CONFIG_TCG_TPM=m +CONFIG_TCG_TIS=m +CONFIG_TCG_NSC=m +CONFIG_TCG_ATMEL=m +CONFIG_TCG_INFINEON=m +CONFIG_TELCLOCK=m +CONFIG_DEVPORT=y +CONFIG_RAMOOPS=m +CONFIG_I2C=m +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_CHARDEV=m +CONFIG_I2C_MUX=m + +# +# Multiplexer I2C Chip support +# +CONFIG_I2C_MUX_GPIO=m +CONFIG_I2C_MUX_PCA9541=m +CONFIG_I2C_MUX_PCA954x=m +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_SMBUS=m +CONFIG_I2C_ALGOBIT=m +CONFIG_I2C_ALGOPCA=m + +# +# I2C Hardware Bus support +# + +# +# PC SMBus host controller drivers +# +CONFIG_I2C_ALI1535=m +CONFIG_I2C_ALI1563=m +CONFIG_I2C_ALI15X3=m +CONFIG_I2C_AMD756=m +CONFIG_I2C_AMD756_S4882=m +CONFIG_I2C_AMD8111=m +CONFIG_I2C_I801=m +CONFIG_I2C_ISCH=m +CONFIG_I2C_PIIX4=m +CONFIG_I2C_NFORCE2=m +CONFIG_I2C_NFORCE2_S4985=m +CONFIG_I2C_SIS5595=m +CONFIG_I2C_SIS630=m +CONFIG_I2C_SIS96X=m +CONFIG_I2C_VIA=m +CONFIG_I2C_VIAPRO=m + +# +# ACPI drivers +# +CONFIG_I2C_SCMI=m + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +CONFIG_I2C_DESIGNWARE_PCI=m +CONFIG_I2C_GPIO=m +CONFIG_I2C_INTEL_MID=m +CONFIG_I2C_OCORES=m +CONFIG_I2C_PCA_PLATFORM=m +CONFIG_I2C_PXA=m +CONFIG_I2C_PXA_PCI=y +CONFIG_I2C_SIMTEC=m +CONFIG_I2C_XILINX=m +CONFIG_I2C_EG20T=m + +# +# External I2C/SMBus adapter drivers +# +CONFIG_I2C_DIOLAN_U2C=m +CONFIG_I2C_PARPORT=m +CONFIG_I2C_PARPORT_LIGHT=m +CONFIG_I2C_TAOS_EVM=m +CONFIG_I2C_TINY_USB=m + +# +# Other I2C/SMBus bus drivers +# +CONFIG_I2C_PCA_ISA=m +# CONFIG_I2C_STUB is not set +CONFIG_SCx200_ACB=m +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +CONFIG_SPI_ALTERA=m +CONFIG_SPI_BITBANG=m +CONFIG_SPI_BUTTERFLY=m +CONFIG_SPI_GPIO=m +CONFIG_SPI_LM70_LLP=m +CONFIG_SPI_OC_TINY=m +CONFIG_SPI_PXA2XX=m +CONFIG_SPI_PXA2XX_PCI=y +CONFIG_SPI_TOPCLIFF_PCH=m +CONFIG_SPI_XILINX=m +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=m +CONFIG_SPI_TLE62X0=m + +# +# PPS support +# +CONFIG_PPS=m +# CONFIG_PPS_DEBUG is not set + +# +# PPS clients support +# +CONFIG_PPS_CLIENT_KTIMER=m +CONFIG_PPS_CLIENT_LDISC=m +CONFIG_PPS_CLIENT_PARPORT=m +CONFIG_PPS_CLIENT_GPIO=m + +# +# PPS generators support +# + +# +# PTP clock support +# +CONFIG_PTP_1588_CLOCK=m +CONFIG_DP83640_PHY=m +CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y +CONFIG_GPIOLIB=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC=m +CONFIG_GPIO_MAX730X=m + +# +# Memory mapped GPIO drivers: +# +CONFIG_GPIO_GENERIC_PLATFORM=m +CONFIG_GPIO_IT8761E=m +CONFIG_GPIO_SCH=m +CONFIG_GPIO_VX855=m + +# +# I2C GPIO expanders: +# +CONFIG_GPIO_MAX7300=m +CONFIG_GPIO_MAX732X=m +CONFIG_GPIO_PCA953X=m +CONFIG_GPIO_PCF857X=m +CONFIG_GPIO_TPS65912=m +CONFIG_GPIO_WM831X=m +CONFIG_GPIO_ADP5588=m + +# +# PCI GPIO expanders: +# +CONFIG_GPIO_CS5535=y +CONFIG_GPIO_LANGWELL=y +CONFIG_GPIO_PCH=m +CONFIG_GPIO_ML_IOH=m +CONFIG_GPIO_TIMBERDALE=y +CONFIG_GPIO_RDC321X=m + +# +# SPI GPIO expanders: +# +CONFIG_GPIO_MAX7301=m +CONFIG_GPIO_MCP23S08=m +CONFIG_GPIO_MC33880=m +CONFIG_GPIO_74X164=m + +# +# AC97 GPIO expanders: +# +CONFIG_GPIO_UCB1400=y + +# +# MODULbus GPIO expanders: +# +CONFIG_GPIO_JANZ_TTL=m +CONFIG_W1=m +CONFIG_W1_CON=y + +# +# 1-wire Bus Masters +# +CONFIG_W1_MASTER_MATROX=m +CONFIG_W1_MASTER_DS2490=m +CONFIG_W1_MASTER_DS2482=m +CONFIG_W1_MASTER_DS1WM=m +CONFIG_W1_MASTER_GPIO=m + +# +# 1-wire Slaves +# +CONFIG_W1_SLAVE_THERM=m +CONFIG_W1_SLAVE_SMEM=m +CONFIG_W1_SLAVE_DS2408=m +CONFIG_W1_SLAVE_DS2423=m +CONFIG_W1_SLAVE_DS2431=m +CONFIG_W1_SLAVE_DS2433=m +# CONFIG_W1_SLAVE_DS2433_CRC is not set +CONFIG_W1_SLAVE_DS2760=m +CONFIG_W1_SLAVE_DS2780=m +CONFIG_W1_SLAVE_BQ27000=m +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +CONFIG_PDA_POWER=m +CONFIG_WM831X_BACKUP=m +CONFIG_WM831X_POWER=m +CONFIG_TEST_POWER=m +CONFIG_BATTERY_DS2760=m +CONFIG_BATTERY_DS2780=m +CONFIG_BATTERY_DS2782=m +CONFIG_BATTERY_OLPC=m +CONFIG_BATTERY_BQ20Z75=m +CONFIG_BATTERY_BQ27x00=m +CONFIG_BATTERY_BQ27X00_I2C=y +CONFIG_BATTERY_BQ27X00_PLATFORM=y +CONFIG_BATTERY_MAX17040=m +CONFIG_BATTERY_MAX17042=m +CONFIG_CHARGER_PCF50633=m +CONFIG_CHARGER_ISP1704=m +CONFIG_CHARGER_MAX8903=m +CONFIG_CHARGER_GPIO=m +CONFIG_HWMON=y +CONFIG_HWMON_VID=m +# CONFIG_HWMON_DEBUG_CHIP is not set + +# +# Native drivers +# +CONFIG_SENSORS_ABITUGURU=m +CONFIG_SENSORS_ABITUGURU3=m +CONFIG_SENSORS_AD7314=m +CONFIG_SENSORS_AD7414=m +CONFIG_SENSORS_AD7418=m +CONFIG_SENSORS_ADCXX=m +CONFIG_SENSORS_ADM1021=m +CONFIG_SENSORS_ADM1025=m +CONFIG_SENSORS_ADM1026=m +CONFIG_SENSORS_ADM1029=m +CONFIG_SENSORS_ADM1031=m +CONFIG_SENSORS_ADM9240=m +CONFIG_SENSORS_ADT7411=m +CONFIG_SENSORS_ADT7462=m +CONFIG_SENSORS_ADT7470=m +CONFIG_SENSORS_ADT7475=m +CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_K8TEMP=m +CONFIG_SENSORS_K10TEMP=m +CONFIG_SENSORS_FAM15H_POWER=m +CONFIG_SENSORS_ASB100=m +CONFIG_SENSORS_ATXP1=m +CONFIG_SENSORS_DS620=m +CONFIG_SENSORS_DS1621=m +CONFIG_SENSORS_I5K_AMB=m +CONFIG_SENSORS_F71805F=m +CONFIG_SENSORS_F71882FG=m +CONFIG_SENSORS_F75375S=m +CONFIG_SENSORS_FSCHMD=m +CONFIG_SENSORS_G760A=m +CONFIG_SENSORS_GL518SM=m +CONFIG_SENSORS_GL520SM=m +CONFIG_SENSORS_GPIO_FAN=m +CONFIG_SENSORS_CORETEMP=m +CONFIG_SENSORS_IBMAEM=m +CONFIG_SENSORS_IBMPEX=m +CONFIG_SENSORS_IT87=m +CONFIG_SENSORS_JC42=m +CONFIG_SENSORS_LINEAGE=m +CONFIG_SENSORS_LM63=m +CONFIG_SENSORS_LM70=m +CONFIG_SENSORS_LM73=m +CONFIG_SENSORS_LM75=m +CONFIG_SENSORS_LM77=m +CONFIG_SENSORS_LM78=m +CONFIG_SENSORS_LM80=m +CONFIG_SENSORS_LM83=m +CONFIG_SENSORS_LM85=m +CONFIG_SENSORS_LM87=m +CONFIG_SENSORS_LM90=m +CONFIG_SENSORS_LM92=m +CONFIG_SENSORS_LM93=m +CONFIG_SENSORS_LTC4151=m +CONFIG_SENSORS_LTC4215=m +CONFIG_SENSORS_LTC4245=m +CONFIG_SENSORS_LTC4261=m +CONFIG_SENSORS_LM95241=m +CONFIG_SENSORS_LM95245=m +CONFIG_SENSORS_MAX1111=m +CONFIG_SENSORS_MAX16065=m +CONFIG_SENSORS_MAX1619=m +CONFIG_SENSORS_MAX1668=m +CONFIG_SENSORS_MAX6639=m +CONFIG_SENSORS_MAX6642=m +CONFIG_SENSORS_MAX6650=m +CONFIG_SENSORS_NTC_THERMISTOR=m +CONFIG_SENSORS_PC87360=m +CONFIG_SENSORS_PC87427=m +CONFIG_SENSORS_PCF8591=m +CONFIG_PMBUS=m +CONFIG_SENSORS_PMBUS=m +CONFIG_SENSORS_ADM1275=m +CONFIG_SENSORS_LM25066=m +CONFIG_SENSORS_LTC2978=m +CONFIG_SENSORS_MAX16064=m +CONFIG_SENSORS_MAX34440=m +CONFIG_SENSORS_MAX8688=m +CONFIG_SENSORS_UCD9000=m +CONFIG_SENSORS_UCD9200=m +CONFIG_SENSORS_ZL6100=m +CONFIG_SENSORS_SHT15=m +CONFIG_SENSORS_SHT21=m +CONFIG_SENSORS_SIS5595=m +CONFIG_SENSORS_SMM665=m +CONFIG_SENSORS_DME1737=m +CONFIG_SENSORS_EMC1403=m +CONFIG_SENSORS_EMC2103=m +CONFIG_SENSORS_EMC6W201=m +CONFIG_SENSORS_SMSC47M1=m +CONFIG_SENSORS_SMSC47M192=m +CONFIG_SENSORS_SMSC47B397=m +CONFIG_SENSORS_SCH56XX_COMMON=m +CONFIG_SENSORS_SCH5627=m +CONFIG_SENSORS_SCH5636=m +CONFIG_SENSORS_ADS1015=m +CONFIG_SENSORS_ADS7828=m +CONFIG_SENSORS_ADS7871=m +CONFIG_SENSORS_AMC6821=m +CONFIG_SENSORS_THMC50=m +CONFIG_SENSORS_TMP102=m +CONFIG_SENSORS_TMP401=m +CONFIG_SENSORS_TMP421=m +CONFIG_SENSORS_VIA_CPUTEMP=m +CONFIG_SENSORS_VIA686A=m +CONFIG_SENSORS_VT1211=m +CONFIG_SENSORS_VT8231=m +CONFIG_SENSORS_W83781D=m +CONFIG_SENSORS_W83791D=m +CONFIG_SENSORS_W83792D=m +CONFIG_SENSORS_W83793=m +CONFIG_SENSORS_W83795=m +# CONFIG_SENSORS_W83795_FANCTRL is not set +CONFIG_SENSORS_W83L785TS=m +CONFIG_SENSORS_W83L786NG=m +CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83627EHF=m +CONFIG_SENSORS_WM831X=m +CONFIG_SENSORS_APPLESMC=m +CONFIG_SENSORS_MC13783_ADC=m + +# +# ACPI drivers +# +CONFIG_SENSORS_ACPI_POWER=m +CONFIG_SENSORS_ATK0110=m +CONFIG_THERMAL=y +CONFIG_THERMAL_HWMON=y +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT is not set + +# +# Watchdog Device Drivers +# +CONFIG_SOFT_WATCHDOG=m +CONFIG_WM831X_WATCHDOG=m +CONFIG_ACQUIRE_WDT=m +CONFIG_ADVANTECH_WDT=m +CONFIG_ALIM1535_WDT=m +CONFIG_ALIM7101_WDT=m +CONFIG_F71808E_WDT=m +CONFIG_SP5100_TCO=m +CONFIG_GEODE_WDT=m +CONFIG_SC520_WDT=m +CONFIG_SBC_FITPC2_WATCHDOG=m +CONFIG_EUROTECH_WDT=m +CONFIG_IB700_WDT=m +CONFIG_IBMASR=m +CONFIG_WAFER_WDT=m +CONFIG_I6300ESB_WDT=m +CONFIG_ITCO_WDT=m +CONFIG_ITCO_VENDOR_SUPPORT=y +CONFIG_IT8712F_WDT=m +CONFIG_IT87_WDT=m +CONFIG_HP_WATCHDOG=m +CONFIG_HPWDT_NMI_DECODING=y +CONFIG_SC1200_WDT=m +CONFIG_PC87413_WDT=m +CONFIG_NV_TCO=m +CONFIG_60XX_WDT=m +CONFIG_SBC8360_WDT=m +CONFIG_SBC7240_WDT=m +CONFIG_CPU5_WDT=m +CONFIG_SMSC_SCH311X_WDT=m +CONFIG_SMSC37B787_WDT=m +CONFIG_W83627HF_WDT=m +CONFIG_W83697HF_WDT=m +CONFIG_W83697UG_WDT=m +CONFIG_W83877F_WDT=m +CONFIG_W83977F_WDT=m +CONFIG_MACHZ_WDT=m +CONFIG_SBC_EPX_C3_WATCHDOG=m + +# +# ISA-based Watchdog Cards +# +CONFIG_PCWATCHDOG=m +CONFIG_MIXCOMWD=m +CONFIG_WDT=m + +# +# PCI-based Watchdog Cards +# +CONFIG_PCIPCWATCHDOG=m +CONFIG_WDTPCI=m + +# +# USB-based Watchdog Cards +# +CONFIG_USBPCWATCHDOG=m +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +CONFIG_SSB=m +CONFIG_SSB_SPROM=y +CONFIG_SSB_BLOCKIO=y +CONFIG_SSB_PCIHOST_POSSIBLE=y +CONFIG_SSB_PCIHOST=y +CONFIG_SSB_B43_PCI_BRIDGE=y +CONFIG_SSB_PCMCIAHOST_POSSIBLE=y +CONFIG_SSB_PCMCIAHOST=y +CONFIG_SSB_SDIOHOST_POSSIBLE=y +CONFIG_SSB_SDIOHOST=y +# CONFIG_SSB_DEBUG is not set +CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y +CONFIG_SSB_DRIVER_PCICORE=y +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +CONFIG_MFD_CORE=y +CONFIG_MFD_SM501=m +CONFIG_MFD_SM501_GPIO=y +CONFIG_HTC_PASIC3=m +CONFIG_UCB1400_CORE=m +CONFIG_TPS6105X=m +CONFIG_TPS65010=m +CONFIG_TPS6507X=m +CONFIG_MFD_TPS65912=y +CONFIG_MFD_TPS65912_SPI=y +# CONFIG_MFD_TMIO is not set +CONFIG_MFD_WM8400=m +CONFIG_MFD_WM831X=y +CONFIG_MFD_WM831X_SPI=y +CONFIG_MFD_PCF50633=m +CONFIG_PCF50633_ADC=m +CONFIG_PCF50633_GPIO=m +CONFIG_MFD_MC13783=m +CONFIG_MFD_MC13XXX=m +CONFIG_ABX500_CORE=y +CONFIG_EZX_PCAP=y +CONFIG_AB8500_CORE=y +# CONFIG_AB8500_DEBUG is not set +CONFIG_AB8500_GPADC=y +CONFIG_MFD_CS5535=m +CONFIG_MFD_TIMBERDALE=m +CONFIG_LPC_SCH=m +CONFIG_MFD_RDC321X=m +CONFIG_MFD_JANZ_CMODIO=m +CONFIG_MFD_VX855=m +CONFIG_MFD_WL1273_CORE=m +CONFIG_REGULATOR=y +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_DUMMY=y +CONFIG_REGULATOR_FIXED_VOLTAGE=m +CONFIG_REGULATOR_VIRTUAL_CONSUMER=m +CONFIG_REGULATOR_USERSPACE_CONSUMER=m +CONFIG_REGULATOR_GPIO=m +CONFIG_REGULATOR_BQ24022=m +CONFIG_REGULATOR_MAX1586=m +CONFIG_REGULATOR_MAX8649=m +CONFIG_REGULATOR_MAX8660=m +CONFIG_REGULATOR_MAX8952=m +CONFIG_REGULATOR_WM831X=m +CONFIG_REGULATOR_WM8400=m +CONFIG_REGULATOR_PCF50633=m +CONFIG_REGULATOR_LP3971=m +CONFIG_REGULATOR_LP3972=m +CONFIG_REGULATOR_PCAP=m +CONFIG_REGULATOR_MC13XXX_CORE=m +CONFIG_REGULATOR_MC13783=m +CONFIG_REGULATOR_MC13892=m +CONFIG_REGULATOR_TPS6105X=m +CONFIG_REGULATOR_TPS65023=m +CONFIG_REGULATOR_TPS6507X=m +CONFIG_REGULATOR_TPS65912=m +CONFIG_REGULATOR_ISL6271A=m +CONFIG_REGULATOR_AD5398=m +CONFIG_REGULATOR_AB8500=y +CONFIG_REGULATOR_TPS6524X=m +CONFIG_MEDIA_SUPPORT=m + +# +# Multimedia core support +# +CONFIG_MEDIA_CONTROLLER=y +CONFIG_VIDEO_DEV=m +CONFIG_VIDEO_V4L2_COMMON=m +CONFIG_VIDEO_V4L2_SUBDEV_API=y +CONFIG_DVB_CORE=m +CONFIG_DVB_NET=y +CONFIG_VIDEO_MEDIA=m + +# +# Multimedia drivers +# +CONFIG_VIDEO_SAA7146=m +CONFIG_VIDEO_SAA7146_VV=m +CONFIG_RC_CORE=m +CONFIG_LIRC=m +CONFIG_RC_MAP=m +CONFIG_IR_NEC_DECODER=m +CONFIG_IR_RC5_DECODER=m +CONFIG_IR_RC6_DECODER=m +CONFIG_IR_JVC_DECODER=m +CONFIG_IR_SONY_DECODER=m +CONFIG_IR_RC5_SZ_DECODER=m +CONFIG_IR_MCE_KBD_DECODER=m +CONFIG_IR_LIRC_CODEC=m +CONFIG_RC_ATI_REMOTE=m +CONFIG_IR_ENE=m +CONFIG_IR_IMON=m +CONFIG_IR_MCEUSB=m +CONFIG_IR_ITE_CIR=m +CONFIG_IR_FINTEK=m +CONFIG_IR_NUVOTON=m +CONFIG_IR_REDRAT3=m +CONFIG_IR_STREAMZAP=m +CONFIG_IR_WINBOND_CIR=m +CONFIG_RC_LOOPBACK=m +CONFIG_MEDIA_ATTACH=y +CONFIG_MEDIA_TUNER=m +# CONFIG_MEDIA_TUNER_CUSTOMISE is not set +CONFIG_MEDIA_TUNER_SIMPLE=m +CONFIG_MEDIA_TUNER_TDA8290=m +CONFIG_MEDIA_TUNER_TDA827X=m +CONFIG_MEDIA_TUNER_TDA18271=m +CONFIG_MEDIA_TUNER_TDA9887=m +CONFIG_MEDIA_TUNER_TEA5761=m +CONFIG_MEDIA_TUNER_TEA5767=m +CONFIG_MEDIA_TUNER_MT20XX=m +CONFIG_MEDIA_TUNER_MT2060=m +CONFIG_MEDIA_TUNER_MT2266=m +CONFIG_MEDIA_TUNER_MT2131=m +CONFIG_MEDIA_TUNER_QT1010=m +CONFIG_MEDIA_TUNER_XC2028=m +CONFIG_MEDIA_TUNER_XC5000=m +CONFIG_MEDIA_TUNER_XC4000=m +CONFIG_MEDIA_TUNER_MXL5005S=m +CONFIG_MEDIA_TUNER_MXL5007T=m +CONFIG_MEDIA_TUNER_MC44S803=m +CONFIG_MEDIA_TUNER_MAX2165=m +CONFIG_MEDIA_TUNER_TDA18218=m +CONFIG_MEDIA_TUNER_TDA18212=m +CONFIG_VIDEO_V4L2=m +CONFIG_VIDEOBUF_GEN=m +CONFIG_VIDEOBUF_DMA_SG=m +CONFIG_VIDEOBUF_VMALLOC=m +CONFIG_VIDEOBUF_DMA_CONTIG=m +CONFIG_VIDEOBUF_DVB=m +CONFIG_VIDEO_BTCX=m +CONFIG_VIDEO_TVEEPROM=m +CONFIG_VIDEO_TUNER=m +CONFIG_V4L2_MEM2MEM_DEV=m +CONFIG_VIDEOBUF2_CORE=m +CONFIG_VIDEOBUF2_MEMOPS=m +CONFIG_VIDEOBUF2_DMA_CONTIG=m +CONFIG_VIDEOBUF2_VMALLOC=m +CONFIG_VIDEO_CAPTURE_DRIVERS=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set +CONFIG_VIDEO_IR_I2C=m + +# +# Encoders, decoders, sensors and other helper chips +# + +# +# Audio decoders, processors and mixers +# +CONFIG_VIDEO_TVAUDIO=m +CONFIG_VIDEO_TDA7432=m +CONFIG_VIDEO_TDA9840=m +CONFIG_VIDEO_TEA6415C=m +CONFIG_VIDEO_TEA6420=m +CONFIG_VIDEO_MSP3400=m +CONFIG_VIDEO_CS5345=m +CONFIG_VIDEO_CS53L32A=m +CONFIG_VIDEO_TLV320AIC23B=m +CONFIG_VIDEO_WM8775=m +CONFIG_VIDEO_WM8739=m +CONFIG_VIDEO_VP27SMPX=m + +# +# RDS decoders +# +CONFIG_VIDEO_SAA6588=m + +# +# Video decoders +# +CONFIG_VIDEO_ADV7180=m +CONFIG_VIDEO_BT819=m +CONFIG_VIDEO_BT856=m +CONFIG_VIDEO_BT866=m +CONFIG_VIDEO_KS0127=m +CONFIG_VIDEO_SAA7110=m +CONFIG_VIDEO_SAA711X=m +CONFIG_VIDEO_SAA7191=m +CONFIG_VIDEO_TVP514X=m +CONFIG_VIDEO_TVP5150=m +CONFIG_VIDEO_TVP7002=m +CONFIG_VIDEO_VPX3220=m + +# +# Video and audio decoders +# +CONFIG_VIDEO_SAA717X=m +CONFIG_VIDEO_CX25840=m + +# +# MPEG video encoders +# +CONFIG_VIDEO_CX2341X=m + +# +# Video encoders +# +CONFIG_VIDEO_SAA7127=m +CONFIG_VIDEO_SAA7185=m +CONFIG_VIDEO_ADV7170=m +CONFIG_VIDEO_ADV7175=m +CONFIG_VIDEO_ADV7343=m +CONFIG_VIDEO_AK881X=m + +# +# Camera sensor devices +# +CONFIG_VIDEO_OV7670=m +CONFIG_VIDEO_MT9P031=m +CONFIG_VIDEO_MT9T001=m +CONFIG_VIDEO_MT9V011=m +CONFIG_VIDEO_MT9V032=m +CONFIG_VIDEO_TCM825X=m +CONFIG_VIDEO_SR030PC30=m +CONFIG_VIDEO_NOON010PC30=m +CONFIG_VIDEO_M5MOLS=m +CONFIG_VIDEO_S5K6AA=m + +# +# Flash devices +# +CONFIG_VIDEO_ADP1653=m + +# +# Video improvement chips +# +CONFIG_VIDEO_UPD64031A=m +CONFIG_VIDEO_UPD64083=m + +# +# Miscelaneous helper chips +# +CONFIG_VIDEO_THS7303=m +CONFIG_VIDEO_M52790=m +CONFIG_VIDEO_VIVI=m +CONFIG_VIDEO_BT848=m +CONFIG_VIDEO_BT848_DVB=y +CONFIG_VIDEO_PMS=m +CONFIG_VIDEO_BWQCAM=m +CONFIG_VIDEO_CQCAM=m +CONFIG_VIDEO_W9966=m +CONFIG_VIDEO_CPIA2=m +CONFIG_VIDEO_ZORAN=m +CONFIG_VIDEO_ZORAN_DC30=m +CONFIG_VIDEO_ZORAN_ZR36060=m +CONFIG_VIDEO_ZORAN_BUZ=m +CONFIG_VIDEO_ZORAN_DC10=m +CONFIG_VIDEO_ZORAN_LML33=m +CONFIG_VIDEO_ZORAN_LML33R10=m +CONFIG_VIDEO_ZORAN_AVS6EYES=m +CONFIG_VIDEO_MEYE=m +CONFIG_VIDEO_SAA7134=m +CONFIG_VIDEO_SAA7134_ALSA=m +CONFIG_VIDEO_SAA7134_RC=y +CONFIG_VIDEO_SAA7134_DVB=m +CONFIG_VIDEO_MXB=m +CONFIG_VIDEO_HEXIUM_ORION=m +CONFIG_VIDEO_HEXIUM_GEMINI=m +CONFIG_VIDEO_TIMBERDALE=m +CONFIG_VIDEO_CX88=m +CONFIG_VIDEO_CX88_ALSA=m +CONFIG_VIDEO_CX88_BLACKBIRD=m +CONFIG_VIDEO_CX88_DVB=m +CONFIG_VIDEO_CX88_MPEG=m +CONFIG_VIDEO_CX88_VP3054=m +CONFIG_VIDEO_CX23885=m +CONFIG_MEDIA_ALTERA_CI=m +CONFIG_VIDEO_CX25821=m +CONFIG_VIDEO_CX25821_ALSA=m +CONFIG_VIDEO_AU0828=m +CONFIG_VIDEO_IVTV=m +CONFIG_VIDEO_FB_IVTV=m +CONFIG_VIDEO_CX18=m +CONFIG_VIDEO_CX18_ALSA=m +CONFIG_VIDEO_SAA7164=m +CONFIG_VIDEO_CAFE_CCIC=m +CONFIG_SOC_CAMERA=m +CONFIG_SOC_CAMERA_IMX074=m +CONFIG_SOC_CAMERA_MT9M001=m +CONFIG_SOC_CAMERA_MT9M111=m +CONFIG_SOC_CAMERA_MT9T031=m +CONFIG_SOC_CAMERA_MT9T112=m +CONFIG_SOC_CAMERA_MT9V022=m +CONFIG_SOC_CAMERA_RJ54N1=m +CONFIG_SOC_CAMERA_TW9910=m +CONFIG_SOC_CAMERA_PLATFORM=m +CONFIG_SOC_CAMERA_OV2640=m +CONFIG_SOC_CAMERA_OV5642=m +CONFIG_SOC_CAMERA_OV6650=m +CONFIG_SOC_CAMERA_OV772X=m +CONFIG_SOC_CAMERA_OV9640=m +CONFIG_SOC_CAMERA_OV9740=m +CONFIG_V4L_USB_DRIVERS=y +CONFIG_USB_VIDEO_CLASS=m +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_GSPCA=m +CONFIG_USB_M5602=m +CONFIG_USB_STV06XX=m +CONFIG_USB_GL860=m +CONFIG_USB_GSPCA_BENQ=m +CONFIG_USB_GSPCA_CONEX=m +CONFIG_USB_GSPCA_CPIA1=m +CONFIG_USB_GSPCA_ETOMS=m +CONFIG_USB_GSPCA_FINEPIX=m +CONFIG_USB_GSPCA_JEILINJ=m +CONFIG_USB_GSPCA_KINECT=m +CONFIG_USB_GSPCA_KONICA=m +CONFIG_USB_GSPCA_MARS=m +CONFIG_USB_GSPCA_MR97310A=m +CONFIG_USB_GSPCA_NW80X=m +CONFIG_USB_GSPCA_OV519=m +CONFIG_USB_GSPCA_OV534=m +CONFIG_USB_GSPCA_OV534_9=m +CONFIG_USB_GSPCA_PAC207=m +CONFIG_USB_GSPCA_PAC7302=m +CONFIG_USB_GSPCA_PAC7311=m +CONFIG_USB_GSPCA_SE401=m +CONFIG_USB_GSPCA_SN9C2028=m +CONFIG_USB_GSPCA_SN9C20X=m +CONFIG_USB_GSPCA_SONIXB=m +CONFIG_USB_GSPCA_SONIXJ=m +CONFIG_USB_GSPCA_SPCA500=m +CONFIG_USB_GSPCA_SPCA501=m +CONFIG_USB_GSPCA_SPCA505=m +CONFIG_USB_GSPCA_SPCA506=m +CONFIG_USB_GSPCA_SPCA508=m +CONFIG_USB_GSPCA_SPCA561=m +CONFIG_USB_GSPCA_SPCA1528=m +CONFIG_USB_GSPCA_SQ905=m +CONFIG_USB_GSPCA_SQ905C=m +CONFIG_USB_GSPCA_SQ930X=m +CONFIG_USB_GSPCA_STK014=m +CONFIG_USB_GSPCA_STV0680=m +CONFIG_USB_GSPCA_SUNPLUS=m +CONFIG_USB_GSPCA_T613=m +CONFIG_USB_GSPCA_TOPRO=m +CONFIG_USB_GSPCA_TV8532=m +CONFIG_USB_GSPCA_VC032X=m +CONFIG_USB_GSPCA_VICAM=m +CONFIG_USB_GSPCA_XIRLINK_CIT=m +CONFIG_USB_GSPCA_ZC3XX=m +CONFIG_VIDEO_PVRUSB2=m +CONFIG_VIDEO_PVRUSB2_SYSFS=y +CONFIG_VIDEO_PVRUSB2_DVB=y +# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set +CONFIG_VIDEO_HDPVR=m +CONFIG_VIDEO_EM28XX=m +CONFIG_VIDEO_EM28XX_ALSA=m +CONFIG_VIDEO_EM28XX_DVB=m +CONFIG_VIDEO_EM28XX_RC=y +CONFIG_VIDEO_TLG2300=m +CONFIG_VIDEO_CX231XX=m +CONFIG_VIDEO_CX231XX_RC=y +CONFIG_VIDEO_CX231XX_ALSA=m +CONFIG_VIDEO_CX231XX_DVB=m +CONFIG_VIDEO_TM6000=m +CONFIG_VIDEO_TM6000_ALSA=m +CONFIG_VIDEO_TM6000_DVB=m +CONFIG_VIDEO_USBVISION=m +CONFIG_USB_ET61X251=m +CONFIG_USB_SN9C102=m +CONFIG_USB_PWC=m +# CONFIG_USB_PWC_DEBUG is not set +CONFIG_USB_PWC_INPUT_EVDEV=y +CONFIG_USB_ZR364XX=m +CONFIG_USB_STKWEBCAM=m +CONFIG_USB_S2255=m +CONFIG_V4L_MEM2MEM_DRIVERS=y +CONFIG_VIDEO_MEM2MEM_TESTDEV=m +CONFIG_RADIO_ADAPTERS=y +CONFIG_RADIO_CADET=m +CONFIG_RADIO_RTRACK=m +CONFIG_RADIO_RTRACK2=m +CONFIG_RADIO_AZTECH=m +CONFIG_RADIO_GEMTEK=m +CONFIG_RADIO_MAXIRADIO=m +CONFIG_RADIO_MIROPCM20=m +CONFIG_RADIO_SF16FMI=m +CONFIG_RADIO_SF16FMR2=m +CONFIG_RADIO_TERRATEC=m +CONFIG_RADIO_TRUST=m +CONFIG_RADIO_TYPHOON=m +CONFIG_RADIO_ZOLTRIX=m +CONFIG_I2C_SI4713=m +CONFIG_RADIO_SI4713=m +CONFIG_USB_DSBR=m +CONFIG_RADIO_SI470X=y +CONFIG_USB_SI470X=m +CONFIG_I2C_SI470X=m +CONFIG_USB_MR800=m +CONFIG_RADIO_TEA5764=m +CONFIG_RADIO_SAA7706H=m +CONFIG_RADIO_TEF6862=m +CONFIG_RADIO_TIMBERDALE=m +CONFIG_RADIO_WL1273=m + +# +# Texas Instruments WL128x FM driver (ST based) +# +CONFIG_RADIO_WL128X=m +CONFIG_DVB_MAX_ADAPTERS=8 +# CONFIG_DVB_DYNAMIC_MINORS is not set +CONFIG_DVB_CAPTURE_DRIVERS=y + +# +# Supported SAA7146 based PCI Adapters +# +CONFIG_TTPCI_EEPROM=m +CONFIG_DVB_AV7110=m +CONFIG_DVB_AV7110_OSD=y +CONFIG_DVB_BUDGET_CORE=m +CONFIG_DVB_BUDGET=m +CONFIG_DVB_BUDGET_CI=m +CONFIG_DVB_BUDGET_AV=m +CONFIG_DVB_BUDGET_PATCH=m + +# +# Supported USB Adapters +# +CONFIG_DVB_USB=m +# CONFIG_DVB_USB_DEBUG is not set +CONFIG_DVB_USB_A800=m +CONFIG_DVB_USB_DIBUSB_MB=m +CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y +CONFIG_DVB_USB_DIBUSB_MC=m +CONFIG_DVB_USB_DIB0700=m +CONFIG_DVB_USB_UMT_010=m +CONFIG_DVB_USB_CXUSB=m +CONFIG_DVB_USB_M920X=m +CONFIG_DVB_USB_GL861=m +CONFIG_DVB_USB_AU6610=m +CONFIG_DVB_USB_DIGITV=m +CONFIG_DVB_USB_VP7045=m +CONFIG_DVB_USB_VP702X=m +CONFIG_DVB_USB_GP8PSK=m +CONFIG_DVB_USB_NOVA_T_USB2=m +CONFIG_DVB_USB_TTUSB2=m +CONFIG_DVB_USB_DTT200U=m +CONFIG_DVB_USB_OPERA1=m +CONFIG_DVB_USB_AF9005=m +CONFIG_DVB_USB_AF9005_REMOTE=m +CONFIG_DVB_USB_PCTV452E=m +CONFIG_DVB_USB_DW2102=m +CONFIG_DVB_USB_CINERGY_T2=m +CONFIG_DVB_USB_ANYSEE=m +CONFIG_DVB_USB_DTV5100=m +CONFIG_DVB_USB_AF9015=m +CONFIG_DVB_USB_CE6230=m +CONFIG_DVB_USB_FRIIO=m +CONFIG_DVB_USB_EC168=m +CONFIG_DVB_USB_AZ6027=m +CONFIG_DVB_USB_LME2510=m +CONFIG_DVB_USB_TECHNISAT_USB2=m +CONFIG_DVB_USB_IT913X=m +CONFIG_DVB_USB_MXL111SF=m +CONFIG_DVB_TTUSB_BUDGET=m +CONFIG_DVB_TTUSB_DEC=m +CONFIG_SMS_SIANO_MDTV=m + +# +# Siano module components +# +CONFIG_SMS_USB_DRV=m +CONFIG_SMS_SDIO_DRV=m + +# +# Supported FlexCopII (B2C2) Adapters +# +CONFIG_DVB_B2C2_FLEXCOP=m +CONFIG_DVB_B2C2_FLEXCOP_PCI=m +CONFIG_DVB_B2C2_FLEXCOP_USB=m +# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set + +# +# Supported BT878 Adapters +# +CONFIG_DVB_BT8XX=m + +# +# Supported Pluto2 Adapters +# +CONFIG_DVB_PLUTO2=m + +# +# Supported SDMC DM1105 Adapters +# +CONFIG_DVB_DM1105=m + +# +# Supported FireWire (IEEE 1394) Adapters +# +CONFIG_DVB_FIREDTV=m +CONFIG_DVB_FIREDTV_INPUT=y + +# +# Supported Earthsoft PT1 Adapters +# +CONFIG_DVB_PT1=m + +# +# Supported Mantis Adapters +# +CONFIG_MANTIS_CORE=m +CONFIG_DVB_MANTIS=m +CONFIG_DVB_HOPPER=m + +# +# Supported nGene Adapters +# +CONFIG_DVB_NGENE=m + +# +# Supported ddbridge ('Octopus') Adapters +# +CONFIG_DVB_DDBRIDGE=m + +# +# Supported DVB Frontends +# +# CONFIG_DVB_FE_CUSTOMISE is not set + +# +# Multistandard (satellite) frontends +# +CONFIG_DVB_STB0899=m +CONFIG_DVB_STB6100=m +CONFIG_DVB_STV090x=m +CONFIG_DVB_STV6110x=m + +# +# Multistandard (cable + terrestrial) frontends +# +CONFIG_DVB_DRXK=m +CONFIG_DVB_TDA18271C2DD=m + +# +# DVB-S (satellite) frontends +# +CONFIG_DVB_CX24110=m +CONFIG_DVB_CX24123=m +CONFIG_DVB_MT312=m +CONFIG_DVB_ZL10036=m +CONFIG_DVB_ZL10039=m +CONFIG_DVB_S5H1420=m +CONFIG_DVB_STV0288=m +CONFIG_DVB_STB6000=m +CONFIG_DVB_STV0299=m +CONFIG_DVB_STV6110=m +CONFIG_DVB_STV0900=m +CONFIG_DVB_TDA8083=m +CONFIG_DVB_TDA10086=m +CONFIG_DVB_TDA8261=m +CONFIG_DVB_VES1X93=m +CONFIG_DVB_TUNER_ITD1000=m +CONFIG_DVB_TUNER_CX24113=m +CONFIG_DVB_TDA826X=m +CONFIG_DVB_TUA6100=m +CONFIG_DVB_CX24116=m +CONFIG_DVB_SI21XX=m +CONFIG_DVB_DS3000=m +CONFIG_DVB_MB86A16=m +CONFIG_DVB_TDA10071=m + +# +# DVB-T (terrestrial) frontends +# +CONFIG_DVB_SP8870=m +CONFIG_DVB_SP887X=m +CONFIG_DVB_CX22700=m +CONFIG_DVB_CX22702=m +CONFIG_DVB_DRXD=m +CONFIG_DVB_L64781=m +CONFIG_DVB_TDA1004X=m +CONFIG_DVB_NXT6000=m +CONFIG_DVB_MT352=m +CONFIG_DVB_ZL10353=m +CONFIG_DVB_DIB3000MB=m +CONFIG_DVB_DIB3000MC=m +CONFIG_DVB_DIB7000M=m +CONFIG_DVB_DIB7000P=m +CONFIG_DVB_TDA10048=m +CONFIG_DVB_AF9013=m +CONFIG_DVB_EC100=m +CONFIG_DVB_STV0367=m +CONFIG_DVB_CXD2820R=m + +# +# DVB-C (cable) frontends +# +CONFIG_DVB_VES1820=m +CONFIG_DVB_TDA10021=m +CONFIG_DVB_TDA10023=m +CONFIG_DVB_STV0297=m + +# +# ATSC (North American/Korean Terrestrial/Cable DTV) frontends +# +CONFIG_DVB_NXT200X=m +CONFIG_DVB_OR51211=m +CONFIG_DVB_OR51132=m +CONFIG_DVB_BCM3510=m +CONFIG_DVB_LGDT330X=m +CONFIG_DVB_LGDT3305=m +CONFIG_DVB_S5H1409=m +CONFIG_DVB_AU8522=m +CONFIG_DVB_S5H1411=m + +# +# ISDB-T (terrestrial) frontends +# +CONFIG_DVB_S921=m +CONFIG_DVB_DIB8000=m +CONFIG_DVB_MB86A20S=m + +# +# Digital terrestrial only tuners/PLL +# +CONFIG_DVB_PLL=m +CONFIG_DVB_TUNER_DIB0070=m +CONFIG_DVB_TUNER_DIB0090=m + +# +# SEC control devices for DVB-S +# +CONFIG_DVB_LNBP21=m +CONFIG_DVB_LNBP22=m +CONFIG_DVB_ISL6405=m +CONFIG_DVB_ISL6421=m +CONFIG_DVB_ISL6423=m +CONFIG_DVB_A8293=m +CONFIG_DVB_LGS8GXX=m +CONFIG_DVB_ATBM8830=m +CONFIG_DVB_TDA665x=m +CONFIG_DVB_IX2505V=m +CONFIG_DVB_IT913X_FE=m + +# +# Tools to develop new frontends +# +# CONFIG_DVB_DUMMY_FE is not set + +# +# Graphics support +# +CONFIG_AGP=m +CONFIG_AGP_ALI=m +CONFIG_AGP_ATI=m +CONFIG_AGP_AMD=m +CONFIG_AGP_AMD64=m +CONFIG_AGP_INTEL=m +CONFIG_AGP_NVIDIA=m +CONFIG_AGP_SIS=m +CONFIG_AGP_SWORKS=m +CONFIG_AGP_VIA=m +CONFIG_AGP_EFFICEON=m +CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16 +CONFIG_VGA_SWITCHEROO=y +CONFIG_DRM=m +CONFIG_DRM_KMS_HELPER=m +CONFIG_DRM_TTM=m +CONFIG_DRM_TDFX=m +CONFIG_DRM_R128=m +CONFIG_DRM_RADEON=m +CONFIG_DRM_RADEON_KMS=y +CONFIG_DRM_I915=m +CONFIG_DRM_I915_KMS=y +CONFIG_DRM_MGA=m +CONFIG_DRM_SIS=m +CONFIG_DRM_VIA=m +CONFIG_DRM_SAVAGE=m +CONFIG_DRM_VMWGFX=m +CONFIG_STUB_POULSBO=m +CONFIG_VGASTATE=m +CONFIG_VIDEO_OUTPUT_CONTROL=m +CONFIG_FB=y +CONFIG_FIRMWARE_EDID=y +CONFIG_FB_DDC=m +CONFIG_FB_BOOT_VESA_SUPPORT=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +CONFIG_FB_SYS_FILLRECT=m +CONFIG_FB_SYS_COPYAREA=m +CONFIG_FB_SYS_IMAGEBLIT=m +# CONFIG_FB_FOREIGN_ENDIAN is not set +CONFIG_FB_SYS_FOPS=m +# CONFIG_FB_WMT_GE_ROPS is not set +CONFIG_FB_DEFERRED_IO=y +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +CONFIG_FB_BACKLIGHT=y +CONFIG_FB_MODE_HELPERS=y +CONFIG_FB_TILEBLITTING=y + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_PM2 is not set +# CONFIG_FB_CYBER2000 is not set +# CONFIG_FB_ARC is not set +# CONFIG_FB_ASILIANT is not set +# CONFIG_FB_IMSTT is not set +CONFIG_FB_VGA16=m +CONFIG_FB_UVESA=m +CONFIG_FB_VESA=y +CONFIG_FB_EFI=y +# CONFIG_FB_N411 is not set +# CONFIG_FB_HGA is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_NVIDIA is not set +# CONFIG_FB_RIVA is not set +CONFIG_FB_I810=m +CONFIG_FB_I810_GTF=y +CONFIG_FB_I810_I2C=y +# CONFIG_FB_LE80578 is not set +# CONFIG_FB_MATROX is not set +# CONFIG_FB_RADEON is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_S3 is not set +# CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_VIA is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_3DFX is not set +CONFIG_FB_VOODOO1=m +CONFIG_FB_VT8623=m +# CONFIG_FB_TRIDENT is not set +# CONFIG_FB_ARK is not set +# CONFIG_FB_PM3 is not set +# CONFIG_FB_CARMINE is not set +# CONFIG_FB_GEODE is not set +# CONFIG_FB_TMIO is not set +# CONFIG_FB_SM501 is not set +# CONFIG_FB_SMSCUFX is not set +CONFIG_FB_UDL=m +CONFIG_FB_VIRTUAL=m +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_FB_BROADSHEET is not set +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_LCD_CLASS_DEVICE=m +CONFIG_LCD_L4F00242T03=m +CONFIG_LCD_LMS283GF05=m +CONFIG_LCD_LTV350QV=m +CONFIG_LCD_ILI9320=m +CONFIG_LCD_TDO24M=m +CONFIG_LCD_VGG2432A4=m +CONFIG_LCD_PLATFORM=m +CONFIG_LCD_S6E63M0=m +CONFIG_LCD_LD9040=m +CONFIG_LCD_AMS369FG06=m +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BACKLIGHT_GENERIC=m +CONFIG_BACKLIGHT_PROGEAR=m +CONFIG_BACKLIGHT_APPLE=m +CONFIG_BACKLIGHT_SAHARA=m +CONFIG_BACKLIGHT_WM831X=m +CONFIG_BACKLIGHT_ADP8860=m +CONFIG_BACKLIGHT_ADP8870=m +CONFIG_BACKLIGHT_PCF50633=m + +# +# Display device support +# +CONFIG_DISPLAY_SUPPORT=m + +# +# Display hardware drivers +# + +# +# Console display driver support +# +CONFIG_VGA_CONSOLE=y +# CONFIG_VGACON_SOFT_SCROLLBACK is not set +# CONFIG_MDA_CONSOLE is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y +CONFIG_FONTS=y +# CONFIG_FONT_8x8 is not set +CONFIG_FONT_8x16=y +# CONFIG_FONT_6x11 is not set +# CONFIG_FONT_7x14 is not set +# CONFIG_FONT_PEARL_8x8 is not set +# CONFIG_FONT_ACORN_8x8 is not set +# CONFIG_FONT_MINI_4x6 is not set +# CONFIG_FONT_SUN8x16 is not set +# CONFIG_FONT_SUN12x22 is not set +# CONFIG_FONT_10x18 is not set +# CONFIG_LOGO is not set +CONFIG_SOUND=m +CONFIG_SOUND_OSS_CORE=y +# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set +CONFIG_SND=m +CONFIG_SND_TIMER=m +CONFIG_SND_PCM=m +CONFIG_SND_HWDEP=m +CONFIG_SND_RAWMIDI=m +CONFIG_SND_JACK=y +CONFIG_SND_SEQUENCER=m +CONFIG_SND_SEQ_DUMMY=m +CONFIG_SND_OSSEMUL=y +CONFIG_SND_MIXER_OSS=m +CONFIG_SND_PCM_OSS=m +CONFIG_SND_PCM_OSS_PLUGINS=y +CONFIG_SND_SEQUENCER_OSS=y +CONFIG_SND_HRTIMER=m +CONFIG_SND_SEQ_HRTIMER_DEFAULT=y +CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +CONFIG_SND_VMASTER=y +CONFIG_SND_DMA_SGBUF=y +CONFIG_SND_RAWMIDI_SEQ=m +CONFIG_SND_OPL3_LIB_SEQ=m +CONFIG_SND_OPL4_LIB_SEQ=m +CONFIG_SND_SBAWE_SEQ=m +CONFIG_SND_EMU10K1_SEQ=m +CONFIG_SND_MPU401_UART=m +CONFIG_SND_OPL3_LIB=m +CONFIG_SND_OPL4_LIB=m +CONFIG_SND_VX_LIB=m +CONFIG_SND_AC97_CODEC=m +CONFIG_SND_DRIVERS=y +# CONFIG_SND_PCSP is not set +CONFIG_SND_DUMMY=m +CONFIG_SND_ALOOP=m +CONFIG_SND_VIRMIDI=m +CONFIG_SND_MTPAV=m +CONFIG_SND_MTS64=m +CONFIG_SND_SERIAL_U16550=m +CONFIG_SND_MPU401=m +CONFIG_SND_PORTMAN2X4=m +CONFIG_SND_AC97_POWER_SAVE=y +CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0 +CONFIG_SND_WSS_LIB=m +CONFIG_SND_SB_COMMON=m +CONFIG_SND_SB8_DSP=m +CONFIG_SND_SB16_DSP=m +CONFIG_SND_ISA=y +CONFIG_SND_ADLIB=m +CONFIG_SND_AD1816A=m +CONFIG_SND_AD1848=m +CONFIG_SND_ALS100=m +CONFIG_SND_AZT1605=m +CONFIG_SND_AZT2316=m +CONFIG_SND_AZT2320=m +CONFIG_SND_CMI8330=m +CONFIG_SND_CS4231=m +CONFIG_SND_CS4236=m +CONFIG_SND_ES1688=m +CONFIG_SND_ES18XX=m +CONFIG_SND_SC6000=m +CONFIG_SND_GUSCLASSIC=m +CONFIG_SND_GUSEXTREME=m +CONFIG_SND_GUSMAX=m +CONFIG_SND_INTERWAVE=m +CONFIG_SND_INTERWAVE_STB=m +CONFIG_SND_JAZZ16=m +CONFIG_SND_OPL3SA2=m +CONFIG_SND_OPTI92X_AD1848=m +CONFIG_SND_OPTI92X_CS4231=m +CONFIG_SND_OPTI93X=m +CONFIG_SND_MIRO=m +CONFIG_SND_SB8=m +CONFIG_SND_SB16=m +CONFIG_SND_SBAWE=m +CONFIG_SND_SB16_CSP=y +CONFIG_SND_SSCAPE=m +CONFIG_SND_WAVEFRONT=m +CONFIG_SND_MSND_PINNACLE=m +CONFIG_SND_MSND_CLASSIC=m +CONFIG_SND_TEA575X=m +CONFIG_SND_PCI=y +CONFIG_SND_AD1889=m +CONFIG_SND_ALS300=m +CONFIG_SND_ALS4000=m +CONFIG_SND_ALI5451=m +CONFIG_SND_ASIHPI=m +CONFIG_SND_ATIIXP=m +CONFIG_SND_ATIIXP_MODEM=m +CONFIG_SND_AU8810=m +CONFIG_SND_AU8820=m +CONFIG_SND_AU8830=m +CONFIG_SND_AW2=m +CONFIG_SND_AZT3328=m +CONFIG_SND_BT87X=m +# CONFIG_SND_BT87X_OVERCLOCK is not set +CONFIG_SND_CA0106=m +CONFIG_SND_CMIPCI=m +CONFIG_SND_OXYGEN_LIB=m +CONFIG_SND_OXYGEN=m +CONFIG_SND_CS4281=m +CONFIG_SND_CS46XX=m +CONFIG_SND_CS46XX_NEW_DSP=y +CONFIG_SND_CS5530=m +CONFIG_SND_CS5535AUDIO=m +CONFIG_SND_CTXFI=m +CONFIG_SND_DARLA20=m +CONFIG_SND_GINA20=m +CONFIG_SND_LAYLA20=m +CONFIG_SND_DARLA24=m +CONFIG_SND_GINA24=m +CONFIG_SND_LAYLA24=m +CONFIG_SND_MONA=m +CONFIG_SND_MIA=m +CONFIG_SND_ECHO3G=m +CONFIG_SND_INDIGO=m +CONFIG_SND_INDIGOIO=m +CONFIG_SND_INDIGODJ=m +CONFIG_SND_INDIGOIOX=m +CONFIG_SND_INDIGODJX=m +CONFIG_SND_EMU10K1=m +CONFIG_SND_EMU10K1X=m +CONFIG_SND_ENS1370=m +CONFIG_SND_ENS1371=m +CONFIG_SND_ES1938=m +CONFIG_SND_ES1968=m +CONFIG_SND_ES1968_INPUT=y +CONFIG_SND_ES1968_RADIO=y +CONFIG_SND_FM801=m +CONFIG_SND_FM801_TEA575X_BOOL=y +CONFIG_SND_HDA_INTEL=m +CONFIG_SND_HDA_PREALLOC_SIZE=4096 +CONFIG_SND_HDA_HWDEP=y +CONFIG_SND_HDA_RECONFIG=y +CONFIG_SND_HDA_INPUT_BEEP=y +CONFIG_SND_HDA_INPUT_BEEP_MODE=1 +CONFIG_SND_HDA_INPUT_JACK=y +CONFIG_SND_HDA_PATCH_LOADER=y +CONFIG_SND_HDA_CODEC_REALTEK=y +CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS=y +CONFIG_SND_HDA_CODEC_ANALOG=y +CONFIG_SND_HDA_CODEC_SIGMATEL=y +CONFIG_SND_HDA_CODEC_VIA=y +CONFIG_SND_HDA_CODEC_HDMI=y +CONFIG_SND_HDA_CODEC_CIRRUS=y +CONFIG_SND_HDA_CODEC_CONEXANT=y +CONFIG_SND_HDA_CODEC_CA0110=y +CONFIG_SND_HDA_CODEC_CA0132=y +CONFIG_SND_HDA_CODEC_CMEDIA=y +CONFIG_SND_HDA_CODEC_SI3054=y +CONFIG_SND_HDA_GENERIC=y +CONFIG_SND_HDA_POWER_SAVE=y +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +CONFIG_SND_HDSP=m +CONFIG_SND_HDSPM=m +CONFIG_SND_ICE1712=m +CONFIG_SND_ICE1724=m +CONFIG_SND_INTEL8X0=m +CONFIG_SND_INTEL8X0M=m +CONFIG_SND_KORG1212=m +CONFIG_SND_LOLA=m +CONFIG_SND_LX6464ES=m +CONFIG_SND_MAESTRO3=m +CONFIG_SND_MAESTRO3_INPUT=y +CONFIG_SND_MIXART=m +CONFIG_SND_NM256=m +CONFIG_SND_PCXHR=m +CONFIG_SND_RIPTIDE=m +CONFIG_SND_RME32=m +CONFIG_SND_RME96=m +CONFIG_SND_RME9652=m +CONFIG_SND_SIS7019=m +CONFIG_SND_SONICVIBES=m +CONFIG_SND_TRIDENT=m +CONFIG_SND_VIA82XX=m +CONFIG_SND_VIA82XX_MODEM=m +CONFIG_SND_VIRTUOSO=m +CONFIG_SND_VX222=m +CONFIG_SND_YMFPCI=m +CONFIG_SND_SPI=y +CONFIG_SND_USB=y +CONFIG_SND_USB_AUDIO=m +CONFIG_SND_USB_UA101=m +CONFIG_SND_USB_USX2Y=m +CONFIG_SND_USB_CAIAQ=m +CONFIG_SND_USB_CAIAQ_INPUT=y +CONFIG_SND_USB_US122L=m +CONFIG_SND_USB_6FIRE=m +CONFIG_SND_FIREWIRE=y +CONFIG_SND_FIREWIRE_LIB=m +CONFIG_SND_FIREWIRE_SPEAKERS=m +CONFIG_SND_ISIGHT=m +CONFIG_SND_PCMCIA=y +CONFIG_SND_VXPOCKET=m +CONFIG_SND_PDAUDIOCF=m +CONFIG_SND_SOC=m +CONFIG_SND_SOC_CACHE_LZO=y +CONFIG_SND_SOC_I2C_AND_SPI=m +# CONFIG_SND_SOC_ALL_CODECS is not set +# CONFIG_SOUND_PRIME is not set +CONFIG_AC97_BUS=m +CONFIG_HID_SUPPORT=y +CONFIG_HID=m +CONFIG_HIDRAW=y + +# +# USB Input Devices +# +CONFIG_USB_HID=m +CONFIG_HID_PID=y +CONFIG_USB_HIDDEV=y + +# +# Special HID drivers +# +CONFIG_HID_A4TECH=m +CONFIG_HID_ACRUX=m +CONFIG_HID_ACRUX_FF=y +CONFIG_HID_APPLE=m +CONFIG_HID_BELKIN=m +CONFIG_HID_CHERRY=m +CONFIG_HID_CHICONY=m +CONFIG_HID_PRODIKEYS=m +CONFIG_HID_CYPRESS=m +CONFIG_HID_DRAGONRISE=m +CONFIG_DRAGONRISE_FF=y +CONFIG_HID_EMS_FF=m +CONFIG_HID_ELECOM=m +CONFIG_HID_EZKEY=m +CONFIG_HID_HOLTEK=m +CONFIG_HOLTEK_FF=y +CONFIG_HID_KEYTOUCH=m +CONFIG_HID_KYE=m +CONFIG_HID_UCLOGIC=m +CONFIG_HID_WALTOP=m +CONFIG_HID_GYRATION=m +CONFIG_HID_TWINHAN=m +CONFIG_HID_KENSINGTON=m +CONFIG_HID_LCPOWER=m +CONFIG_HID_LOGITECH=m +CONFIG_HID_LOGITECH_DJ=m +CONFIG_LOGITECH_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGIG940_FF=y +CONFIG_LOGIWHEELS_FF=y +CONFIG_HID_MAGICMOUSE=m +CONFIG_HID_MICROSOFT=m +CONFIG_HID_MONTEREY=m +CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NTRIG=m +CONFIG_HID_ORTEK=m +CONFIG_HID_PANTHERLORD=m +CONFIG_PANTHERLORD_FF=y +CONFIG_HID_PETALYNX=m +CONFIG_HID_PICOLCD=m +CONFIG_HID_PICOLCD_FB=y +CONFIG_HID_PICOLCD_BACKLIGHT=y +CONFIG_HID_PICOLCD_LCD=y +CONFIG_HID_PICOLCD_LEDS=y +CONFIG_HID_PRIMAX=m +CONFIG_HID_QUANTA=m +CONFIG_HID_ROCCAT=m +CONFIG_HID_ROCCAT_COMMON=m +CONFIG_HID_ROCCAT_ARVO=m +CONFIG_HID_ROCCAT_KONE=m +CONFIG_HID_ROCCAT_KONEPLUS=m +CONFIG_HID_ROCCAT_KOVAPLUS=m +CONFIG_HID_ROCCAT_PYRA=m +CONFIG_HID_SAMSUNG=m +CONFIG_HID_SONY=m +CONFIG_HID_SPEEDLINK=m +CONFIG_HID_SUNPLUS=m +CONFIG_HID_GREENASIA=m +CONFIG_GREENASIA_FF=y +CONFIG_HID_SMARTJOYPLUS=m +CONFIG_SMARTJOYPLUS_FF=y +CONFIG_HID_TOPSEED=m +CONFIG_HID_THRUSTMASTER=m +CONFIG_THRUSTMASTER_FF=y +CONFIG_HID_WACOM=m +CONFIG_HID_WACOM_POWER_SUPPLY=y +CONFIG_HID_WIIMOTE=m +CONFIG_HID_ZEROPLUS=m +CONFIG_ZEROPLUS_FF=y +CONFIG_HID_ZYDACRON=m +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=m +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB_ARCH_HAS_XHCI=y +CONFIG_USB=m +# CONFIG_USB_DEBUG is not set +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEVICEFS=y +# CONFIG_USB_DEVICE_CLASS is not set +CONFIG_USB_DYNAMIC_MINORS=y +CONFIG_USB_SUSPEND=y +# CONFIG_USB_OTG is not set +CONFIG_USB_DWC3=m +# CONFIG_USB_DWC3_DEBUG is not set +CONFIG_USB_MON=m +CONFIG_USB_WUSB=m +CONFIG_USB_WUSB_CBAF=m +# CONFIG_USB_WUSB_CBAF_DEBUG is not set + +# +# USB Host Controller Drivers +# +CONFIG_USB_C67X00_HCD=m +CONFIG_USB_XHCI_HCD=m +# CONFIG_USB_XHCI_HCD_DEBUGGING is not set +CONFIG_USB_EHCI_HCD=m +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_OXU210HP_HCD=m +CONFIG_USB_ISP116X_HCD=m +CONFIG_USB_ISP1760_HCD=m +CONFIG_USB_ISP1362_HCD=m +CONFIG_USB_OHCI_HCD=m +# CONFIG_USB_OHCI_HCD_SSB is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_UHCI_HCD=m +CONFIG_USB_U132_HCD=m +CONFIG_USB_SL811_HCD=m +# CONFIG_USB_SL811_HCD_ISO is not set +CONFIG_USB_SL811_CS=m +CONFIG_USB_R8A66597_HCD=m +CONFIG_USB_RENESAS_USBHS_HCD=m +CONFIG_USB_WHCI_HCD=m +CONFIG_USB_HWA_HCD=m +CONFIG_USB_RENESAS_USBHS=m + +# +# USB Device Class drivers +# +CONFIG_USB_ACM=m +CONFIG_USB_PRINTER=m +CONFIG_USB_WDM=m +CONFIG_USB_TMC=m + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may +# + +# +# also be needed; see USB_STORAGE Help for more info +# +CONFIG_USB_STORAGE=m +# CONFIG_USB_STORAGE_DEBUG is not set +CONFIG_USB_STORAGE_REALTEK=m +CONFIG_REALTEK_AUTOPM=y +CONFIG_USB_STORAGE_DATAFAB=m +CONFIG_USB_STORAGE_FREECOM=m +CONFIG_USB_STORAGE_ISD200=m +CONFIG_USB_STORAGE_USBAT=m +CONFIG_USB_STORAGE_SDDR09=m +CONFIG_USB_STORAGE_SDDR55=m +CONFIG_USB_STORAGE_JUMPSHOT=m +CONFIG_USB_STORAGE_ALAUDA=m +CONFIG_USB_STORAGE_ONETOUCH=m +CONFIG_USB_STORAGE_KARMA=m +CONFIG_USB_STORAGE_CYPRESS_ATACB=m +CONFIG_USB_STORAGE_ENE_UB6250=m +CONFIG_USB_UAS=m +# CONFIG_USB_LIBUSUAL is not set + +# +# USB Imaging devices +# +CONFIG_USB_MDC800=m +CONFIG_USB_MICROTEK=m + +# +# USB port drivers +# +CONFIG_USB_USS720=m +CONFIG_USB_SERIAL=m +CONFIG_USB_EZUSB=y +CONFIG_USB_SERIAL_GENERIC=y +CONFIG_USB_SERIAL_AIRCABLE=m +CONFIG_USB_SERIAL_ARK3116=m +CONFIG_USB_SERIAL_BELKIN=m +CONFIG_USB_SERIAL_CH341=m +CONFIG_USB_SERIAL_WHITEHEAT=m +CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m +CONFIG_USB_SERIAL_CP210X=m +CONFIG_USB_SERIAL_CYPRESS_M8=m +CONFIG_USB_SERIAL_EMPEG=m +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_SERIAL_FUNSOFT=m +CONFIG_USB_SERIAL_VISOR=m +CONFIG_USB_SERIAL_IPAQ=m +CONFIG_USB_SERIAL_IR=m +CONFIG_USB_SERIAL_EDGEPORT=m +CONFIG_USB_SERIAL_EDGEPORT_TI=m +CONFIG_USB_SERIAL_GARMIN=m +CONFIG_USB_SERIAL_IPW=m +CONFIG_USB_SERIAL_IUU=m +CONFIG_USB_SERIAL_KEYSPAN_PDA=m +CONFIG_USB_SERIAL_KEYSPAN=m +CONFIG_USB_SERIAL_KEYSPAN_MPR=y +CONFIG_USB_SERIAL_KEYSPAN_USA28=y +CONFIG_USB_SERIAL_KEYSPAN_USA28X=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y +CONFIG_USB_SERIAL_KEYSPAN_USA19=y +CONFIG_USB_SERIAL_KEYSPAN_USA18X=y +CONFIG_USB_SERIAL_KEYSPAN_USA19W=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y +CONFIG_USB_SERIAL_KEYSPAN_USA49W=y +CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y +CONFIG_USB_SERIAL_KLSI=m +CONFIG_USB_SERIAL_KOBIL_SCT=m +CONFIG_USB_SERIAL_MCT_U232=m +CONFIG_USB_SERIAL_MOS7720=m +CONFIG_USB_SERIAL_MOS7715_PARPORT=y +CONFIG_USB_SERIAL_MOS7840=m +CONFIG_USB_SERIAL_MOTOROLA=m +CONFIG_USB_SERIAL_NAVMAN=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_OTI6858=m +CONFIG_USB_SERIAL_QCAUX=m +CONFIG_USB_SERIAL_QUALCOMM=m +CONFIG_USB_SERIAL_SPCP8X5=m +CONFIG_USB_SERIAL_HP4X=m +CONFIG_USB_SERIAL_SAFE=m +# CONFIG_USB_SERIAL_SAFE_PADDED is not set +CONFIG_USB_SERIAL_SIEMENS_MPI=m +CONFIG_USB_SERIAL_SIERRAWIRELESS=m +CONFIG_USB_SERIAL_SYMBOL=m +CONFIG_USB_SERIAL_TI=m +CONFIG_USB_SERIAL_CYBERJACK=m +CONFIG_USB_SERIAL_XIRCOM=m +CONFIG_USB_SERIAL_WWAN=m +CONFIG_USB_SERIAL_OPTION=m +CONFIG_USB_SERIAL_OMNINET=m +CONFIG_USB_SERIAL_OPTICON=m +CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m +CONFIG_USB_SERIAL_ZIO=m +CONFIG_USB_SERIAL_SSU100=m +# CONFIG_USB_SERIAL_DEBUG is not set + +# +# USB Miscellaneous drivers +# +CONFIG_USB_EMI62=m +CONFIG_USB_EMI26=m +CONFIG_USB_ADUTUX=m +CONFIG_USB_SEVSEG=m +CONFIG_USB_RIO500=m +CONFIG_USB_LEGOTOWER=m +CONFIG_USB_LCD=m +CONFIG_USB_LED=m +CONFIG_USB_CYPRESS_CY7C63=m +CONFIG_USB_CYTHERM=m +CONFIG_USB_IDMOUSE=m +CONFIG_USB_FTDI_ELAN=m +CONFIG_USB_APPLEDISPLAY=m +CONFIG_USB_SISUSBVGA=m +# CONFIG_USB_SISUSBVGA_CON is not set +CONFIG_USB_LD=m +CONFIG_USB_TRANCEVIBRATOR=m +CONFIG_USB_IOWARRIOR=m +CONFIG_USB_TEST=m +CONFIG_USB_ISIGHTFW=m +CONFIG_USB_YUREX=m +CONFIG_USB_ATM=m +CONFIG_USB_SPEEDTOUCH=m +CONFIG_USB_CXACRU=m +CONFIG_USB_UEAGLEATM=m +CONFIG_USB_XUSBATM=m +CONFIG_USB_GADGET=m +# CONFIG_USB_GADGET_DEBUG is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DEBUG_FS is not set +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 +CONFIG_USB_FUSB300=m +CONFIG_USB_R8A66597=m +CONFIG_USB_GADGET_DWC3=m +CONFIG_USB_M66592=m +CONFIG_USB_AMD5536UDC=m +CONFIG_USB_CI13XXX_PCI=m +CONFIG_USB_NET2272=m +CONFIG_USB_NET2272_DMA=y +CONFIG_USB_NET2280=m +CONFIG_USB_GOKU=m +CONFIG_USB_LANGWELL=m +CONFIG_USB_EG20T=m +CONFIG_USB_DUMMY_HCD=m +CONFIG_USB_GADGET_DUALSPEED=y +CONFIG_USB_GADGET_SUPERSPEED=y +# CONFIG_USB_ZERO is not set +CONFIG_USB_AUDIO=m +CONFIG_USB_ETH=m +CONFIG_USB_ETH_RNDIS=y +# CONFIG_USB_ETH_EEM is not set +CONFIG_USB_G_NCM=m +CONFIG_USB_GADGETFS=m +CONFIG_USB_FUNCTIONFS=m +CONFIG_USB_FUNCTIONFS_ETH=y +CONFIG_USB_FUNCTIONFS_RNDIS=y +CONFIG_USB_FUNCTIONFS_GENERIC=y +CONFIG_USB_FILE_STORAGE=m +# CONFIG_USB_FILE_STORAGE_TEST is not set +# CONFIG_USB_MASS_STORAGE is not set +CONFIG_USB_G_SERIAL=m +CONFIG_USB_MIDI_GADGET=m +CONFIG_USB_G_PRINTER=m +# CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_G_NOKIA is not set +# CONFIG_USB_G_ACM_MS is not set +# CONFIG_USB_G_MULTI is not set +CONFIG_USB_G_HID=m +CONFIG_USB_G_DBGP=m +# CONFIG_USB_G_DBGP_PRINTK is not set +CONFIG_USB_G_DBGP_SERIAL=y +CONFIG_USB_G_WEBCAM=m + +# +# OTG and related infrastructure +# +CONFIG_USB_OTG_UTILS=y +CONFIG_USB_GPIO_VBUS=m +CONFIG_NOP_USB_XCEIV=m +CONFIG_AB8500_USB=m +CONFIG_UWB=m +CONFIG_UWB_HWA=m +CONFIG_UWB_WHCI=m +CONFIG_UWB_I1480U=m +CONFIG_MMC=m +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_UNSAFE_RESUME is not set +CONFIG_MMC_CLKGATE=y + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=m +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +CONFIG_SDIO_UART=m +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_MMC_SDHCI=m +CONFIG_MMC_SDHCI_PCI=m +CONFIG_MMC_RICOH_MMC=y +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MMC_WBSD=m +CONFIG_MMC_TIFM_SD=m +CONFIG_MMC_SDRICOH_CS=m +CONFIG_MMC_CB710=m +CONFIG_MMC_VIA_SDMMC=m +CONFIG_MMC_VUB300=m +CONFIG_MMC_USHC=m +CONFIG_MEMSTICK=m +# CONFIG_MEMSTICK_DEBUG is not set + +# +# MemoryStick drivers +# +# CONFIG_MEMSTICK_UNSAFE_RESUME is not set +CONFIG_MSPRO_BLOCK=m + +# +# MemoryStick Host Controller Drivers +# +CONFIG_MEMSTICK_TIFM_MS=m +CONFIG_MEMSTICK_JMICRON_38X=m +CONFIG_MEMSTICK_R592=m +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y + +# +# LED drivers +# +CONFIG_LEDS_LM3530=m +CONFIG_LEDS_NET5501=m +CONFIG_LEDS_PCA9532=m +CONFIG_LEDS_PCA9532_GPIO=y +CONFIG_LEDS_GPIO=m +CONFIG_LEDS_LP3944=m +CONFIG_LEDS_LP5521=m +CONFIG_LEDS_LP5523=m +CONFIG_LEDS_CLEVO_MAIL=m +CONFIG_LEDS_PCA955X=m +CONFIG_LEDS_WM831X_STATUS=m +CONFIG_LEDS_DAC124S085=m +CONFIG_LEDS_REGULATOR=m +CONFIG_LEDS_BD2802=m +CONFIG_LEDS_INTEL_SS4200=m +CONFIG_LEDS_LT3593=m +CONFIG_LEDS_DELL_NETBOOKS=m +CONFIG_LEDS_MC13783=m +CONFIG_LEDS_TRIGGERS=y + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGER_TIMER=m +CONFIG_LEDS_TRIGGER_HEARTBEAT=m +CONFIG_LEDS_TRIGGER_BACKLIGHT=m +CONFIG_LEDS_TRIGGER_GPIO=m +CONFIG_LEDS_TRIGGER_DEFAULT_ON=m + +# +# iptables trigger is under Netfilter config (LED target) +# +CONFIG_ACCESSIBILITY=y +CONFIG_A11Y_BRAILLE_CONSOLE=y +# CONFIG_INFINIBAND is not set +CONFIG_EDAC=y + +# +# Reporting subsystems +# +# CONFIG_EDAC_DEBUG is not set +CONFIG_EDAC_DECODE_MCE=m +CONFIG_EDAC_MCE_INJ=m +CONFIG_EDAC_MM_EDAC=m +CONFIG_EDAC_AMD76X=m +CONFIG_EDAC_E7XXX=m +CONFIG_EDAC_E752X=m +CONFIG_EDAC_I82875P=m +CONFIG_EDAC_I82975X=m +CONFIG_EDAC_I3000=m +CONFIG_EDAC_I3200=m +CONFIG_EDAC_X38=m +CONFIG_EDAC_I5400=m +CONFIG_EDAC_I7CORE=m +CONFIG_EDAC_I82860=m +CONFIG_EDAC_R82600=m +CONFIG_EDAC_I5000=m +CONFIG_EDAC_I5100=m +CONFIG_EDAC_I7300=m +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +CONFIG_RTC_INTF_DEV_UIE_EMUL=y +CONFIG_RTC_DRV_TEST=m + +# +# I2C RTC drivers +# +CONFIG_RTC_DRV_DS1307=m +CONFIG_RTC_DRV_DS1374=m +CONFIG_RTC_DRV_DS1672=m +CONFIG_RTC_DRV_DS3232=m +CONFIG_RTC_DRV_MAX6900=m +CONFIG_RTC_DRV_RS5C372=m +CONFIG_RTC_DRV_ISL1208=m +CONFIG_RTC_DRV_ISL12022=m +CONFIG_RTC_DRV_X1205=m +CONFIG_RTC_DRV_PCF8563=m +CONFIG_RTC_DRV_PCF8583=m +CONFIG_RTC_DRV_M41T80=m +CONFIG_RTC_DRV_M41T80_WDT=y +CONFIG_RTC_DRV_BQ32K=m +CONFIG_RTC_DRV_S35390A=m +CONFIG_RTC_DRV_FM3130=m +CONFIG_RTC_DRV_RX8581=m +CONFIG_RTC_DRV_RX8025=m +CONFIG_RTC_DRV_EM3027=m +CONFIG_RTC_DRV_RV3029C2=m + +# +# SPI RTC drivers +# +CONFIG_RTC_DRV_M41T93=m +CONFIG_RTC_DRV_M41T94=m +CONFIG_RTC_DRV_DS1305=m +CONFIG_RTC_DRV_DS1390=m +CONFIG_RTC_DRV_MAX6902=m +CONFIG_RTC_DRV_R9701=m +CONFIG_RTC_DRV_RS5C348=m +CONFIG_RTC_DRV_DS3234=m +CONFIG_RTC_DRV_PCF2123=m + +# +# Platform RTC drivers +# +CONFIG_RTC_DRV_CMOS=y +CONFIG_RTC_DRV_DS1286=m +CONFIG_RTC_DRV_DS1511=m +CONFIG_RTC_DRV_DS1553=m +CONFIG_RTC_DRV_DS1742=m +CONFIG_RTC_DRV_STK17TA8=m +CONFIG_RTC_DRV_M48T86=m +CONFIG_RTC_DRV_M48T35=m +CONFIG_RTC_DRV_M48T59=m +CONFIG_RTC_DRV_MSM6242=m +CONFIG_RTC_DRV_BQ4802=m +CONFIG_RTC_DRV_RP5C01=m +CONFIG_RTC_DRV_V3020=m +CONFIG_RTC_DRV_WM831X=m +CONFIG_RTC_DRV_PCF50633=m +CONFIG_RTC_DRV_AB8500=m + +# +# on-CPU RTC drivers +# +# CONFIG_RTC_DRV_PCAP is not set +CONFIG_RTC_DRV_MC13XXX=m +CONFIG_DMADEVICES=y +# CONFIG_DMADEVICES_DEBUG is not set + +# +# DMA Devices +# +CONFIG_INTEL_MID_DMAC=m +CONFIG_INTEL_IOATDMA=m +CONFIG_TIMB_DMA=m +CONFIG_PCH_DMA=m +CONFIG_DMA_ENGINE=y + +# +# DMA Clients +# +CONFIG_NET_DMA=y +CONFIG_ASYNC_TX_DMA=y +# CONFIG_DMATEST is not set +CONFIG_DCA=m +CONFIG_AUXDISPLAY=y +CONFIG_KS0108=m +CONFIG_KS0108_PORT=0x378 +CONFIG_KS0108_DELAY=2 +CONFIG_CFAG12864B=m +CONFIG_CFAG12864B_RATE=20 +CONFIG_UIO=m +CONFIG_UIO_CIF=m +CONFIG_UIO_PDRV=m +CONFIG_UIO_PDRV_GENIRQ=m +CONFIG_UIO_AEC=m +CONFIG_UIO_SERCOS3=m +CONFIG_UIO_PCI_GENERIC=m +CONFIG_UIO_NETX=m +CONFIG_VIRTIO=y +CONFIG_VIRTIO_RING=y + +# +# Virtio drivers +# +CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_BALLOON=m +CONFIG_VIRTIO_MMIO=m +CONFIG_STAGING=y +CONFIG_ET131X=m +CONFIG_SLICOSS=m +CONFIG_USBIP_CORE=m +CONFIG_USBIP_VHCI_HCD=m +CONFIG_USBIP_HOST=m +# CONFIG_USBIP_DEBUG is not set +CONFIG_W35UND=m +CONFIG_PRISM2_USB=m +CONFIG_ECHO=m +CONFIG_COMEDI=m +# CONFIG_COMEDI_DEBUG is not set +CONFIG_COMEDI_MISC_DRIVERS=m +CONFIG_COMEDI_KCOMEDILIB=m +CONFIG_COMEDI_BOND=m +CONFIG_COMEDI_TEST=m +CONFIG_COMEDI_PARPORT=m +CONFIG_COMEDI_SERIAL2002=m +CONFIG_COMEDI_SKEL=m +CONFIG_COMEDI_ISA_DRIVERS=m +CONFIG_COMEDI_ACL7225B=m +CONFIG_COMEDI_PCL711=m +CONFIG_COMEDI_PCL724=m +CONFIG_COMEDI_PCL725=m +CONFIG_COMEDI_PCL726=m +CONFIG_COMEDI_PCL730=m +CONFIG_COMEDI_PCL812=m +CONFIG_COMEDI_PCL816=m +CONFIG_COMEDI_PCL818=m +CONFIG_COMEDI_PCM3724=m +CONFIG_COMEDI_PCM3730=m +CONFIG_COMEDI_RTI800=m +CONFIG_COMEDI_RTI802=m +CONFIG_COMEDI_DAS16M1=m +CONFIG_COMEDI_DAS16=m +CONFIG_COMEDI_DAS800=m +CONFIG_COMEDI_DAS1800=m +CONFIG_COMEDI_DAS6402=m +CONFIG_COMEDI_DT2801=m +CONFIG_COMEDI_DT2811=m +CONFIG_COMEDI_DT2814=m +CONFIG_COMEDI_DT2815=m +CONFIG_COMEDI_DT2817=m +CONFIG_COMEDI_DT282X=m +CONFIG_COMEDI_DMM32AT=m +CONFIG_COMEDI_FL512=m +CONFIG_COMEDI_AIO_AIO12_8=m +CONFIG_COMEDI_AIO_IIRO_16=m +CONFIG_COMEDI_C6XDIGIO=m +CONFIG_COMEDI_MPC624=m +CONFIG_COMEDI_ADQ12B=m +CONFIG_COMEDI_NI_AT_A2150=m +CONFIG_COMEDI_NI_AT_AO=m +CONFIG_COMEDI_NI_ATMIO=m +CONFIG_COMEDI_NI_ATMIO16D=m +CONFIG_COMEDI_PCMAD=m +CONFIG_COMEDI_PCMDA12=m +CONFIG_COMEDI_PCMMIO=m +CONFIG_COMEDI_PCMUIO=m +CONFIG_COMEDI_MULTIQ3=m +CONFIG_COMEDI_POC=m +CONFIG_COMEDI_PCI_DRIVERS=m +CONFIG_COMEDI_ADDI_APCI_035=m +CONFIG_COMEDI_ADDI_APCI_1032=m +CONFIG_COMEDI_ADDI_APCI_1500=m +CONFIG_COMEDI_ADDI_APCI_1516=m +CONFIG_COMEDI_ADDI_APCI_1564=m +CONFIG_COMEDI_ADDI_APCI_16XX=m +CONFIG_COMEDI_ADDI_APCI_2016=m +CONFIG_COMEDI_ADDI_APCI_2032=m +CONFIG_COMEDI_ADDI_APCI_2200=m +CONFIG_COMEDI_ADDI_APCI_3001=m +CONFIG_COMEDI_ADDI_APCI_3120=m +CONFIG_COMEDI_ADDI_APCI_3501=m +CONFIG_COMEDI_ADDI_APCI_3XXX=m +CONFIG_COMEDI_ADL_PCI6208=m +CONFIG_COMEDI_ADL_PCI7230=m +CONFIG_COMEDI_ADL_PCI7296=m +CONFIG_COMEDI_ADL_PCI7432=m +CONFIG_COMEDI_ADL_PCI8164=m +CONFIG_COMEDI_ADL_PCI9111=m +CONFIG_COMEDI_ADL_PCI9118=m +CONFIG_COMEDI_ADV_PCI1710=m +CONFIG_COMEDI_ADV_PCI1723=m +CONFIG_COMEDI_ADV_PCI_DIO=m +CONFIG_COMEDI_AMPLC_DIO200=m +CONFIG_COMEDI_AMPLC_PC236=m +CONFIG_COMEDI_AMPLC_PC263=m +CONFIG_COMEDI_AMPLC_PCI224=m +CONFIG_COMEDI_AMPLC_PCI230=m +CONFIG_COMEDI_CONTEC_PCI_DIO=m +CONFIG_COMEDI_DT3000=m +CONFIG_COMEDI_DYNA_PCI10XX=m +CONFIG_COMEDI_UNIOXX5=m +CONFIG_COMEDI_GSC_HPDI=m +CONFIG_COMEDI_ICP_MULTI=m +CONFIG_COMEDI_II_PCI20KC=m +CONFIG_COMEDI_DAQBOARD2000=m +CONFIG_COMEDI_JR3_PCI=m +CONFIG_COMEDI_KE_COUNTER=m +CONFIG_COMEDI_CB_PCIDAS64=m +CONFIG_COMEDI_CB_PCIDAS=m +CONFIG_COMEDI_CB_PCIDDA=m +CONFIG_COMEDI_CB_PCIDIO=m +# CONFIG_COMEDI_CB_PCIMDAS is not set +CONFIG_COMEDI_CB_PCIMDDA=m +CONFIG_COMEDI_ME4000=m +CONFIG_COMEDI_ME_DAQ=m +CONFIG_COMEDI_NI_6527=m +CONFIG_COMEDI_NI_65XX=m +CONFIG_COMEDI_NI_660X=m +CONFIG_COMEDI_NI_670X=m +CONFIG_COMEDI_NI_PCIDIO=m +CONFIG_COMEDI_NI_PCIMIO=m +CONFIG_COMEDI_RTD520=m +CONFIG_COMEDI_S526=m +CONFIG_COMEDI_S626=m +CONFIG_COMEDI_SSV_DNP=m +CONFIG_COMEDI_PCMCIA_DRIVERS=m +CONFIG_COMEDI_CB_DAS16_CS=m +CONFIG_COMEDI_DAS08_CS=m +CONFIG_COMEDI_NI_DAQ_700_CS=m +CONFIG_COMEDI_NI_DAQ_DIO24_CS=m +CONFIG_COMEDI_NI_LABPC_CS=m +CONFIG_COMEDI_NI_MIO_CS=m +CONFIG_COMEDI_QUATECH_DAQP_CS=m +CONFIG_COMEDI_USB_DRIVERS=m +CONFIG_COMEDI_DT9812=m +CONFIG_COMEDI_USBDUX=m +CONFIG_COMEDI_USBDUXFAST=m +CONFIG_COMEDI_USBDUXSIGMA=m +CONFIG_COMEDI_VMK80XX=m +CONFIG_COMEDI_NI_COMMON=m +CONFIG_COMEDI_MITE=m +CONFIG_COMEDI_NI_TIO=m +CONFIG_COMEDI_NI_LABPC=m +CONFIG_COMEDI_8255=m +CONFIG_COMEDI_DAS08=m +CONFIG_COMEDI_FC=m +CONFIG_FB_OLPC_DCON=m +CONFIG_FB_OLPC_DCON_1=y +CONFIG_FB_OLPC_DCON_1_5=y +CONFIG_ASUS_OLED=m +# CONFIG_PANEL is not set +CONFIG_R8187SE=m +CONFIG_RTL8192U=m +CONFIG_RTL8192E=m +CONFIG_R8712U=m +CONFIG_R8712_AP=y +CONFIG_RTS_PSTOR=m +# CONFIG_RTS_PSTOR_DEBUG is not set +CONFIG_RTS5139=m +# CONFIG_RTS5139_DEBUG is not set +# CONFIG_TRANZPORT is not set +CONFIG_POHMELFS=m +# CONFIG_POHMELFS_DEBUG is not set +CONFIG_IDE_PHISON=m +CONFIG_LINE6_USB=m +# CONFIG_LINE6_USB_DEBUG is not set +# CONFIG_LINE6_USB_DUMP_CTRL is not set +# CONFIG_LINE6_USB_DUMP_MIDI is not set +# CONFIG_LINE6_USB_DUMP_PCM is not set +# CONFIG_LINE6_USB_RAW is not set +# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set +CONFIG_DRM_NOUVEAU=m +CONFIG_DRM_NOUVEAU_BACKLIGHT=y +CONFIG_DRM_NOUVEAU_DEBUG=y + +# +# I2C encoder or helper chips +# +CONFIG_DRM_I2C_CH7006=m +CONFIG_DRM_I2C_SIL164=m +CONFIG_USB_SERIAL_QUATECH2=m +CONFIG_USB_SERIAL_QUATECH_USB2=m +CONFIG_VT6655=m +CONFIG_VT6656=m +CONFIG_HYPERV_STORAGE=m +CONFIG_HYPERV_NET=m +CONFIG_HYPERV_MOUSE=m +# CONFIG_VME_BUS is not set +CONFIG_DX_SEP=m +# CONFIG_IIO is not set +CONFIG_XVMALLOC=y +CONFIG_ZRAM=m +# CONFIG_ZRAM_DEBUG is not set +CONFIG_ZCACHE=m +CONFIG_WLAGS49_H2=m +CONFIG_WLAGS49_H25=m +CONFIG_FB_SM7XX=m +CONFIG_CRYSTALHD=m +CONFIG_FB_XGI=m +CONFIG_ACPI_QUICKSTART=m +CONFIG_USB_ENESTORAGE=m +CONFIG_BCM_WIMAX=m +CONFIG_FT1000=m +CONFIG_FT1000_USB=m +CONFIG_FT1000_PCMCIA=m + +# +# Speakup console speech +# +CONFIG_SPEAKUP=m +CONFIG_SPEAKUP_SYNTH_ACNTSA=m +CONFIG_SPEAKUP_SYNTH_ACNTPC=m +CONFIG_SPEAKUP_SYNTH_APOLLO=m +CONFIG_SPEAKUP_SYNTH_AUDPTR=m +CONFIG_SPEAKUP_SYNTH_BNS=m +CONFIG_SPEAKUP_SYNTH_DECTLK=m +CONFIG_SPEAKUP_SYNTH_DECEXT=m +CONFIG_SPEAKUP_SYNTH_DECPC=m +CONFIG_SPEAKUP_SYNTH_DTLK=m +CONFIG_SPEAKUP_SYNTH_KEYPC=m +CONFIG_SPEAKUP_SYNTH_LTLK=m +CONFIG_SPEAKUP_SYNTH_SOFT=m +CONFIG_SPEAKUP_SYNTH_SPKOUT=m +CONFIG_SPEAKUP_SYNTH_TXPRT=m +CONFIG_SPEAKUP_SYNTH_DUMMY=m +CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m +CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m +CONFIG_DRM_PSB=m +CONFIG_DRM_PSB_MRST=y +CONFIG_DRM_PSB_MFLD=y +CONFIG_DRM_PSB_CDV=y +CONFIG_INTEL_MEI=m +CONFIG_STAGING_MEDIA=y +CONFIG_DVB_AS102=m +CONFIG_DVB_CXD2099=m +CONFIG_VIDEO_DT3155=m +CONFIG_DT3155_CCIR=y +CONFIG_DT3155_STREAMING=y +CONFIG_EASYCAP=m +# CONFIG_EASYCAP_DEBUG is not set +CONFIG_VIDEO_GO7007=m +CONFIG_VIDEO_GO7007_USB=m +# CONFIG_VIDEO_GO7007_USB_S2250_BOARD is not set +CONFIG_VIDEO_GO7007_OV7640=m +CONFIG_VIDEO_GO7007_SAA7113=m +CONFIG_VIDEO_GO7007_SAA7115=m +CONFIG_VIDEO_GO7007_TW9903=m +CONFIG_VIDEO_GO7007_UDA1342=m +CONFIG_VIDEO_GO7007_SONY_TUNER=m +CONFIG_VIDEO_GO7007_TW2804=m +CONFIG_SOLO6X10=m +CONFIG_LIRC_STAGING=y +CONFIG_LIRC_BT829=m +CONFIG_LIRC_IGORPLUGUSB=m +CONFIG_LIRC_IMON=m +CONFIG_LIRC_PARALLEL=m +CONFIG_LIRC_SASEM=m +CONFIG_LIRC_SERIAL=m +CONFIG_LIRC_SERIAL_TRANSMITTER=y +CONFIG_LIRC_SIR=m +CONFIG_LIRC_TTUSBIR=m +CONFIG_LIRC_ZILOG=m +CONFIG_X86_PLATFORM_DEVICES=y +CONFIG_ACER_WMI=m +CONFIG_ACERHDF=m +CONFIG_ASUS_LAPTOP=m +CONFIG_DELL_LAPTOP=m +CONFIG_DELL_WMI=m +CONFIG_DELL_WMI_AIO=m +CONFIG_FUJITSU_LAPTOP=m +# CONFIG_FUJITSU_LAPTOP_DEBUG is not set +CONFIG_TC1100_WMI=m +CONFIG_HP_ACCEL=m +CONFIG_HP_WMI=m +CONFIG_MSI_LAPTOP=m +CONFIG_PANASONIC_LAPTOP=m +CONFIG_COMPAL_LAPTOP=m +CONFIG_SONY_LAPTOP=m +# CONFIG_SONYPI_COMPAT is not set +CONFIG_IDEAPAD_LAPTOP=m +CONFIG_THINKPAD_ACPI=m +CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y +# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set +# CONFIG_THINKPAD_ACPI_DEBUG is not set +# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set +CONFIG_THINKPAD_ACPI_VIDEO=y +CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y +CONFIG_SENSORS_HDAPS=m +CONFIG_INTEL_MENLOW=m +CONFIG_EEEPC_LAPTOP=m +CONFIG_ASUS_WMI=m +CONFIG_ASUS_NB_WMI=m +CONFIG_EEEPC_WMI=m +CONFIG_ACPI_WMI=m +CONFIG_MSI_WMI=m +CONFIG_ACPI_ASUS=m +CONFIG_TOPSTAR_LAPTOP=m +CONFIG_ACPI_TOSHIBA=m +CONFIG_TOSHIBA_BT_RFKILL=m +CONFIG_ACPI_CMPC=m +CONFIG_INTEL_IPS=m +CONFIG_IBM_RTL=m +CONFIG_XO1_RFKILL=m +CONFIG_XO15_EBOOK=m +CONFIG_SAMSUNG_LAPTOP=m +CONFIG_MXM_WMI=m +CONFIG_INTEL_OAKTRAIL=m +CONFIG_SAMSUNG_Q10=m + +# +# Hardware Spinlock drivers +# +CONFIG_CLKSRC_I8253=y +CONFIG_CLKEVT_I8253=y +CONFIG_I8253_LOCK=y +CONFIG_CLKBLD_I8253=y +CONFIG_IOMMU_API=y +CONFIG_IOMMU_SUPPORT=y +CONFIG_DMAR_TABLE=y +CONFIG_INTEL_IOMMU=y +# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set +CONFIG_INTEL_IOMMU_FLOPPY_WA=y +CONFIG_VIRT_DRIVERS=y +CONFIG_HYPERV=m +CONFIG_HYPERV_UTILS=m +# CONFIG_PM_DEVFREQ is not set + +# +# Firmware Drivers +# +CONFIG_EDD=m +# CONFIG_EDD_OFF is not set +CONFIG_FIRMWARE_MEMMAP=y +CONFIG_EFI_VARS=m +CONFIG_DELL_RBU=m +CONFIG_DCDBAS=m +CONFIG_DMIID=y +CONFIG_DMI_SYSFS=m +# CONFIG_ISCSI_IBFT_FIND is not set +CONFIG_SIGMA=m +# CONFIG_GOOGLE_FIRMWARE is not set + +# +# File systems +# +# CONFIG_EXT2_FS is not set +# CONFIG_EXT3_FS is not set +CONFIG_EXT4_FS=m +CONFIG_EXT4_USE_FOR_EXT23=y +CONFIG_EXT4_FS_XATTR=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD=m +# CONFIG_JBD_DEBUG is not set +CONFIG_JBD2=m +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=m +CONFIG_REISERFS_FS=m +# CONFIG_REISERFS_CHECK is not set +CONFIG_REISERFS_PROC_INFO=y +CONFIG_REISERFS_FS_XATTR=y +CONFIG_REISERFS_FS_POSIX_ACL=y +CONFIG_REISERFS_FS_SECURITY=y +CONFIG_JFS_FS=m +CONFIG_JFS_POSIX_ACL=y +CONFIG_JFS_SECURITY=y +# CONFIG_JFS_DEBUG is not set +CONFIG_JFS_STATISTICS=y +CONFIG_XFS_FS=m +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +CONFIG_XFS_RT=y +# CONFIG_XFS_DEBUG is not set +CONFIG_GFS2_FS=m +CONFIG_GFS2_FS_LOCKING_DLM=y +CONFIG_OCFS2_FS=m +CONFIG_OCFS2_FS_O2CB=m +CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m +CONFIG_OCFS2_FS_STATS=y +# CONFIG_OCFS2_DEBUG_MASKLOG is not set +# CONFIG_OCFS2_DEBUG_FS is not set +CONFIG_BTRFS_FS=m +CONFIG_BTRFS_FS_POSIX_ACL=y +CONFIG_NILFS2_FS=m +CONFIG_FS_POSIX_ACL=y +CONFIG_EXPORTFS=m +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +CONFIG_FANOTIFY=y +# CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set +CONFIG_QUOTA=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +# CONFIG_PRINT_QUOTA_WARNING is not set +# CONFIG_QUOTA_DEBUG is not set +CONFIG_QUOTA_TREE=m +CONFIG_QFMT_V1=m +CONFIG_QFMT_V2=m +CONFIG_QUOTACTL=y +CONFIG_AUTOFS4_FS=m +CONFIG_FUSE_FS=m +CONFIG_CUSE=m +CONFIG_GENERIC_ACL=y + +# +# Caches +# +CONFIG_FSCACHE=m +CONFIG_FSCACHE_STATS=y +CONFIG_FSCACHE_HISTOGRAM=y +# CONFIG_FSCACHE_DEBUG is not set +# CONFIG_FSCACHE_OBJECT_LIST is not set +CONFIG_CACHEFILES=m +# CONFIG_CACHEFILES_DEBUG is not set +# CONFIG_CACHEFILES_HISTOGRAM is not set + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=m +CONFIG_JOLIET=y +CONFIG_ZISOFS=y +CONFIG_UDF_FS=m +CONFIG_UDF_NLS=y + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=m +CONFIG_MSDOS_FS=m +CONFIG_VFAT_FS=m +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +CONFIG_NTFS_FS=m +# CONFIG_NTFS_DEBUG is not set +CONFIG_NTFS_RW=y + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_KCORE=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +CONFIG_HUGETLBFS=y +CONFIG_HUGETLB_PAGE=y +CONFIG_CONFIGFS_FS=m +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ADFS_FS is not set +CONFIG_AFFS_FS=m +CONFIG_ECRYPT_FS=m +CONFIG_HFS_FS=m +CONFIG_HFSPLUS_FS=m +CONFIG_BEFS_FS=m +# CONFIG_BEFS_DEBUG is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_JFFS2_FS=m +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_LZO is not set +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +CONFIG_UBIFS_FS=m +CONFIG_UBIFS_FS_XATTR=y +# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y +# CONFIG_UBIFS_FS_DEBUG is not set +CONFIG_LOGFS=m +CONFIG_CRAMFS=m +CONFIG_SQUASHFS=m +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_ZLIB=y +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +CONFIG_MINIX_FS=m +CONFIG_OMFS_FS=m +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_ROMFS_FS is not set +CONFIG_PSTORE=y +# CONFIG_SYSV_FS is not set +CONFIG_UFS_FS=m +# CONFIG_UFS_FS_WRITE is not set +# CONFIG_UFS_DEBUG is not set +CONFIG_EXOFS_FS=m +# CONFIG_EXOFS_DEBUG is not set +CONFIG_ORE=m +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=m +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +CONFIG_NFS_V4=y +# CONFIG_NFS_V4_1 is not set +CONFIG_NFS_FSCACHE=y +# CONFIG_NFS_USE_LEGACY_DNS is not set +CONFIG_NFS_USE_KERNEL_DNS=y +# CONFIG_NFS_USE_NEW_IDMAPPER is not set +CONFIG_NFSD=m +CONFIG_NFSD_V2_ACL=y +CONFIG_NFSD_V3=y +CONFIG_NFSD_V3_ACL=y +CONFIG_NFSD_V4=y +CONFIG_LOCKD=m +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=m +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=m +CONFIG_SUNRPC_GSS=m +CONFIG_RPCSEC_GSS_KRB5=m +CONFIG_CEPH_FS=m +CONFIG_CIFS=m +CONFIG_CIFS_STATS=y +# CONFIG_CIFS_STATS2 is not set +CONFIG_CIFS_WEAK_PW_HASH=y +CONFIG_CIFS_UPCALL=y +CONFIG_CIFS_XATTR=y +CONFIG_CIFS_POSIX=y +# CONFIG_CIFS_DEBUG2 is not set +CONFIG_CIFS_DFS_UPCALL=y +CONFIG_CIFS_FSCACHE=y +CONFIG_CIFS_ACL=y +CONFIG_NCP_FS=m +# CONFIG_NCPFS_PACKET_SIGNING is not set +# CONFIG_NCPFS_IOCTL_LOCKING is not set +# CONFIG_NCPFS_STRONG is not set +CONFIG_NCPFS_NFS_NS=y +CONFIG_NCPFS_OS2_NS=y +CONFIG_NCPFS_SMALLDOS=y +CONFIG_NCPFS_NLS=y +# CONFIG_NCPFS_EXTRAS is not set +CONFIG_CODA_FS=m +CONFIG_AFS_FS=m +# CONFIG_AFS_DEBUG is not set +CONFIG_AFS_FSCACHE=y +CONFIG_9P_FS=m +CONFIG_9P_FSCACHE=y +CONFIG_9P_FS_POSIX_ACL=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +CONFIG_MAC_PARTITION=y +CONFIG_MSDOS_PARTITION=y +CONFIG_BSD_DISKLABEL=y +CONFIG_MINIX_SUBPARTITION=y +CONFIG_SOLARIS_X86_PARTITION=y +# CONFIG_UNIXWARE_DISKLABEL is not set +CONFIG_LDM_PARTITION=y +# CONFIG_LDM_DEBUG is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +CONFIG_KARMA_PARTITION=y +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NLS_CODEPAGE_437=m +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=m +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=m +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +CONFIG_NLS_UTF8=m +CONFIG_DLM=m +# CONFIG_DLM_DEBUG is not set + +# +# Kernel hacking +# +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_PRINTK_TIME=y +CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4 +CONFIG_ENABLE_WARN_DEPRECATED=y +# CONFIG_ENABLE_MUST_CHECK is not set +CONFIG_FRAME_WARN=1024 +CONFIG_MAGIC_SYSRQ=y +CONFIG_STRIP_ASM_SYMS=y +CONFIG_UNUSED_SYMBOLS=y +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_SHIRQ is not set +CONFIG_LOCKUP_DETECTOR=y +CONFIG_HARDLOCKUP_DETECTOR=y +# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0 +# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 +CONFIG_DETECT_HUNG_TASK=y +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 +# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set +CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHEDSTATS is not set +CONFIG_TIMER_STATS=y +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +# CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_DEBUG_PREEMPT is not set +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_RT_MUTEX_TESTER is not set +# CONFIG_DEBUG_SPINLOCK is not set +CONFIG_DEBUG_MUTEXES=y +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +CONFIG_STACKTRACE=y +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_KOBJECT is not set +# CONFIG_DEBUG_HIGHMEM is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_INFO is not set +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_VIRTUAL is not set +# CONFIG_DEBUG_WRITECOUNT is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_FRAME_POINTER=y +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=60 +# CONFIG_RCU_CPU_STALL_VERBOSE is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# CONFIG_DEBUG_PER_CPU_MAPS is not set +CONFIG_LKDTM=m +CONFIG_CPU_NOTIFIER_ERROR_INJECT=m +# CONFIG_FAULT_INJECTION is not set +# CONFIG_LATENCYTOP is not set +CONFIG_SYSCTL_SYSCALL_CHECK=y +# CONFIG_DEBUG_PAGEALLOC is not set +CONFIG_USER_STACKTRACE_SUPPORT=y +CONFIG_NOP_TRACER=y +CONFIG_HAVE_FTRACE_NMI_ENTER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y +CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACER_MAX_TRACE=y +CONFIG_RING_BUFFER=y +CONFIG_FTRACE_NMI_ENTER=y +CONFIG_EVENT_TRACING=y +CONFIG_EVENT_POWER_TRACING_DEPRECATED=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_RING_BUFFER_ALLOW_SWAP=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_GRAPH_TRACER=y +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_PREEMPT_TRACER is not set +CONFIG_SCHED_TRACER=y +CONFIG_FTRACE_SYSCALLS=y +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +CONFIG_STACK_TRACER=y +CONFIG_BLK_DEV_IO_TRACE=y +CONFIG_DYNAMIC_FTRACE=y +CONFIG_FUNCTION_PROFILER=y +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +CONFIG_MMIOTRACE=y +# CONFIG_MMIOTRACE_TEST is not set +CONFIG_RING_BUFFER_BENCHMARK=m +# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set +# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set +# CONFIG_DYNAMIC_DEBUG is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_ATOMIC64_SELFTEST is not set +CONFIG_ASYNC_RAID6_TEST=m +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +CONFIG_HAVE_ARCH_KMEMCHECK=y +CONFIG_TEST_KSTRTOX=m +CONFIG_STRICT_DEVMEM=y +CONFIG_X86_VERBOSE_BOOTUP=y +CONFIG_EARLY_PRINTK=y +# CONFIG_EARLY_PRINTK_DBGP is not set +# CONFIG_DEBUG_STACKOVERFLOW is not set +# CONFIG_X86_PTDUMP is not set +CONFIG_DEBUG_RODATA=y +# CONFIG_DEBUG_RODATA_TEST is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_DEBUG_NX_TEST is not set +CONFIG_DOUBLEFAULT=y +# CONFIG_IOMMU_STRESS is not set +CONFIG_HAVE_MMIOTRACE_SUPPORT=y +CONFIG_IO_DELAY_TYPE_0X80=0 +CONFIG_IO_DELAY_TYPE_0XED=1 +CONFIG_IO_DELAY_TYPE_UDELAY=2 +CONFIG_IO_DELAY_TYPE_NONE=3 +CONFIG_IO_DELAY_0X80=y +# CONFIG_IO_DELAY_0XED is not set +# CONFIG_IO_DELAY_UDELAY is not set +# CONFIG_IO_DELAY_NONE is not set +CONFIG_DEFAULT_IO_DELAY_TYPE=0 +# CONFIG_DEBUG_BOOT_PARAMS is not set +# CONFIG_CPA_DEBUG is not set +# CONFIG_OPTIMIZE_INLINING is not set +# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set + +# +# Security options +# +CONFIG_KEYS=y +CONFIG_TRUSTED_KEYS=m +CONFIG_ENCRYPTED_KEYS=m +# CONFIG_KEYS_DEBUG_PROC_KEYS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +CONFIG_SECURITY=y +CONFIG_SECURITYFS=y +CONFIG_SECURITY_NETWORK=y +# CONFIG_SECURITY_NETWORK_XFRM is not set +CONFIG_SECURITY_PATH=y +# CONFIG_INTEL_TXT is not set +# CONFIG_SECURITY_SELINUX is not set +# CONFIG_SECURITY_SMACK is not set +CONFIG_SECURITY_TOMOYO=y +CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048 +CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024 +# CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER is not set +CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init" +CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init" +CONFIG_SECURITY_APPARMOR=y +CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=0 +# CONFIG_IMA is not set +# CONFIG_DEFAULT_SECURITY_TOMOYO is not set +# CONFIG_DEFAULT_SECURITY_APPARMOR is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_XOR_BLOCKS=m +CONFIG_ASYNC_CORE=m +CONFIG_ASYNC_MEMCPY=m +CONFIG_ASYNC_XOR=m +CONFIG_ASYNC_PQ=m +CONFIG_ASYNC_RAID6_RECOV=m +CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y +CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=m +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=m +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=m +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_PCOMP=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +CONFIG_CRYPTO_USER=m +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_PCRYPT=m +CONFIG_CRYPTO_WORKQUEUE=y +CONFIG_CRYPTO_CRYPTD=m +CONFIG_CRYPTO_AUTHENC=m +CONFIG_CRYPTO_TEST=m + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +CONFIG_CRYPTO_SEQIV=m + +# +# Block modes +# +CONFIG_CRYPTO_CBC=m +CONFIG_CRYPTO_CTR=m +CONFIG_CRYPTO_CTS=m +CONFIG_CRYPTO_ECB=m +CONFIG_CRYPTO_LRW=m +CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_XTS=m + +# +# Hash modes +# +CONFIG_CRYPTO_HMAC=m +CONFIG_CRYPTO_XCBC=m +CONFIG_CRYPTO_VMAC=m + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=m +CONFIG_CRYPTO_CRC32C_INTEL=m +CONFIG_CRYPTO_GHASH=m +CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_MD5=m +CONFIG_CRYPTO_MICHAEL_MIC=m +CONFIG_CRYPTO_RMD128=m +CONFIG_CRYPTO_RMD160=m +CONFIG_CRYPTO_RMD256=m +CONFIG_CRYPTO_RMD320=m +CONFIG_CRYPTO_SHA1=m +CONFIG_CRYPTO_SHA256=m +CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_TGR192=m +CONFIG_CRYPTO_WP512=m + +# +# Ciphers +# +CONFIG_CRYPTO_AES=m +CONFIG_CRYPTO_AES_586=m +CONFIG_CRYPTO_AES_NI_INTEL=m +CONFIG_CRYPTO_ANUBIS=m +CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_BLOWFISH_COMMON=m +CONFIG_CRYPTO_CAMELLIA=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST6=m +CONFIG_CRYPTO_DES=m +CONFIG_CRYPTO_FCRYPT=m +CONFIG_CRYPTO_KHAZAD=m +CONFIG_CRYPTO_SALSA20=m +CONFIG_CRYPTO_SALSA20_586=m +CONFIG_CRYPTO_SEED=m +CONFIG_CRYPTO_SERPENT=m +CONFIG_CRYPTO_TEA=m +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_TWOFISH_COMMON=m +CONFIG_CRYPTO_TWOFISH_586=m + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=m +CONFIG_CRYPTO_ZLIB=m +CONFIG_CRYPTO_LZO=m + +# +# Random Number Generation +# +CONFIG_CRYPTO_ANSI_CPRNG=m +CONFIG_CRYPTO_USER_API=m +CONFIG_CRYPTO_USER_API_HASH=m +CONFIG_CRYPTO_USER_API_SKCIPHER=m +CONFIG_CRYPTO_HW=y +CONFIG_CRYPTO_DEV_PADLOCK=m +CONFIG_CRYPTO_DEV_PADLOCK_AES=m +CONFIG_CRYPTO_DEV_PADLOCK_SHA=m +CONFIG_CRYPTO_DEV_GEODE=m +CONFIG_CRYPTO_DEV_HIFN_795X=m +CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y +CONFIG_HAVE_KVM=y +CONFIG_HAVE_KVM_IRQCHIP=y +CONFIG_HAVE_KVM_EVENTFD=y +CONFIG_KVM_APIC_ARCHITECTURE=y +CONFIG_KVM_MMIO=y +CONFIG_KVM_ASYNC_PF=y +CONFIG_VIRTUALIZATION=y +CONFIG_KVM=m +CONFIG_KVM_INTEL=m +CONFIG_KVM_AMD=m +CONFIG_KVM_MMU_AUDIT=y +CONFIG_VHOST_NET=m +CONFIG_LGUEST=m +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_RAID6_PQ=m +CONFIG_BITREVERSE=y +CONFIG_GENERIC_FIND_FIRST_BIT=y +CONFIG_CRC_CCITT=m +CONFIG_CRC16=m +CONFIG_CRC_T10DIF=m +CONFIG_CRC_ITU_T=m +CONFIG_CRC32=y +CONFIG_CRC7=m +CONFIG_LIBCRC32C=m +CONFIG_CRC8=m +CONFIG_AUDIT_GENERIC=y +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=m +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_REED_SOLOMON=m +CONFIG_REED_SOLOMON_DEC16=y +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_KMP=m +CONFIG_TEXTSEARCH_BM=m +CONFIG_TEXTSEARCH_FSM=m +CONFIG_BTREE=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y +CONFIG_HAS_DMA=y +CONFIG_CHECK_SIGNATURE=y +CONFIG_CPU_RMAP=y +CONFIG_NLATTR=y +CONFIG_LRU_CACHE=m +CONFIG_AVERAGE=y +CONFIG_CORDIC=m diff --git a/libre/linux-libre-aufs_friendly/config.x86_64 b/libre/linux-libre-aufs_friendly/config.x86_64 new file mode 100644 index 000000000..6fe3c37d0 --- /dev/null +++ b/libre/linux-libre-aufs_friendly/config.x86_64 @@ -0,0 +1,5638 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/x86_64 3.2.6-1 Kernel Configuration +# +CONFIG_64BIT=y +# CONFIG_X86_32 is not set +CONFIG_X86_64=y +CONFIG_X86=y +CONFIG_INSTRUCTION_DECODER=y +CONFIG_OUTPUT_FORMAT="elf64-x86-64" +CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" +CONFIG_GENERIC_CMOS_UPDATE=y +CONFIG_CLOCKSOURCE_WATCHDOG=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_ARCH_CLOCKSOURCE_DATA=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_MMU=y +CONFIG_ZONE_DMA=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_GENERIC_ISA_DMA=y +CONFIG_GENERIC_IOMAP=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_GPIO=y +CONFIG_ARCH_MAY_HAVE_PC_FDC=y +# CONFIG_RWSEM_GENERIC_SPINLOCK is not set +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_ARCH_HAS_CPU_RELAX=y +CONFIG_ARCH_HAS_DEFAULT_IDLE=y +CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y +CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ZONE_DMA32=y +CONFIG_ARCH_POPULATES_NODE_MAP=y +CONFIG_AUDIT_ARCH=y +CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y +CONFIG_HAVE_INTEL_TXT=y +CONFIG_X86_64_SMP=y +CONFIG_X86_HT=y +CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11" +# CONFIG_KTIME_SCALAR is not set +CONFIG_ARCH_CPU_PROBE_RELEASE=y +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_HAVE_IRQ_WORK=y +CONFIG_IRQ_WORK=y + +# +# General setup +# +CONFIG_EXPERIMENTAL=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +CONFIG_LOCALVERSION="-LIBRE-AUFS_FRIENDLY" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_HAVE_KERNEL_GZIP=y +CONFIG_HAVE_KERNEL_BZIP2=y +CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_XZ=y +CONFIG_HAVE_KERNEL_LZO=y +CONFIG_KERNEL_GZIP=y +# CONFIG_KERNEL_BZIP2 is not set +# CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_XZ is not set +# CONFIG_KERNEL_LZO is not set +CONFIG_DEFAULT_HOSTNAME="(none)" +CONFIG_SWAP=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +# CONFIG_FHANDLE is not set +CONFIG_TASKSTATS=y +CONFIG_TASK_DELAY_ACCT=y +CONFIG_TASK_XACCT=y +CONFIG_TASK_IO_ACCOUNTING=y +CONFIG_AUDIT=y +CONFIG_AUDITSYSCALL=y +CONFIG_AUDIT_WATCH=y +CONFIG_AUDIT_TREE=y +CONFIG_HAVE_GENERIC_HARDIRQS=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_HARDIRQS=y +CONFIG_HAVE_SPARSE_IRQ=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_PENDING_IRQ=y +CONFIG_GENERIC_IRQ_CHIP=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_SPARSE_IRQ=y + +# +# RCU Subsystem +# +CONFIG_TREE_PREEMPT_RCU=y +CONFIG_PREEMPT_RCU=y +# CONFIG_RCU_TRACE is not set +CONFIG_RCU_FANOUT=64 +# CONFIG_RCU_FANOUT_EXACT is not set +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_BOOST is not set +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=19 +CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y +CONFIG_CGROUPS=y +# CONFIG_CGROUP_DEBUG is not set +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CPUSETS=y +CONFIG_PROC_PID_CPUSET=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_RESOURCE_COUNTERS=y +CONFIG_CGROUP_MEM_RES_CTLR=y +CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y +# CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED is not set +# CONFIG_CGROUP_PERF is not set +CONFIG_CGROUP_SCHED=y +CONFIG_FAIR_GROUP_SCHED=y +CONFIG_CFS_BANDWIDTH=y +CONFIG_RT_GROUP_SCHED=y +CONFIG_BLK_CGROUP=y +# CONFIG_DEBUG_BLK_CGROUP is not set +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +CONFIG_USER_NS=y +CONFIG_PID_NS=y +CONFIG_NET_NS=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_MM_OWNER=y +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_RELAY=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +# CONFIG_EXPERT is not set +CONFIG_UID16=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_PCSPKR_PLATFORM=y +CONFIG_HAVE_PCSPKR_PLATFORM=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +# CONFIG_EMBEDDED is not set +CONFIG_HAVE_PERF_EVENTS=y + +# +# Kernel Performance Events And Counters +# +CONFIG_PERF_EVENTS=y +CONFIG_PERF_COUNTERS=y +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_PCI_QUIRKS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y +CONFIG_PROFILING=y +CONFIG_TRACEPOINTS=y +CONFIG_OPROFILE=m +# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +CONFIG_JUMP_LABEL=y +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_USER_RETURN_NOTIFIER=y +CONFIG_HAVE_IOREMAP_PROT=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_OPTPROBES=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_USE_GENERIC_SMP_HELPERS=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y +CONFIG_HAVE_USER_RETURN_NOTIFIER=y +CONFIG_HAVE_PERF_EVENTS_NMI=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +CONFIG_MODULE_FORCE_LOAD=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +CONFIG_MODVERSIONS=y +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_STOP_MACHINE=y +CONFIG_BLOCK=y +CONFIG_BLK_DEV_BSG=y +CONFIG_BLK_DEV_BSGLIB=y +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_DEV_THROTTLING=y +CONFIG_BLOCK_COMPAT=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +CONFIG_CFQ_GROUP_IOSCHED=y +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_PREEMPT_NOTIFIERS=y +CONFIG_PADATA=y +# CONFIG_INLINE_SPIN_TRYLOCK is not set +# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set +# CONFIG_INLINE_SPIN_LOCK is not set +# CONFIG_INLINE_SPIN_LOCK_BH is not set +# CONFIG_INLINE_SPIN_LOCK_IRQ is not set +# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set +# CONFIG_INLINE_SPIN_UNLOCK is not set +# CONFIG_INLINE_SPIN_UNLOCK_BH is not set +# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set +# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set +# CONFIG_INLINE_READ_TRYLOCK is not set +# CONFIG_INLINE_READ_LOCK is not set +# CONFIG_INLINE_READ_LOCK_BH is not set +# CONFIG_INLINE_READ_LOCK_IRQ is not set +# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set +# CONFIG_INLINE_READ_UNLOCK is not set +# CONFIG_INLINE_READ_UNLOCK_BH is not set +# CONFIG_INLINE_READ_UNLOCK_IRQ is not set +# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set +# CONFIG_INLINE_WRITE_TRYLOCK is not set +# CONFIG_INLINE_WRITE_LOCK is not set +# CONFIG_INLINE_WRITE_LOCK_BH is not set +# CONFIG_INLINE_WRITE_LOCK_IRQ is not set +# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set +# CONFIG_INLINE_WRITE_UNLOCK is not set +# CONFIG_INLINE_WRITE_UNLOCK_BH is not set +# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set +# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set +# CONFIG_MUTEX_SPIN_ON_OWNER is not set +CONFIG_FREEZER=y + +# +# Processor type and features +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y +CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y +CONFIG_SMP=y +CONFIG_X86_X2APIC=y +CONFIG_X86_MPPARSE=y +# CONFIG_X86_EXTENDED_PLATFORM is not set +CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y +CONFIG_SCHED_OMIT_FRAME_POINTER=y +CONFIG_PARAVIRT_GUEST=y +# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set +CONFIG_XEN=y +CONFIG_XEN_DOM0=y +CONFIG_XEN_PRIVILEGED_GUEST=y +CONFIG_XEN_PVHVM=y +CONFIG_XEN_MAX_DOMAIN_MEMORY=128 +CONFIG_XEN_SAVE_RESTORE=y +# CONFIG_XEN_DEBUG_FS is not set +CONFIG_KVM_CLOCK=y +CONFIG_KVM_GUEST=y +CONFIG_PARAVIRT=y +# CONFIG_PARAVIRT_SPINLOCKS is not set +CONFIG_PARAVIRT_CLOCK=y +# CONFIG_PARAVIRT_DEBUG is not set +CONFIG_NO_BOOTMEM=y +# CONFIG_MEMTEST is not set +# CONFIG_MK8 is not set +# CONFIG_MPSC is not set +# CONFIG_MCORE2 is not set +# CONFIG_MATOM is not set +CONFIG_GENERIC_CPU=y +CONFIG_X86_INTERNODE_CACHE_SHIFT=7 +CONFIG_X86_CMPXCHG=y +CONFIG_CMPXCHG_LOCAL=y +CONFIG_CMPXCHG_DOUBLE=y +CONFIG_X86_L1_CACHE_SHIFT=6 +CONFIG_X86_XADD=y +CONFIG_X86_WP_WORKS_OK=y +CONFIG_X86_TSC=y +CONFIG_X86_CMPXCHG64=y +CONFIG_X86_CMOV=y +CONFIG_X86_MINIMUM_CPU_FAMILY=64 +CONFIG_X86_DEBUGCTLMSR=y +CONFIG_CPU_SUP_INTEL=y +CONFIG_CPU_SUP_AMD=y +CONFIG_CPU_SUP_CENTAUR=y +CONFIG_HPET_TIMER=y +CONFIG_HPET_EMULATE_RTC=y +CONFIG_DMI=y +CONFIG_GART_IOMMU=y +CONFIG_CALGARY_IOMMU=y +CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_MAXSMP is not set +CONFIG_NR_CPUS=64 +CONFIG_SCHED_SMT=y +CONFIG_SCHED_MC=y +# CONFIG_IRQ_TIME_ACCOUNTING is not set +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PREEMPT=y +CONFIG_PREEMPT_COUNT=y +CONFIG_X86_LOCAL_APIC=y +CONFIG_X86_IO_APIC=y +CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y +CONFIG_X86_MCE=y +CONFIG_X86_MCE_INTEL=y +CONFIG_X86_MCE_AMD=y +CONFIG_X86_MCE_THRESHOLD=y +# CONFIG_X86_MCE_INJECT is not set +CONFIG_X86_THERMAL_VECTOR=y +CONFIG_I8K=m +CONFIG_MICROCODE=m +CONFIG_MICROCODE_INTEL=y +CONFIG_MICROCODE_AMD=y +CONFIG_MICROCODE_OLD_INTERFACE=y +CONFIG_X86_MSR=m +CONFIG_X86_CPUID=m +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_DIRECT_GBPAGES=y +CONFIG_NUMA=y +CONFIG_AMD_NUMA=y +CONFIG_X86_64_ACPI_NUMA=y +CONFIG_NODES_SPAN_OTHER_NODES=y +# CONFIG_NUMA_EMU is not set +CONFIG_NODES_SHIFT=6 +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SPARSEMEM_DEFAULT=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_MEMORY_PROBE=y +CONFIG_ARCH_PROC_KCORE_TEXT=y +CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_SPARSEMEM_MANUAL=y +CONFIG_SPARSEMEM=y +CONFIG_NEED_MULTIPLE_NODES=y +CONFIG_HAVE_MEMORY_PRESENT=y +CONFIG_SPARSEMEM_EXTREME=y +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y +CONFIG_SPARSEMEM_VMEMMAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_MEMORY_HOTPLUG=y +CONFIG_MEMORY_HOTPLUG_SPARSE=y +CONFIG_MEMORY_HOTREMOVE=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_COMPACTION=y +CONFIG_MIGRATION=y +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_ZONE_DMA_FLAG=1 +CONFIG_BOUNCE=y +CONFIG_VIRT_TO_BUS=y +CONFIG_MMU_NOTIFIER=y +CONFIG_KSM=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y +CONFIG_MEMORY_FAILURE=y +CONFIG_HWPOISON_INJECT=m +CONFIG_TRANSPARENT_HUGEPAGE=y +# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set +CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y +CONFIG_CLEANCACHE=y +CONFIG_X86_CHECK_BIOS_CORRUPTION=y +CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y +CONFIG_X86_RESERVE_LOW=64 +CONFIG_MTRR=y +CONFIG_MTRR_SANITIZER=y +CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0 +CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 +CONFIG_X86_PAT=y +CONFIG_ARCH_USES_PG_UNCACHED=y +CONFIG_ARCH_RANDOM=y +CONFIG_EFI=y +CONFIG_SECCOMP=y +CONFIG_CC_STACKPROTECTOR=y +# CONFIG_HZ_100 is not set +# CONFIG_HZ_250 is not set +CONFIG_HZ_300=y +# CONFIG_HZ_1000 is not set +CONFIG_HZ=300 +CONFIG_SCHED_HRTICK=y +CONFIG_KEXEC=y +# CONFIG_CRASH_DUMP is not set +CONFIG_KEXEC_JUMP=y +CONFIG_PHYSICAL_START=0x1000000 +CONFIG_RELOCATABLE=y +CONFIG_PHYSICAL_ALIGN=0x1000000 +CONFIG_HOTPLUG_CPU=y +# CONFIG_COMPAT_VDSO is not set +# CONFIG_CMDLINE_BOOL is not set +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y +CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +CONFIG_USE_PERCPU_NUMA_NODE_ID=y + +# +# Power management and ACPI options +# +CONFIG_ARCH_HIBERNATION_HEADER=y +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_HIBERNATE_CALLBACKS=y +CONFIG_HIBERNATION=y +CONFIG_PM_STD_PARTITION="" +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +CONFIG_PM_RUNTIME=y +CONFIG_PM=y +CONFIG_PM_DEBUG=y +CONFIG_PM_ADVANCED_DEBUG=y +# CONFIG_PM_TEST_SUSPEND is not set +CONFIG_CAN_PM_TRACE=y +# CONFIG_PM_TRACE_RTC is not set +CONFIG_ACPI=y +CONFIG_ACPI_SLEEP=y +# CONFIG_ACPI_PROCFS is not set +# CONFIG_ACPI_PROCFS_POWER is not set +CONFIG_ACPI_EC_DEBUGFS=m +# CONFIG_ACPI_PROC_EVENT is not set +CONFIG_ACPI_AC=m +CONFIG_ACPI_BATTERY=m +CONFIG_ACPI_BUTTON=m +CONFIG_ACPI_VIDEO=m +CONFIG_ACPI_FAN=m +CONFIG_ACPI_DOCK=y +CONFIG_ACPI_PROCESSOR=m +CONFIG_ACPI_IPMI=m +CONFIG_ACPI_HOTPLUG_CPU=y +CONFIG_ACPI_PROCESSOR_AGGREGATOR=m +CONFIG_ACPI_THERMAL=m +CONFIG_ACPI_NUMA=y +# CONFIG_ACPI_CUSTOM_DSDT is not set +CONFIG_ACPI_BLACKLIST_YEAR=0 +# CONFIG_ACPI_DEBUG is not set +CONFIG_ACPI_PCI_SLOT=m +CONFIG_X86_PM_TIMER=y +CONFIG_ACPI_CONTAINER=m +CONFIG_ACPI_HOTPLUG_MEMORY=m +CONFIG_ACPI_SBS=m +CONFIG_ACPI_HED=y +CONFIG_ACPI_CUSTOM_METHOD=m +CONFIG_ACPI_APEI=y +CONFIG_ACPI_APEI_GHES=y +CONFIG_ACPI_APEI_PCIEAER=y +CONFIG_ACPI_APEI_MEMORY_FAILURE=y +CONFIG_ACPI_APEI_EINJ=m +CONFIG_ACPI_APEI_ERST_DEBUG=m +CONFIG_SFI=y + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_TABLE=m +CONFIG_CPU_FREQ_STAT=m +CONFIG_CPU_FREQ_STAT_DETAILS=y +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=m +CONFIG_CPU_FREQ_GOV_USERSPACE=m +CONFIG_CPU_FREQ_GOV_ONDEMAND=m +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m + +# +# x86 CPU frequency scaling drivers +# +CONFIG_X86_PCC_CPUFREQ=m +CONFIG_X86_ACPI_CPUFREQ=m +CONFIG_X86_POWERNOW_K8=m +# CONFIG_X86_SPEEDSTEP_CENTRINO is not set +CONFIG_X86_P4_CLOCKMOD=m + +# +# shared options +# +CONFIG_X86_SPEEDSTEP_LIB=m +CONFIG_CPU_IDLE=y +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_CPU_IDLE_GOV_MENU=y +CONFIG_INTEL_IDLE=y + +# +# Memory power savings +# +CONFIG_I7300_IDLE_IOAT_CHANNEL=y +CONFIG_I7300_IDLE=m + +# +# Bus options (PCI etc.) +# +CONFIG_PCI=y +CONFIG_PCI_DIRECT=y +CONFIG_PCI_MMCONFIG=y +CONFIG_PCI_XEN=y +CONFIG_PCI_DOMAINS=y +# CONFIG_PCI_CNB20LE_QUIRK is not set +CONFIG_PCIEPORTBUS=y +CONFIG_HOTPLUG_PCI_PCIE=m +CONFIG_PCIEAER=y +# CONFIG_PCIE_ECRC is not set +# CONFIG_PCIEAER_INJECT is not set +CONFIG_PCIEASPM=y +# CONFIG_PCIEASPM_DEBUG is not set +CONFIG_PCIE_PME=y +CONFIG_ARCH_SUPPORTS_MSI=y +CONFIG_PCI_MSI=y +# CONFIG_PCI_DEBUG is not set +CONFIG_PCI_STUB=m +CONFIG_XEN_PCIDEV_FRONTEND=m +CONFIG_HT_IRQ=y +CONFIG_PCI_ATS=y +CONFIG_PCI_IOV=y +CONFIG_PCI_PRI=y +CONFIG_PCI_PASID=y +CONFIG_PCI_IOAPIC=y +CONFIG_PCI_LABEL=y +CONFIG_ISA_DMA_API=y +CONFIG_AMD_NB=y +CONFIG_PCCARD=m +CONFIG_PCMCIA=m +CONFIG_PCMCIA_LOAD_CIS=y +CONFIG_CARDBUS=y + +# +# PC-card bridges +# +CONFIG_YENTA=m +CONFIG_YENTA_O2=y +CONFIG_YENTA_RICOH=y +CONFIG_YENTA_TI=y +CONFIG_YENTA_ENE_TUNE=y +CONFIG_YENTA_TOSHIBA=y +CONFIG_PD6729=m +CONFIG_I82092=m +CONFIG_PCCARD_NONSTATIC=y +CONFIG_HOTPLUG_PCI=m +CONFIG_HOTPLUG_PCI_FAKE=m +CONFIG_HOTPLUG_PCI_ACPI=m +CONFIG_HOTPLUG_PCI_ACPI_IBM=m +CONFIG_HOTPLUG_PCI_CPCI=y +CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m +CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m +CONFIG_HOTPLUG_PCI_SHPC=m +CONFIG_RAPIDIO=y +CONFIG_RAPIDIO_TSI721=y +CONFIG_RAPIDIO_DISC_TIMEOUT=30 +# CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS is not set +CONFIG_RAPIDIO_DEBUG=y +CONFIG_RAPIDIO_TSI57X=y +CONFIG_RAPIDIO_CPS_XX=y +CONFIG_RAPIDIO_TSI568=y +CONFIG_RAPIDIO_CPS_GEN2=y +CONFIG_RAPIDIO_TSI500=y + +# +# Executable file formats / Emulations +# +CONFIG_BINFMT_ELF=y +CONFIG_COMPAT_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +# CONFIG_HAVE_AOUT is not set +CONFIG_BINFMT_MISC=y +CONFIG_IA32_EMULATION=y +CONFIG_IA32_AOUT=m +CONFIG_COMPAT=y +CONFIG_COMPAT_FOR_U64_ALIGNMENT=y +CONFIG_SYSVIPC_COMPAT=y +CONFIG_KEYS_COMPAT=y +CONFIG_HAVE_TEXT_POKE_SMP=y +CONFIG_NET=y +CONFIG_COMPAT_NETLINK_MESSAGES=y + +# +# Networking options +# +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_XFRM=y +CONFIG_XFRM_USER=m +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +CONFIG_XFRM_IPCOMP=m +CONFIG_NET_KEY=m +# CONFIG_NET_KEY_MIGRATE is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_FIB_TRIE_STATS=y +CONFIG_IP_MULTIPLE_TABLES=y +CONFIG_IP_ROUTE_MULTIPATH=y +CONFIG_IP_ROUTE_VERBOSE=y +CONFIG_IP_ROUTE_CLASSID=y +# CONFIG_IP_PNP is not set +CONFIG_NET_IPIP=m +CONFIG_NET_IPGRE_DEMUX=m +CONFIG_NET_IPGRE=m +# CONFIG_NET_IPGRE_BROADCAST is not set +CONFIG_IP_MROUTE=y +# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set +CONFIG_IP_PIMSM_V1=y +CONFIG_IP_PIMSM_V2=y +# CONFIG_ARPD is not set +CONFIG_SYN_COOKIES=y +CONFIG_INET_AH=m +CONFIG_INET_ESP=m +CONFIG_INET_IPCOMP=m +CONFIG_INET_XFRM_TUNNEL=m +CONFIG_INET_TUNNEL=m +CONFIG_INET_XFRM_MODE_TRANSPORT=m +CONFIG_INET_XFRM_MODE_TUNNEL=m +CONFIG_INET_XFRM_MODE_BEET=m +CONFIG_INET_LRO=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +CONFIG_TCP_CONG_ADVANCED=y +CONFIG_TCP_CONG_BIC=m +CONFIG_TCP_CONG_CUBIC=y +CONFIG_TCP_CONG_WESTWOOD=m +CONFIG_TCP_CONG_HTCP=m +CONFIG_TCP_CONG_HSTCP=m +CONFIG_TCP_CONG_HYBLA=m +CONFIG_TCP_CONG_VEGAS=m +CONFIG_TCP_CONG_SCALABLE=m +CONFIG_TCP_CONG_LP=m +CONFIG_TCP_CONG_VENO=m +CONFIG_TCP_CONG_YEAH=m +CONFIG_TCP_CONG_ILLINOIS=m +CONFIG_DEFAULT_CUBIC=y +# CONFIG_DEFAULT_RENO is not set +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=y +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +CONFIG_IPV6_ROUTE_INFO=y +CONFIG_IPV6_OPTIMISTIC_DAD=y +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +CONFIG_INET6_IPCOMP=m +CONFIG_IPV6_MIP6=m +CONFIG_INET6_XFRM_TUNNEL=m +CONFIG_INET6_TUNNEL=m +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m +CONFIG_IPV6_SIT=m +CONFIG_IPV6_SIT_6RD=y +CONFIG_IPV6_NDISC_NODETYPE=y +CONFIG_IPV6_TUNNEL=m +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_SUBTREES=y +# CONFIG_IPV6_MROUTE is not set +CONFIG_NETLABEL=y +CONFIG_NETWORK_SECMARK=y +CONFIG_NETWORK_PHY_TIMESTAMPING=y +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_ADVANCED=y +CONFIG_BRIDGE_NETFILTER=y + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_NETLINK=m +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_NETLINK_LOG=m +CONFIG_NF_CONNTRACK=m +CONFIG_NF_CONNTRACK_MARK=y +CONFIG_NF_CONNTRACK_SECMARK=y +CONFIG_NF_CONNTRACK_ZONES=y +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CONNTRACK_TIMESTAMP=y +CONFIG_NF_CT_PROTO_DCCP=m +CONFIG_NF_CT_PROTO_GRE=m +CONFIG_NF_CT_PROTO_SCTP=m +CONFIG_NF_CT_PROTO_UDPLITE=m +CONFIG_NF_CONNTRACK_AMANDA=m +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_BROADCAST=m +CONFIG_NF_CONNTRACK_NETBIOS_NS=m +CONFIG_NF_CONNTRACK_SNMP=m +CONFIG_NF_CONNTRACK_PPTP=m +CONFIG_NF_CONNTRACK_SANE=m +CONFIG_NF_CONNTRACK_SIP=m +CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_CT_NETLINK=m +CONFIG_NETFILTER_TPROXY=m +CONFIG_NETFILTER_XTABLES=m + +# +# Xtables combined modules +# +CONFIG_NETFILTER_XT_MARK=m +CONFIG_NETFILTER_XT_CONNMARK=m +CONFIG_NETFILTER_XT_SET=m + +# +# Xtables targets +# +CONFIG_NETFILTER_XT_TARGET_AUDIT=m +CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m +CONFIG_NETFILTER_XT_TARGET_CONNMARK=m +CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m +CONFIG_NETFILTER_XT_TARGET_CT=m +CONFIG_NETFILTER_XT_TARGET_DSCP=m +CONFIG_NETFILTER_XT_TARGET_HL=m +CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m +CONFIG_NETFILTER_XT_TARGET_LED=m +CONFIG_NETFILTER_XT_TARGET_MARK=m +CONFIG_NETFILTER_XT_TARGET_NFLOG=m +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m +CONFIG_NETFILTER_XT_TARGET_NOTRACK=m +CONFIG_NETFILTER_XT_TARGET_RATEEST=m +CONFIG_NETFILTER_XT_TARGET_TEE=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m +CONFIG_NETFILTER_XT_TARGET_TRACE=m +CONFIG_NETFILTER_XT_TARGET_SECMARK=m +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m + +# +# Xtables matches +# +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m +CONFIG_NETFILTER_XT_MATCH_CLUSTER=m +CONFIG_NETFILTER_XT_MATCH_COMMENT=m +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +CONFIG_NETFILTER_XT_MATCH_CPU=m +CONFIG_NETFILTER_XT_MATCH_DCCP=m +CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m +CONFIG_NETFILTER_XT_MATCH_DSCP=m +CONFIG_NETFILTER_XT_MATCH_ESP=m +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m +CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_HL=m +CONFIG_NETFILTER_XT_MATCH_IPRANGE=m +CONFIG_NETFILTER_XT_MATCH_IPVS=m +CONFIG_NETFILTER_XT_MATCH_LENGTH=m +CONFIG_NETFILTER_XT_MATCH_LIMIT=m +CONFIG_NETFILTER_XT_MATCH_MAC=m +CONFIG_NETFILTER_XT_MATCH_MARK=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +CONFIG_NETFILTER_XT_MATCH_OSF=m +CONFIG_NETFILTER_XT_MATCH_OWNER=m +CONFIG_NETFILTER_XT_MATCH_POLICY=m +CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MATCH_QUOTA=m +CONFIG_NETFILTER_XT_MATCH_RATEEST=m +CONFIG_NETFILTER_XT_MATCH_REALM=m +CONFIG_NETFILTER_XT_MATCH_RECENT=m +CONFIG_NETFILTER_XT_MATCH_SCTP=m +CONFIG_NETFILTER_XT_MATCH_SOCKET=m +CONFIG_NETFILTER_XT_MATCH_STATE=m +CONFIG_NETFILTER_XT_MATCH_STATISTIC=m +CONFIG_NETFILTER_XT_MATCH_STRING=m +CONFIG_NETFILTER_XT_MATCH_TCPMSS=m +CONFIG_NETFILTER_XT_MATCH_TIME=m +CONFIG_NETFILTER_XT_MATCH_U32=m +CONFIG_IP_SET=m +CONFIG_IP_SET_MAX=256 +CONFIG_IP_SET_BITMAP_IP=m +CONFIG_IP_SET_BITMAP_IPMAC=m +CONFIG_IP_SET_BITMAP_PORT=m +CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPPORT=m +CONFIG_IP_SET_HASH_IPPORTIP=m +CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETPORT=m +CONFIG_IP_SET_HASH_NETIFACE=m +CONFIG_IP_SET_LIST_SET=m +CONFIG_IP_VS=m +# CONFIG_IP_VS_IPV6 is not set +# CONFIG_IP_VS_DEBUG is not set +CONFIG_IP_VS_TAB_BITS=12 + +# +# IPVS transport protocol load balancing support +# +CONFIG_IP_VS_PROTO_TCP=y +CONFIG_IP_VS_PROTO_UDP=y +CONFIG_IP_VS_PROTO_AH_ESP=y +CONFIG_IP_VS_PROTO_ESP=y +CONFIG_IP_VS_PROTO_AH=y +CONFIG_IP_VS_PROTO_SCTP=y + +# +# IPVS scheduler +# +CONFIG_IP_VS_RR=m +CONFIG_IP_VS_WRR=m +CONFIG_IP_VS_LC=m +CONFIG_IP_VS_WLC=m +CONFIG_IP_VS_LBLC=m +CONFIG_IP_VS_LBLCR=m +CONFIG_IP_VS_DH=m +CONFIG_IP_VS_SH=m +CONFIG_IP_VS_SED=m +CONFIG_IP_VS_NQ=m + +# +# IPVS application helper +# +CONFIG_IP_VS_FTP=m +CONFIG_IP_VS_NFCT=y +CONFIG_IP_VS_PE_SIP=m + +# +# IP: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV4=m +CONFIG_NF_CONNTRACK_IPV4=m +CONFIG_NF_CONNTRACK_PROC_COMPAT=y +CONFIG_IP_NF_QUEUE=m +CONFIG_IP_NF_IPTABLES=m +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_TTL=m +CONFIG_IP_NF_FILTER=m +CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_LOG=m +CONFIG_IP_NF_TARGET_ULOG=m +CONFIG_NF_NAT=m +CONFIG_NF_NAT_NEEDED=y +CONFIG_IP_NF_TARGET_MASQUERADE=m +CONFIG_IP_NF_TARGET_NETMAP=m +CONFIG_IP_NF_TARGET_REDIRECT=m +CONFIG_NF_NAT_SNMP_BASIC=m +CONFIG_NF_NAT_PROTO_DCCP=m +CONFIG_NF_NAT_PROTO_GRE=m +CONFIG_NF_NAT_PROTO_UDPLITE=m +CONFIG_NF_NAT_PROTO_SCTP=m +CONFIG_NF_NAT_FTP=m +CONFIG_NF_NAT_IRC=m +CONFIG_NF_NAT_TFTP=m +CONFIG_NF_NAT_AMANDA=m +CONFIG_NF_NAT_PPTP=m +CONFIG_NF_NAT_H323=m +CONFIG_NF_NAT_SIP=m +CONFIG_IP_NF_MANGLE=m +CONFIG_IP_NF_TARGET_CLUSTERIP=m +CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_TARGET_TTL=m +CONFIG_IP_NF_RAW=m +CONFIG_IP_NF_SECURITY=m +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARP_MANGLE=m + +# +# IPv6: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV6=m +CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_IP6_NF_QUEUE=m +CONFIG_IP6_NF_IPTABLES=m +CONFIG_IP6_NF_MATCH_AH=m +CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_MATCH_FRAG=m +CONFIG_IP6_NF_MATCH_OPTS=m +CONFIG_IP6_NF_MATCH_HL=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_MATCH_MH=m +CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_TARGET_HL=m +CONFIG_IP6_NF_TARGET_LOG=m +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_MANGLE=m +CONFIG_IP6_NF_RAW=m +CONFIG_IP6_NF_SECURITY=m +CONFIG_BRIDGE_NF_EBTABLES=m +CONFIG_BRIDGE_EBT_BROUTE=m +CONFIG_BRIDGE_EBT_T_FILTER=m +CONFIG_BRIDGE_EBT_T_NAT=m +CONFIG_BRIDGE_EBT_802_3=m +CONFIG_BRIDGE_EBT_AMONG=m +CONFIG_BRIDGE_EBT_ARP=m +CONFIG_BRIDGE_EBT_IP=m +CONFIG_BRIDGE_EBT_IP6=m +CONFIG_BRIDGE_EBT_LIMIT=m +CONFIG_BRIDGE_EBT_MARK=m +CONFIG_BRIDGE_EBT_PKTTYPE=m +CONFIG_BRIDGE_EBT_STP=m +CONFIG_BRIDGE_EBT_VLAN=m +CONFIG_BRIDGE_EBT_ARPREPLY=m +CONFIG_BRIDGE_EBT_DNAT=m +CONFIG_BRIDGE_EBT_MARK_T=m +CONFIG_BRIDGE_EBT_REDIRECT=m +CONFIG_BRIDGE_EBT_SNAT=m +CONFIG_BRIDGE_EBT_LOG=m +CONFIG_BRIDGE_EBT_ULOG=m +CONFIG_BRIDGE_EBT_NFLOG=m +CONFIG_IP_DCCP=m +CONFIG_INET_DCCP_DIAG=m + +# +# DCCP CCIDs Configuration (EXPERIMENTAL) +# +# CONFIG_IP_DCCP_CCID2_DEBUG is not set +CONFIG_IP_DCCP_CCID3=y +# CONFIG_IP_DCCP_CCID3_DEBUG is not set +CONFIG_IP_DCCP_TFRC_LIB=y + +# +# DCCP Kernel Hacking +# +# CONFIG_IP_DCCP_DEBUG is not set +CONFIG_IP_SCTP=m +# CONFIG_SCTP_DBG_MSG is not set +# CONFIG_SCTP_DBG_OBJCNT is not set +# CONFIG_SCTP_HMAC_NONE is not set +CONFIG_SCTP_HMAC_SHA1=y +# CONFIG_SCTP_HMAC_MD5 is not set +# CONFIG_RDS is not set +# CONFIG_TIPC is not set +CONFIG_ATM=m +CONFIG_ATM_CLIP=m +# CONFIG_ATM_CLIP_NO_ICMP is not set +CONFIG_ATM_LANE=m +CONFIG_ATM_MPOA=m +CONFIG_ATM_BR2684=m +# CONFIG_ATM_BR2684_IPFILTER is not set +CONFIG_L2TP=m +# CONFIG_L2TP_DEBUGFS is not set +CONFIG_L2TP_V3=y +CONFIG_L2TP_IP=m +CONFIG_L2TP_ETH=m +CONFIG_STP=m +CONFIG_BRIDGE=m +CONFIG_BRIDGE_IGMP_SNOOPING=y +# CONFIG_NET_DSA is not set +CONFIG_VLAN_8021Q=m +# CONFIG_VLAN_8021Q_GVRP is not set +# CONFIG_DECNET is not set +CONFIG_LLC=m +CONFIG_LLC2=m +CONFIG_IPX=m +# CONFIG_IPX_INTERN is not set +CONFIG_ATALK=m +CONFIG_DEV_APPLETALK=m +CONFIG_IPDDP=m +CONFIG_IPDDP_ENCAP=y +CONFIG_IPDDP_DECAP=y +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set +CONFIG_PHONET=m +CONFIG_IEEE802154=m +CONFIG_IEEE802154_6LOWPAN=m +CONFIG_NET_SCHED=y + +# +# Queueing/Scheduling +# +CONFIG_NET_SCH_CBQ=m +CONFIG_NET_SCH_HTB=m +CONFIG_NET_SCH_HFSC=m +CONFIG_NET_SCH_ATM=m +CONFIG_NET_SCH_PRIO=m +CONFIG_NET_SCH_MULTIQ=m +CONFIG_NET_SCH_RED=m +CONFIG_NET_SCH_SFB=m +CONFIG_NET_SCH_SFQ=m +CONFIG_NET_SCH_TEQL=m +CONFIG_NET_SCH_TBF=m +CONFIG_NET_SCH_GRED=m +CONFIG_NET_SCH_DSMARK=m +CONFIG_NET_SCH_NETEM=m +CONFIG_NET_SCH_DRR=m +CONFIG_NET_SCH_MQPRIO=m +CONFIG_NET_SCH_CHOKE=m +CONFIG_NET_SCH_QFQ=m +CONFIG_NET_SCH_INGRESS=m + +# +# Classification +# +CONFIG_NET_CLS=y +CONFIG_NET_CLS_BASIC=m +CONFIG_NET_CLS_TCINDEX=m +CONFIG_NET_CLS_ROUTE4=m +CONFIG_NET_CLS_FW=m +CONFIG_NET_CLS_U32=m +# CONFIG_CLS_U32_PERF is not set +# CONFIG_CLS_U32_MARK is not set +CONFIG_NET_CLS_RSVP=m +CONFIG_NET_CLS_RSVP6=m +CONFIG_NET_CLS_FLOW=m +CONFIG_NET_CLS_CGROUP=y +# CONFIG_NET_EMATCH is not set +CONFIG_NET_CLS_ACT=y +CONFIG_NET_ACT_POLICE=m +CONFIG_NET_ACT_GACT=m +CONFIG_GACT_PROB=y +CONFIG_NET_ACT_MIRRED=m +CONFIG_NET_ACT_IPT=m +CONFIG_NET_ACT_NAT=m +CONFIG_NET_ACT_PEDIT=m +CONFIG_NET_ACT_SIMP=m +CONFIG_NET_ACT_SKBEDIT=m +CONFIG_NET_ACT_CSUM=m +CONFIG_NET_CLS_IND=y +CONFIG_NET_SCH_FIFO=y +# CONFIG_DCB is not set +CONFIG_DNS_RESOLVER=y +CONFIG_BATMAN_ADV=m +# CONFIG_BATMAN_ADV_DEBUG is not set +CONFIG_RPS=y +CONFIG_RFS_ACCEL=y +CONFIG_XPS=y +CONFIG_HAVE_BPF_JIT=y +CONFIG_BPF_JIT=y + +# +# Network testing +# +CONFIG_NET_PKTGEN=m +CONFIG_NET_DROP_MONITOR=y +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +CONFIG_IRDA=m + +# +# IrDA protocols +# +CONFIG_IRLAN=m +CONFIG_IRNET=m +CONFIG_IRCOMM=m +CONFIG_IRDA_ULTRA=y + +# +# IrDA options +# +CONFIG_IRDA_CACHE_LAST_LSAP=y +CONFIG_IRDA_FAST_RR=y +# CONFIG_IRDA_DEBUG is not set + +# +# Infrared-port device drivers +# + +# +# SIR device drivers +# +CONFIG_IRTTY_SIR=m + +# +# Dongle support +# +CONFIG_DONGLE=y +CONFIG_ESI_DONGLE=m +CONFIG_ACTISYS_DONGLE=m +CONFIG_TEKRAM_DONGLE=m +CONFIG_TOIM3232_DONGLE=m +CONFIG_LITELINK_DONGLE=m +CONFIG_MA600_DONGLE=m +CONFIG_GIRBIL_DONGLE=m +CONFIG_MCP2120_DONGLE=m +CONFIG_OLD_BELKIN_DONGLE=m +CONFIG_ACT200L_DONGLE=m +CONFIG_KINGSUN_DONGLE=m +CONFIG_KSDAZZLE_DONGLE=m +CONFIG_KS959_DONGLE=m + +# +# FIR device drivers +# +CONFIG_USB_IRDA=m +CONFIG_SIGMATEL_FIR=m +CONFIG_NSC_FIR=m +CONFIG_WINBOND_FIR=m +CONFIG_SMC_IRCC_FIR=m +CONFIG_ALI_FIR=m +CONFIG_VLSI_FIR=m +CONFIG_VIA_FIR=m +CONFIG_MCS_FIR=m +CONFIG_BT=m +CONFIG_BT_L2CAP=y +CONFIG_BT_SCO=y +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=m +# CONFIG_BT_BNEP_MC_FILTER is not set +# CONFIG_BT_BNEP_PROTO_FILTER is not set +# CONFIG_BT_CMTP is not set +CONFIG_BT_HIDP=m + +# +# Bluetooth device drivers +# +CONFIG_BT_HCIBTUSB=m +CONFIG_BT_HCIBTSDIO=m +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_H4=y +CONFIG_BT_HCIUART_BCSP=y +CONFIG_BT_HCIUART_ATH3K=y +CONFIG_BT_HCIUART_LL=y +CONFIG_BT_HCIBCM203X=m +CONFIG_BT_HCIBPA10X=m +CONFIG_BT_HCIBFUSB=m +CONFIG_BT_HCIDTL1=m +CONFIG_BT_HCIBT3C=m +CONFIG_BT_HCIBLUECARD=m +CONFIG_BT_HCIBTUART=m +CONFIG_BT_HCIVHCI=m +CONFIG_BT_MRVL=m +CONFIG_BT_MRVL_SDIO=m +CONFIG_BT_ATH3K=m +CONFIG_BT_WILINK=m +CONFIG_AF_RXRPC=m +# CONFIG_AF_RXRPC_DEBUG is not set +CONFIG_RXKAD=m +CONFIG_FIB_RULES=y +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_SPY=y +CONFIG_WEXT_PRIV=y +CONFIG_CFG80211=m +CONFIG_NL80211_TESTMODE=y +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_WEXT=y +CONFIG_WIRELESS_EXT_SYSFS=y +CONFIG_LIB80211=m +CONFIG_LIB80211_CRYPT_WEP=m +CONFIG_LIB80211_CRYPT_CCMP=m +CONFIG_LIB80211_CRYPT_TKIP=m +# CONFIG_LIB80211_DEBUG is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +CONFIG_MAC80211_MESH=y +CONFIG_MAC80211_LEDS=y +# CONFIG_MAC80211_DEBUGFS is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_WIMAX=m +CONFIG_WIMAX_DEBUG_LEVEL=8 +CONFIG_RFKILL=m +CONFIG_RFKILL_LEDS=y +CONFIG_RFKILL_INPUT=y +CONFIG_RFKILL_REGULATOR=m +CONFIG_NET_9P=m +CONFIG_NET_9P_VIRTIO=m +# CONFIG_NET_9P_DEBUG is not set +CONFIG_CAIF=m +# CONFIG_CAIF_DEBUG is not set +CONFIG_CAIF_NETDEV=m +CONFIG_CEPH_LIB=m +# CONFIG_CEPH_LIB_PRETTYDEBUG is not set +# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set +CONFIG_NFC=m +CONFIG_NFC_NCI=m + +# +# Near Field Communication (NFC) devices +# +CONFIG_PN544_NFC=m +CONFIG_NFC_PN533=m +CONFIG_NFC_WILINK=m + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER_PATH="" +CONFIG_DEVTMPFS=y +# CONFIG_DEVTMPFS_MOUNT is not set +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +CONFIG_SYS_HYPERVISOR=y +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=m +CONFIG_REGMAP_SPI=y +CONFIG_CONNECTOR=y +CONFIG_PROC_EVENTS=y +CONFIG_MTD=m +CONFIG_MTD_TESTS=m +CONFIG_MTD_REDBOOT_PARTS=m +CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 +# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set +# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set +CONFIG_MTD_AR7_PARTS=m + +# +# User Modules And Translation Layers +# +CONFIG_MTD_CHAR=m +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_BLOCK_RO=m +CONFIG_FTL=m +CONFIG_NFTL=m +CONFIG_NFTL_RW=y +CONFIG_INFTL=m +CONFIG_RFD_FTL=m +CONFIG_SSFDC=m +# CONFIG_SM_FTL is not set +CONFIG_MTD_OOPS=m +CONFIG_MTD_SWAP=m + +# +# RAM/ROM/Flash chip drivers +# +CONFIG_MTD_CFI=m +CONFIG_MTD_JEDECPROBE=m +CONFIG_MTD_GEN_PROBE=m +# CONFIG_MTD_CFI_ADV_OPTIONS is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +CONFIG_MTD_CFI_INTELEXT=m +CONFIG_MTD_CFI_AMDSTD=m +CONFIG_MTD_CFI_STAA=m +CONFIG_MTD_CFI_UTIL=m +CONFIG_MTD_RAM=m +CONFIG_MTD_ROM=m +CONFIG_MTD_ABSENT=m + +# +# Mapping drivers for chip access +# +CONFIG_MTD_COMPLEX_MAPPINGS=y +# CONFIG_MTD_PHYSMAP is not set +CONFIG_MTD_SC520CDP=m +CONFIG_MTD_NETSC520=m +CONFIG_MTD_TS5500=m +# CONFIG_MTD_SBC_GXX is not set +# CONFIG_MTD_AMD76XROM is not set +# CONFIG_MTD_ICHXROM is not set +# CONFIG_MTD_ESB2ROM is not set +# CONFIG_MTD_CK804XROM is not set +CONFIG_MTD_SCB2_FLASH=m +# CONFIG_MTD_NETtel is not set +# CONFIG_MTD_L440GX is not set +CONFIG_MTD_PCI=m +# CONFIG_MTD_PCMCIA is not set +# CONFIG_MTD_GPIO_ADDR is not set +# CONFIG_MTD_INTEL_VR_NOR is not set +CONFIG_MTD_PLATRAM=m +# CONFIG_MTD_LATCH_ADDR is not set + +# +# Self-contained MTD device drivers +# +CONFIG_MTD_PMC551=m +# CONFIG_MTD_PMC551_BUGFIX is not set +# CONFIG_MTD_PMC551_DEBUG is not set +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_M25P80 is not set +# CONFIG_MTD_SST25L is not set +# CONFIG_MTD_SLRAM is not set +CONFIG_MTD_PHRAM=m +CONFIG_MTD_MTDRAM=m +CONFIG_MTDRAM_TOTAL_SIZE=4096 +CONFIG_MTDRAM_ERASE_SIZE=128 +CONFIG_MTD_BLOCK2MTD=m + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +# CONFIG_MTD_DOC2001PLUS is not set +CONFIG_MTD_DOCG3=m +CONFIG_MTD_NAND_ECC=m +CONFIG_MTD_NAND_ECC_SMC=y +CONFIG_MTD_NAND=m +# CONFIG_MTD_NAND_VERIFY_WRITE is not set +# CONFIG_MTD_NAND_ECC_BCH is not set +CONFIG_MTD_SM_COMMON=m +# CONFIG_MTD_NAND_MUSEUM_IDS is not set +# CONFIG_MTD_NAND_DENALI is not set +CONFIG_MTD_NAND_IDS=m +CONFIG_MTD_NAND_RICOH=m +CONFIG_MTD_NAND_DISKONCHIP=m +# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set +CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 +# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set +# CONFIG_MTD_NAND_CAFE is not set +CONFIG_MTD_NAND_NANDSIM=m +# CONFIG_MTD_NAND_PLATFORM is not set +CONFIG_MTD_ALAUDA=m +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR flash memory drivers +# +CONFIG_MTD_LPDDR=m +CONFIG_MTD_QINFO_PROBE=m +CONFIG_MTD_UBI=m +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_MTD_UBI_BEB_RESERVE=1 +# CONFIG_MTD_UBI_GLUEBI is not set +# CONFIG_MTD_UBI_DEBUG is not set +CONFIG_PARPORT=m +CONFIG_PARPORT_PC=m +CONFIG_PARPORT_SERIAL=m +CONFIG_PARPORT_PC_FIFO=y +CONFIG_PARPORT_PC_SUPERIO=y +CONFIG_PARPORT_PC_PCMCIA=m +# CONFIG_PARPORT_GSC is not set +CONFIG_PARPORT_AX88796=m +CONFIG_PARPORT_1284=y +CONFIG_PARPORT_NOT_PC=y +CONFIG_PNP=y +# CONFIG_PNP_DEBUG_MESSAGES is not set + +# +# Protocols +# +CONFIG_PNPACPI=y +CONFIG_BLK_DEV=y +CONFIG_BLK_DEV_FD=m +# CONFIG_PARIDE is not set +CONFIG_BLK_CPQ_DA=m +CONFIG_BLK_CPQ_CISS_DA=m +# CONFIG_CISS_SCSI_TAPE is not set +CONFIG_BLK_DEV_DAC960=m +# CONFIG_BLK_DEV_UMEM is not set +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=m +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +CONFIG_BLK_DEV_CRYPTOLOOP=m +CONFIG_BLK_DEV_DRBD=m +# CONFIG_DRBD_FAULT_INJECTION is not set +CONFIG_BLK_DEV_NBD=m +CONFIG_BLK_DEV_OSD=m +CONFIG_BLK_DEV_SX8=m +# CONFIG_BLK_DEV_UB is not set +CONFIG_BLK_DEV_RAM=m +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=16384 +# CONFIG_BLK_DEV_XIP is not set +CONFIG_CDROM_PKTCDVD=m +CONFIG_CDROM_PKTCDVD_BUFFERS=8 +# CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_ATA_OVER_ETH=m +CONFIG_XEN_BLKDEV_FRONTEND=m +CONFIG_XEN_BLKDEV_BACKEND=m +CONFIG_VIRTIO_BLK=m +# CONFIG_BLK_DEV_HD is not set +CONFIG_BLK_DEV_RBD=m +CONFIG_SENSORS_LIS3LV02D=m +CONFIG_MISC_DEVICES=y +CONFIG_AD525X_DPOT=m +CONFIG_AD525X_DPOT_I2C=m +CONFIG_AD525X_DPOT_SPI=m +# CONFIG_IBM_ASM is not set +CONFIG_PHANTOM=m +CONFIG_INTEL_MID_PTI=m +CONFIG_SGI_IOC4=m +CONFIG_TIFM_CORE=m +CONFIG_TIFM_7XX1=m +CONFIG_ICS932S401=m +CONFIG_ENCLOSURE_SERVICES=m +CONFIG_CS5535_MFGPT=m +CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7 +CONFIG_CS5535_CLOCK_EVENT_SRC=m +CONFIG_HP_ILO=m +CONFIG_APDS9802ALS=m +CONFIG_ISL29003=m +CONFIG_ISL29020=m +CONFIG_SENSORS_TSL2550=m +CONFIG_SENSORS_BH1780=m +CONFIG_SENSORS_BH1770=m +CONFIG_SENSORS_APDS990X=m +CONFIG_HMC6352=m +CONFIG_DS1682=m +CONFIG_TI_DAC7512=m +CONFIG_VMWARE_BALLOON=m +CONFIG_BMP085=m +CONFIG_PCH_PHUB=m +CONFIG_USB_SWITCH_FSA9480=m +CONFIG_C2PORT=m +CONFIG_C2PORT_DURAMAR_2150=m + +# +# EEPROM support +# +CONFIG_EEPROM_AT24=m +CONFIG_EEPROM_AT25=m +CONFIG_EEPROM_LEGACY=m +CONFIG_EEPROM_MAX6875=m +CONFIG_EEPROM_93CX6=m +CONFIG_EEPROM_93XX46=m +CONFIG_CB710_CORE=m +# CONFIG_CB710_DEBUG is not set +CONFIG_CB710_DEBUG_ASSUMPTIONS=y +CONFIG_IWMC3200TOP=m +# CONFIG_IWMC3200TOP_DEBUG is not set +# CONFIG_IWMC3200TOP_DEBUGFS is not set + +# +# Texas Instruments shared transport line discipline +# +CONFIG_TI_ST=m +CONFIG_SENSORS_LIS3_I2C=m + +# +# Altera FPGA firmware download module +# +CONFIG_ALTERA_STAPL=m +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=m +CONFIG_RAID_ATTRS=m +CONFIG_SCSI=m +CONFIG_SCSI_DMA=y +CONFIG_SCSI_TGT=m +CONFIG_SCSI_NETLINK=y +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=m +CONFIG_CHR_DEV_ST=m +CONFIG_CHR_DEV_OSST=m +CONFIG_BLK_DEV_SR=m +CONFIG_BLK_DEV_SR_VENDOR=y +CONFIG_CHR_DEV_SG=m +CONFIG_CHR_DEV_SCH=m +CONFIG_SCSI_ENCLOSURE=m +CONFIG_SCSI_MULTI_LUN=y +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set +CONFIG_SCSI_WAIT_SCAN=m + +# +# SCSI Transports +# +CONFIG_SCSI_SPI_ATTRS=m +CONFIG_SCSI_FC_ATTRS=m +# CONFIG_SCSI_FC_TGT_ATTRS is not set +CONFIG_SCSI_ISCSI_ATTRS=m +CONFIG_SCSI_SAS_ATTRS=m +CONFIG_SCSI_SAS_LIBSAS=m +CONFIG_SCSI_SAS_ATA=y +CONFIG_SCSI_SAS_HOST_SMP=y +CONFIG_SCSI_SRP_ATTRS=m +CONFIG_SCSI_SRP_TGT_ATTRS=y +CONFIG_SCSI_LOWLEVEL=y +CONFIG_ISCSI_TCP=m +CONFIG_ISCSI_BOOT_SYSFS=m +CONFIG_SCSI_CXGB3_ISCSI=m +CONFIG_SCSI_CXGB4_ISCSI=m +CONFIG_SCSI_BNX2_ISCSI=m +CONFIG_SCSI_BNX2X_FCOE=m +CONFIG_BE2ISCSI=m +CONFIG_BLK_DEV_3W_XXXX_RAID=m +CONFIG_SCSI_HPSA=m +CONFIG_SCSI_3W_9XXX=m +CONFIG_SCSI_3W_SAS=m +CONFIG_SCSI_ACARD=m +CONFIG_SCSI_AACRAID=m +CONFIG_SCSI_AIC7XXX=m +CONFIG_AIC7XXX_CMDS_PER_DEVICE=32 +CONFIG_AIC7XXX_RESET_DELAY_MS=15000 +# CONFIG_AIC7XXX_DEBUG_ENABLE is not set +CONFIG_AIC7XXX_DEBUG_MASK=0 +CONFIG_AIC7XXX_REG_PRETTY_PRINT=y +# CONFIG_SCSI_AIC7XXX_OLD is not set +CONFIG_SCSI_AIC79XX=m +CONFIG_AIC79XX_CMDS_PER_DEVICE=32 +CONFIG_AIC79XX_RESET_DELAY_MS=15000 +# CONFIG_AIC79XX_DEBUG_ENABLE is not set +CONFIG_AIC79XX_DEBUG_MASK=0 +CONFIG_AIC79XX_REG_PRETTY_PRINT=y +CONFIG_SCSI_AIC94XX=m +# CONFIG_AIC94XX_DEBUG is not set +CONFIG_SCSI_MVSAS=m +# CONFIG_SCSI_MVSAS_DEBUG is not set +CONFIG_SCSI_MVSAS_TASKLET=y +CONFIG_SCSI_MVUMI=m +CONFIG_SCSI_DPT_I2O=m +CONFIG_SCSI_ADVANSYS=m +CONFIG_SCSI_ARCMSR=m +CONFIG_MEGARAID_NEWGEN=y +CONFIG_MEGARAID_MM=m +CONFIG_MEGARAID_MAILBOX=m +CONFIG_MEGARAID_LEGACY=m +CONFIG_MEGARAID_SAS=m +CONFIG_SCSI_MPT2SAS=m +CONFIG_SCSI_MPT2SAS_MAX_SGE=128 +# CONFIG_SCSI_MPT2SAS_LOGGING is not set +CONFIG_SCSI_HPTIOP=m +CONFIG_SCSI_BUSLOGIC=m +CONFIG_VMWARE_PVSCSI=m +CONFIG_LIBFC=m +CONFIG_LIBFCOE=m +CONFIG_FCOE=m +CONFIG_FCOE_FNIC=m +CONFIG_SCSI_DMX3191D=m +CONFIG_SCSI_EATA=m +# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set +# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set +CONFIG_SCSI_EATA_MAX_TAGS=16 +CONFIG_SCSI_FUTURE_DOMAIN=m +CONFIG_SCSI_GDTH=m +CONFIG_SCSI_ISCI=m +CONFIG_SCSI_IPS=m +CONFIG_SCSI_INITIO=m +CONFIG_SCSI_INIA100=m +CONFIG_SCSI_PPA=m +CONFIG_SCSI_IMM=m +# CONFIG_SCSI_IZIP_EPP16 is not set +# CONFIG_SCSI_IZIP_SLOW_CTR is not set +CONFIG_SCSI_STEX=m +CONFIG_SCSI_SYM53C8XX_2=m +CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 +CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 +CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 +CONFIG_SCSI_SYM53C8XX_MMIO=y +CONFIG_SCSI_IPR=m +# CONFIG_SCSI_IPR_TRACE is not set +# CONFIG_SCSI_IPR_DUMP is not set +CONFIG_SCSI_QLOGIC_1280=m +CONFIG_SCSI_QLA_FC=m +CONFIG_SCSI_QLA_ISCSI=m +CONFIG_SCSI_LPFC=m +# CONFIG_SCSI_LPFC_DEBUG_FS is not set +CONFIG_SCSI_DC395x=m +CONFIG_SCSI_DC390T=m +# CONFIG_SCSI_DEBUG is not set +CONFIG_SCSI_PMCRAID=m +CONFIG_SCSI_PM8001=m +CONFIG_SCSI_SRP=m +CONFIG_SCSI_BFA_FC=m +CONFIG_SCSI_LOWLEVEL_PCMCIA=y +CONFIG_PCMCIA_AHA152X=m +CONFIG_PCMCIA_FDOMAIN=m +CONFIG_PCMCIA_QLOGIC=m +CONFIG_PCMCIA_SYM53C500=m +CONFIG_SCSI_DH=m +CONFIG_SCSI_DH_RDAC=m +CONFIG_SCSI_DH_HP_SW=m +CONFIG_SCSI_DH_EMC=m +CONFIG_SCSI_DH_ALUA=m +CONFIG_SCSI_OSD_INITIATOR=m +CONFIG_SCSI_OSD_ULD=m +CONFIG_SCSI_OSD_DPRINT_SENSE=0 +# CONFIG_SCSI_OSD_DEBUG is not set +CONFIG_ATA=m +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_VERBOSE_ERROR=y +CONFIG_ATA_ACPI=y +CONFIG_SATA_PMP=y + +# +# Controllers with non-SFF native interface +# +CONFIG_SATA_AHCI=m +CONFIG_SATA_AHCI_PLATFORM=m +CONFIG_SATA_INIC162X=m +CONFIG_SATA_ACARD_AHCI=m +CONFIG_SATA_SIL24=m +CONFIG_ATA_SFF=y + +# +# SFF controllers with custom DMA interface +# +CONFIG_PDC_ADMA=m +CONFIG_SATA_QSTOR=m +CONFIG_SATA_SX4=m +CONFIG_ATA_BMDMA=y + +# +# SATA SFF controllers with BMDMA +# +CONFIG_ATA_PIIX=m +CONFIG_SATA_MV=m +CONFIG_SATA_NV=m +CONFIG_SATA_PROMISE=m +CONFIG_SATA_SIL=m +CONFIG_SATA_SIS=m +CONFIG_SATA_SVW=m +CONFIG_SATA_ULI=m +CONFIG_SATA_VIA=m +CONFIG_SATA_VITESSE=m + +# +# PATA SFF controllers with BMDMA +# +CONFIG_PATA_ALI=m +CONFIG_PATA_AMD=m +CONFIG_PATA_ARASAN_CF=m +CONFIG_PATA_ARTOP=m +CONFIG_PATA_ATIIXP=m +CONFIG_PATA_ATP867X=m +CONFIG_PATA_CMD64X=m +CONFIG_PATA_CS5520=m +CONFIG_PATA_CS5530=m +CONFIG_PATA_CS5536=m +CONFIG_PATA_CYPRESS=m +CONFIG_PATA_EFAR=m +CONFIG_PATA_HPT366=m +CONFIG_PATA_HPT37X=m +CONFIG_PATA_HPT3X2N=m +CONFIG_PATA_HPT3X3=m +# CONFIG_PATA_HPT3X3_DMA is not set +CONFIG_PATA_IT8213=m +CONFIG_PATA_IT821X=m +CONFIG_PATA_JMICRON=m +CONFIG_PATA_MARVELL=m +CONFIG_PATA_NETCELL=m +CONFIG_PATA_NINJA32=m +CONFIG_PATA_NS87415=m +CONFIG_PATA_OLDPIIX=m +CONFIG_PATA_OPTIDMA=m +CONFIG_PATA_PDC2027X=m +CONFIG_PATA_PDC_OLD=m +CONFIG_PATA_RADISYS=m +CONFIG_PATA_RDC=m +CONFIG_PATA_SC1200=m +CONFIG_PATA_SCH=m +CONFIG_PATA_SERVERWORKS=m +CONFIG_PATA_SIL680=m +CONFIG_PATA_SIS=m +CONFIG_PATA_TOSHIBA=m +CONFIG_PATA_TRIFLEX=m +CONFIG_PATA_VIA=m +CONFIG_PATA_WINBOND=m + +# +# PIO-only SFF controllers +# +CONFIG_PATA_CMD640_PCI=m +CONFIG_PATA_MPIIX=m +CONFIG_PATA_NS87410=m +CONFIG_PATA_OPTI=m +CONFIG_PATA_PCMCIA=m +CONFIG_PATA_RZ1000=m + +# +# Generic fallback / legacy drivers +# +CONFIG_PATA_ACPI=m +CONFIG_ATA_GENERIC=m +CONFIG_PATA_LEGACY=m +CONFIG_MD=y +CONFIG_BLK_DEV_MD=m +CONFIG_MD_LINEAR=m +CONFIG_MD_RAID0=m +CONFIG_MD_RAID1=m +CONFIG_MD_RAID10=m +CONFIG_MD_RAID456=m +# CONFIG_MULTICORE_RAID456 is not set +CONFIG_MD_MULTIPATH=m +CONFIG_MD_FAULTY=m +CONFIG_BLK_DEV_DM=m +# CONFIG_DM_DEBUG is not set +CONFIG_DM_BUFIO=m +CONFIG_DM_PERSISTENT_DATA=m +CONFIG_DM_CRYPT=m +CONFIG_DM_SNAPSHOT=m +CONFIG_DM_THIN_PROVISIONING=m +# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set +# CONFIG_DM_DEBUG_SPACE_MAPS is not set +CONFIG_DM_MIRROR=m +CONFIG_DM_RAID=m +CONFIG_DM_LOG_USERSPACE=m +CONFIG_DM_ZERO=m +CONFIG_DM_MULTIPATH=m +CONFIG_DM_MULTIPATH_QL=m +CONFIG_DM_MULTIPATH_ST=m +CONFIG_DM_DELAY=m +CONFIG_DM_UEVENT=y +CONFIG_DM_FLAKEY=m +CONFIG_TARGET_CORE=m +CONFIG_TCM_IBLOCK=m +CONFIG_TCM_FILEIO=m +CONFIG_TCM_PSCSI=m +CONFIG_LOOPBACK_TARGET=m +CONFIG_TCM_FC=m +CONFIG_ISCSI_TARGET=m +CONFIG_FUSION=y +CONFIG_FUSION_SPI=m +CONFIG_FUSION_FC=m +CONFIG_FUSION_SAS=m +CONFIG_FUSION_MAX_SGE=128 +CONFIG_FUSION_CTL=m +# CONFIG_FUSION_LOGGING is not set + +# +# IEEE 1394 (FireWire) support +# +CONFIG_FIREWIRE=m +CONFIG_FIREWIRE_OHCI=m +CONFIG_FIREWIRE_OHCI_DEBUG=y +CONFIG_FIREWIRE_SBP2=m +CONFIG_FIREWIRE_NET=m +CONFIG_FIREWIRE_NOSY=m +CONFIG_I2O=m +CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y +CONFIG_I2O_EXT_ADAPTEC=y +CONFIG_I2O_EXT_ADAPTEC_DMA64=y +CONFIG_I2O_CONFIG=m +CONFIG_I2O_CONFIG_OLD_IOCTL=y +CONFIG_I2O_BUS=m +CONFIG_I2O_BLOCK=m +CONFIG_I2O_SCSI=m +CONFIG_I2O_PROC=m +CONFIG_MACINTOSH_DRIVERS=y +CONFIG_MAC_EMUMOUSEBTN=y +CONFIG_NETDEVICES=y +CONFIG_NET_CORE=y +CONFIG_BONDING=m +CONFIG_DUMMY=m +CONFIG_EQUALIZER=m +# CONFIG_NET_FC is not set +CONFIG_MII=m +CONFIG_IEEE802154_DRIVERS=m +CONFIG_IEEE802154_FAKEHARD=m +CONFIG_IFB=m +CONFIG_MACVLAN=m +CONFIG_MACVTAP=m +CONFIG_NETCONSOLE=m +CONFIG_NETCONSOLE_DYNAMIC=y +CONFIG_NETPOLL=y +# CONFIG_NETPOLL_TRAP is not set +CONFIG_NET_POLL_CONTROLLER=y +CONFIG_RIONET=m +CONFIG_RIONET_TX_SIZE=128 +CONFIG_RIONET_RX_SIZE=128 +CONFIG_TUN=m +CONFIG_VETH=m +CONFIG_VIRTIO_NET=m +CONFIG_SUNGEM_PHY=m +# CONFIG_ARCNET is not set +CONFIG_ATM_DRIVERS=y +# CONFIG_ATM_DUMMY is not set +CONFIG_ATM_TCP=m +CONFIG_ATM_LANAI=m +CONFIG_ATM_ENI=m +# CONFIG_ATM_ENI_DEBUG is not set +# CONFIG_ATM_ENI_TUNE_BURST is not set +CONFIG_ATM_FIRESTREAM=m +CONFIG_ATM_ZATM=m +# CONFIG_ATM_ZATM_DEBUG is not set +CONFIG_ATM_NICSTAR=m +# CONFIG_ATM_NICSTAR_USE_SUNI is not set +# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set +CONFIG_ATM_IDT77252=m +# CONFIG_ATM_IDT77252_DEBUG is not set +# CONFIG_ATM_IDT77252_RCV_ALL is not set +CONFIG_ATM_IDT77252_USE_SUNI=y +CONFIG_ATM_AMBASSADOR=m +# CONFIG_ATM_AMBASSADOR_DEBUG is not set +CONFIG_ATM_HORIZON=m +# CONFIG_ATM_HORIZON_DEBUG is not set +CONFIG_ATM_IA=m +# CONFIG_ATM_IA_DEBUG is not set +CONFIG_ATM_FORE200E=m +# CONFIG_ATM_FORE200E_USE_TASKLET is not set +CONFIG_ATM_FORE200E_TX_RETRY=16 +CONFIG_ATM_FORE200E_DEBUG=0 +CONFIG_ATM_HE=m +# CONFIG_ATM_HE_USE_SUNI is not set +CONFIG_ATM_SOLOS=m + +# +# CAIF transport drivers +# +CONFIG_CAIF_TTY=m +CONFIG_CAIF_SPI_SLAVE=m +CONFIG_CAIF_SPI_SYNC=y +CONFIG_CAIF_HSI=m +CONFIG_ETHERNET=y +CONFIG_MDIO=m +CONFIG_NET_VENDOR_3COM=y +CONFIG_PCMCIA_3C574=m +CONFIG_PCMCIA_3C589=m +CONFIG_VORTEX=m +CONFIG_TYPHOON=m +CONFIG_NET_VENDOR_ADAPTEC=y +CONFIG_ADAPTEC_STARFIRE=m +CONFIG_NET_VENDOR_ALTEON=y +CONFIG_ACENIC=m +# CONFIG_ACENIC_OMIT_TIGON_I is not set +CONFIG_NET_VENDOR_AMD=y +CONFIG_AMD8111_ETH=m +CONFIG_PCNET32=m +CONFIG_PCMCIA_NMCLAN=m +CONFIG_NET_VENDOR_ATHEROS=y +CONFIG_ATL2=m +CONFIG_ATL1=m +CONFIG_ATL1E=m +CONFIG_ATL1C=m +CONFIG_NET_VENDOR_BROADCOM=y +CONFIG_B44=m +CONFIG_B44_PCI_AUTOSELECT=y +CONFIG_B44_PCICORE_AUTOSELECT=y +CONFIG_B44_PCI=y +CONFIG_BNX2=m +CONFIG_CNIC=m +CONFIG_TIGON3=m +CONFIG_BNX2X=m +CONFIG_NET_VENDOR_BROCADE=y +CONFIG_BNA=m +CONFIG_NET_VENDOR_CHELSIO=y +CONFIG_CHELSIO_T1=m +CONFIG_CHELSIO_T1_1G=y +CONFIG_CHELSIO_T3=m +CONFIG_CHELSIO_T4=m +CONFIG_CHELSIO_T4VF=m +CONFIG_NET_VENDOR_CISCO=y +CONFIG_ENIC=m +CONFIG_DNET=m +CONFIG_NET_VENDOR_DEC=y +CONFIG_NET_TULIP=y +CONFIG_DE2104X=m +CONFIG_DE2104X_DSL=0 +CONFIG_TULIP=m +# CONFIG_TULIP_MWI is not set +# CONFIG_TULIP_MMIO is not set +# CONFIG_TULIP_NAPI is not set +CONFIG_DE4X5=m +CONFIG_WINBOND_840=m +CONFIG_DM9102=m +CONFIG_ULI526X=m +CONFIG_PCMCIA_XIRCOM=m +CONFIG_NET_VENDOR_DLINK=y +CONFIG_DE600=m +CONFIG_DE620=m +CONFIG_DL2K=m +CONFIG_SUNDANCE=m +# CONFIG_SUNDANCE_MMIO is not set +CONFIG_NET_VENDOR_EMULEX=y +CONFIG_BE2NET=m +CONFIG_NET_VENDOR_EXAR=y +CONFIG_S2IO=m +CONFIG_VXGE=m +# CONFIG_VXGE_DEBUG_TRACE_ALL is not set +CONFIG_NET_VENDOR_FUJITSU=y +CONFIG_PCMCIA_FMVJ18X=m +CONFIG_NET_VENDOR_HP=y +CONFIG_HP100=m +CONFIG_NET_VENDOR_INTEL=y +CONFIG_E100=m +CONFIG_E1000=m +CONFIG_E1000E=m +CONFIG_IGB=m +CONFIG_IGB_DCA=y +CONFIG_IGBVF=m +CONFIG_IXGB=m +CONFIG_IXGBE=m +CONFIG_IXGBE_DCA=y +CONFIG_IXGBEVF=m +CONFIG_NET_VENDOR_I825XX=y +CONFIG_ZNET=m +CONFIG_IP1000=m +CONFIG_JME=m +CONFIG_NET_VENDOR_MARVELL=y +CONFIG_SKGE=m +# CONFIG_SKGE_DEBUG is not set +CONFIG_SKGE_GENESIS=y +CONFIG_SKY2=m +# CONFIG_SKY2_DEBUG is not set +CONFIG_NET_VENDOR_MELLANOX=y +CONFIG_MLX4_EN=m +CONFIG_MLX4_CORE=m +CONFIG_MLX4_DEBUG=y +CONFIG_NET_VENDOR_MICREL=y +CONFIG_KS8842=m +CONFIG_KS8851=m +CONFIG_KS8851_MLL=m +CONFIG_KSZ884X_PCI=m +CONFIG_NET_VENDOR_MICROCHIP=y +CONFIG_ENC28J60=m +# CONFIG_ENC28J60_WRITEVERIFY is not set +CONFIG_NET_VENDOR_MYRI=y +CONFIG_MYRI10GE=m +CONFIG_MYRI10GE_DCA=y +CONFIG_FEALNX=m +CONFIG_NET_VENDOR_NATSEMI=y +CONFIG_NATSEMI=m +CONFIG_NS83820=m +CONFIG_NET_VENDOR_8390=y +CONFIG_PCMCIA_AXNET=m +CONFIG_NE2K_PCI=m +CONFIG_PCMCIA_PCNET=m +CONFIG_NET_VENDOR_NVIDIA=y +CONFIG_FORCEDETH=m +CONFIG_NET_VENDOR_OKI=y +CONFIG_PCH_GBE=m +CONFIG_ETHOC=m +CONFIG_NET_PACKET_ENGINE=y +CONFIG_HAMACHI=m +CONFIG_YELLOWFIN=m +CONFIG_NET_VENDOR_QLOGIC=y +CONFIG_QLA3XXX=m +CONFIG_QLCNIC=m +CONFIG_QLGE=m +CONFIG_NETXEN_NIC=m +CONFIG_NET_VENDOR_REALTEK=y +CONFIG_ATP=m +CONFIG_8139CP=m +CONFIG_8139TOO=m +# CONFIG_8139TOO_PIO is not set +CONFIG_8139TOO_TUNE_TWISTER=y +CONFIG_8139TOO_8129=y +# CONFIG_8139_OLD_RX_RESET is not set +CONFIG_R8169=m +CONFIG_NET_VENDOR_RDC=y +CONFIG_R6040=m +CONFIG_NET_VENDOR_SEEQ=y +CONFIG_SEEQ8005=m +CONFIG_NET_VENDOR_SILAN=y +CONFIG_SC92031=m +CONFIG_NET_VENDOR_SIS=y +CONFIG_SIS900=m +CONFIG_SIS190=m +CONFIG_SFC=m +CONFIG_SFC_MTD=y +CONFIG_NET_VENDOR_SMSC=y +CONFIG_PCMCIA_SMC91C92=m +CONFIG_EPIC100=m +CONFIG_SMSC9420=m +CONFIG_NET_VENDOR_STMICRO=y +CONFIG_STMMAC_ETH=m +# CONFIG_STMMAC_DEBUG_FS is not set +# CONFIG_STMMAC_DA is not set +CONFIG_STMMAC_RING=y +# CONFIG_STMMAC_CHAINED is not set +CONFIG_NET_VENDOR_SUN=y +CONFIG_HAPPYMEAL=m +CONFIG_SUNGEM=m +CONFIG_CASSINI=m +CONFIG_NIU=m +CONFIG_NET_VENDOR_TEHUTI=y +CONFIG_TEHUTI=m +CONFIG_NET_VENDOR_TI=y +CONFIG_TLAN=m +CONFIG_NET_VENDOR_VIA=y +CONFIG_VIA_RHINE=m +# CONFIG_VIA_RHINE_MMIO is not set +CONFIG_VIA_VELOCITY=m +CONFIG_NET_VENDOR_XIRCOM=y +CONFIG_PCMCIA_XIRC2PS=m +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +CONFIG_NET_SB1000=m +CONFIG_PHYLIB=m + +# +# MII PHY device drivers +# +CONFIG_MARVELL_PHY=m +CONFIG_DAVICOM_PHY=m +CONFIG_QSEMI_PHY=m +CONFIG_LXT_PHY=m +CONFIG_CICADA_PHY=m +CONFIG_VITESSE_PHY=m +CONFIG_SMSC_PHY=m +CONFIG_BROADCOM_PHY=m +CONFIG_ICPLUS_PHY=m +CONFIG_REALTEK_PHY=m +CONFIG_NATIONAL_PHY=m +CONFIG_STE10XP=m +CONFIG_LSI_ET1011C_PHY=m +CONFIG_MICREL_PHY=m +# CONFIG_MDIO_BITBANG is not set +CONFIG_PLIP=m +CONFIG_PPP=m +CONFIG_PPP_BSDCOMP=m +CONFIG_PPP_DEFLATE=m +CONFIG_PPP_FILTER=y +CONFIG_PPP_MPPE=m +CONFIG_PPP_MULTILINK=y +CONFIG_PPPOATM=m +CONFIG_PPPOE=m +CONFIG_PPTP=m +CONFIG_PPPOL2TP=m +CONFIG_PPP_ASYNC=m +CONFIG_PPP_SYNC_TTY=m +CONFIG_SLIP=m +CONFIG_SLHC=m +# CONFIG_SLIP_COMPRESSED is not set +# CONFIG_SLIP_SMART is not set +# CONFIG_SLIP_MODE_SLIP6 is not set +# CONFIG_TR is not set + +# +# USB Network Adapters +# +CONFIG_USB_CATC=m +CONFIG_USB_KAWETH=m +CONFIG_USB_PEGASUS=m +CONFIG_USB_RTL8150=m +CONFIG_USB_USBNET=m +CONFIG_USB_NET_AX8817X=m +CONFIG_USB_NET_CDCETHER=m +CONFIG_USB_NET_CDC_EEM=m +CONFIG_USB_NET_CDC_NCM=m +CONFIG_USB_NET_DM9601=m +CONFIG_USB_NET_SMSC75XX=m +CONFIG_USB_NET_SMSC95XX=m +CONFIG_USB_NET_GL620A=m +CONFIG_USB_NET_NET1080=m +CONFIG_USB_NET_PLUSB=m +CONFIG_USB_NET_MCS7830=m +CONFIG_USB_NET_RNDIS_HOST=m +CONFIG_USB_NET_CDC_SUBSET=m +CONFIG_USB_ALI_M5632=y +CONFIG_USB_AN2720=y +CONFIG_USB_BELKIN=y +CONFIG_USB_ARMLINUX=y +CONFIG_USB_EPSON2888=y +CONFIG_USB_KC2190=y +CONFIG_USB_NET_ZAURUS=m +CONFIG_USB_NET_CX82310_ETH=m +CONFIG_USB_NET_KALMIA=m +CONFIG_USB_HSO=m +CONFIG_USB_NET_INT51X1=m +CONFIG_USB_CDC_PHONET=m +CONFIG_USB_IPHETH=m +CONFIG_USB_SIERRA_NET=m +CONFIG_USB_VL600=m +CONFIG_WLAN=y +CONFIG_PCMCIA_RAYCS=m +CONFIG_LIBERTAS_THINFIRM=m +# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set +CONFIG_LIBERTAS_THINFIRM_USB=m +CONFIG_AIRO=m +CONFIG_ATMEL=m +CONFIG_PCI_ATMEL=m +CONFIG_PCMCIA_ATMEL=m +CONFIG_AT76C50X_USB=m +CONFIG_AIRO_CS=m +CONFIG_PCMCIA_WL3501=m +CONFIG_PRISM54=m +CONFIG_USB_ZD1201=m +CONFIG_USB_NET_RNDIS_WLAN=m +CONFIG_RTL8180=m +CONFIG_RTL8187=m +CONFIG_RTL8187_LEDS=y +CONFIG_ADM8211=m +# CONFIG_MAC80211_HWSIM is not set +CONFIG_MWL8K=m +CONFIG_ATH_COMMON=m +# CONFIG_ATH_DEBUG is not set +CONFIG_ATH5K=m +# CONFIG_ATH5K_DEBUG is not set +# CONFIG_ATH5K_TRACER is not set +CONFIG_ATH5K_PCI=y +CONFIG_ATH9K_HW=m +CONFIG_ATH9K_COMMON=m +CONFIG_ATH9K=m +CONFIG_ATH9K_PCI=y +CONFIG_ATH9K_AHB=y +# CONFIG_ATH9K_DEBUGFS is not set +CONFIG_ATH9K_RATE_CONTROL=y +CONFIG_ATH9K_HTC=m +# CONFIG_ATH9K_HTC_DEBUGFS is not set +CONFIG_CARL9170=m +CONFIG_CARL9170_LEDS=y +CONFIG_CARL9170_WPC=y +# CONFIG_CARL9170_HWRNG is not set +CONFIG_ATH6KL=m +# CONFIG_ATH6KL_DEBUG is not set +CONFIG_B43=m +CONFIG_B43_SSB=y +CONFIG_B43_PCI_AUTOSELECT=y +CONFIG_B43_PCICORE_AUTOSELECT=y +CONFIG_B43_PCMCIA=y +CONFIG_B43_SDIO=y +CONFIG_B43_PIO=y +CONFIG_B43_PHY_N=y +CONFIG_B43_PHY_LP=y +CONFIG_B43_PHY_HT=y +CONFIG_B43_LEDS=y +CONFIG_B43_HWRNG=y +# CONFIG_B43_DEBUG is not set +CONFIG_B43LEGACY=m +CONFIG_B43LEGACY_PCI_AUTOSELECT=y +CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y +CONFIG_B43LEGACY_LEDS=y +CONFIG_B43LEGACY_HWRNG=y +# CONFIG_B43LEGACY_DEBUG is not set +CONFIG_B43LEGACY_DMA=y +CONFIG_B43LEGACY_PIO=y +CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y +# CONFIG_B43LEGACY_DMA_MODE is not set +# CONFIG_B43LEGACY_PIO_MODE is not set +CONFIG_BRCMUTIL=m +CONFIG_BRCMSMAC=m +CONFIG_BRCMFMAC=m +# CONFIG_BRCMDBG is not set +CONFIG_HOSTAP=m +CONFIG_HOSTAP_FIRMWARE=y +# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set +CONFIG_HOSTAP_PLX=m +CONFIG_HOSTAP_PCI=m +CONFIG_HOSTAP_CS=m +CONFIG_IPW2100=m +CONFIG_IPW2100_MONITOR=y +# CONFIG_IPW2100_DEBUG is not set +CONFIG_IPW2200=m +CONFIG_IPW2200_MONITOR=y +CONFIG_IPW2200_RADIOTAP=y +CONFIG_IPW2200_PROMISCUOUS=y +CONFIG_IPW2200_QOS=y +# CONFIG_IPW2200_DEBUG is not set +CONFIG_LIBIPW=m +# CONFIG_LIBIPW_DEBUG is not set +CONFIG_IWLWIFI=m + +# +# Debugging Options +# +# CONFIG_IWLWIFI_DEBUG is not set +CONFIG_IWLWIFI_DEVICE_TRACING=y +CONFIG_IWLWIFI_DEVICE_SVTOOL=y +CONFIG_IWLWIFI_LEGACY=m + +# +# Debugging Options +# +# CONFIG_IWLWIFI_LEGACY_DEBUG is not set +# CONFIG_IWLWIFI_LEGACY_DEVICE_TRACING is not set +CONFIG_IWL4965=m +CONFIG_IWL3945=m +CONFIG_IWM=m +# CONFIG_IWM_DEBUG is not set +CONFIG_IWM_TRACING=y +CONFIG_LIBERTAS=m +CONFIG_LIBERTAS_USB=m +CONFIG_LIBERTAS_CS=m +CONFIG_LIBERTAS_SDIO=m +CONFIG_LIBERTAS_SPI=m +# CONFIG_LIBERTAS_DEBUG is not set +CONFIG_LIBERTAS_MESH=y +CONFIG_HERMES=m +CONFIG_HERMES_PRISM=y +CONFIG_HERMES_CACHE_FW_ON_INIT=y +CONFIG_PLX_HERMES=m +CONFIG_TMD_HERMES=m +CONFIG_NORTEL_HERMES=m +CONFIG_PCI_HERMES=m +CONFIG_PCMCIA_HERMES=m +CONFIG_PCMCIA_SPECTRUM=m +CONFIG_ORINOCO_USB=m +CONFIG_P54_COMMON=m +CONFIG_P54_USB=m +CONFIG_P54_PCI=m +CONFIG_P54_SPI=m +CONFIG_P54_SPI_DEFAULT_EEPROM=y +CONFIG_P54_LEDS=y +CONFIG_RT2X00=m +CONFIG_RT2400PCI=m +CONFIG_RT2500PCI=m +CONFIG_RT61PCI=m +CONFIG_RT2800PCI=m +CONFIG_RT2800PCI_RT33XX=y +CONFIG_RT2800PCI_RT35XX=y +CONFIG_RT2800PCI_RT53XX=y +CONFIG_RT2500USB=m +CONFIG_RT73USB=m +CONFIG_RT2800USB=m +CONFIG_RT2800USB_RT33XX=y +CONFIG_RT2800USB_RT35XX=y +CONFIG_RT2800USB_RT53XX=y +CONFIG_RT2800USB_UNKNOWN=y +CONFIG_RT2800_LIB=m +CONFIG_RT2X00_LIB_PCI=m +CONFIG_RT2X00_LIB_USB=m +CONFIG_RT2X00_LIB=m +CONFIG_RT2X00_LIB_FIRMWARE=y +CONFIG_RT2X00_LIB_CRYPTO=y +CONFIG_RT2X00_LIB_LEDS=y +# CONFIG_RT2X00_DEBUG is not set +CONFIG_RTL8192CE=m +CONFIG_RTL8192SE=m +CONFIG_RTL8192DE=m +CONFIG_RTL8192CU=m +CONFIG_RTLWIFI=m +CONFIG_RTL8192C_COMMON=m +CONFIG_WL1251=m +CONFIG_WL1251_SPI=m +CONFIG_WL1251_SDIO=m +CONFIG_WL12XX_MENU=m +CONFIG_WL12XX=m +CONFIG_WL12XX_SPI=m +CONFIG_WL12XX_SDIO=m +CONFIG_WL12XX_SDIO_TEST=m +CONFIG_WL12XX_PLATFORM_DATA=y +CONFIG_ZD1211RW=m +# CONFIG_ZD1211RW_DEBUG is not set +CONFIG_MWIFIEX=m +CONFIG_MWIFIEX_SDIO=m +CONFIG_MWIFIEX_PCIE=m + +# +# WiMAX Wireless Broadband devices +# +CONFIG_WIMAX_I2400M=m +CONFIG_WIMAX_I2400M_USB=m +CONFIG_WIMAX_I2400M_SDIO=m +# CONFIG_WIMAX_IWMC3200_SDIO is not set +CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 +# CONFIG_WAN is not set +CONFIG_XEN_NETDEV_FRONTEND=m +CONFIG_XEN_NETDEV_BACKEND=m +CONFIG_VMXNET3=m +CONFIG_ISDN=y +CONFIG_ISDN_I4L=m +CONFIG_ISDN_PPP=y +CONFIG_ISDN_PPP_VJ=y +CONFIG_ISDN_MPP=y +CONFIG_IPPP_FILTER=y +CONFIG_ISDN_PPP_BSDCOMP=m +CONFIG_ISDN_AUDIO=y +CONFIG_ISDN_TTY_FAX=y + +# +# ISDN feature submodules +# +CONFIG_ISDN_DIVERSION=m + +# +# ISDN4Linux hardware drivers +# + +# +# Passive cards +# +CONFIG_ISDN_DRV_HISAX=m + +# +# D-channel protocol features +# +CONFIG_HISAX_EURO=y +CONFIG_DE_AOC=y +# CONFIG_HISAX_NO_SENDCOMPLETE is not set +# CONFIG_HISAX_NO_LLC is not set +# CONFIG_HISAX_NO_KEYPAD is not set +CONFIG_HISAX_1TR6=y +CONFIG_HISAX_NI1=y +CONFIG_HISAX_MAX_CARDS=8 + +# +# HiSax supported cards +# +CONFIG_HISAX_16_3=y +CONFIG_HISAX_TELESPCI=y +CONFIG_HISAX_S0BOX=y +CONFIG_HISAX_FRITZPCI=y +CONFIG_HISAX_AVM_A1_PCMCIA=y +CONFIG_HISAX_ELSA=y +CONFIG_HISAX_DIEHLDIVA=y +CONFIG_HISAX_SEDLBAUER=y +CONFIG_HISAX_NETJET=y +CONFIG_HISAX_NETJET_U=y +CONFIG_HISAX_NICCY=y +CONFIG_HISAX_BKM_A4T=y +CONFIG_HISAX_SCT_QUADRO=y +CONFIG_HISAX_GAZEL=y +CONFIG_HISAX_HFC_PCI=y +CONFIG_HISAX_W6692=y +CONFIG_HISAX_HFC_SX=y +CONFIG_HISAX_ENTERNOW_PCI=y +# CONFIG_HISAX_DEBUG is not set + +# +# HiSax PCMCIA card service modules +# +CONFIG_HISAX_SEDLBAUER_CS=m +CONFIG_HISAX_ELSA_CS=m +CONFIG_HISAX_AVM_A1_CS=m +CONFIG_HISAX_TELES_CS=m + +# +# HiSax sub driver modules +# +CONFIG_HISAX_ST5481=m +CONFIG_HISAX_HFCUSB=m +CONFIG_HISAX_HFC4S8S=m +CONFIG_HISAX_FRITZ_PCIPNP=m + +# +# Active cards +# +CONFIG_ISDN_CAPI=m +CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y +CONFIG_CAPI_TRACE=y +CONFIG_ISDN_CAPI_MIDDLEWARE=y +CONFIG_ISDN_CAPI_CAPI20=m +CONFIG_ISDN_CAPI_CAPIDRV=m + +# +# CAPI hardware drivers +# +CONFIG_CAPI_AVM=y +CONFIG_ISDN_DRV_AVMB1_B1PCI=m +CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y +CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m +CONFIG_ISDN_DRV_AVMB1_AVM_CS=m +CONFIG_ISDN_DRV_AVMB1_T1PCI=m +CONFIG_ISDN_DRV_AVMB1_C4=m +CONFIG_CAPI_EICON=y +CONFIG_ISDN_DIVAS=m +CONFIG_ISDN_DIVAS_BRIPCI=y +CONFIG_ISDN_DIVAS_PRIPCI=y +CONFIG_ISDN_DIVAS_DIVACAPI=m +CONFIG_ISDN_DIVAS_USERIDI=m +CONFIG_ISDN_DIVAS_MAINT=m +CONFIG_ISDN_DRV_GIGASET=m +CONFIG_GIGASET_CAPI=y +# CONFIG_GIGASET_I4L is not set +# CONFIG_GIGASET_DUMMYLL is not set +CONFIG_GIGASET_BASE=m +CONFIG_GIGASET_M105=m +CONFIG_GIGASET_M101=m +# CONFIG_GIGASET_DEBUG is not set +CONFIG_HYSDN=m +CONFIG_HYSDN_CAPI=y +CONFIG_MISDN=m +CONFIG_MISDN_DSP=m +CONFIG_MISDN_L1OIP=m + +# +# mISDN hardware drivers +# +CONFIG_MISDN_HFCPCI=m +CONFIG_MISDN_HFCMULTI=m +CONFIG_MISDN_HFCUSB=m +CONFIG_MISDN_AVMFRITZ=m +CONFIG_MISDN_SPEEDFAX=m +CONFIG_MISDN_INFINEON=m +CONFIG_MISDN_W6692=m +CONFIG_MISDN_NETJET=m +CONFIG_MISDN_IPAC=m +CONFIG_MISDN_ISAR=m +CONFIG_ISDN_HDLC=m +# CONFIG_PHONE is not set + +# +# Input device support +# +CONFIG_INPUT=y +CONFIG_INPUT_FF_MEMLESS=m +CONFIG_INPUT_POLLDEV=m +CONFIG_INPUT_SPARSEKMAP=m + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_JOYDEV=m +CONFIG_INPUT_EVDEV=m +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +CONFIG_KEYBOARD_ADP5588=m +CONFIG_KEYBOARD_ADP5589=m +CONFIG_KEYBOARD_ATKBD=y +CONFIG_KEYBOARD_QT1070=m +CONFIG_KEYBOARD_QT2160=m +# CONFIG_KEYBOARD_LKKBD is not set +CONFIG_KEYBOARD_GPIO=m +CONFIG_KEYBOARD_GPIO_POLLED=m +CONFIG_KEYBOARD_TCA6416=m +CONFIG_KEYBOARD_MATRIX=m +# CONFIG_KEYBOARD_LM8323 is not set +# CONFIG_KEYBOARD_MAX7359 is not set +CONFIG_KEYBOARD_MCS=m +CONFIG_KEYBOARD_MPR121=m +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_OPENCORES is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=m +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_LIFEBOOK=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +CONFIG_MOUSE_PS2_ELANTECH=y +CONFIG_MOUSE_PS2_SENTELIC=y +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +CONFIG_MOUSE_SERIAL=y +CONFIG_MOUSE_APPLETOUCH=m +CONFIG_MOUSE_BCM5974=m +CONFIG_MOUSE_VSXXXAA=m +CONFIG_MOUSE_GPIO=m +CONFIG_MOUSE_SYNAPTICS_I2C=m +CONFIG_INPUT_JOYSTICK=y +CONFIG_JOYSTICK_ANALOG=m +CONFIG_JOYSTICK_A3D=m +CONFIG_JOYSTICK_ADI=m +CONFIG_JOYSTICK_COBRA=m +CONFIG_JOYSTICK_GF2K=m +CONFIG_JOYSTICK_GRIP=m +CONFIG_JOYSTICK_GRIP_MP=m +CONFIG_JOYSTICK_GUILLEMOT=m +CONFIG_JOYSTICK_INTERACT=m +CONFIG_JOYSTICK_SIDEWINDER=m +CONFIG_JOYSTICK_TMDC=m +CONFIG_JOYSTICK_IFORCE=m +CONFIG_JOYSTICK_IFORCE_USB=y +CONFIG_JOYSTICK_IFORCE_232=y +CONFIG_JOYSTICK_WARRIOR=m +CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_SPACEORB=m +CONFIG_JOYSTICK_SPACEBALL=m +CONFIG_JOYSTICK_STINGER=m +CONFIG_JOYSTICK_TWIDJOY=m +CONFIG_JOYSTICK_ZHENHUA=m +CONFIG_JOYSTICK_DB9=m +CONFIG_JOYSTICK_GAMECON=m +CONFIG_JOYSTICK_TURBOGRAFX=m +CONFIG_JOYSTICK_AS5011=m +CONFIG_JOYSTICK_JOYDUMP=m +CONFIG_JOYSTICK_XPAD=m +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +CONFIG_JOYSTICK_WALKERA0701=m +CONFIG_INPUT_TABLET=y +CONFIG_TABLET_USB_ACECAD=m +CONFIG_TABLET_USB_AIPTEK=m +CONFIG_TABLET_USB_GTCO=m +CONFIG_TABLET_USB_HANWANG=m +CONFIG_TABLET_USB_KBTAB=m +CONFIG_TABLET_USB_WACOM=m +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_ADS7846=m +CONFIG_TOUCHSCREEN_AD7877=m +CONFIG_TOUCHSCREEN_AD7879=m +CONFIG_TOUCHSCREEN_AD7879_I2C=m +CONFIG_TOUCHSCREEN_AD7879_SPI=m +CONFIG_TOUCHSCREEN_ATMEL_MXT=m +CONFIG_TOUCHSCREEN_BU21013=m +CONFIG_TOUCHSCREEN_CY8CTMG110=m +CONFIG_TOUCHSCREEN_DYNAPRO=m +CONFIG_TOUCHSCREEN_HAMPSHIRE=m +CONFIG_TOUCHSCREEN_EETI=m +CONFIG_TOUCHSCREEN_FUJITSU=m +CONFIG_TOUCHSCREEN_GUNZE=m +CONFIG_TOUCHSCREEN_ELO=m +CONFIG_TOUCHSCREEN_WACOM_W8001=m +CONFIG_TOUCHSCREEN_MAX11801=m +CONFIG_TOUCHSCREEN_MCS5000=m +CONFIG_TOUCHSCREEN_MTOUCH=m +CONFIG_TOUCHSCREEN_INEXIO=m +CONFIG_TOUCHSCREEN_MK712=m +CONFIG_TOUCHSCREEN_PENMOUNT=m +CONFIG_TOUCHSCREEN_TOUCHRIGHT=m +CONFIG_TOUCHSCREEN_TOUCHWIN=m +CONFIG_TOUCHSCREEN_UCB1400=m +CONFIG_TOUCHSCREEN_WM831X=m +CONFIG_TOUCHSCREEN_WM97XX=m +CONFIG_TOUCHSCREEN_WM9705=y +CONFIG_TOUCHSCREEN_WM9712=y +CONFIG_TOUCHSCREEN_WM9713=y +CONFIG_TOUCHSCREEN_USB_COMPOSITE=m +CONFIG_TOUCHSCREEN_MC13783=m +CONFIG_TOUCHSCREEN_USB_EGALAX=y +CONFIG_TOUCHSCREEN_USB_PANJIT=y +CONFIG_TOUCHSCREEN_USB_3M=y +CONFIG_TOUCHSCREEN_USB_ITM=y +CONFIG_TOUCHSCREEN_USB_ETURBO=y +CONFIG_TOUCHSCREEN_USB_GUNZE=y +CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y +CONFIG_TOUCHSCREEN_USB_IRTOUCH=y +CONFIG_TOUCHSCREEN_USB_IDEALTEK=y +CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y +CONFIG_TOUCHSCREEN_USB_GOTOP=y +CONFIG_TOUCHSCREEN_USB_JASTEC=y +CONFIG_TOUCHSCREEN_USB_E2I=y +CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y +CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y +CONFIG_TOUCHSCREEN_USB_NEXIO=y +CONFIG_TOUCHSCREEN_TOUCHIT213=m +CONFIG_TOUCHSCREEN_TSC_SERIO=m +CONFIG_TOUCHSCREEN_TSC2005=m +CONFIG_TOUCHSCREEN_TSC2007=m +CONFIG_TOUCHSCREEN_PCAP=m +CONFIG_TOUCHSCREEN_ST1232=m +CONFIG_TOUCHSCREEN_TPS6507X=m +CONFIG_INPUT_MISC=y +CONFIG_INPUT_AB8500_PONKEY=m +CONFIG_INPUT_AD714X=m +CONFIG_INPUT_AD714X_I2C=m +CONFIG_INPUT_AD714X_SPI=m +CONFIG_INPUT_BMA150=m +CONFIG_INPUT_PCSPKR=m +CONFIG_INPUT_MC13783_PWRBUTTON=m +CONFIG_INPUT_MMA8450=m +CONFIG_INPUT_MPU3050=m +CONFIG_INPUT_APANEL=m +CONFIG_INPUT_ATLAS_BTNS=m +CONFIG_INPUT_ATI_REMOTE2=m +CONFIG_INPUT_KEYSPAN_REMOTE=m +CONFIG_INPUT_KXTJ9=m +# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set +CONFIG_INPUT_POWERMATE=m +CONFIG_INPUT_YEALINK=m +CONFIG_INPUT_CM109=m +CONFIG_INPUT_UINPUT=m +CONFIG_INPUT_PCF50633_PMU=m +CONFIG_INPUT_PCF8574=m +CONFIG_INPUT_GPIO_ROTARY_ENCODER=m +CONFIG_INPUT_WM831X_ON=m +# CONFIG_INPUT_PCAP is not set +CONFIG_INPUT_ADXL34X=m +CONFIG_INPUT_ADXL34X_I2C=m +CONFIG_INPUT_ADXL34X_SPI=m +CONFIG_INPUT_CMA3000=m +CONFIG_INPUT_CMA3000_I2C=m +CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_I8042=y +CONFIG_SERIO_SERPORT=m +CONFIG_SERIO_CT82C710=m +CONFIG_SERIO_PARKBD=m +CONFIG_SERIO_PCIPS2=m +CONFIG_SERIO_LIBPS2=y +CONFIG_SERIO_RAW=m +CONFIG_SERIO_ALTERA_PS2=m +CONFIG_SERIO_PS2MULT=m +CONFIG_GAMEPORT=m +CONFIG_GAMEPORT_NS558=m +CONFIG_GAMEPORT_L4=m +CONFIG_GAMEPORT_EMU10K1=m +CONFIG_GAMEPORT_FM801=m + +# +# Character devices +# +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_HW_CONSOLE=y +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_UNIX98_PTYS=y +CONFIG_DEVPTS_MULTIPLE_INSTANCES=y +# CONFIG_LEGACY_PTYS is not set +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_ROCKETPORT=m +CONFIG_CYCLADES=m +# CONFIG_CYZ_INTR is not set +# CONFIG_MOXA_INTELLIO is not set +# CONFIG_MOXA_SMARTIO is not set +CONFIG_SYNCLINK=m +CONFIG_SYNCLINKMP=m +# CONFIG_SYNCLINK_GT is not set +CONFIG_NOZOMI=m +# CONFIG_ISI is not set +CONFIG_N_HDLC=m +CONFIG_N_GSM=m +CONFIG_TRACE_ROUTER=m +CONFIG_TRACE_SINK=m +# CONFIG_DEVKMEM is not set +# CONFIG_STALDRV is not set + +# +# Serial drivers +# +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_SERIAL_8250_PCI=y +CONFIG_SERIAL_8250_PNP=y +CONFIG_SERIAL_8250_CS=m +CONFIG_SERIAL_8250_NR_UARTS=32 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +# CONFIG_SERIAL_8250_EXTENDED is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_MAX3100=m +CONFIG_SERIAL_MAX3107=m +CONFIG_SERIAL_MFD_HSU=m +CONFIG_SERIAL_UARTLITE=m +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_SERIAL_JSM=m +CONFIG_SERIAL_TIMBERDALE=m +CONFIG_SERIAL_ALTERA_JTAGUART=m +CONFIG_SERIAL_ALTERA_UART=m +CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4 +CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200 +CONFIG_SERIAL_IFX6X60=m +CONFIG_SERIAL_PCH_UART=m +CONFIG_SERIAL_XILINX_PS_UART=m +CONFIG_PRINTER=m +# CONFIG_LP_CONSOLE is not set +CONFIG_PPDEV=m +CONFIG_HVC_DRIVER=y +CONFIG_HVC_IRQ=y +CONFIG_HVC_XEN=y +CONFIG_VIRTIO_CONSOLE=m +CONFIG_IPMI_HANDLER=m +# CONFIG_IPMI_PANIC_EVENT is not set +CONFIG_IPMI_DEVICE_INTERFACE=m +CONFIG_IPMI_SI=m +CONFIG_IPMI_WATCHDOG=m +CONFIG_IPMI_POWEROFF=m +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_TIMERIOMEM=m +CONFIG_HW_RANDOM_INTEL=m +CONFIG_HW_RANDOM_AMD=m +CONFIG_HW_RANDOM_VIA=m +CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_NVRAM=m +CONFIG_R3964=m +CONFIG_APPLICOM=m + +# +# PCMCIA character devices +# +CONFIG_SYNCLINK_CS=m +CONFIG_CARDMAN_4000=m +CONFIG_CARDMAN_4040=m +CONFIG_IPWIRELESS=m +CONFIG_MWAVE=m +# CONFIG_RAW_DRIVER is not set +CONFIG_HPET=y +CONFIG_HPET_MMAP=y +CONFIG_HANGCHECK_TIMER=m +CONFIG_TCG_TPM=m +CONFIG_TCG_TIS=m +CONFIG_TCG_NSC=m +CONFIG_TCG_ATMEL=m +CONFIG_TCG_INFINEON=m +CONFIG_TELCLOCK=m +CONFIG_DEVPORT=y +CONFIG_RAMOOPS=m +CONFIG_I2C=m +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_CHARDEV=m +CONFIG_I2C_MUX=m + +# +# Multiplexer I2C Chip support +# +CONFIG_I2C_MUX_GPIO=m +CONFIG_I2C_MUX_PCA9541=m +CONFIG_I2C_MUX_PCA954x=m +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_SMBUS=m +CONFIG_I2C_ALGOBIT=m +CONFIG_I2C_ALGOPCA=m + +# +# I2C Hardware Bus support +# + +# +# PC SMBus host controller drivers +# +CONFIG_I2C_ALI1535=m +CONFIG_I2C_ALI1563=m +CONFIG_I2C_ALI15X3=m +CONFIG_I2C_AMD756=m +CONFIG_I2C_AMD756_S4882=m +CONFIG_I2C_AMD8111=m +CONFIG_I2C_I801=m +CONFIG_I2C_ISCH=m +CONFIG_I2C_PIIX4=m +CONFIG_I2C_NFORCE2=m +CONFIG_I2C_NFORCE2_S4985=m +CONFIG_I2C_SIS5595=m +CONFIG_I2C_SIS630=m +CONFIG_I2C_SIS96X=m +CONFIG_I2C_VIA=m +CONFIG_I2C_VIAPRO=m + +# +# ACPI drivers +# +CONFIG_I2C_SCMI=m + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +CONFIG_I2C_DESIGNWARE_PCI=m +CONFIG_I2C_GPIO=m +CONFIG_I2C_INTEL_MID=m +CONFIG_I2C_OCORES=m +CONFIG_I2C_PCA_PLATFORM=m +# CONFIG_I2C_PXA_PCI is not set +CONFIG_I2C_SIMTEC=m +CONFIG_I2C_XILINX=m +CONFIG_I2C_EG20T=m + +# +# External I2C/SMBus adapter drivers +# +CONFIG_I2C_DIOLAN_U2C=m +CONFIG_I2C_PARPORT=m +CONFIG_I2C_PARPORT_LIGHT=m +CONFIG_I2C_TAOS_EVM=m +CONFIG_I2C_TINY_USB=m + +# +# Other I2C/SMBus bus drivers +# +# CONFIG_I2C_STUB is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +CONFIG_SPI_ALTERA=m +CONFIG_SPI_BITBANG=m +CONFIG_SPI_BUTTERFLY=m +CONFIG_SPI_GPIO=m +CONFIG_SPI_LM70_LLP=m +CONFIG_SPI_OC_TINY=m +# CONFIG_SPI_PXA2XX_PCI is not set +CONFIG_SPI_TOPCLIFF_PCH=m +CONFIG_SPI_XILINX=m +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=m +CONFIG_SPI_TLE62X0=m + +# +# PPS support +# +CONFIG_PPS=m +# CONFIG_PPS_DEBUG is not set + +# +# PPS clients support +# +CONFIG_PPS_CLIENT_KTIMER=m +CONFIG_PPS_CLIENT_LDISC=m +CONFIG_PPS_CLIENT_PARPORT=m +CONFIG_PPS_CLIENT_GPIO=m + +# +# PPS generators support +# + +# +# PTP clock support +# +CONFIG_PTP_1588_CLOCK=m +CONFIG_DP83640_PHY=m +CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y +CONFIG_GPIOLIB=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC=m +CONFIG_GPIO_MAX730X=m + +# +# Memory mapped GPIO drivers: +# +CONFIG_GPIO_GENERIC_PLATFORM=m +CONFIG_GPIO_IT8761E=m +CONFIG_GPIO_SCH=m +CONFIG_GPIO_VX855=m + +# +# I2C GPIO expanders: +# +CONFIG_GPIO_MAX7300=m +CONFIG_GPIO_MAX732X=m +CONFIG_GPIO_PCA953X=m +CONFIG_GPIO_PCF857X=m +CONFIG_GPIO_TPS65912=m +CONFIG_GPIO_WM831X=m +CONFIG_GPIO_ADP5588=m + +# +# PCI GPIO expanders: +# +CONFIG_GPIO_CS5535=m +CONFIG_GPIO_LANGWELL=y +CONFIG_GPIO_PCH=m +CONFIG_GPIO_ML_IOH=m +CONFIG_GPIO_TIMBERDALE=y +CONFIG_GPIO_RDC321X=m + +# +# SPI GPIO expanders: +# +CONFIG_GPIO_MAX7301=m +CONFIG_GPIO_MCP23S08=m +CONFIG_GPIO_MC33880=m +CONFIG_GPIO_74X164=m + +# +# AC97 GPIO expanders: +# +CONFIG_GPIO_UCB1400=y + +# +# MODULbus GPIO expanders: +# +CONFIG_GPIO_JANZ_TTL=m +CONFIG_W1=m +CONFIG_W1_CON=y + +# +# 1-wire Bus Masters +# +CONFIG_W1_MASTER_MATROX=m +CONFIG_W1_MASTER_DS2490=m +CONFIG_W1_MASTER_DS2482=m +CONFIG_W1_MASTER_DS1WM=m +CONFIG_W1_MASTER_GPIO=m + +# +# 1-wire Slaves +# +CONFIG_W1_SLAVE_THERM=m +CONFIG_W1_SLAVE_SMEM=m +CONFIG_W1_SLAVE_DS2408=m +CONFIG_W1_SLAVE_DS2423=m +CONFIG_W1_SLAVE_DS2431=m +CONFIG_W1_SLAVE_DS2433=m +# CONFIG_W1_SLAVE_DS2433_CRC is not set +CONFIG_W1_SLAVE_DS2760=m +CONFIG_W1_SLAVE_DS2780=m +CONFIG_W1_SLAVE_BQ27000=m +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +CONFIG_PDA_POWER=m +CONFIG_WM831X_BACKUP=m +CONFIG_WM831X_POWER=m +CONFIG_TEST_POWER=m +CONFIG_BATTERY_DS2760=m +CONFIG_BATTERY_DS2780=m +CONFIG_BATTERY_DS2782=m +CONFIG_BATTERY_BQ20Z75=m +CONFIG_BATTERY_BQ27x00=m +CONFIG_BATTERY_BQ27X00_I2C=y +CONFIG_BATTERY_BQ27X00_PLATFORM=y +CONFIG_BATTERY_MAX17040=m +CONFIG_BATTERY_MAX17042=m +CONFIG_CHARGER_PCF50633=m +CONFIG_CHARGER_ISP1704=m +CONFIG_CHARGER_MAX8903=m +CONFIG_CHARGER_GPIO=m +CONFIG_HWMON=y +CONFIG_HWMON_VID=m +# CONFIG_HWMON_DEBUG_CHIP is not set + +# +# Native drivers +# +CONFIG_SENSORS_ABITUGURU=m +CONFIG_SENSORS_ABITUGURU3=m +CONFIG_SENSORS_AD7314=m +CONFIG_SENSORS_AD7414=m +CONFIG_SENSORS_AD7418=m +CONFIG_SENSORS_ADCXX=m +CONFIG_SENSORS_ADM1021=m +CONFIG_SENSORS_ADM1025=m +CONFIG_SENSORS_ADM1026=m +CONFIG_SENSORS_ADM1029=m +CONFIG_SENSORS_ADM1031=m +CONFIG_SENSORS_ADM9240=m +CONFIG_SENSORS_ADT7411=m +CONFIG_SENSORS_ADT7462=m +CONFIG_SENSORS_ADT7470=m +CONFIG_SENSORS_ADT7475=m +CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_K8TEMP=m +CONFIG_SENSORS_K10TEMP=m +CONFIG_SENSORS_FAM15H_POWER=m +CONFIG_SENSORS_ASB100=m +CONFIG_SENSORS_ATXP1=m +CONFIG_SENSORS_DS620=m +CONFIG_SENSORS_DS1621=m +CONFIG_SENSORS_I5K_AMB=m +CONFIG_SENSORS_F71805F=m +CONFIG_SENSORS_F71882FG=m +CONFIG_SENSORS_F75375S=m +CONFIG_SENSORS_FSCHMD=m +CONFIG_SENSORS_G760A=m +CONFIG_SENSORS_GL518SM=m +CONFIG_SENSORS_GL520SM=m +CONFIG_SENSORS_GPIO_FAN=m +CONFIG_SENSORS_CORETEMP=m +CONFIG_SENSORS_IBMAEM=m +CONFIG_SENSORS_IBMPEX=m +CONFIG_SENSORS_IT87=m +CONFIG_SENSORS_JC42=m +CONFIG_SENSORS_LINEAGE=m +CONFIG_SENSORS_LM63=m +CONFIG_SENSORS_LM70=m +CONFIG_SENSORS_LM73=m +CONFIG_SENSORS_LM75=m +CONFIG_SENSORS_LM77=m +CONFIG_SENSORS_LM78=m +CONFIG_SENSORS_LM80=m +CONFIG_SENSORS_LM83=m +CONFIG_SENSORS_LM85=m +CONFIG_SENSORS_LM87=m +CONFIG_SENSORS_LM90=m +CONFIG_SENSORS_LM92=m +CONFIG_SENSORS_LM93=m +CONFIG_SENSORS_LTC4151=m +CONFIG_SENSORS_LTC4215=m +CONFIG_SENSORS_LTC4245=m +CONFIG_SENSORS_LTC4261=m +CONFIG_SENSORS_LM95241=m +CONFIG_SENSORS_LM95245=m +CONFIG_SENSORS_MAX1111=m +CONFIG_SENSORS_MAX16065=m +CONFIG_SENSORS_MAX1619=m +CONFIG_SENSORS_MAX1668=m +CONFIG_SENSORS_MAX6639=m +CONFIG_SENSORS_MAX6642=m +CONFIG_SENSORS_MAX6650=m +CONFIG_SENSORS_NTC_THERMISTOR=m +CONFIG_SENSORS_PC87360=m +CONFIG_SENSORS_PC87427=m +CONFIG_SENSORS_PCF8591=m +CONFIG_PMBUS=m +CONFIG_SENSORS_PMBUS=m +CONFIG_SENSORS_ADM1275=m +CONFIG_SENSORS_LM25066=m +CONFIG_SENSORS_LTC2978=m +CONFIG_SENSORS_MAX16064=m +CONFIG_SENSORS_MAX34440=m +CONFIG_SENSORS_MAX8688=m +CONFIG_SENSORS_UCD9000=m +CONFIG_SENSORS_UCD9200=m +CONFIG_SENSORS_ZL6100=m +CONFIG_SENSORS_SHT15=m +CONFIG_SENSORS_SHT21=m +CONFIG_SENSORS_SIS5595=m +CONFIG_SENSORS_SMM665=m +CONFIG_SENSORS_DME1737=m +CONFIG_SENSORS_EMC1403=m +CONFIG_SENSORS_EMC2103=m +CONFIG_SENSORS_EMC6W201=m +CONFIG_SENSORS_SMSC47M1=m +CONFIG_SENSORS_SMSC47M192=m +CONFIG_SENSORS_SMSC47B397=m +CONFIG_SENSORS_SCH56XX_COMMON=m +CONFIG_SENSORS_SCH5627=m +CONFIG_SENSORS_SCH5636=m +CONFIG_SENSORS_ADS1015=m +CONFIG_SENSORS_ADS7828=m +CONFIG_SENSORS_ADS7871=m +CONFIG_SENSORS_AMC6821=m +CONFIG_SENSORS_THMC50=m +CONFIG_SENSORS_TMP102=m +CONFIG_SENSORS_TMP401=m +CONFIG_SENSORS_TMP421=m +CONFIG_SENSORS_VIA_CPUTEMP=m +CONFIG_SENSORS_VIA686A=m +CONFIG_SENSORS_VT1211=m +CONFIG_SENSORS_VT8231=m +CONFIG_SENSORS_W83781D=m +CONFIG_SENSORS_W83791D=m +CONFIG_SENSORS_W83792D=m +CONFIG_SENSORS_W83793=m +CONFIG_SENSORS_W83795=m +# CONFIG_SENSORS_W83795_FANCTRL is not set +CONFIG_SENSORS_W83L785TS=m +CONFIG_SENSORS_W83L786NG=m +CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83627EHF=m +CONFIG_SENSORS_WM831X=m +CONFIG_SENSORS_APPLESMC=m +CONFIG_SENSORS_MC13783_ADC=m + +# +# ACPI drivers +# +CONFIG_SENSORS_ACPI_POWER=m +CONFIG_SENSORS_ATK0110=m +CONFIG_THERMAL=y +CONFIG_THERMAL_HWMON=y +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT is not set + +# +# Watchdog Device Drivers +# +CONFIG_SOFT_WATCHDOG=m +CONFIG_WM831X_WATCHDOG=m +CONFIG_ACQUIRE_WDT=m +CONFIG_ADVANTECH_WDT=m +CONFIG_ALIM1535_WDT=m +CONFIG_ALIM7101_WDT=m +CONFIG_F71808E_WDT=m +CONFIG_SP5100_TCO=m +CONFIG_GEODE_WDT=m +CONFIG_SC520_WDT=m +CONFIG_SBC_FITPC2_WATCHDOG=m +CONFIG_EUROTECH_WDT=m +CONFIG_IB700_WDT=m +CONFIG_IBMASR=m +CONFIG_WAFER_WDT=m +CONFIG_I6300ESB_WDT=m +CONFIG_ITCO_WDT=m +CONFIG_ITCO_VENDOR_SUPPORT=y +CONFIG_IT8712F_WDT=m +CONFIG_IT87_WDT=m +CONFIG_HP_WATCHDOG=m +CONFIG_HPWDT_NMI_DECODING=y +CONFIG_SC1200_WDT=m +CONFIG_PC87413_WDT=m +CONFIG_NV_TCO=m +CONFIG_60XX_WDT=m +CONFIG_SBC8360_WDT=m +CONFIG_CPU5_WDT=m +CONFIG_SMSC_SCH311X_WDT=m +CONFIG_SMSC37B787_WDT=m +CONFIG_W83627HF_WDT=m +CONFIG_W83697HF_WDT=m +CONFIG_W83697UG_WDT=m +CONFIG_W83877F_WDT=m +CONFIG_W83977F_WDT=m +CONFIG_MACHZ_WDT=m +CONFIG_SBC_EPX_C3_WATCHDOG=m +CONFIG_XEN_WDT=m + +# +# PCI-based Watchdog Cards +# +CONFIG_PCIPCWATCHDOG=m +CONFIG_WDTPCI=m + +# +# USB-based Watchdog Cards +# +CONFIG_USBPCWATCHDOG=m +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +CONFIG_SSB=m +CONFIG_SSB_SPROM=y +CONFIG_SSB_BLOCKIO=y +CONFIG_SSB_PCIHOST_POSSIBLE=y +CONFIG_SSB_PCIHOST=y +CONFIG_SSB_B43_PCI_BRIDGE=y +CONFIG_SSB_PCMCIAHOST_POSSIBLE=y +CONFIG_SSB_PCMCIAHOST=y +CONFIG_SSB_SDIOHOST_POSSIBLE=y +CONFIG_SSB_SDIOHOST=y +# CONFIG_SSB_DEBUG is not set +CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y +CONFIG_SSB_DRIVER_PCICORE=y +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +CONFIG_MFD_CORE=y +CONFIG_MFD_SM501=m +CONFIG_MFD_SM501_GPIO=y +CONFIG_HTC_PASIC3=m +CONFIG_UCB1400_CORE=m +CONFIG_TPS6105X=m +CONFIG_TPS65010=m +CONFIG_TPS6507X=m +CONFIG_MFD_TPS65912=y +CONFIG_MFD_TPS65912_SPI=y +# CONFIG_MFD_TMIO is not set +CONFIG_MFD_WM8400=m +CONFIG_MFD_WM831X=y +CONFIG_MFD_WM831X_SPI=y +CONFIG_MFD_PCF50633=m +CONFIG_PCF50633_ADC=m +CONFIG_PCF50633_GPIO=m +CONFIG_MFD_MC13783=m +CONFIG_MFD_MC13XXX=m +CONFIG_ABX500_CORE=y +CONFIG_EZX_PCAP=y +CONFIG_AB8500_CORE=y +# CONFIG_AB8500_DEBUG is not set +CONFIG_AB8500_GPADC=y +CONFIG_MFD_CS5535=m +CONFIG_MFD_TIMBERDALE=m +CONFIG_LPC_SCH=m +CONFIG_MFD_RDC321X=m +CONFIG_MFD_JANZ_CMODIO=m +CONFIG_MFD_VX855=m +CONFIG_MFD_WL1273_CORE=m +CONFIG_REGULATOR=y +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_DUMMY=y +CONFIG_REGULATOR_FIXED_VOLTAGE=m +CONFIG_REGULATOR_VIRTUAL_CONSUMER=m +CONFIG_REGULATOR_USERSPACE_CONSUMER=m +CONFIG_REGULATOR_GPIO=m +CONFIG_REGULATOR_BQ24022=m +CONFIG_REGULATOR_MAX1586=m +CONFIG_REGULATOR_MAX8649=m +CONFIG_REGULATOR_MAX8660=m +CONFIG_REGULATOR_MAX8952=m +CONFIG_REGULATOR_WM831X=m +CONFIG_REGULATOR_WM8400=m +CONFIG_REGULATOR_PCF50633=m +CONFIG_REGULATOR_LP3971=m +CONFIG_REGULATOR_LP3972=m +CONFIG_REGULATOR_PCAP=m +CONFIG_REGULATOR_MC13XXX_CORE=m +CONFIG_REGULATOR_MC13783=m +CONFIG_REGULATOR_MC13892=m +CONFIG_REGULATOR_TPS6105X=m +CONFIG_REGULATOR_TPS65023=m +CONFIG_REGULATOR_TPS6507X=m +CONFIG_REGULATOR_TPS65912=m +CONFIG_REGULATOR_ISL6271A=m +CONFIG_REGULATOR_AD5398=m +CONFIG_REGULATOR_AB8500=y +CONFIG_REGULATOR_TPS6524X=m +CONFIG_MEDIA_SUPPORT=m + +# +# Multimedia core support +# +CONFIG_MEDIA_CONTROLLER=y +CONFIG_VIDEO_DEV=m +CONFIG_VIDEO_V4L2_COMMON=m +CONFIG_VIDEO_V4L2_SUBDEV_API=y +CONFIG_DVB_CORE=m +CONFIG_DVB_NET=y +CONFIG_VIDEO_MEDIA=m + +# +# Multimedia drivers +# +CONFIG_VIDEO_SAA7146=m +CONFIG_VIDEO_SAA7146_VV=m +CONFIG_RC_CORE=m +CONFIG_LIRC=m +CONFIG_RC_MAP=m +CONFIG_IR_NEC_DECODER=m +CONFIG_IR_RC5_DECODER=m +CONFIG_IR_RC6_DECODER=m +CONFIG_IR_JVC_DECODER=m +CONFIG_IR_SONY_DECODER=m +CONFIG_IR_RC5_SZ_DECODER=m +CONFIG_IR_MCE_KBD_DECODER=m +CONFIG_IR_LIRC_CODEC=m +CONFIG_RC_ATI_REMOTE=m +CONFIG_IR_ENE=m +CONFIG_IR_IMON=m +CONFIG_IR_MCEUSB=m +CONFIG_IR_ITE_CIR=m +CONFIG_IR_FINTEK=m +CONFIG_IR_NUVOTON=m +CONFIG_IR_REDRAT3=m +CONFIG_IR_STREAMZAP=m +CONFIG_IR_WINBOND_CIR=m +CONFIG_RC_LOOPBACK=m +CONFIG_MEDIA_ATTACH=y +CONFIG_MEDIA_TUNER=m +# CONFIG_MEDIA_TUNER_CUSTOMISE is not set +CONFIG_MEDIA_TUNER_SIMPLE=m +CONFIG_MEDIA_TUNER_TDA8290=m +CONFIG_MEDIA_TUNER_TDA827X=m +CONFIG_MEDIA_TUNER_TDA18271=m +CONFIG_MEDIA_TUNER_TDA9887=m +CONFIG_MEDIA_TUNER_TEA5761=m +CONFIG_MEDIA_TUNER_TEA5767=m +CONFIG_MEDIA_TUNER_MT20XX=m +CONFIG_MEDIA_TUNER_MT2060=m +CONFIG_MEDIA_TUNER_MT2266=m +CONFIG_MEDIA_TUNER_MT2131=m +CONFIG_MEDIA_TUNER_QT1010=m +CONFIG_MEDIA_TUNER_XC2028=m +CONFIG_MEDIA_TUNER_XC5000=m +CONFIG_MEDIA_TUNER_XC4000=m +CONFIG_MEDIA_TUNER_MXL5005S=m +CONFIG_MEDIA_TUNER_MXL5007T=m +CONFIG_MEDIA_TUNER_MC44S803=m +CONFIG_MEDIA_TUNER_MAX2165=m +CONFIG_MEDIA_TUNER_TDA18218=m +CONFIG_MEDIA_TUNER_TDA18212=m +CONFIG_VIDEO_V4L2=m +CONFIG_VIDEOBUF_GEN=m +CONFIG_VIDEOBUF_DMA_SG=m +CONFIG_VIDEOBUF_VMALLOC=m +CONFIG_VIDEOBUF_DMA_CONTIG=m +CONFIG_VIDEOBUF_DVB=m +CONFIG_VIDEO_BTCX=m +CONFIG_VIDEO_TVEEPROM=m +CONFIG_VIDEO_TUNER=m +CONFIG_V4L2_MEM2MEM_DEV=m +CONFIG_VIDEOBUF2_CORE=m +CONFIG_VIDEOBUF2_MEMOPS=m +CONFIG_VIDEOBUF2_DMA_CONTIG=m +CONFIG_VIDEOBUF2_VMALLOC=m +CONFIG_VIDEO_CAPTURE_DRIVERS=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set +CONFIG_VIDEO_IR_I2C=m + +# +# Encoders, decoders, sensors and other helper chips +# + +# +# Audio decoders, processors and mixers +# +CONFIG_VIDEO_TVAUDIO=m +CONFIG_VIDEO_TDA7432=m +CONFIG_VIDEO_TDA9840=m +CONFIG_VIDEO_TEA6415C=m +CONFIG_VIDEO_TEA6420=m +CONFIG_VIDEO_MSP3400=m +CONFIG_VIDEO_CS5345=m +CONFIG_VIDEO_CS53L32A=m +CONFIG_VIDEO_TLV320AIC23B=m +CONFIG_VIDEO_WM8775=m +CONFIG_VIDEO_WM8739=m +CONFIG_VIDEO_VP27SMPX=m + +# +# RDS decoders +# +CONFIG_VIDEO_SAA6588=m + +# +# Video decoders +# +CONFIG_VIDEO_ADV7180=m +CONFIG_VIDEO_BT819=m +CONFIG_VIDEO_BT856=m +CONFIG_VIDEO_BT866=m +CONFIG_VIDEO_KS0127=m +CONFIG_VIDEO_SAA7110=m +CONFIG_VIDEO_SAA711X=m +CONFIG_VIDEO_SAA7191=m +CONFIG_VIDEO_TVP514X=m +CONFIG_VIDEO_TVP5150=m +CONFIG_VIDEO_TVP7002=m +CONFIG_VIDEO_VPX3220=m + +# +# Video and audio decoders +# +CONFIG_VIDEO_SAA717X=m +CONFIG_VIDEO_CX25840=m + +# +# MPEG video encoders +# +CONFIG_VIDEO_CX2341X=m + +# +# Video encoders +# +CONFIG_VIDEO_SAA7127=m +CONFIG_VIDEO_SAA7185=m +CONFIG_VIDEO_ADV7170=m +CONFIG_VIDEO_ADV7175=m +CONFIG_VIDEO_ADV7343=m +CONFIG_VIDEO_AK881X=m + +# +# Camera sensor devices +# +CONFIG_VIDEO_OV7670=m +CONFIG_VIDEO_MT9P031=m +CONFIG_VIDEO_MT9T001=m +CONFIG_VIDEO_MT9V011=m +CONFIG_VIDEO_MT9V032=m +CONFIG_VIDEO_TCM825X=m +CONFIG_VIDEO_SR030PC30=m +CONFIG_VIDEO_NOON010PC30=m +CONFIG_VIDEO_M5MOLS=m +CONFIG_VIDEO_S5K6AA=m + +# +# Flash devices +# +CONFIG_VIDEO_ADP1653=m + +# +# Video improvement chips +# +CONFIG_VIDEO_UPD64031A=m +CONFIG_VIDEO_UPD64083=m + +# +# Miscelaneous helper chips +# +CONFIG_VIDEO_THS7303=m +CONFIG_VIDEO_M52790=m +CONFIG_VIDEO_VIVI=m +CONFIG_VIDEO_BT848=m +CONFIG_VIDEO_BT848_DVB=y +CONFIG_VIDEO_BWQCAM=m +CONFIG_VIDEO_CQCAM=m +CONFIG_VIDEO_W9966=m +CONFIG_VIDEO_CPIA2=m +CONFIG_VIDEO_ZORAN=m +CONFIG_VIDEO_ZORAN_DC30=m +CONFIG_VIDEO_ZORAN_ZR36060=m +CONFIG_VIDEO_ZORAN_BUZ=m +CONFIG_VIDEO_ZORAN_DC10=m +CONFIG_VIDEO_ZORAN_LML33=m +CONFIG_VIDEO_ZORAN_LML33R10=m +CONFIG_VIDEO_ZORAN_AVS6EYES=m +CONFIG_VIDEO_MEYE=m +CONFIG_VIDEO_SAA7134=m +CONFIG_VIDEO_SAA7134_ALSA=m +CONFIG_VIDEO_SAA7134_RC=y +CONFIG_VIDEO_SAA7134_DVB=m +CONFIG_VIDEO_MXB=m +CONFIG_VIDEO_HEXIUM_ORION=m +CONFIG_VIDEO_HEXIUM_GEMINI=m +CONFIG_VIDEO_TIMBERDALE=m +CONFIG_VIDEO_CX88=m +CONFIG_VIDEO_CX88_ALSA=m +CONFIG_VIDEO_CX88_BLACKBIRD=m +CONFIG_VIDEO_CX88_DVB=m +CONFIG_VIDEO_CX88_MPEG=m +CONFIG_VIDEO_CX88_VP3054=m +CONFIG_VIDEO_CX23885=m +CONFIG_MEDIA_ALTERA_CI=m +CONFIG_VIDEO_CX25821=m +CONFIG_VIDEO_CX25821_ALSA=m +CONFIG_VIDEO_AU0828=m +CONFIG_VIDEO_IVTV=m +CONFIG_VIDEO_FB_IVTV=m +CONFIG_VIDEO_CX18=m +CONFIG_VIDEO_CX18_ALSA=m +CONFIG_VIDEO_SAA7164=m +CONFIG_VIDEO_CAFE_CCIC=m +CONFIG_SOC_CAMERA=m +CONFIG_SOC_CAMERA_IMX074=m +CONFIG_SOC_CAMERA_MT9M001=m +CONFIG_SOC_CAMERA_MT9M111=m +CONFIG_SOC_CAMERA_MT9T031=m +CONFIG_SOC_CAMERA_MT9T112=m +CONFIG_SOC_CAMERA_MT9V022=m +CONFIG_SOC_CAMERA_RJ54N1=m +CONFIG_SOC_CAMERA_TW9910=m +CONFIG_SOC_CAMERA_PLATFORM=m +CONFIG_SOC_CAMERA_OV2640=m +CONFIG_SOC_CAMERA_OV5642=m +CONFIG_SOC_CAMERA_OV6650=m +CONFIG_SOC_CAMERA_OV772X=m +CONFIG_SOC_CAMERA_OV9640=m +CONFIG_SOC_CAMERA_OV9740=m +CONFIG_V4L_USB_DRIVERS=y +CONFIG_USB_VIDEO_CLASS=m +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_GSPCA=m +CONFIG_USB_M5602=m +CONFIG_USB_STV06XX=m +CONFIG_USB_GL860=m +CONFIG_USB_GSPCA_BENQ=m +CONFIG_USB_GSPCA_CONEX=m +CONFIG_USB_GSPCA_CPIA1=m +CONFIG_USB_GSPCA_ETOMS=m +CONFIG_USB_GSPCA_FINEPIX=m +CONFIG_USB_GSPCA_JEILINJ=m +CONFIG_USB_GSPCA_KINECT=m +CONFIG_USB_GSPCA_KONICA=m +CONFIG_USB_GSPCA_MARS=m +CONFIG_USB_GSPCA_MR97310A=m +CONFIG_USB_GSPCA_NW80X=m +CONFIG_USB_GSPCA_OV519=m +CONFIG_USB_GSPCA_OV534=m +CONFIG_USB_GSPCA_OV534_9=m +CONFIG_USB_GSPCA_PAC207=m +CONFIG_USB_GSPCA_PAC7302=m +CONFIG_USB_GSPCA_PAC7311=m +CONFIG_USB_GSPCA_SE401=m +CONFIG_USB_GSPCA_SN9C2028=m +CONFIG_USB_GSPCA_SN9C20X=m +CONFIG_USB_GSPCA_SONIXB=m +CONFIG_USB_GSPCA_SONIXJ=m +CONFIG_USB_GSPCA_SPCA500=m +CONFIG_USB_GSPCA_SPCA501=m +CONFIG_USB_GSPCA_SPCA505=m +CONFIG_USB_GSPCA_SPCA506=m +CONFIG_USB_GSPCA_SPCA508=m +CONFIG_USB_GSPCA_SPCA561=m +CONFIG_USB_GSPCA_SPCA1528=m +CONFIG_USB_GSPCA_SQ905=m +CONFIG_USB_GSPCA_SQ905C=m +CONFIG_USB_GSPCA_SQ930X=m +CONFIG_USB_GSPCA_STK014=m +CONFIG_USB_GSPCA_STV0680=m +CONFIG_USB_GSPCA_SUNPLUS=m +CONFIG_USB_GSPCA_T613=m +CONFIG_USB_GSPCA_TOPRO=m +CONFIG_USB_GSPCA_TV8532=m +CONFIG_USB_GSPCA_VC032X=m +CONFIG_USB_GSPCA_VICAM=m +CONFIG_USB_GSPCA_XIRLINK_CIT=m +CONFIG_USB_GSPCA_ZC3XX=m +CONFIG_VIDEO_PVRUSB2=m +CONFIG_VIDEO_PVRUSB2_SYSFS=y +CONFIG_VIDEO_PVRUSB2_DVB=y +# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set +CONFIG_VIDEO_HDPVR=m +CONFIG_VIDEO_EM28XX=m +CONFIG_VIDEO_EM28XX_ALSA=m +CONFIG_VIDEO_EM28XX_DVB=m +CONFIG_VIDEO_EM28XX_RC=y +CONFIG_VIDEO_TLG2300=m +CONFIG_VIDEO_CX231XX=m +CONFIG_VIDEO_CX231XX_RC=y +CONFIG_VIDEO_CX231XX_ALSA=m +CONFIG_VIDEO_CX231XX_DVB=m +CONFIG_VIDEO_TM6000=m +CONFIG_VIDEO_TM6000_ALSA=m +CONFIG_VIDEO_TM6000_DVB=m +CONFIG_VIDEO_USBVISION=m +CONFIG_USB_ET61X251=m +CONFIG_USB_SN9C102=m +CONFIG_USB_PWC=m +# CONFIG_USB_PWC_DEBUG is not set +CONFIG_USB_PWC_INPUT_EVDEV=y +CONFIG_USB_ZR364XX=m +CONFIG_USB_STKWEBCAM=m +CONFIG_USB_S2255=m +CONFIG_V4L_MEM2MEM_DRIVERS=y +CONFIG_VIDEO_MEM2MEM_TESTDEV=m +CONFIG_RADIO_ADAPTERS=y +CONFIG_RADIO_MAXIRADIO=m +CONFIG_I2C_SI4713=m +CONFIG_RADIO_SI4713=m +CONFIG_USB_DSBR=m +CONFIG_RADIO_SI470X=y +CONFIG_USB_SI470X=m +CONFIG_I2C_SI470X=m +CONFIG_USB_MR800=m +CONFIG_RADIO_TEA5764=m +CONFIG_RADIO_SAA7706H=m +CONFIG_RADIO_TEF6862=m +CONFIG_RADIO_TIMBERDALE=m +CONFIG_RADIO_WL1273=m + +# +# Texas Instruments WL128x FM driver (ST based) +# +CONFIG_RADIO_WL128X=m +CONFIG_DVB_MAX_ADAPTERS=8 +# CONFIG_DVB_DYNAMIC_MINORS is not set +CONFIG_DVB_CAPTURE_DRIVERS=y + +# +# Supported SAA7146 based PCI Adapters +# +CONFIG_TTPCI_EEPROM=m +CONFIG_DVB_AV7110=m +CONFIG_DVB_AV7110_OSD=y +CONFIG_DVB_BUDGET_CORE=m +CONFIG_DVB_BUDGET=m +CONFIG_DVB_BUDGET_CI=m +CONFIG_DVB_BUDGET_AV=m +CONFIG_DVB_BUDGET_PATCH=m + +# +# Supported USB Adapters +# +CONFIG_DVB_USB=m +# CONFIG_DVB_USB_DEBUG is not set +CONFIG_DVB_USB_A800=m +CONFIG_DVB_USB_DIBUSB_MB=m +CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y +CONFIG_DVB_USB_DIBUSB_MC=m +CONFIG_DVB_USB_DIB0700=m +CONFIG_DVB_USB_UMT_010=m +CONFIG_DVB_USB_CXUSB=m +CONFIG_DVB_USB_M920X=m +CONFIG_DVB_USB_GL861=m +CONFIG_DVB_USB_AU6610=m +CONFIG_DVB_USB_DIGITV=m +CONFIG_DVB_USB_VP7045=m +CONFIG_DVB_USB_VP702X=m +CONFIG_DVB_USB_GP8PSK=m +CONFIG_DVB_USB_NOVA_T_USB2=m +CONFIG_DVB_USB_TTUSB2=m +CONFIG_DVB_USB_DTT200U=m +CONFIG_DVB_USB_OPERA1=m +CONFIG_DVB_USB_AF9005=m +CONFIG_DVB_USB_AF9005_REMOTE=m +CONFIG_DVB_USB_PCTV452E=m +CONFIG_DVB_USB_DW2102=m +CONFIG_DVB_USB_CINERGY_T2=m +CONFIG_DVB_USB_ANYSEE=m +CONFIG_DVB_USB_DTV5100=m +CONFIG_DVB_USB_AF9015=m +CONFIG_DVB_USB_CE6230=m +CONFIG_DVB_USB_FRIIO=m +CONFIG_DVB_USB_EC168=m +CONFIG_DVB_USB_AZ6027=m +CONFIG_DVB_USB_LME2510=m +CONFIG_DVB_USB_TECHNISAT_USB2=m +CONFIG_DVB_USB_IT913X=m +CONFIG_DVB_USB_MXL111SF=m +CONFIG_DVB_TTUSB_BUDGET=m +CONFIG_DVB_TTUSB_DEC=m +CONFIG_SMS_SIANO_MDTV=m + +# +# Siano module components +# +CONFIG_SMS_USB_DRV=m +CONFIG_SMS_SDIO_DRV=m + +# +# Supported FlexCopII (B2C2) Adapters +# +CONFIG_DVB_B2C2_FLEXCOP=m +CONFIG_DVB_B2C2_FLEXCOP_PCI=m +CONFIG_DVB_B2C2_FLEXCOP_USB=m +# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set + +# +# Supported BT878 Adapters +# +CONFIG_DVB_BT8XX=m + +# +# Supported Pluto2 Adapters +# +CONFIG_DVB_PLUTO2=m + +# +# Supported SDMC DM1105 Adapters +# +CONFIG_DVB_DM1105=m + +# +# Supported FireWire (IEEE 1394) Adapters +# +CONFIG_DVB_FIREDTV=m +CONFIG_DVB_FIREDTV_INPUT=y + +# +# Supported Earthsoft PT1 Adapters +# +CONFIG_DVB_PT1=m + +# +# Supported Mantis Adapters +# +CONFIG_MANTIS_CORE=m +CONFIG_DVB_MANTIS=m +CONFIG_DVB_HOPPER=m + +# +# Supported nGene Adapters +# +CONFIG_DVB_NGENE=m + +# +# Supported ddbridge ('Octopus') Adapters +# +CONFIG_DVB_DDBRIDGE=m + +# +# Supported DVB Frontends +# +# CONFIG_DVB_FE_CUSTOMISE is not set + +# +# Multistandard (satellite) frontends +# +CONFIG_DVB_STB0899=m +CONFIG_DVB_STB6100=m +CONFIG_DVB_STV090x=m +CONFIG_DVB_STV6110x=m + +# +# Multistandard (cable + terrestrial) frontends +# +CONFIG_DVB_DRXK=m +CONFIG_DVB_TDA18271C2DD=m + +# +# DVB-S (satellite) frontends +# +CONFIG_DVB_CX24110=m +CONFIG_DVB_CX24123=m +CONFIG_DVB_MT312=m +CONFIG_DVB_ZL10036=m +CONFIG_DVB_ZL10039=m +CONFIG_DVB_S5H1420=m +CONFIG_DVB_STV0288=m +CONFIG_DVB_STB6000=m +CONFIG_DVB_STV0299=m +CONFIG_DVB_STV6110=m +CONFIG_DVB_STV0900=m +CONFIG_DVB_TDA8083=m +CONFIG_DVB_TDA10086=m +CONFIG_DVB_TDA8261=m +CONFIG_DVB_VES1X93=m +CONFIG_DVB_TUNER_ITD1000=m +CONFIG_DVB_TUNER_CX24113=m +CONFIG_DVB_TDA826X=m +CONFIG_DVB_TUA6100=m +CONFIG_DVB_CX24116=m +CONFIG_DVB_SI21XX=m +CONFIG_DVB_DS3000=m +CONFIG_DVB_MB86A16=m +CONFIG_DVB_TDA10071=m + +# +# DVB-T (terrestrial) frontends +# +CONFIG_DVB_SP8870=m +CONFIG_DVB_SP887X=m +CONFIG_DVB_CX22700=m +CONFIG_DVB_CX22702=m +CONFIG_DVB_DRXD=m +CONFIG_DVB_L64781=m +CONFIG_DVB_TDA1004X=m +CONFIG_DVB_NXT6000=m +CONFIG_DVB_MT352=m +CONFIG_DVB_ZL10353=m +CONFIG_DVB_DIB3000MB=m +CONFIG_DVB_DIB3000MC=m +CONFIG_DVB_DIB7000M=m +CONFIG_DVB_DIB7000P=m +CONFIG_DVB_TDA10048=m +CONFIG_DVB_AF9013=m +CONFIG_DVB_EC100=m +CONFIG_DVB_STV0367=m +CONFIG_DVB_CXD2820R=m + +# +# DVB-C (cable) frontends +# +CONFIG_DVB_VES1820=m +CONFIG_DVB_TDA10021=m +CONFIG_DVB_TDA10023=m +CONFIG_DVB_STV0297=m + +# +# ATSC (North American/Korean Terrestrial/Cable DTV) frontends +# +CONFIG_DVB_NXT200X=m +CONFIG_DVB_OR51211=m +CONFIG_DVB_OR51132=m +CONFIG_DVB_BCM3510=m +CONFIG_DVB_LGDT330X=m +CONFIG_DVB_LGDT3305=m +CONFIG_DVB_S5H1409=m +CONFIG_DVB_AU8522=m +CONFIG_DVB_S5H1411=m + +# +# ISDB-T (terrestrial) frontends +# +CONFIG_DVB_S921=m +CONFIG_DVB_DIB8000=m +CONFIG_DVB_MB86A20S=m + +# +# Digital terrestrial only tuners/PLL +# +CONFIG_DVB_PLL=m +CONFIG_DVB_TUNER_DIB0070=m +CONFIG_DVB_TUNER_DIB0090=m + +# +# SEC control devices for DVB-S +# +CONFIG_DVB_LNBP21=m +CONFIG_DVB_LNBP22=m +CONFIG_DVB_ISL6405=m +CONFIG_DVB_ISL6421=m +CONFIG_DVB_ISL6423=m +CONFIG_DVB_A8293=m +CONFIG_DVB_LGS8GXX=m +CONFIG_DVB_ATBM8830=m +CONFIG_DVB_TDA665x=m +CONFIG_DVB_IX2505V=m +CONFIG_DVB_IT913X_FE=m + +# +# Tools to develop new frontends +# +# CONFIG_DVB_DUMMY_FE is not set + +# +# Graphics support +# +CONFIG_AGP=y +CONFIG_AGP_AMD64=y +CONFIG_AGP_INTEL=m +CONFIG_AGP_SIS=m +CONFIG_AGP_VIA=m +CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16 +CONFIG_VGA_SWITCHEROO=y +CONFIG_DRM=m +CONFIG_DRM_KMS_HELPER=m +CONFIG_DRM_TTM=m +CONFIG_DRM_TDFX=m +CONFIG_DRM_R128=m +CONFIG_DRM_RADEON=m +CONFIG_DRM_RADEON_KMS=y +CONFIG_DRM_I915=m +CONFIG_DRM_I915_KMS=y +CONFIG_DRM_MGA=m +CONFIG_DRM_SIS=m +CONFIG_DRM_VIA=m +CONFIG_DRM_SAVAGE=m +CONFIG_DRM_VMWGFX=m +CONFIG_STUB_POULSBO=m +CONFIG_VGASTATE=m +CONFIG_VIDEO_OUTPUT_CONTROL=m +CONFIG_FB=y +CONFIG_FIRMWARE_EDID=y +# CONFIG_FB_DDC is not set +CONFIG_FB_BOOT_VESA_SUPPORT=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +CONFIG_FB_SYS_FILLRECT=m +CONFIG_FB_SYS_COPYAREA=m +CONFIG_FB_SYS_IMAGEBLIT=m +# CONFIG_FB_FOREIGN_ENDIAN is not set +CONFIG_FB_SYS_FOPS=m +# CONFIG_FB_WMT_GE_ROPS is not set +CONFIG_FB_DEFERRED_IO=y +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +CONFIG_FB_BACKLIGHT=y +CONFIG_FB_MODE_HELPERS=y +CONFIG_FB_TILEBLITTING=y + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_PM2 is not set +# CONFIG_FB_CYBER2000 is not set +# CONFIG_FB_ARC is not set +# CONFIG_FB_ASILIANT is not set +# CONFIG_FB_IMSTT is not set +CONFIG_FB_VGA16=m +CONFIG_FB_UVESA=m +CONFIG_FB_VESA=y +CONFIG_FB_EFI=y +# CONFIG_FB_N411 is not set +# CONFIG_FB_HGA is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_NVIDIA is not set +# CONFIG_FB_RIVA is not set +# CONFIG_FB_LE80578 is not set +# CONFIG_FB_MATROX is not set +# CONFIG_FB_RADEON is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_S3 is not set +# CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_VIA is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_3DFX is not set +CONFIG_FB_VOODOO1=m +CONFIG_FB_VT8623=m +# CONFIG_FB_TRIDENT is not set +# CONFIG_FB_ARK is not set +# CONFIG_FB_PM3 is not set +# CONFIG_FB_CARMINE is not set +# CONFIG_FB_GEODE is not set +# CONFIG_FB_TMIO is not set +# CONFIG_FB_SM501 is not set +# CONFIG_FB_SMSCUFX is not set +CONFIG_FB_UDL=m +CONFIG_FB_VIRTUAL=m +CONFIG_XEN_FBDEV_FRONTEND=m +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_FB_BROADSHEET is not set +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_LCD_CLASS_DEVICE=m +CONFIG_LCD_L4F00242T03=m +CONFIG_LCD_LMS283GF05=m +CONFIG_LCD_LTV350QV=m +CONFIG_LCD_ILI9320=m +CONFIG_LCD_TDO24M=m +CONFIG_LCD_VGG2432A4=m +CONFIG_LCD_PLATFORM=m +CONFIG_LCD_S6E63M0=m +CONFIG_LCD_LD9040=m +CONFIG_LCD_AMS369FG06=m +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BACKLIGHT_GENERIC=m +CONFIG_BACKLIGHT_PROGEAR=m +CONFIG_BACKLIGHT_APPLE=m +CONFIG_BACKLIGHT_SAHARA=m +CONFIG_BACKLIGHT_WM831X=m +CONFIG_BACKLIGHT_ADP8860=m +CONFIG_BACKLIGHT_ADP8870=m +CONFIG_BACKLIGHT_PCF50633=m + +# +# Display device support +# +CONFIG_DISPLAY_SUPPORT=m + +# +# Display hardware drivers +# + +# +# Console display driver support +# +CONFIG_VGA_CONSOLE=y +# CONFIG_VGACON_SOFT_SCROLLBACK is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y +CONFIG_FONTS=y +# CONFIG_FONT_8x8 is not set +CONFIG_FONT_8x16=y +# CONFIG_FONT_6x11 is not set +# CONFIG_FONT_7x14 is not set +# CONFIG_FONT_PEARL_8x8 is not set +# CONFIG_FONT_ACORN_8x8 is not set +# CONFIG_FONT_MINI_4x6 is not set +# CONFIG_FONT_SUN8x16 is not set +# CONFIG_FONT_SUN12x22 is not set +# CONFIG_FONT_10x18 is not set +# CONFIG_LOGO is not set +CONFIG_SOUND=m +CONFIG_SOUND_OSS_CORE=y +# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set +CONFIG_SND=m +CONFIG_SND_TIMER=m +CONFIG_SND_PCM=m +CONFIG_SND_HWDEP=m +CONFIG_SND_RAWMIDI=m +CONFIG_SND_JACK=y +CONFIG_SND_SEQUENCER=m +CONFIG_SND_SEQ_DUMMY=m +CONFIG_SND_OSSEMUL=y +CONFIG_SND_MIXER_OSS=m +CONFIG_SND_PCM_OSS=m +CONFIG_SND_PCM_OSS_PLUGINS=y +CONFIG_SND_SEQUENCER_OSS=y +CONFIG_SND_HRTIMER=m +CONFIG_SND_SEQ_HRTIMER_DEFAULT=y +CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +CONFIG_SND_VMASTER=y +CONFIG_SND_DMA_SGBUF=y +CONFIG_SND_RAWMIDI_SEQ=m +CONFIG_SND_OPL3_LIB_SEQ=m +# CONFIG_SND_OPL4_LIB_SEQ is not set +# CONFIG_SND_SBAWE_SEQ is not set +CONFIG_SND_EMU10K1_SEQ=m +CONFIG_SND_MPU401_UART=m +CONFIG_SND_OPL3_LIB=m +CONFIG_SND_VX_LIB=m +CONFIG_SND_AC97_CODEC=m +CONFIG_SND_DRIVERS=y +# CONFIG_SND_PCSP is not set +CONFIG_SND_DUMMY=m +CONFIG_SND_ALOOP=m +CONFIG_SND_VIRMIDI=m +CONFIG_SND_MTPAV=m +CONFIG_SND_MTS64=m +CONFIG_SND_SERIAL_U16550=m +CONFIG_SND_MPU401=m +CONFIG_SND_PORTMAN2X4=m +CONFIG_SND_AC97_POWER_SAVE=y +CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0 +CONFIG_SND_SB_COMMON=m +CONFIG_SND_SB16_DSP=m +CONFIG_SND_TEA575X=m +CONFIG_SND_PCI=y +CONFIG_SND_AD1889=m +CONFIG_SND_ALS300=m +CONFIG_SND_ALS4000=m +CONFIG_SND_ALI5451=m +CONFIG_SND_ASIHPI=m +CONFIG_SND_ATIIXP=m +CONFIG_SND_ATIIXP_MODEM=m +CONFIG_SND_AU8810=m +CONFIG_SND_AU8820=m +CONFIG_SND_AU8830=m +CONFIG_SND_AW2=m +CONFIG_SND_AZT3328=m +CONFIG_SND_BT87X=m +# CONFIG_SND_BT87X_OVERCLOCK is not set +CONFIG_SND_CA0106=m +CONFIG_SND_CMIPCI=m +CONFIG_SND_OXYGEN_LIB=m +CONFIG_SND_OXYGEN=m +CONFIG_SND_CS4281=m +CONFIG_SND_CS46XX=m +CONFIG_SND_CS46XX_NEW_DSP=y +CONFIG_SND_CS5530=m +CONFIG_SND_CS5535AUDIO=m +CONFIG_SND_CTXFI=m +CONFIG_SND_DARLA20=m +CONFIG_SND_GINA20=m +CONFIG_SND_LAYLA20=m +CONFIG_SND_DARLA24=m +CONFIG_SND_GINA24=m +CONFIG_SND_LAYLA24=m +CONFIG_SND_MONA=m +CONFIG_SND_MIA=m +CONFIG_SND_ECHO3G=m +CONFIG_SND_INDIGO=m +CONFIG_SND_INDIGOIO=m +CONFIG_SND_INDIGODJ=m +CONFIG_SND_INDIGOIOX=m +CONFIG_SND_INDIGODJX=m +CONFIG_SND_EMU10K1=m +CONFIG_SND_EMU10K1X=m +CONFIG_SND_ENS1370=m +CONFIG_SND_ENS1371=m +CONFIG_SND_ES1938=m +CONFIG_SND_ES1968=m +CONFIG_SND_ES1968_INPUT=y +CONFIG_SND_ES1968_RADIO=y +CONFIG_SND_FM801=m +CONFIG_SND_FM801_TEA575X_BOOL=y +CONFIG_SND_HDA_INTEL=m +CONFIG_SND_HDA_PREALLOC_SIZE=4096 +CONFIG_SND_HDA_HWDEP=y +CONFIG_SND_HDA_RECONFIG=y +CONFIG_SND_HDA_INPUT_BEEP=y +CONFIG_SND_HDA_INPUT_BEEP_MODE=1 +CONFIG_SND_HDA_INPUT_JACK=y +CONFIG_SND_HDA_PATCH_LOADER=y +CONFIG_SND_HDA_CODEC_REALTEK=y +CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS=y +CONFIG_SND_HDA_CODEC_ANALOG=y +CONFIG_SND_HDA_CODEC_SIGMATEL=y +CONFIG_SND_HDA_CODEC_VIA=y +CONFIG_SND_HDA_CODEC_HDMI=y +CONFIG_SND_HDA_CODEC_CIRRUS=y +CONFIG_SND_HDA_CODEC_CONEXANT=y +CONFIG_SND_HDA_CODEC_CA0110=y +CONFIG_SND_HDA_CODEC_CA0132=y +CONFIG_SND_HDA_CODEC_CMEDIA=y +CONFIG_SND_HDA_CODEC_SI3054=y +CONFIG_SND_HDA_GENERIC=y +CONFIG_SND_HDA_POWER_SAVE=y +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +CONFIG_SND_HDSP=m +CONFIG_SND_HDSPM=m +CONFIG_SND_ICE1712=m +CONFIG_SND_ICE1724=m +CONFIG_SND_INTEL8X0=m +CONFIG_SND_INTEL8X0M=m +CONFIG_SND_KORG1212=m +CONFIG_SND_LOLA=m +CONFIG_SND_LX6464ES=m +CONFIG_SND_MAESTRO3=m +CONFIG_SND_MAESTRO3_INPUT=y +CONFIG_SND_MIXART=m +CONFIG_SND_NM256=m +CONFIG_SND_PCXHR=m +CONFIG_SND_RIPTIDE=m +CONFIG_SND_RME32=m +CONFIG_SND_RME96=m +CONFIG_SND_RME9652=m +CONFIG_SND_SONICVIBES=m +CONFIG_SND_TRIDENT=m +CONFIG_SND_VIA82XX=m +CONFIG_SND_VIA82XX_MODEM=m +CONFIG_SND_VIRTUOSO=m +CONFIG_SND_VX222=m +CONFIG_SND_YMFPCI=m +CONFIG_SND_SPI=y +CONFIG_SND_USB=y +CONFIG_SND_USB_AUDIO=m +CONFIG_SND_USB_UA101=m +CONFIG_SND_USB_USX2Y=m +CONFIG_SND_USB_CAIAQ=m +CONFIG_SND_USB_CAIAQ_INPUT=y +CONFIG_SND_USB_US122L=m +CONFIG_SND_USB_6FIRE=m +CONFIG_SND_FIREWIRE=y +CONFIG_SND_FIREWIRE_LIB=m +CONFIG_SND_FIREWIRE_SPEAKERS=m +CONFIG_SND_ISIGHT=m +CONFIG_SND_PCMCIA=y +CONFIG_SND_VXPOCKET=m +CONFIG_SND_PDAUDIOCF=m +CONFIG_SND_SOC=m +CONFIG_SND_SOC_CACHE_LZO=y +CONFIG_SND_SOC_I2C_AND_SPI=m +# CONFIG_SND_SOC_ALL_CODECS is not set +# CONFIG_SOUND_PRIME is not set +CONFIG_AC97_BUS=m +CONFIG_HID_SUPPORT=y +CONFIG_HID=m +CONFIG_HIDRAW=y + +# +# USB Input Devices +# +CONFIG_USB_HID=m +CONFIG_HID_PID=y +CONFIG_USB_HIDDEV=y + +# +# Special HID drivers +# +CONFIG_HID_A4TECH=m +CONFIG_HID_ACRUX=m +CONFIG_HID_ACRUX_FF=y +CONFIG_HID_APPLE=m +CONFIG_HID_BELKIN=m +CONFIG_HID_CHERRY=m +CONFIG_HID_CHICONY=m +CONFIG_HID_PRODIKEYS=m +CONFIG_HID_CYPRESS=m +CONFIG_HID_DRAGONRISE=m +CONFIG_DRAGONRISE_FF=y +CONFIG_HID_EMS_FF=m +CONFIG_HID_ELECOM=m +CONFIG_HID_EZKEY=m +CONFIG_HID_HOLTEK=m +CONFIG_HOLTEK_FF=y +CONFIG_HID_KEYTOUCH=m +CONFIG_HID_KYE=m +CONFIG_HID_UCLOGIC=m +CONFIG_HID_WALTOP=m +CONFIG_HID_GYRATION=m +CONFIG_HID_TWINHAN=m +CONFIG_HID_KENSINGTON=m +CONFIG_HID_LCPOWER=m +CONFIG_HID_LOGITECH=m +CONFIG_HID_LOGITECH_DJ=m +CONFIG_LOGITECH_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGIG940_FF=y +CONFIG_LOGIWHEELS_FF=y +CONFIG_HID_MAGICMOUSE=m +CONFIG_HID_MICROSOFT=m +CONFIG_HID_MONTEREY=m +CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NTRIG=m +CONFIG_HID_ORTEK=m +CONFIG_HID_PANTHERLORD=m +CONFIG_PANTHERLORD_FF=y +CONFIG_HID_PETALYNX=m +CONFIG_HID_PICOLCD=m +CONFIG_HID_PICOLCD_FB=y +CONFIG_HID_PICOLCD_BACKLIGHT=y +CONFIG_HID_PICOLCD_LCD=y +CONFIG_HID_PICOLCD_LEDS=y +CONFIG_HID_PRIMAX=m +CONFIG_HID_QUANTA=m +CONFIG_HID_ROCCAT=m +CONFIG_HID_ROCCAT_COMMON=m +CONFIG_HID_ROCCAT_ARVO=m +CONFIG_HID_ROCCAT_KONE=m +CONFIG_HID_ROCCAT_KONEPLUS=m +CONFIG_HID_ROCCAT_KOVAPLUS=m +CONFIG_HID_ROCCAT_PYRA=m +CONFIG_HID_SAMSUNG=m +CONFIG_HID_SONY=m +CONFIG_HID_SPEEDLINK=m +CONFIG_HID_SUNPLUS=m +CONFIG_HID_GREENASIA=m +CONFIG_GREENASIA_FF=y +CONFIG_HID_SMARTJOYPLUS=m +CONFIG_SMARTJOYPLUS_FF=y +CONFIG_HID_TOPSEED=m +CONFIG_HID_THRUSTMASTER=m +CONFIG_THRUSTMASTER_FF=y +CONFIG_HID_WACOM=m +CONFIG_HID_WACOM_POWER_SUPPLY=y +CONFIG_HID_WIIMOTE=m +CONFIG_HID_ZEROPLUS=m +CONFIG_ZEROPLUS_FF=y +CONFIG_HID_ZYDACRON=m +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=m +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB_ARCH_HAS_XHCI=y +CONFIG_USB=m +# CONFIG_USB_DEBUG is not set +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEVICEFS=y +# CONFIG_USB_DEVICE_CLASS is not set +CONFIG_USB_DYNAMIC_MINORS=y +CONFIG_USB_SUSPEND=y +# CONFIG_USB_OTG is not set +CONFIG_USB_DWC3=m +# CONFIG_USB_DWC3_DEBUG is not set +CONFIG_USB_MON=m +CONFIG_USB_WUSB=m +CONFIG_USB_WUSB_CBAF=m +# CONFIG_USB_WUSB_CBAF_DEBUG is not set + +# +# USB Host Controller Drivers +# +CONFIG_USB_C67X00_HCD=m +CONFIG_USB_XHCI_HCD=m +# CONFIG_USB_XHCI_HCD_DEBUGGING is not set +CONFIG_USB_EHCI_HCD=m +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_OXU210HP_HCD=m +CONFIG_USB_ISP116X_HCD=m +CONFIG_USB_ISP1760_HCD=m +CONFIG_USB_ISP1362_HCD=m +CONFIG_USB_OHCI_HCD=m +# CONFIG_USB_OHCI_HCD_SSB is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_UHCI_HCD=m +CONFIG_USB_U132_HCD=m +CONFIG_USB_SL811_HCD=m +# CONFIG_USB_SL811_HCD_ISO is not set +CONFIG_USB_SL811_CS=m +CONFIG_USB_R8A66597_HCD=m +CONFIG_USB_RENESAS_USBHS_HCD=m +CONFIG_USB_WHCI_HCD=m +CONFIG_USB_HWA_HCD=m +CONFIG_USB_RENESAS_USBHS=m + +# +# USB Device Class drivers +# +CONFIG_USB_ACM=m +CONFIG_USB_PRINTER=m +CONFIG_USB_WDM=m +CONFIG_USB_TMC=m + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may +# + +# +# also be needed; see USB_STORAGE Help for more info +# +CONFIG_USB_STORAGE=m +# CONFIG_USB_STORAGE_DEBUG is not set +CONFIG_USB_STORAGE_REALTEK=m +CONFIG_REALTEK_AUTOPM=y +CONFIG_USB_STORAGE_DATAFAB=m +CONFIG_USB_STORAGE_FREECOM=m +CONFIG_USB_STORAGE_ISD200=m +CONFIG_USB_STORAGE_USBAT=m +CONFIG_USB_STORAGE_SDDR09=m +CONFIG_USB_STORAGE_SDDR55=m +CONFIG_USB_STORAGE_JUMPSHOT=m +CONFIG_USB_STORAGE_ALAUDA=m +CONFIG_USB_STORAGE_ONETOUCH=m +CONFIG_USB_STORAGE_KARMA=m +CONFIG_USB_STORAGE_CYPRESS_ATACB=m +CONFIG_USB_STORAGE_ENE_UB6250=m +CONFIG_USB_UAS=m +# CONFIG_USB_LIBUSUAL is not set + +# +# USB Imaging devices +# +CONFIG_USB_MDC800=m +CONFIG_USB_MICROTEK=m + +# +# USB port drivers +# +CONFIG_USB_USS720=m +CONFIG_USB_SERIAL=m +CONFIG_USB_EZUSB=y +CONFIG_USB_SERIAL_GENERIC=y +CONFIG_USB_SERIAL_AIRCABLE=m +CONFIG_USB_SERIAL_ARK3116=m +CONFIG_USB_SERIAL_BELKIN=m +CONFIG_USB_SERIAL_CH341=m +CONFIG_USB_SERIAL_WHITEHEAT=m +CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m +CONFIG_USB_SERIAL_CP210X=m +CONFIG_USB_SERIAL_CYPRESS_M8=m +CONFIG_USB_SERIAL_EMPEG=m +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_SERIAL_FUNSOFT=m +CONFIG_USB_SERIAL_VISOR=m +CONFIG_USB_SERIAL_IPAQ=m +CONFIG_USB_SERIAL_IR=m +CONFIG_USB_SERIAL_EDGEPORT=m +CONFIG_USB_SERIAL_EDGEPORT_TI=m +CONFIG_USB_SERIAL_GARMIN=m +CONFIG_USB_SERIAL_IPW=m +CONFIG_USB_SERIAL_IUU=m +CONFIG_USB_SERIAL_KEYSPAN_PDA=m +CONFIG_USB_SERIAL_KEYSPAN=m +CONFIG_USB_SERIAL_KEYSPAN_MPR=y +CONFIG_USB_SERIAL_KEYSPAN_USA28=y +CONFIG_USB_SERIAL_KEYSPAN_USA28X=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y +CONFIG_USB_SERIAL_KEYSPAN_USA19=y +CONFIG_USB_SERIAL_KEYSPAN_USA18X=y +CONFIG_USB_SERIAL_KEYSPAN_USA19W=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y +CONFIG_USB_SERIAL_KEYSPAN_USA49W=y +CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y +CONFIG_USB_SERIAL_KLSI=m +CONFIG_USB_SERIAL_KOBIL_SCT=m +CONFIG_USB_SERIAL_MCT_U232=m +CONFIG_USB_SERIAL_MOS7720=m +CONFIG_USB_SERIAL_MOS7715_PARPORT=y +CONFIG_USB_SERIAL_MOS7840=m +CONFIG_USB_SERIAL_MOTOROLA=m +CONFIG_USB_SERIAL_NAVMAN=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_OTI6858=m +CONFIG_USB_SERIAL_QCAUX=m +CONFIG_USB_SERIAL_QUALCOMM=m +CONFIG_USB_SERIAL_SPCP8X5=m +CONFIG_USB_SERIAL_HP4X=m +CONFIG_USB_SERIAL_SAFE=m +# CONFIG_USB_SERIAL_SAFE_PADDED is not set +CONFIG_USB_SERIAL_SIEMENS_MPI=m +CONFIG_USB_SERIAL_SIERRAWIRELESS=m +CONFIG_USB_SERIAL_SYMBOL=m +CONFIG_USB_SERIAL_TI=m +CONFIG_USB_SERIAL_CYBERJACK=m +CONFIG_USB_SERIAL_XIRCOM=m +CONFIG_USB_SERIAL_WWAN=m +CONFIG_USB_SERIAL_OPTION=m +CONFIG_USB_SERIAL_OMNINET=m +CONFIG_USB_SERIAL_OPTICON=m +CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m +CONFIG_USB_SERIAL_ZIO=m +CONFIG_USB_SERIAL_SSU100=m +# CONFIG_USB_SERIAL_DEBUG is not set + +# +# USB Miscellaneous drivers +# +CONFIG_USB_EMI62=m +CONFIG_USB_EMI26=m +CONFIG_USB_ADUTUX=m +CONFIG_USB_SEVSEG=m +CONFIG_USB_RIO500=m +CONFIG_USB_LEGOTOWER=m +CONFIG_USB_LCD=m +CONFIG_USB_LED=m +CONFIG_USB_CYPRESS_CY7C63=m +CONFIG_USB_CYTHERM=m +CONFIG_USB_IDMOUSE=m +CONFIG_USB_FTDI_ELAN=m +CONFIG_USB_APPLEDISPLAY=m +CONFIG_USB_SISUSBVGA=m +# CONFIG_USB_SISUSBVGA_CON is not set +CONFIG_USB_LD=m +CONFIG_USB_TRANCEVIBRATOR=m +CONFIG_USB_IOWARRIOR=m +CONFIG_USB_TEST=m +CONFIG_USB_ISIGHTFW=m +CONFIG_USB_YUREX=m +CONFIG_USB_ATM=m +CONFIG_USB_SPEEDTOUCH=m +CONFIG_USB_CXACRU=m +CONFIG_USB_UEAGLEATM=m +CONFIG_USB_XUSBATM=m +CONFIG_USB_GADGET=m +# CONFIG_USB_GADGET_DEBUG is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DEBUG_FS is not set +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 +CONFIG_USB_R8A66597=m +CONFIG_USB_GADGET_DWC3=m +CONFIG_USB_M66592=m +CONFIG_USB_AMD5536UDC=m +CONFIG_USB_CI13XXX_PCI=m +CONFIG_USB_NET2272=m +CONFIG_USB_NET2272_DMA=y +CONFIG_USB_NET2280=m +CONFIG_USB_GOKU=m +CONFIG_USB_EG20T=m +CONFIG_USB_DUMMY_HCD=m +CONFIG_USB_GADGET_DUALSPEED=y +CONFIG_USB_GADGET_SUPERSPEED=y +# CONFIG_USB_ZERO is not set +CONFIG_USB_AUDIO=m +CONFIG_USB_ETH=m +CONFIG_USB_ETH_RNDIS=y +# CONFIG_USB_ETH_EEM is not set +CONFIG_USB_G_NCM=m +CONFIG_USB_GADGETFS=m +CONFIG_USB_FUNCTIONFS=m +CONFIG_USB_FUNCTIONFS_ETH=y +CONFIG_USB_FUNCTIONFS_RNDIS=y +CONFIG_USB_FUNCTIONFS_GENERIC=y +CONFIG_USB_FILE_STORAGE=m +# CONFIG_USB_FILE_STORAGE_TEST is not set +# CONFIG_USB_MASS_STORAGE is not set +CONFIG_USB_G_SERIAL=m +CONFIG_USB_MIDI_GADGET=m +CONFIG_USB_G_PRINTER=m +# CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_G_NOKIA is not set +# CONFIG_USB_G_ACM_MS is not set +# CONFIG_USB_G_MULTI is not set +CONFIG_USB_G_HID=m +CONFIG_USB_G_DBGP=m +# CONFIG_USB_G_DBGP_PRINTK is not set +CONFIG_USB_G_DBGP_SERIAL=y +CONFIG_USB_G_WEBCAM=m + +# +# OTG and related infrastructure +# +CONFIG_USB_OTG_UTILS=y +CONFIG_USB_GPIO_VBUS=m +CONFIG_NOP_USB_XCEIV=m +CONFIG_AB8500_USB=m +CONFIG_UWB=m +CONFIG_UWB_HWA=m +CONFIG_UWB_WHCI=m +CONFIG_UWB_I1480U=m +CONFIG_MMC=m +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_UNSAFE_RESUME is not set +CONFIG_MMC_CLKGATE=y + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=m +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +CONFIG_SDIO_UART=m +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_MMC_SDHCI=m +CONFIG_MMC_SDHCI_PCI=m +CONFIG_MMC_RICOH_MMC=y +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MMC_WBSD=m +CONFIG_MMC_TIFM_SD=m +CONFIG_MMC_SPI=m +CONFIG_MMC_SDRICOH_CS=m +CONFIG_MMC_CB710=m +CONFIG_MMC_VIA_SDMMC=m +CONFIG_MMC_VUB300=m +CONFIG_MMC_USHC=m +CONFIG_MEMSTICK=m +# CONFIG_MEMSTICK_DEBUG is not set + +# +# MemoryStick drivers +# +# CONFIG_MEMSTICK_UNSAFE_RESUME is not set +CONFIG_MSPRO_BLOCK=m + +# +# MemoryStick Host Controller Drivers +# +CONFIG_MEMSTICK_TIFM_MS=m +CONFIG_MEMSTICK_JMICRON_38X=m +CONFIG_MEMSTICK_R592=m +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y + +# +# LED drivers +# +CONFIG_LEDS_LM3530=m +CONFIG_LEDS_NET5501=m +CONFIG_LEDS_PCA9532=m +CONFIG_LEDS_PCA9532_GPIO=y +CONFIG_LEDS_GPIO=m +CONFIG_LEDS_LP3944=m +CONFIG_LEDS_LP5521=m +CONFIG_LEDS_LP5523=m +CONFIG_LEDS_CLEVO_MAIL=m +CONFIG_LEDS_PCA955X=m +CONFIG_LEDS_WM831X_STATUS=m +CONFIG_LEDS_DAC124S085=m +CONFIG_LEDS_REGULATOR=m +CONFIG_LEDS_BD2802=m +CONFIG_LEDS_INTEL_SS4200=m +CONFIG_LEDS_LT3593=m +CONFIG_LEDS_DELL_NETBOOKS=m +CONFIG_LEDS_MC13783=m +CONFIG_LEDS_TRIGGERS=y + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGER_TIMER=m +CONFIG_LEDS_TRIGGER_HEARTBEAT=m +CONFIG_LEDS_TRIGGER_BACKLIGHT=m +CONFIG_LEDS_TRIGGER_GPIO=m +CONFIG_LEDS_TRIGGER_DEFAULT_ON=m + +# +# iptables trigger is under Netfilter config (LED target) +# +CONFIG_ACCESSIBILITY=y +CONFIG_A11Y_BRAILLE_CONSOLE=y +# CONFIG_INFINIBAND is not set +CONFIG_EDAC=y + +# +# Reporting subsystems +# +# CONFIG_EDAC_DEBUG is not set +CONFIG_EDAC_DECODE_MCE=m +CONFIG_EDAC_MCE_INJ=m +CONFIG_EDAC_MM_EDAC=m +CONFIG_EDAC_AMD64=m +# CONFIG_EDAC_AMD64_ERROR_INJECTION is not set +CONFIG_EDAC_E752X=m +CONFIG_EDAC_I82975X=m +CONFIG_EDAC_I3000=m +CONFIG_EDAC_I3200=m +CONFIG_EDAC_X38=m +CONFIG_EDAC_I5400=m +CONFIG_EDAC_I7CORE=m +CONFIG_EDAC_I5000=m +CONFIG_EDAC_I5100=m +CONFIG_EDAC_I7300=m +CONFIG_EDAC_SBRIDGE=m +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +CONFIG_RTC_INTF_DEV_UIE_EMUL=y +CONFIG_RTC_DRV_TEST=m + +# +# I2C RTC drivers +# +CONFIG_RTC_DRV_DS1307=m +CONFIG_RTC_DRV_DS1374=m +CONFIG_RTC_DRV_DS1672=m +CONFIG_RTC_DRV_DS3232=m +CONFIG_RTC_DRV_MAX6900=m +CONFIG_RTC_DRV_RS5C372=m +CONFIG_RTC_DRV_ISL1208=m +CONFIG_RTC_DRV_ISL12022=m +CONFIG_RTC_DRV_X1205=m +CONFIG_RTC_DRV_PCF8563=m +CONFIG_RTC_DRV_PCF8583=m +CONFIG_RTC_DRV_M41T80=m +CONFIG_RTC_DRV_M41T80_WDT=y +CONFIG_RTC_DRV_BQ32K=m +CONFIG_RTC_DRV_S35390A=m +CONFIG_RTC_DRV_FM3130=m +CONFIG_RTC_DRV_RX8581=m +CONFIG_RTC_DRV_RX8025=m +CONFIG_RTC_DRV_EM3027=m +CONFIG_RTC_DRV_RV3029C2=m + +# +# SPI RTC drivers +# +CONFIG_RTC_DRV_M41T93=m +CONFIG_RTC_DRV_M41T94=m +CONFIG_RTC_DRV_DS1305=m +CONFIG_RTC_DRV_DS1390=m +CONFIG_RTC_DRV_MAX6902=m +CONFIG_RTC_DRV_R9701=m +CONFIG_RTC_DRV_RS5C348=m +CONFIG_RTC_DRV_DS3234=m +CONFIG_RTC_DRV_PCF2123=m + +# +# Platform RTC drivers +# +CONFIG_RTC_DRV_CMOS=y +CONFIG_RTC_DRV_DS1286=m +CONFIG_RTC_DRV_DS1511=m +CONFIG_RTC_DRV_DS1553=m +CONFIG_RTC_DRV_DS1742=m +CONFIG_RTC_DRV_STK17TA8=m +CONFIG_RTC_DRV_M48T86=m +CONFIG_RTC_DRV_M48T35=m +CONFIG_RTC_DRV_M48T59=m +CONFIG_RTC_DRV_MSM6242=m +CONFIG_RTC_DRV_BQ4802=m +CONFIG_RTC_DRV_RP5C01=m +CONFIG_RTC_DRV_V3020=m +CONFIG_RTC_DRV_WM831X=m +CONFIG_RTC_DRV_PCF50633=m +CONFIG_RTC_DRV_AB8500=m + +# +# on-CPU RTC drivers +# +# CONFIG_RTC_DRV_PCAP is not set +CONFIG_RTC_DRV_MC13XXX=m +CONFIG_DMADEVICES=y +# CONFIG_DMADEVICES_DEBUG is not set + +# +# DMA Devices +# +CONFIG_INTEL_MID_DMAC=m +CONFIG_INTEL_IOATDMA=m +CONFIG_TIMB_DMA=m +CONFIG_PCH_DMA=m +CONFIG_DMA_ENGINE=y + +# +# DMA Clients +# +CONFIG_NET_DMA=y +CONFIG_ASYNC_TX_DMA=y +# CONFIG_DMATEST is not set +CONFIG_DCA=m +CONFIG_AUXDISPLAY=y +CONFIG_KS0108=m +CONFIG_KS0108_PORT=0x378 +CONFIG_KS0108_DELAY=2 +CONFIG_CFAG12864B=m +CONFIG_CFAG12864B_RATE=20 +CONFIG_UIO=m +CONFIG_UIO_CIF=m +CONFIG_UIO_PDRV=m +CONFIG_UIO_PDRV_GENIRQ=m +CONFIG_UIO_AEC=m +CONFIG_UIO_SERCOS3=m +CONFIG_UIO_PCI_GENERIC=m +CONFIG_UIO_NETX=m +CONFIG_VIRTIO=m +CONFIG_VIRTIO_RING=m + +# +# Virtio drivers +# +CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_BALLOON=m +CONFIG_VIRTIO_MMIO=m + +# +# Xen driver support +# +CONFIG_XEN_BALLOON=y +# CONFIG_XEN_SELFBALLOONING is not set +CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y +CONFIG_XEN_SCRUB_PAGES=y +CONFIG_XEN_DEV_EVTCHN=m +CONFIG_XEN_BACKEND=y +CONFIG_XENFS=m +CONFIG_XEN_COMPAT_XENFS=y +CONFIG_XEN_SYS_HYPERVISOR=y +CONFIG_XEN_XENBUS_FRONTEND=m +CONFIG_XEN_GNTDEV=m +CONFIG_XEN_GRANT_DEV_ALLOC=m +CONFIG_SWIOTLB_XEN=y +CONFIG_XEN_TMEM=y +CONFIG_XEN_PCIDEV_BACKEND=m +CONFIG_STAGING=y +CONFIG_ET131X=m +CONFIG_SLICOSS=m +CONFIG_USBIP_CORE=m +CONFIG_USBIP_VHCI_HCD=m +CONFIG_USBIP_HOST=m +# CONFIG_USBIP_DEBUG is not set +CONFIG_W35UND=m +CONFIG_PRISM2_USB=m +CONFIG_ECHO=m +CONFIG_COMEDI=m +# CONFIG_COMEDI_DEBUG is not set +CONFIG_COMEDI_MISC_DRIVERS=m +CONFIG_COMEDI_KCOMEDILIB=m +CONFIG_COMEDI_BOND=m +CONFIG_COMEDI_TEST=m +CONFIG_COMEDI_PARPORT=m +CONFIG_COMEDI_SERIAL2002=m +CONFIG_COMEDI_SKEL=m +CONFIG_COMEDI_PCI_DRIVERS=m +CONFIG_COMEDI_ADDI_APCI_035=m +CONFIG_COMEDI_ADDI_APCI_1032=m +CONFIG_COMEDI_ADDI_APCI_1500=m +CONFIG_COMEDI_ADDI_APCI_1516=m +CONFIG_COMEDI_ADDI_APCI_1564=m +CONFIG_COMEDI_ADDI_APCI_16XX=m +CONFIG_COMEDI_ADDI_APCI_2016=m +CONFIG_COMEDI_ADDI_APCI_2032=m +CONFIG_COMEDI_ADDI_APCI_2200=m +CONFIG_COMEDI_ADDI_APCI_3001=m +CONFIG_COMEDI_ADDI_APCI_3120=m +CONFIG_COMEDI_ADDI_APCI_3501=m +CONFIG_COMEDI_ADDI_APCI_3XXX=m +CONFIG_COMEDI_ADL_PCI6208=m +CONFIG_COMEDI_ADL_PCI7230=m +CONFIG_COMEDI_ADL_PCI7296=m +CONFIG_COMEDI_ADL_PCI7432=m +CONFIG_COMEDI_ADL_PCI8164=m +CONFIG_COMEDI_ADL_PCI9111=m +CONFIG_COMEDI_ADL_PCI9118=m +CONFIG_COMEDI_ADV_PCI1710=m +CONFIG_COMEDI_ADV_PCI1723=m +CONFIG_COMEDI_ADV_PCI_DIO=m +CONFIG_COMEDI_AMPLC_DIO200=m +CONFIG_COMEDI_AMPLC_PC236=m +CONFIG_COMEDI_AMPLC_PC263=m +CONFIG_COMEDI_AMPLC_PCI224=m +CONFIG_COMEDI_AMPLC_PCI230=m +CONFIG_COMEDI_CONTEC_PCI_DIO=m +CONFIG_COMEDI_DT3000=m +CONFIG_COMEDI_DYNA_PCI10XX=m +CONFIG_COMEDI_UNIOXX5=m +CONFIG_COMEDI_GSC_HPDI=m +CONFIG_COMEDI_ICP_MULTI=m +CONFIG_COMEDI_II_PCI20KC=m +CONFIG_COMEDI_DAQBOARD2000=m +CONFIG_COMEDI_JR3_PCI=m +CONFIG_COMEDI_KE_COUNTER=m +CONFIG_COMEDI_CB_PCIDAS64=m +CONFIG_COMEDI_CB_PCIDAS=m +CONFIG_COMEDI_CB_PCIDDA=m +CONFIG_COMEDI_CB_PCIDIO=m +CONFIG_COMEDI_CB_PCIMDAS=m +CONFIG_COMEDI_CB_PCIMDDA=m +CONFIG_COMEDI_ME4000=m +CONFIG_COMEDI_ME_DAQ=m +CONFIG_COMEDI_NI_6527=m +CONFIG_COMEDI_NI_65XX=m +CONFIG_COMEDI_NI_660X=m +CONFIG_COMEDI_NI_670X=m +CONFIG_COMEDI_NI_PCIDIO=m +CONFIG_COMEDI_NI_PCIMIO=m +CONFIG_COMEDI_RTD520=m +CONFIG_COMEDI_S526=m +CONFIG_COMEDI_S626=m +CONFIG_COMEDI_SSV_DNP=m +CONFIG_COMEDI_PCMCIA_DRIVERS=m +CONFIG_COMEDI_CB_DAS16_CS=m +CONFIG_COMEDI_DAS08_CS=m +CONFIG_COMEDI_NI_DAQ_700_CS=m +CONFIG_COMEDI_NI_DAQ_DIO24_CS=m +CONFIG_COMEDI_NI_LABPC_CS=m +CONFIG_COMEDI_NI_MIO_CS=m +CONFIG_COMEDI_QUATECH_DAQP_CS=m +CONFIG_COMEDI_USB_DRIVERS=m +CONFIG_COMEDI_DT9812=m +CONFIG_COMEDI_USBDUX=m +CONFIG_COMEDI_USBDUXFAST=m +CONFIG_COMEDI_USBDUXSIGMA=m +CONFIG_COMEDI_VMK80XX=m +CONFIG_COMEDI_NI_COMMON=m +CONFIG_COMEDI_MITE=m +CONFIG_COMEDI_NI_TIO=m +CONFIG_COMEDI_NI_LABPC=m +CONFIG_COMEDI_8255=m +CONFIG_COMEDI_DAS08=m +CONFIG_COMEDI_FC=m +CONFIG_ASUS_OLED=m +# CONFIG_PANEL is not set +CONFIG_R8187SE=m +CONFIG_RTL8192U=m +CONFIG_RTL8192E=m +CONFIG_R8712U=m +CONFIG_R8712_AP=y +CONFIG_RTS_PSTOR=m +# CONFIG_RTS_PSTOR_DEBUG is not set +CONFIG_RTS5139=m +# CONFIG_RTS5139_DEBUG is not set +# CONFIG_TRANZPORT is not set +CONFIG_POHMELFS=m +# CONFIG_POHMELFS_DEBUG is not set +CONFIG_IDE_PHISON=m +CONFIG_LINE6_USB=m +# CONFIG_LINE6_USB_DEBUG is not set +# CONFIG_LINE6_USB_DUMP_CTRL is not set +# CONFIG_LINE6_USB_DUMP_MIDI is not set +# CONFIG_LINE6_USB_DUMP_PCM is not set +# CONFIG_LINE6_USB_RAW is not set +# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set +CONFIG_DRM_NOUVEAU=m +CONFIG_DRM_NOUVEAU_BACKLIGHT=y +CONFIG_DRM_NOUVEAU_DEBUG=y + +# +# I2C encoder or helper chips +# +CONFIG_DRM_I2C_CH7006=m +CONFIG_DRM_I2C_SIL164=m +CONFIG_USB_SERIAL_QUATECH2=m +CONFIG_USB_SERIAL_QUATECH_USB2=m +CONFIG_VT6655=m +CONFIG_VT6656=m +CONFIG_HYPERV_STORAGE=m +CONFIG_HYPERV_NET=m +CONFIG_HYPERV_MOUSE=m +# CONFIG_VME_BUS is not set +CONFIG_DX_SEP=m +# CONFIG_IIO is not set +CONFIG_XVMALLOC=y +CONFIG_ZRAM=m +# CONFIG_ZRAM_DEBUG is not set +CONFIG_ZCACHE=m +CONFIG_WLAGS49_H2=m +CONFIG_WLAGS49_H25=m +CONFIG_FB_SM7XX=m +CONFIG_CRYSTALHD=m +CONFIG_FB_XGI=m +CONFIG_ACPI_QUICKSTART=m +CONFIG_USB_ENESTORAGE=m +CONFIG_BCM_WIMAX=m +CONFIG_FT1000=m +CONFIG_FT1000_USB=m +CONFIG_FT1000_PCMCIA=m + +# +# Speakup console speech +# +CONFIG_SPEAKUP=m +CONFIG_SPEAKUP_SYNTH_ACNTSA=m +CONFIG_SPEAKUP_SYNTH_ACNTPC=m +CONFIG_SPEAKUP_SYNTH_APOLLO=m +CONFIG_SPEAKUP_SYNTH_AUDPTR=m +CONFIG_SPEAKUP_SYNTH_BNS=m +CONFIG_SPEAKUP_SYNTH_DECTLK=m +CONFIG_SPEAKUP_SYNTH_DECEXT=m +CONFIG_SPEAKUP_SYNTH_DECPC=m +CONFIG_SPEAKUP_SYNTH_DTLK=m +CONFIG_SPEAKUP_SYNTH_KEYPC=m +CONFIG_SPEAKUP_SYNTH_LTLK=m +CONFIG_SPEAKUP_SYNTH_SOFT=m +CONFIG_SPEAKUP_SYNTH_SPKOUT=m +CONFIG_SPEAKUP_SYNTH_TXPRT=m +CONFIG_SPEAKUP_SYNTH_DUMMY=m +CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m +CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m +CONFIG_DRM_PSB=m +CONFIG_DRM_PSB_MRST=y +CONFIG_DRM_PSB_MFLD=y +CONFIG_DRM_PSB_CDV=y +CONFIG_INTEL_MEI=m +CONFIG_STAGING_MEDIA=y +CONFIG_DVB_AS102=m +CONFIG_DVB_CXD2099=m +CONFIG_VIDEO_DT3155=m +CONFIG_DT3155_CCIR=y +CONFIG_DT3155_STREAMING=y +CONFIG_EASYCAP=m +# CONFIG_EASYCAP_DEBUG is not set +CONFIG_VIDEO_GO7007=m +CONFIG_VIDEO_GO7007_USB=m +# CONFIG_VIDEO_GO7007_USB_S2250_BOARD is not set +CONFIG_VIDEO_GO7007_OV7640=m +CONFIG_VIDEO_GO7007_SAA7113=m +CONFIG_VIDEO_GO7007_SAA7115=m +CONFIG_VIDEO_GO7007_TW9903=m +CONFIG_VIDEO_GO7007_UDA1342=m +CONFIG_VIDEO_GO7007_SONY_TUNER=m +CONFIG_VIDEO_GO7007_TW2804=m +CONFIG_SOLO6X10=m +CONFIG_LIRC_STAGING=y +CONFIG_LIRC_BT829=m +CONFIG_LIRC_IGORPLUGUSB=m +CONFIG_LIRC_IMON=m +CONFIG_LIRC_PARALLEL=m +CONFIG_LIRC_SASEM=m +CONFIG_LIRC_SERIAL=m +CONFIG_LIRC_SERIAL_TRANSMITTER=y +CONFIG_LIRC_SIR=m +CONFIG_LIRC_TTUSBIR=m +CONFIG_LIRC_ZILOG=m +CONFIG_X86_PLATFORM_DEVICES=y +CONFIG_ACER_WMI=m +CONFIG_ACERHDF=m +CONFIG_ASUS_LAPTOP=m +CONFIG_DELL_LAPTOP=m +CONFIG_DELL_WMI=m +CONFIG_DELL_WMI_AIO=m +CONFIG_FUJITSU_LAPTOP=m +# CONFIG_FUJITSU_LAPTOP_DEBUG is not set +CONFIG_HP_ACCEL=m +CONFIG_HP_WMI=m +CONFIG_MSI_LAPTOP=m +CONFIG_PANASONIC_LAPTOP=m +CONFIG_COMPAL_LAPTOP=m +CONFIG_SONY_LAPTOP=m +# CONFIG_SONYPI_COMPAT is not set +CONFIG_IDEAPAD_LAPTOP=m +CONFIG_THINKPAD_ACPI=m +CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y +# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set +# CONFIG_THINKPAD_ACPI_DEBUG is not set +# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set +CONFIG_THINKPAD_ACPI_VIDEO=y +CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y +CONFIG_SENSORS_HDAPS=m +CONFIG_INTEL_MENLOW=m +CONFIG_EEEPC_LAPTOP=m +CONFIG_ASUS_WMI=m +CONFIG_ASUS_NB_WMI=m +CONFIG_EEEPC_WMI=m +CONFIG_ACPI_WMI=m +CONFIG_MSI_WMI=m +CONFIG_ACPI_ASUS=m +CONFIG_TOPSTAR_LAPTOP=m +CONFIG_ACPI_TOSHIBA=m +CONFIG_TOSHIBA_BT_RFKILL=m +CONFIG_ACPI_CMPC=m +CONFIG_INTEL_IPS=m +CONFIG_IBM_RTL=m +CONFIG_XO15_EBOOK=m +CONFIG_SAMSUNG_LAPTOP=m +CONFIG_MXM_WMI=m +CONFIG_INTEL_OAKTRAIL=m +CONFIG_SAMSUNG_Q10=m + +# +# Hardware Spinlock drivers +# +CONFIG_CLKEVT_I8253=y +CONFIG_I8253_LOCK=y +CONFIG_CLKBLD_I8253=y +CONFIG_IOMMU_API=y +CONFIG_IOMMU_SUPPORT=y +CONFIG_AMD_IOMMU=y +# CONFIG_AMD_IOMMU_STATS is not set +CONFIG_DMAR_TABLE=y +CONFIG_INTEL_IOMMU=y +# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set +CONFIG_INTEL_IOMMU_FLOPPY_WA=y +CONFIG_IRQ_REMAP=y +CONFIG_VIRT_DRIVERS=y +CONFIG_HYPERV=m +CONFIG_HYPERV_UTILS=m +# CONFIG_PM_DEVFREQ is not set + +# +# Firmware Drivers +# +CONFIG_EDD=m +# CONFIG_EDD_OFF is not set +CONFIG_FIRMWARE_MEMMAP=y +CONFIG_EFI_VARS=m +CONFIG_DELL_RBU=m +CONFIG_DCDBAS=m +CONFIG_DMIID=y +CONFIG_DMI_SYSFS=m +# CONFIG_ISCSI_IBFT_FIND is not set +CONFIG_SIGMA=m +# CONFIG_GOOGLE_FIRMWARE is not set + +# +# File systems +# +# CONFIG_EXT2_FS is not set +# CONFIG_EXT3_FS is not set +CONFIG_EXT4_FS=m +CONFIG_EXT4_USE_FOR_EXT23=y +CONFIG_EXT4_FS_XATTR=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD=m +# CONFIG_JBD_DEBUG is not set +CONFIG_JBD2=m +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=m +CONFIG_REISERFS_FS=m +# CONFIG_REISERFS_CHECK is not set +CONFIG_REISERFS_PROC_INFO=y +CONFIG_REISERFS_FS_XATTR=y +CONFIG_REISERFS_FS_POSIX_ACL=y +CONFIG_REISERFS_FS_SECURITY=y +CONFIG_JFS_FS=m +CONFIG_JFS_POSIX_ACL=y +CONFIG_JFS_SECURITY=y +# CONFIG_JFS_DEBUG is not set +CONFIG_JFS_STATISTICS=y +CONFIG_XFS_FS=m +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +CONFIG_XFS_RT=y +# CONFIG_XFS_DEBUG is not set +CONFIG_GFS2_FS=m +CONFIG_GFS2_FS_LOCKING_DLM=y +CONFIG_OCFS2_FS=m +CONFIG_OCFS2_FS_O2CB=m +CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m +CONFIG_OCFS2_FS_STATS=y +# CONFIG_OCFS2_DEBUG_MASKLOG is not set +# CONFIG_OCFS2_DEBUG_FS is not set +CONFIG_BTRFS_FS=m +CONFIG_BTRFS_FS_POSIX_ACL=y +CONFIG_NILFS2_FS=m +CONFIG_FS_POSIX_ACL=y +CONFIG_EXPORTFS=m +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +CONFIG_FANOTIFY=y +# CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set +CONFIG_QUOTA=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +# CONFIG_PRINT_QUOTA_WARNING is not set +# CONFIG_QUOTA_DEBUG is not set +CONFIG_QUOTA_TREE=m +CONFIG_QFMT_V1=m +CONFIG_QFMT_V2=m +CONFIG_QUOTACTL=y +CONFIG_QUOTACTL_COMPAT=y +CONFIG_AUTOFS4_FS=m +CONFIG_FUSE_FS=m +CONFIG_CUSE=m +CONFIG_GENERIC_ACL=y + +# +# Caches +# +CONFIG_FSCACHE=m +CONFIG_FSCACHE_STATS=y +CONFIG_FSCACHE_HISTOGRAM=y +# CONFIG_FSCACHE_DEBUG is not set +# CONFIG_FSCACHE_OBJECT_LIST is not set +CONFIG_CACHEFILES=m +# CONFIG_CACHEFILES_DEBUG is not set +# CONFIG_CACHEFILES_HISTOGRAM is not set + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=m +CONFIG_JOLIET=y +CONFIG_ZISOFS=y +CONFIG_UDF_FS=m +CONFIG_UDF_NLS=y + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=m +CONFIG_MSDOS_FS=m +CONFIG_VFAT_FS=m +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +CONFIG_NTFS_FS=m +# CONFIG_NTFS_DEBUG is not set +CONFIG_NTFS_RW=y + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_KCORE=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +CONFIG_HUGETLBFS=y +CONFIG_HUGETLB_PAGE=y +CONFIG_CONFIGFS_FS=m +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ADFS_FS is not set +CONFIG_AFFS_FS=m +CONFIG_ECRYPT_FS=m +CONFIG_HFS_FS=m +CONFIG_HFSPLUS_FS=m +CONFIG_BEFS_FS=m +# CONFIG_BEFS_DEBUG is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_JFFS2_FS=m +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_LZO is not set +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +CONFIG_UBIFS_FS=m +CONFIG_UBIFS_FS_XATTR=y +# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y +# CONFIG_UBIFS_FS_DEBUG is not set +CONFIG_LOGFS=m +CONFIG_CRAMFS=m +CONFIG_SQUASHFS=m +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_ZLIB=y +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +CONFIG_MINIX_FS=m +CONFIG_OMFS_FS=m +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_ROMFS_FS is not set +CONFIG_PSTORE=y +# CONFIG_SYSV_FS is not set +CONFIG_UFS_FS=m +# CONFIG_UFS_FS_WRITE is not set +# CONFIG_UFS_DEBUG is not set +CONFIG_EXOFS_FS=m +# CONFIG_EXOFS_DEBUG is not set +CONFIG_ORE=m +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=m +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +CONFIG_NFS_V4=y +# CONFIG_NFS_V4_1 is not set +CONFIG_NFS_FSCACHE=y +# CONFIG_NFS_USE_LEGACY_DNS is not set +CONFIG_NFS_USE_KERNEL_DNS=y +# CONFIG_NFS_USE_NEW_IDMAPPER is not set +CONFIG_NFSD=m +CONFIG_NFSD_V2_ACL=y +CONFIG_NFSD_V3=y +CONFIG_NFSD_V3_ACL=y +CONFIG_NFSD_V4=y +CONFIG_LOCKD=m +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=m +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=m +CONFIG_SUNRPC_GSS=m +CONFIG_RPCSEC_GSS_KRB5=m +CONFIG_CEPH_FS=m +CONFIG_CIFS=m +CONFIG_CIFS_STATS=y +# CONFIG_CIFS_STATS2 is not set +CONFIG_CIFS_WEAK_PW_HASH=y +CONFIG_CIFS_UPCALL=y +CONFIG_CIFS_XATTR=y +CONFIG_CIFS_POSIX=y +# CONFIG_CIFS_DEBUG2 is not set +CONFIG_CIFS_DFS_UPCALL=y +CONFIG_CIFS_FSCACHE=y +CONFIG_CIFS_ACL=y +CONFIG_NCP_FS=m +# CONFIG_NCPFS_PACKET_SIGNING is not set +# CONFIG_NCPFS_IOCTL_LOCKING is not set +# CONFIG_NCPFS_STRONG is not set +CONFIG_NCPFS_NFS_NS=y +CONFIG_NCPFS_OS2_NS=y +CONFIG_NCPFS_SMALLDOS=y +CONFIG_NCPFS_NLS=y +# CONFIG_NCPFS_EXTRAS is not set +CONFIG_CODA_FS=m +CONFIG_AFS_FS=m +# CONFIG_AFS_DEBUG is not set +CONFIG_AFS_FSCACHE=y +CONFIG_9P_FS=m +CONFIG_9P_FSCACHE=y +CONFIG_9P_FS_POSIX_ACL=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +CONFIG_MAC_PARTITION=y +CONFIG_MSDOS_PARTITION=y +CONFIG_BSD_DISKLABEL=y +CONFIG_MINIX_SUBPARTITION=y +CONFIG_SOLARIS_X86_PARTITION=y +# CONFIG_UNIXWARE_DISKLABEL is not set +CONFIG_LDM_PARTITION=y +# CONFIG_LDM_DEBUG is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +CONFIG_KARMA_PARTITION=y +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NLS_CODEPAGE_437=m +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=m +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=m +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +CONFIG_NLS_UTF8=m +CONFIG_DLM=m +# CONFIG_DLM_DEBUG is not set + +# +# Kernel hacking +# +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_PRINTK_TIME=y +CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4 +CONFIG_ENABLE_WARN_DEPRECATED=y +# CONFIG_ENABLE_MUST_CHECK is not set +CONFIG_FRAME_WARN=2048 +CONFIG_MAGIC_SYSRQ=y +CONFIG_STRIP_ASM_SYMS=y +CONFIG_UNUSED_SYMBOLS=y +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_SHIRQ is not set +CONFIG_LOCKUP_DETECTOR=y +CONFIG_HARDLOCKUP_DETECTOR=y +# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0 +# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 +CONFIG_DETECT_HUNG_TASK=y +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 +# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set +CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHEDSTATS is not set +CONFIG_TIMER_STATS=y +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +# CONFIG_DEBUG_PREEMPT is not set +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_RT_MUTEX_TESTER is not set +# CONFIG_DEBUG_SPINLOCK is not set +CONFIG_DEBUG_MUTEXES=y +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +CONFIG_STACKTRACE=y +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_INFO is not set +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_VIRTUAL is not set +# CONFIG_DEBUG_WRITECOUNT is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_FRAME_POINTER=y +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=60 +# CONFIG_RCU_CPU_STALL_VERBOSE is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# CONFIG_DEBUG_PER_CPU_MAPS is not set +CONFIG_LKDTM=m +CONFIG_CPU_NOTIFIER_ERROR_INJECT=m +# CONFIG_FAULT_INJECTION is not set +# CONFIG_LATENCYTOP is not set +CONFIG_SYSCTL_SYSCALL_CHECK=y +# CONFIG_DEBUG_PAGEALLOC is not set +CONFIG_USER_STACKTRACE_SUPPORT=y +CONFIG_NOP_TRACER=y +CONFIG_HAVE_FTRACE_NMI_ENTER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y +CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACER_MAX_TRACE=y +CONFIG_RING_BUFFER=y +CONFIG_FTRACE_NMI_ENTER=y +CONFIG_EVENT_TRACING=y +CONFIG_EVENT_POWER_TRACING_DEPRECATED=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_RING_BUFFER_ALLOW_SWAP=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_GRAPH_TRACER=y +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_PREEMPT_TRACER is not set +CONFIG_SCHED_TRACER=y +CONFIG_FTRACE_SYSCALLS=y +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +CONFIG_STACK_TRACER=y +CONFIG_BLK_DEV_IO_TRACE=y +CONFIG_DYNAMIC_FTRACE=y +CONFIG_FUNCTION_PROFILER=y +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +CONFIG_MMIOTRACE=y +# CONFIG_MMIOTRACE_TEST is not set +CONFIG_RING_BUFFER_BENCHMARK=m +# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set +# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set +# CONFIG_DYNAMIC_DEBUG is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_ATOMIC64_SELFTEST is not set +CONFIG_ASYNC_RAID6_TEST=m +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +CONFIG_HAVE_ARCH_KMEMCHECK=y +CONFIG_TEST_KSTRTOX=m +CONFIG_STRICT_DEVMEM=y +CONFIG_X86_VERBOSE_BOOTUP=y +CONFIG_EARLY_PRINTK=y +# CONFIG_EARLY_PRINTK_DBGP is not set +# CONFIG_DEBUG_STACKOVERFLOW is not set +# CONFIG_X86_PTDUMP is not set +CONFIG_DEBUG_RODATA=y +# CONFIG_DEBUG_RODATA_TEST is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_DEBUG_NX_TEST is not set +# CONFIG_IOMMU_DEBUG is not set +# CONFIG_IOMMU_STRESS is not set +CONFIG_HAVE_MMIOTRACE_SUPPORT=y +CONFIG_IO_DELAY_TYPE_0X80=0 +CONFIG_IO_DELAY_TYPE_0XED=1 +CONFIG_IO_DELAY_TYPE_UDELAY=2 +CONFIG_IO_DELAY_TYPE_NONE=3 +CONFIG_IO_DELAY_0X80=y +# CONFIG_IO_DELAY_0XED is not set +# CONFIG_IO_DELAY_UDELAY is not set +# CONFIG_IO_DELAY_NONE is not set +CONFIG_DEFAULT_IO_DELAY_TYPE=0 +# CONFIG_DEBUG_BOOT_PARAMS is not set +# CONFIG_CPA_DEBUG is not set +# CONFIG_OPTIMIZE_INLINING is not set +# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set + +# +# Security options +# +CONFIG_KEYS=y +CONFIG_TRUSTED_KEYS=m +CONFIG_ENCRYPTED_KEYS=m +# CONFIG_KEYS_DEBUG_PROC_KEYS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +CONFIG_SECURITY=y +CONFIG_SECURITYFS=y +CONFIG_SECURITY_NETWORK=y +# CONFIG_SECURITY_NETWORK_XFRM is not set +CONFIG_SECURITY_PATH=y +# CONFIG_INTEL_TXT is not set +# CONFIG_SECURITY_SELINUX is not set +# CONFIG_SECURITY_SMACK is not set +CONFIG_SECURITY_TOMOYO=y +CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048 +CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024 +# CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER is not set +CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init" +CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init" +CONFIG_SECURITY_APPARMOR=y +CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=0 +# CONFIG_IMA is not set +# CONFIG_DEFAULT_SECURITY_TOMOYO is not set +# CONFIG_DEFAULT_SECURITY_APPARMOR is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_XOR_BLOCKS=m +CONFIG_ASYNC_CORE=m +CONFIG_ASYNC_MEMCPY=m +CONFIG_ASYNC_XOR=m +CONFIG_ASYNC_PQ=m +CONFIG_ASYNC_RAID6_RECOV=m +CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y +CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=m +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=m +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=m +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_PCOMP=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +CONFIG_CRYPTO_USER=m +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_PCRYPT=m +CONFIG_CRYPTO_WORKQUEUE=y +CONFIG_CRYPTO_CRYPTD=m +CONFIG_CRYPTO_AUTHENC=m +CONFIG_CRYPTO_TEST=m + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +CONFIG_CRYPTO_SEQIV=m + +# +# Block modes +# +CONFIG_CRYPTO_CBC=m +CONFIG_CRYPTO_CTR=m +CONFIG_CRYPTO_CTS=m +CONFIG_CRYPTO_ECB=m +CONFIG_CRYPTO_LRW=m +CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_XTS=m + +# +# Hash modes +# +CONFIG_CRYPTO_HMAC=m +CONFIG_CRYPTO_XCBC=m +CONFIG_CRYPTO_VMAC=m + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=m +CONFIG_CRYPTO_CRC32C_INTEL=m +CONFIG_CRYPTO_GHASH=m +CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_MD5=m +CONFIG_CRYPTO_MICHAEL_MIC=m +CONFIG_CRYPTO_RMD128=m +CONFIG_CRYPTO_RMD160=m +CONFIG_CRYPTO_RMD256=m +CONFIG_CRYPTO_RMD320=m +CONFIG_CRYPTO_SHA1=m +CONFIG_CRYPTO_SHA1_SSSE3=m +CONFIG_CRYPTO_SHA256=m +CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_TGR192=m +CONFIG_CRYPTO_WP512=m +CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m + +# +# Ciphers +# +CONFIG_CRYPTO_AES=m +CONFIG_CRYPTO_AES_X86_64=m +CONFIG_CRYPTO_AES_NI_INTEL=m +CONFIG_CRYPTO_ANUBIS=m +CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_BLOWFISH_COMMON=m +CONFIG_CRYPTO_BLOWFISH_X86_64=m +CONFIG_CRYPTO_CAMELLIA=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST6=m +CONFIG_CRYPTO_DES=m +CONFIG_CRYPTO_FCRYPT=m +CONFIG_CRYPTO_KHAZAD=m +CONFIG_CRYPTO_SALSA20=m +CONFIG_CRYPTO_SALSA20_X86_64=m +CONFIG_CRYPTO_SEED=m +CONFIG_CRYPTO_SERPENT=m +CONFIG_CRYPTO_TEA=m +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_TWOFISH_COMMON=m +CONFIG_CRYPTO_TWOFISH_X86_64=m +CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=m +CONFIG_CRYPTO_ZLIB=m +CONFIG_CRYPTO_LZO=m + +# +# Random Number Generation +# +CONFIG_CRYPTO_ANSI_CPRNG=m +CONFIG_CRYPTO_USER_API=m +CONFIG_CRYPTO_USER_API_HASH=m +CONFIG_CRYPTO_USER_API_SKCIPHER=m +CONFIG_CRYPTO_HW=y +CONFIG_CRYPTO_DEV_PADLOCK=m +CONFIG_CRYPTO_DEV_PADLOCK_AES=m +CONFIG_CRYPTO_DEV_PADLOCK_SHA=m +CONFIG_HAVE_KVM=y +CONFIG_HAVE_KVM_IRQCHIP=y +CONFIG_HAVE_KVM_EVENTFD=y +CONFIG_KVM_APIC_ARCHITECTURE=y +CONFIG_KVM_MMIO=y +CONFIG_KVM_ASYNC_PF=y +CONFIG_VIRTUALIZATION=y +CONFIG_KVM=m +CONFIG_KVM_INTEL=m +CONFIG_KVM_AMD=m +CONFIG_KVM_MMU_AUDIT=y +CONFIG_VHOST_NET=m +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_RAID6_PQ=m +CONFIG_BITREVERSE=y +CONFIG_GENERIC_FIND_FIRST_BIT=y +CONFIG_CRC_CCITT=m +CONFIG_CRC16=m +CONFIG_CRC_T10DIF=m +CONFIG_CRC_ITU_T=m +CONFIG_CRC32=y +CONFIG_CRC7=m +CONFIG_LIBCRC32C=m +CONFIG_CRC8=m +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=m +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_REED_SOLOMON=m +CONFIG_REED_SOLOMON_DEC16=y +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_KMP=m +CONFIG_TEXTSEARCH_BM=m +CONFIG_TEXTSEARCH_FSM=m +CONFIG_BTREE=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y +CONFIG_HAS_DMA=y +CONFIG_CHECK_SIGNATURE=y +CONFIG_CPU_RMAP=y +CONFIG_NLATTR=y +CONFIG_LRU_CACHE=m +CONFIG_AVERAGE=y +CONFIG_CORDIC=m diff --git a/libre/linux-libre-aufs_friendly/dib0700-fix.patch b/libre/linux-libre-aufs_friendly/dib0700-fix.patch new file mode 100644 index 000000000..48f07e6fd --- /dev/null +++ b/libre/linux-libre-aufs_friendly/dib0700-fix.patch @@ -0,0 +1,1487 @@ +commit 198c545cd7306dc90aaae1d61e64175e70a70dc8 +Author: Patrick Boettcher <Patrick.Boettcher@dibcom.fr> +Date: Wed Aug 3 17:08:21 2011 +0200 + + [media] DiBcom: protect the I2C bufer access + + This patch protect the I2C buffer access in order to manage concurrent + access. This protection is done using mutex. + Furthermore, for the dib9000, if a pid filtering command is + received during the tuning, this pid filtering command is delayed to + avoid any concurrent access issue. + + Cc: Mauro Carvalho Chehab <mchehab@redhat.com> + Cc: Florian Mickler <florian@mickler.org> + Cc: stable@kernel.org + + Signed-off-by: Olivier Grenie <olivier.grenie@dibcom.fr> + Signed-off-by: Patrick Boettcher <Patrick.Boettcher@dibcom.fr> + +diff --git a/drivers/media/dvb/frontends/dib0070.c b/drivers/media/dvb/frontends/dib0070.c +index 1d47d4d..dc1cb17 100644 +--- a/drivers/media/dvb/frontends/dib0070.c ++++ b/drivers/media/dvb/frontends/dib0070.c +@@ -27,6 +27,7 @@ + #include <linux/kernel.h> + #include <linux/slab.h> + #include <linux/i2c.h> ++#include <linux/mutex.h> + + #include "dvb_frontend.h" + +@@ -78,10 +79,18 @@ struct dib0070_state { + struct i2c_msg msg[2]; + u8 i2c_write_buffer[3]; + u8 i2c_read_buffer[2]; ++ struct mutex i2c_buffer_lock; + }; + +-static uint16_t dib0070_read_reg(struct dib0070_state *state, u8 reg) ++static u16 dib0070_read_reg(struct dib0070_state *state, u8 reg) + { ++ u16 ret; ++ ++ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } ++ + state->i2c_write_buffer[0] = reg; + + memset(state->msg, 0, 2 * sizeof(struct i2c_msg)); +@@ -96,13 +105,23 @@ static uint16_t dib0070_read_reg(struct dib0070_state *state, u8 reg) + + if (i2c_transfer(state->i2c, state->msg, 2) != 2) { + printk(KERN_WARNING "DiB0070 I2C read failed\n"); +- return 0; +- } +- return (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1]; ++ ret = 0; ++ } else ++ ret = (state->i2c_read_buffer[0] << 8) ++ | state->i2c_read_buffer[1]; ++ ++ mutex_unlock(&state->i2c_buffer_lock); ++ return ret; + } + + static int dib0070_write_reg(struct dib0070_state *state, u8 reg, u16 val) + { ++ int ret; ++ ++ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return -EINVAL; ++ } + state->i2c_write_buffer[0] = reg; + state->i2c_write_buffer[1] = val >> 8; + state->i2c_write_buffer[2] = val & 0xff; +@@ -115,9 +134,12 @@ static int dib0070_write_reg(struct dib0070_state *state, u8 reg, u16 val) + + if (i2c_transfer(state->i2c, state->msg, 1) != 1) { + printk(KERN_WARNING "DiB0070 I2C write failed\n"); +- return -EREMOTEIO; +- } +- return 0; ++ ret = -EREMOTEIO; ++ } else ++ ret = 0; ++ ++ mutex_unlock(&state->i2c_buffer_lock); ++ return ret; + } + + #define HARD_RESET(state) do { \ +@@ -734,6 +756,7 @@ struct dvb_frontend *dib0070_attach(struct dvb_frontend *fe, struct i2c_adapter + state->cfg = cfg; + state->i2c = i2c; + state->fe = fe; ++ mutex_init(&state->i2c_buffer_lock); + fe->tuner_priv = state; + + if (dib0070_reset(fe) != 0) +diff --git a/drivers/media/dvb/frontends/dib0090.c b/drivers/media/dvb/frontends/dib0090.c +index c9c935a..b174d1c 100644 +--- a/drivers/media/dvb/frontends/dib0090.c ++++ b/drivers/media/dvb/frontends/dib0090.c +@@ -27,6 +27,7 @@ + #include <linux/kernel.h> + #include <linux/slab.h> + #include <linux/i2c.h> ++#include <linux/mutex.h> + + #include "dvb_frontend.h" + +@@ -196,6 +197,7 @@ struct dib0090_state { + struct i2c_msg msg[2]; + u8 i2c_write_buffer[3]; + u8 i2c_read_buffer[2]; ++ struct mutex i2c_buffer_lock; + }; + + struct dib0090_fw_state { +@@ -208,10 +210,18 @@ struct dib0090_fw_state { + struct i2c_msg msg; + u8 i2c_write_buffer[2]; + u8 i2c_read_buffer[2]; ++ struct mutex i2c_buffer_lock; + }; + + static u16 dib0090_read_reg(struct dib0090_state *state, u8 reg) + { ++ u16 ret; ++ ++ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } ++ + state->i2c_write_buffer[0] = reg; + + memset(state->msg, 0, 2 * sizeof(struct i2c_msg)); +@@ -226,14 +236,24 @@ static u16 dib0090_read_reg(struct dib0090_state *state, u8 reg) + + if (i2c_transfer(state->i2c, state->msg, 2) != 2) { + printk(KERN_WARNING "DiB0090 I2C read failed\n"); +- return 0; +- } ++ ret = 0; ++ } else ++ ret = (state->i2c_read_buffer[0] << 8) ++ | state->i2c_read_buffer[1]; + +- return (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1]; ++ mutex_unlock(&state->i2c_buffer_lock); ++ return ret; + } + + static int dib0090_write_reg(struct dib0090_state *state, u32 reg, u16 val) + { ++ int ret; ++ ++ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return -EINVAL; ++ } ++ + state->i2c_write_buffer[0] = reg & 0xff; + state->i2c_write_buffer[1] = val >> 8; + state->i2c_write_buffer[2] = val & 0xff; +@@ -246,13 +266,23 @@ static int dib0090_write_reg(struct dib0090_state *state, u32 reg, u16 val) + + if (i2c_transfer(state->i2c, state->msg, 1) != 1) { + printk(KERN_WARNING "DiB0090 I2C write failed\n"); +- return -EREMOTEIO; +- } +- return 0; ++ ret = -EREMOTEIO; ++ } else ++ ret = 0; ++ ++ mutex_unlock(&state->i2c_buffer_lock); ++ return ret; + } + + static u16 dib0090_fw_read_reg(struct dib0090_fw_state *state, u8 reg) + { ++ u16 ret; ++ ++ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } ++ + state->i2c_write_buffer[0] = reg; + + memset(&state->msg, 0, sizeof(struct i2c_msg)); +@@ -262,13 +292,24 @@ static u16 dib0090_fw_read_reg(struct dib0090_fw_state *state, u8 reg) + state->msg.len = 2; + if (i2c_transfer(state->i2c, &state->msg, 1) != 1) { + printk(KERN_WARNING "DiB0090 I2C read failed\n"); +- return 0; +- } +- return (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1]; ++ ret = 0; ++ } else ++ ret = (state->i2c_read_buffer[0] << 8) ++ | state->i2c_read_buffer[1]; ++ ++ mutex_unlock(&state->i2c_buffer_lock); ++ return ret; + } + + static int dib0090_fw_write_reg(struct dib0090_fw_state *state, u8 reg, u16 val) + { ++ int ret; ++ ++ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return -EINVAL; ++ } ++ + state->i2c_write_buffer[0] = val >> 8; + state->i2c_write_buffer[1] = val & 0xff; + +@@ -279,9 +320,12 @@ static int dib0090_fw_write_reg(struct dib0090_fw_state *state, u8 reg, u16 val) + state->msg.len = 2; + if (i2c_transfer(state->i2c, &state->msg, 1) != 1) { + printk(KERN_WARNING "DiB0090 I2C write failed\n"); +- return -EREMOTEIO; +- } +- return 0; ++ ret = -EREMOTEIO; ++ } else ++ ret = 0; ++ ++ mutex_unlock(&state->i2c_buffer_lock); ++ return ret; + } + + #define HARD_RESET(state) do { if (cfg->reset) { if (cfg->sleep) cfg->sleep(fe, 0); msleep(10); cfg->reset(fe, 1); msleep(10); cfg->reset(fe, 0); msleep(10); } } while (0) +@@ -2440,6 +2484,7 @@ struct dvb_frontend *dib0090_register(struct dvb_frontend *fe, struct i2c_adapte + st->config = config; + st->i2c = i2c; + st->fe = fe; ++ mutex_init(&st->i2c_buffer_lock); + fe->tuner_priv = st; + + if (config->wbd == NULL) +@@ -2471,6 +2516,7 @@ struct dvb_frontend *dib0090_fw_register(struct dvb_frontend *fe, struct i2c_ada + st->config = config; + st->i2c = i2c; + st->fe = fe; ++ mutex_init(&st->i2c_buffer_lock); + fe->tuner_priv = st; + + if (dib0090_fw_reset_digital(fe, st->config) != 0) +diff --git a/drivers/media/dvb/frontends/dib7000m.c b/drivers/media/dvb/frontends/dib7000m.c +index 79cb1c2..dbb76d7 100644 +--- a/drivers/media/dvb/frontends/dib7000m.c ++++ b/drivers/media/dvb/frontends/dib7000m.c +@@ -11,6 +11,7 @@ + #include <linux/kernel.h> + #include <linux/slab.h> + #include <linux/i2c.h> ++#include <linux/mutex.h> + + #include "dvb_frontend.h" + +@@ -55,6 +56,7 @@ struct dib7000m_state { + struct i2c_msg msg[2]; + u8 i2c_write_buffer[4]; + u8 i2c_read_buffer[2]; ++ struct mutex i2c_buffer_lock; + }; + + enum dib7000m_power_mode { +@@ -69,6 +71,13 @@ enum dib7000m_power_mode { + + static u16 dib7000m_read_word(struct dib7000m_state *state, u16 reg) + { ++ u16 ret; ++ ++ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } ++ + state->i2c_write_buffer[0] = (reg >> 8) | 0x80; + state->i2c_write_buffer[1] = reg & 0xff; + +@@ -85,11 +94,21 @@ static u16 dib7000m_read_word(struct dib7000m_state *state, u16 reg) + if (i2c_transfer(state->i2c_adap, state->msg, 2) != 2) + dprintk("i2c read error on %d",reg); + +- return (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1]; ++ ret = (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1]; ++ mutex_unlock(&state->i2c_buffer_lock); ++ ++ return ret; + } + + static int dib7000m_write_word(struct dib7000m_state *state, u16 reg, u16 val) + { ++ int ret; ++ ++ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return -EINVAL; ++ } ++ + state->i2c_write_buffer[0] = (reg >> 8) & 0xff; + state->i2c_write_buffer[1] = reg & 0xff; + state->i2c_write_buffer[2] = (val >> 8) & 0xff; +@@ -101,7 +120,10 @@ static int dib7000m_write_word(struct dib7000m_state *state, u16 reg, u16 val) + state->msg[0].buf = state->i2c_write_buffer; + state->msg[0].len = 4; + +- return i2c_transfer(state->i2c_adap, state->msg, 1) != 1 ? -EREMOTEIO : 0; ++ ret = (i2c_transfer(state->i2c_adap, state->msg, 1) != 1 ? ++ -EREMOTEIO : 0); ++ mutex_unlock(&state->i2c_buffer_lock); ++ return ret; + } + static void dib7000m_write_tab(struct dib7000m_state *state, u16 *buf) + { +@@ -1385,6 +1407,7 @@ struct dvb_frontend * dib7000m_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, + demod = &st->demod; + demod->demodulator_priv = st; + memcpy(&st->demod.ops, &dib7000m_ops, sizeof(struct dvb_frontend_ops)); ++ mutex_init(&st->i2c_buffer_lock); + + st->timf_default = cfg->bw->timf; + +diff --git a/drivers/media/dvb/frontends/dib7000p.c b/drivers/media/dvb/frontends/dib7000p.c +index 0c9f40c..292bc19 100644 +--- a/drivers/media/dvb/frontends/dib7000p.c ++++ b/drivers/media/dvb/frontends/dib7000p.c +@@ -10,6 +10,7 @@ + #include <linux/kernel.h> + #include <linux/slab.h> + #include <linux/i2c.h> ++#include <linux/mutex.h> + + #include "dvb_math.h" + #include "dvb_frontend.h" +@@ -68,6 +69,7 @@ struct dib7000p_state { + struct i2c_msg msg[2]; + u8 i2c_write_buffer[4]; + u8 i2c_read_buffer[2]; ++ struct mutex i2c_buffer_lock; + }; + + enum dib7000p_power_mode { +@@ -81,6 +83,13 @@ static int dib7090_set_diversity_in(struct dvb_frontend *fe, int onoff); + + static u16 dib7000p_read_word(struct dib7000p_state *state, u16 reg) + { ++ u16 ret; ++ ++ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } ++ + state->i2c_write_buffer[0] = reg >> 8; + state->i2c_write_buffer[1] = reg & 0xff; + +@@ -97,11 +106,20 @@ static u16 dib7000p_read_word(struct dib7000p_state *state, u16 reg) + if (i2c_transfer(state->i2c_adap, state->msg, 2) != 2) + dprintk("i2c read error on %d", reg); + +- return (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1]; ++ ret = (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1]; ++ mutex_unlock(&state->i2c_buffer_lock); ++ return ret; + } + + static int dib7000p_write_word(struct dib7000p_state *state, u16 reg, u16 val) + { ++ int ret; ++ ++ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return -EINVAL; ++ } ++ + state->i2c_write_buffer[0] = (reg >> 8) & 0xff; + state->i2c_write_buffer[1] = reg & 0xff; + state->i2c_write_buffer[2] = (val >> 8) & 0xff; +@@ -113,7 +131,10 @@ static int dib7000p_write_word(struct dib7000p_state *state, u16 reg, u16 val) + state->msg[0].buf = state->i2c_write_buffer; + state->msg[0].len = 4; + +- return i2c_transfer(state->i2c_adap, state->msg, 1) != 1 ? -EREMOTEIO : 0; ++ ret = (i2c_transfer(state->i2c_adap, state->msg, 1) != 1 ? ++ -EREMOTEIO : 0); ++ mutex_unlock(&state->i2c_buffer_lock); ++ return ret; + } + + static void dib7000p_write_tab(struct dib7000p_state *state, u16 * buf) +@@ -1646,6 +1667,7 @@ int dib7000p_i2c_enumeration(struct i2c_adapter *i2c, int no_of_demods, u8 defau + return -ENOMEM; + + dpst->i2c_adap = i2c; ++ mutex_init(&dpst->i2c_buffer_lock); + + for (k = no_of_demods - 1; k >= 0; k--) { + dpst->cfg = cfg[k]; +@@ -2324,6 +2346,7 @@ struct dvb_frontend *dib7000p_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, + demod = &st->demod; + demod->demodulator_priv = st; + memcpy(&st->demod.ops, &dib7000p_ops, sizeof(struct dvb_frontend_ops)); ++ mutex_init(&st->i2c_buffer_lock); + + dib7000p_write_word(st, 1287, 0x0003); /* sram lead in, rdy */ + +@@ -2333,8 +2356,9 @@ struct dvb_frontend *dib7000p_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, + st->version = dib7000p_read_word(st, 897); + + /* FIXME: make sure the dev.parent field is initialized, or else +- request_firmware() will hit an OOPS (this should be moved somewhere +- more common) */ ++ request_firmware() will hit an OOPS (this should be moved somewhere ++ more common) */ ++ st->i2c_master.gated_tuner_i2c_adap.dev.parent = i2c_adap->dev.parent; + + dibx000_init_i2c_master(&st->i2c_master, DIB7000P, st->i2c_adap, st->i2c_addr); + +diff --git a/drivers/media/dvb/frontends/dib8000.c b/drivers/media/dvb/frontends/dib8000.c +index 7d2ea11..fe284d5 100644 +--- a/drivers/media/dvb/frontends/dib8000.c ++++ b/drivers/media/dvb/frontends/dib8000.c +@@ -10,6 +10,8 @@ + #include <linux/kernel.h> + #include <linux/slab.h> + #include <linux/i2c.h> ++#include <linux/mutex.h> ++ + #include "dvb_math.h" + + #include "dvb_frontend.h" +@@ -37,6 +39,7 @@ struct i2c_device { + u8 addr; + u8 *i2c_write_buffer; + u8 *i2c_read_buffer; ++ struct mutex *i2c_buffer_lock; + }; + + struct dib8000_state { +@@ -77,6 +80,7 @@ struct dib8000_state { + struct i2c_msg msg[2]; + u8 i2c_write_buffer[4]; + u8 i2c_read_buffer[2]; ++ struct mutex i2c_buffer_lock; + }; + + enum dib8000_power_mode { +@@ -86,24 +90,39 @@ enum dib8000_power_mode { + + static u16 dib8000_i2c_read16(struct i2c_device *i2c, u16 reg) + { ++ u16 ret; + struct i2c_msg msg[2] = { +- {.addr = i2c->addr >> 1, .flags = 0, +- .buf = i2c->i2c_write_buffer, .len = 2}, +- {.addr = i2c->addr >> 1, .flags = I2C_M_RD, +- .buf = i2c->i2c_read_buffer, .len = 2}, ++ {.addr = i2c->addr >> 1, .flags = 0, .len = 2}, ++ {.addr = i2c->addr >> 1, .flags = I2C_M_RD, .len = 2}, + }; + ++ if (mutex_lock_interruptible(i2c->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } ++ ++ msg[0].buf = i2c->i2c_write_buffer; + msg[0].buf[0] = reg >> 8; + msg[0].buf[1] = reg & 0xff; ++ msg[1].buf = i2c->i2c_read_buffer; + + if (i2c_transfer(i2c->adap, msg, 2) != 2) + dprintk("i2c read error on %d", reg); + +- return (msg[1].buf[0] << 8) | msg[1].buf[1]; ++ ret = (msg[1].buf[0] << 8) | msg[1].buf[1]; ++ mutex_unlock(i2c->i2c_buffer_lock); ++ return ret; + } + + static u16 dib8000_read_word(struct dib8000_state *state, u16 reg) + { ++ u16 ret; ++ ++ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } ++ + state->i2c_write_buffer[0] = reg >> 8; + state->i2c_write_buffer[1] = reg & 0xff; + +@@ -120,7 +139,10 @@ static u16 dib8000_read_word(struct dib8000_state *state, u16 reg) + if (i2c_transfer(state->i2c.adap, state->msg, 2) != 2) + dprintk("i2c read error on %d", reg); + +- return (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1]; ++ ret = (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1]; ++ mutex_unlock(&state->i2c_buffer_lock); ++ ++ return ret; + } + + static u32 dib8000_read32(struct dib8000_state *state, u16 reg) +@@ -135,22 +157,35 @@ static u32 dib8000_read32(struct dib8000_state *state, u16 reg) + + static int dib8000_i2c_write16(struct i2c_device *i2c, u16 reg, u16 val) + { +- struct i2c_msg msg = {.addr = i2c->addr >> 1, .flags = 0, +- .buf = i2c->i2c_write_buffer, .len = 4}; ++ struct i2c_msg msg = {.addr = i2c->addr >> 1, .flags = 0, .len = 4}; + int ret = 0; + ++ if (mutex_lock_interruptible(i2c->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return -EINVAL; ++ } ++ ++ msg.buf = i2c->i2c_write_buffer; + msg.buf[0] = (reg >> 8) & 0xff; + msg.buf[1] = reg & 0xff; + msg.buf[2] = (val >> 8) & 0xff; + msg.buf[3] = val & 0xff; + + ret = i2c_transfer(i2c->adap, &msg, 1) != 1 ? -EREMOTEIO : 0; ++ mutex_unlock(i2c->i2c_buffer_lock); + + return ret; + } + + static int dib8000_write_word(struct dib8000_state *state, u16 reg, u16 val) + { ++ int ret; ++ ++ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return -EINVAL; ++ } ++ + state->i2c_write_buffer[0] = (reg >> 8) & 0xff; + state->i2c_write_buffer[1] = reg & 0xff; + state->i2c_write_buffer[2] = (val >> 8) & 0xff; +@@ -162,7 +197,11 @@ static int dib8000_write_word(struct dib8000_state *state, u16 reg, u16 val) + state->msg[0].buf = state->i2c_write_buffer; + state->msg[0].len = 4; + +- return i2c_transfer(state->i2c.adap, state->msg, 1) != 1 ? -EREMOTEIO : 0; ++ ret = (i2c_transfer(state->i2c.adap, state->msg, 1) != 1 ? ++ -EREMOTEIO : 0); ++ mutex_unlock(&state->i2c_buffer_lock); ++ ++ return ret; + } + + static const s16 coeff_2k_sb_1seg_dqpsk[8] = { +@@ -2434,8 +2473,15 @@ int dib8000_i2c_enumeration(struct i2c_adapter *host, int no_of_demods, u8 defau + if (!client.i2c_read_buffer) { + dprintk("%s: not enough memory", __func__); + ret = -ENOMEM; +- goto error_memory; ++ goto error_memory_read; ++ } ++ client.i2c_buffer_lock = kzalloc(sizeof(struct mutex), GFP_KERNEL); ++ if (!client.i2c_buffer_lock) { ++ dprintk("%s: not enough memory", __func__); ++ ret = -ENOMEM; ++ goto error_memory_lock; + } ++ mutex_init(client.i2c_buffer_lock); + + for (k = no_of_demods - 1; k >= 0; k--) { + /* designated i2c address */ +@@ -2476,8 +2522,10 @@ int dib8000_i2c_enumeration(struct i2c_adapter *host, int no_of_demods, u8 defau + } + + error: ++ kfree(client.i2c_buffer_lock); ++error_memory_lock: + kfree(client.i2c_read_buffer); +-error_memory: ++error_memory_read: + kfree(client.i2c_write_buffer); + + return ret; +@@ -2581,6 +2629,8 @@ struct dvb_frontend *dib8000_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, s + state->i2c.addr = i2c_addr; + state->i2c.i2c_write_buffer = state->i2c_write_buffer; + state->i2c.i2c_read_buffer = state->i2c_read_buffer; ++ mutex_init(&state->i2c_buffer_lock); ++ state->i2c.i2c_buffer_lock = &state->i2c_buffer_lock; + state->gpio_val = cfg->gpio_val; + state->gpio_dir = cfg->gpio_dir; + +diff --git a/drivers/media/dvb/frontends/dib9000.c b/drivers/media/dvb/frontends/dib9000.c +index a085588..b931074 100644 +--- a/drivers/media/dvb/frontends/dib9000.c ++++ b/drivers/media/dvb/frontends/dib9000.c +@@ -38,6 +38,15 @@ struct i2c_device { + #define DibInitLock(lock) mutex_init(lock) + #define DibFreeLock(lock) + ++struct dib9000_pid_ctrl { ++#define DIB9000_PID_FILTER_CTRL 0 ++#define DIB9000_PID_FILTER 1 ++ u8 cmd; ++ u8 id; ++ u16 pid; ++ u8 onoff; ++}; ++ + struct dib9000_state { + struct i2c_device i2c; + +@@ -99,6 +108,10 @@ struct dib9000_state { + struct i2c_msg msg[2]; + u8 i2c_write_buffer[255]; + u8 i2c_read_buffer[255]; ++ DIB_LOCK demod_lock; ++ u8 get_frontend_internal; ++ struct dib9000_pid_ctrl pid_ctrl[10]; ++ s8 pid_ctrl_index; /* -1: empty list; -2: do not use the list */ + }; + + static const u32 fe_info[44] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1743,19 +1756,56 @@ EXPORT_SYMBOL(dib9000_set_gpio); + int dib9000_fw_pid_filter_ctrl(struct dvb_frontend *fe, u8 onoff) + { + struct dib9000_state *state = fe->demodulator_priv; +- u16 val = dib9000_read_word(state, 294 + 1) & 0xffef; ++ u16 val; ++ int ret; ++ ++ if ((state->pid_ctrl_index != -2) && (state->pid_ctrl_index < 9)) { ++ /* postpone the pid filtering cmd */ ++ dprintk("pid filter cmd postpone"); ++ state->pid_ctrl_index++; ++ state->pid_ctrl[state->pid_ctrl_index].cmd = DIB9000_PID_FILTER_CTRL; ++ state->pid_ctrl[state->pid_ctrl_index].onoff = onoff; ++ return 0; ++ } ++ ++ DibAcquireLock(&state->demod_lock); ++ ++ val = dib9000_read_word(state, 294 + 1) & 0xffef; + val |= (onoff & 0x1) << 4; + + dprintk("PID filter enabled %d", onoff); +- return dib9000_write_word(state, 294 + 1, val); ++ ret = dib9000_write_word(state, 294 + 1, val); ++ DibReleaseLock(&state->demod_lock); ++ return ret; ++ + } + EXPORT_SYMBOL(dib9000_fw_pid_filter_ctrl); + + int dib9000_fw_pid_filter(struct dvb_frontend *fe, u8 id, u16 pid, u8 onoff) + { + struct dib9000_state *state = fe->demodulator_priv; ++ int ret; ++ ++ if (state->pid_ctrl_index != -2) { ++ /* postpone the pid filtering cmd */ ++ dprintk("pid filter postpone"); ++ if (state->pid_ctrl_index < 9) { ++ state->pid_ctrl_index++; ++ state->pid_ctrl[state->pid_ctrl_index].cmd = DIB9000_PID_FILTER; ++ state->pid_ctrl[state->pid_ctrl_index].id = id; ++ state->pid_ctrl[state->pid_ctrl_index].pid = pid; ++ state->pid_ctrl[state->pid_ctrl_index].onoff = onoff; ++ } else ++ dprintk("can not add any more pid ctrl cmd"); ++ return 0; ++ } ++ ++ DibAcquireLock(&state->demod_lock); + dprintk("Index %x, PID %d, OnOff %d", id, pid, onoff); +- return dib9000_write_word(state, 300 + 1 + id, onoff ? (1 << 13) | pid : 0); ++ ret = dib9000_write_word(state, 300 + 1 + id, ++ onoff ? (1 << 13) | pid : 0); ++ DibReleaseLock(&state->demod_lock); ++ return ret; + } + EXPORT_SYMBOL(dib9000_fw_pid_filter); + +@@ -1778,6 +1828,7 @@ static void dib9000_release(struct dvb_frontend *demod) + DibFreeLock(&state->platform.risc.mbx_lock); + DibFreeLock(&state->platform.risc.mem_lock); + DibFreeLock(&state->platform.risc.mem_mbx_lock); ++ DibFreeLock(&state->demod_lock); + dibx000_exit_i2c_master(&st->i2c_master); + + i2c_del_adapter(&st->tuner_adap); +@@ -1795,14 +1846,19 @@ static int dib9000_sleep(struct dvb_frontend *fe) + { + struct dib9000_state *state = fe->demodulator_priv; + u8 index_frontend; +- int ret; ++ int ret = 0; + ++ DibAcquireLock(&state->demod_lock); + for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++) { + ret = state->fe[index_frontend]->ops.sleep(state->fe[index_frontend]); + if (ret < 0) +- return ret; ++ goto error; + } +- return dib9000_mbx_send(state, OUT_MSG_FE_SLEEP, NULL, 0); ++ ret = dib9000_mbx_send(state, OUT_MSG_FE_SLEEP, NULL, 0); ++ ++error: ++ DibReleaseLock(&state->demod_lock); ++ return ret; + } + + static int dib9000_fe_get_tune_settings(struct dvb_frontend *fe, struct dvb_frontend_tune_settings *tune) +@@ -1816,7 +1872,10 @@ static int dib9000_get_frontend(struct dvb_frontend *fe, struct dvb_frontend_par + struct dib9000_state *state = fe->demodulator_priv; + u8 index_frontend, sub_index_frontend; + fe_status_t stat; +- int ret; ++ int ret = 0; ++ ++ if (state->get_frontend_internal == 0) ++ DibAcquireLock(&state->demod_lock); + + for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++) { + state->fe[index_frontend]->ops.read_status(state->fe[index_frontend], &stat); +@@ -1846,14 +1905,15 @@ static int dib9000_get_frontend(struct dvb_frontend *fe, struct dvb_frontend_par + state->fe[index_frontend]->dtv_property_cache.rolloff; + } + } +- return 0; ++ ret = 0; ++ goto return_value; + } + } + + /* get the channel from master chip */ + ret = dib9000_fw_get_channel(fe, fep); + if (ret != 0) +- return ret; ++ goto return_value; + + /* synchronize the cache with the other frontends */ + for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++) { +@@ -1866,8 +1926,12 @@ static int dib9000_get_frontend(struct dvb_frontend *fe, struct dvb_frontend_par + state->fe[index_frontend]->dtv_property_cache.code_rate_LP = fe->dtv_property_cache.code_rate_LP; + state->fe[index_frontend]->dtv_property_cache.rolloff = fe->dtv_property_cache.rolloff; + } ++ ret = 0; + +- return 0; ++return_value: ++ if (state->get_frontend_internal == 0) ++ DibReleaseLock(&state->demod_lock); ++ return ret; + } + + static int dib9000_set_tune_state(struct dvb_frontend *fe, enum frontend_tune_state tune_state) +@@ -1912,6 +1976,10 @@ static int dib9000_set_frontend(struct dvb_frontend *fe, struct dvb_frontend_par + dprintk("dib9000: must specify bandwidth "); + return 0; + } ++ ++ state->pid_ctrl_index = -1; /* postpone the pid filtering cmd */ ++ DibAcquireLock(&state->demod_lock); ++ + fe->dtv_property_cache.delivery_system = SYS_DVBT; + + /* set the master status */ +@@ -1974,13 +2042,18 @@ static int dib9000_set_frontend(struct dvb_frontend *fe, struct dvb_frontend_par + /* check the tune result */ + if (exit_condition == 1) { /* tune failed */ + dprintk("tune failed"); ++ DibReleaseLock(&state->demod_lock); ++ /* tune failed; put all the pid filtering cmd to junk */ ++ state->pid_ctrl_index = -1; + return 0; + } + + dprintk("tune success on frontend%i", index_frontend_success); + + /* synchronize all the channel cache */ ++ state->get_frontend_internal = 1; + dib9000_get_frontend(state->fe[0], fep); ++ state->get_frontend_internal = 0; + + /* retune the other frontends with the found channel */ + channel_status.status = CHANNEL_STATUS_PARAMETERS_SET; +@@ -2025,6 +2098,28 @@ static int dib9000_set_frontend(struct dvb_frontend *fe, struct dvb_frontend_par + /* turn off the diversity for the last frontend */ + dib9000_fw_set_diversity_in(state->fe[index_frontend - 1], 0); + ++ DibReleaseLock(&state->demod_lock); ++ if (state->pid_ctrl_index >= 0) { ++ u8 index_pid_filter_cmd; ++ u8 pid_ctrl_index = state->pid_ctrl_index; ++ ++ state->pid_ctrl_index = -2; ++ for (index_pid_filter_cmd = 0; ++ index_pid_filter_cmd <= pid_ctrl_index; ++ index_pid_filter_cmd++) { ++ if (state->pid_ctrl[index_pid_filter_cmd].cmd == DIB9000_PID_FILTER_CTRL) ++ dib9000_fw_pid_filter_ctrl(state->fe[0], ++ state->pid_ctrl[index_pid_filter_cmd].onoff); ++ else if (state->pid_ctrl[index_pid_filter_cmd].cmd == DIB9000_PID_FILTER) ++ dib9000_fw_pid_filter(state->fe[0], ++ state->pid_ctrl[index_pid_filter_cmd].id, ++ state->pid_ctrl[index_pid_filter_cmd].pid, ++ state->pid_ctrl[index_pid_filter_cmd].onoff); ++ } ++ } ++ /* do not postpone any more the pid filtering */ ++ state->pid_ctrl_index = -2; ++ + return 0; + } + +@@ -2041,6 +2136,7 @@ static int dib9000_read_status(struct dvb_frontend *fe, fe_status_t * stat) + u8 index_frontend; + u16 lock = 0, lock_slave = 0; + ++ DibAcquireLock(&state->demod_lock); + for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++) + lock_slave |= dib9000_read_lock(state->fe[index_frontend]); + +@@ -2059,6 +2155,8 @@ static int dib9000_read_status(struct dvb_frontend *fe, fe_status_t * stat) + if ((lock & 0x0008) || (lock_slave & 0x0008)) + *stat |= FE_HAS_LOCK; + ++ DibReleaseLock(&state->demod_lock); ++ + return 0; + } + +@@ -2066,10 +2164,14 @@ static int dib9000_read_ber(struct dvb_frontend *fe, u32 * ber) + { + struct dib9000_state *state = fe->demodulator_priv; + u16 *c; ++ int ret = 0; + ++ DibAcquireLock(&state->demod_lock); + DibAcquireLock(&state->platform.risc.mem_mbx_lock); +- if (dib9000_fw_memmbx_sync(state, FE_SYNC_CHANNEL) < 0) +- return -EIO; ++ if (dib9000_fw_memmbx_sync(state, FE_SYNC_CHANNEL) < 0) { ++ ret = -EIO; ++ goto error; ++ } + dib9000_risc_mem_read(state, FE_MM_R_FE_MONITOR, + state->i2c_read_buffer, 16 * 2); + DibReleaseLock(&state->platform.risc.mem_mbx_lock); +@@ -2077,7 +2179,10 @@ static int dib9000_read_ber(struct dvb_frontend *fe, u32 * ber) + c = (u16 *)state->i2c_read_buffer; + + *ber = c[10] << 16 | c[11]; +- return 0; ++ ++error: ++ DibReleaseLock(&state->demod_lock); ++ return ret; + } + + static int dib9000_read_signal_strength(struct dvb_frontend *fe, u16 * strength) +@@ -2086,7 +2191,9 @@ static int dib9000_read_signal_strength(struct dvb_frontend *fe, u16 * strength) + u8 index_frontend; + u16 *c = (u16 *)state->i2c_read_buffer; + u16 val; ++ int ret = 0; + ++ DibAcquireLock(&state->demod_lock); + *strength = 0; + for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++) { + state->fe[index_frontend]->ops.read_signal_strength(state->fe[index_frontend], &val); +@@ -2097,8 +2204,10 @@ static int dib9000_read_signal_strength(struct dvb_frontend *fe, u16 * strength) + } + + DibAcquireLock(&state->platform.risc.mem_mbx_lock); +- if (dib9000_fw_memmbx_sync(state, FE_SYNC_CHANNEL) < 0) +- return -EIO; ++ if (dib9000_fw_memmbx_sync(state, FE_SYNC_CHANNEL) < 0) { ++ ret = -EIO; ++ goto error; ++ } + dib9000_risc_mem_read(state, FE_MM_R_FE_MONITOR, (u8 *) c, 16 * 2); + DibReleaseLock(&state->platform.risc.mem_mbx_lock); + +@@ -2107,7 +2216,10 @@ static int dib9000_read_signal_strength(struct dvb_frontend *fe, u16 * strength) + *strength = 65535; + else + *strength += val; +- return 0; ++ ++error: ++ DibReleaseLock(&state->demod_lock); ++ return ret; + } + + static u32 dib9000_get_snr(struct dvb_frontend *fe) +@@ -2151,6 +2263,7 @@ static int dib9000_read_snr(struct dvb_frontend *fe, u16 * snr) + u8 index_frontend; + u32 snr_master; + ++ DibAcquireLock(&state->demod_lock); + snr_master = dib9000_get_snr(fe); + for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++) + snr_master += dib9000_get_snr(state->fe[index_frontend]); +@@ -2161,6 +2274,8 @@ static int dib9000_read_snr(struct dvb_frontend *fe, u16 * snr) + } else + *snr = 0; + ++ DibReleaseLock(&state->demod_lock); ++ + return 0; + } + +@@ -2168,15 +2283,22 @@ static int dib9000_read_unc_blocks(struct dvb_frontend *fe, u32 * unc) + { + struct dib9000_state *state = fe->demodulator_priv; + u16 *c = (u16 *)state->i2c_read_buffer; ++ int ret = 0; + ++ DibAcquireLock(&state->demod_lock); + DibAcquireLock(&state->platform.risc.mem_mbx_lock); +- if (dib9000_fw_memmbx_sync(state, FE_SYNC_CHANNEL) < 0) +- return -EIO; ++ if (dib9000_fw_memmbx_sync(state, FE_SYNC_CHANNEL) < 0) { ++ ret = -EIO; ++ goto error; ++ } + dib9000_risc_mem_read(state, FE_MM_R_FE_MONITOR, (u8 *) c, 16 * 2); + DibReleaseLock(&state->platform.risc.mem_mbx_lock); + + *unc = c[12]; +- return 0; ++ ++error: ++ DibReleaseLock(&state->demod_lock); ++ return ret; + } + + int dib9000_i2c_enumeration(struct i2c_adapter *i2c, int no_of_demods, u8 default_addr, u8 first_addr) +@@ -2322,6 +2444,10 @@ struct dvb_frontend *dib9000_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, c + DibInitLock(&st->platform.risc.mbx_lock); + DibInitLock(&st->platform.risc.mem_lock); + DibInitLock(&st->platform.risc.mem_mbx_lock); ++ DibInitLock(&st->demod_lock); ++ st->get_frontend_internal = 0; ++ ++ st->pid_ctrl_index = -2; + + st->fe[0] = fe; + fe->demodulator_priv = st; +diff --git a/drivers/media/dvb/frontends/dibx000_common.c b/drivers/media/dvb/frontends/dibx000_common.c +index dc5d17a..774d507 100644 +--- a/drivers/media/dvb/frontends/dibx000_common.c ++++ b/drivers/media/dvb/frontends/dibx000_common.c +@@ -1,4 +1,5 @@ + #include <linux/i2c.h> ++#include <linux/mutex.h> + + #include "dibx000_common.h" + +@@ -10,6 +11,13 @@ MODULE_PARM_DESC(debug, "turn on debugging (default: 0)"); + + static int dibx000_write_word(struct dibx000_i2c_master *mst, u16 reg, u16 val) + { ++ int ret; ++ ++ if (mutex_lock_interruptible(&mst->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return -EINVAL; ++ } ++ + mst->i2c_write_buffer[0] = (reg >> 8) & 0xff; + mst->i2c_write_buffer[1] = reg & 0xff; + mst->i2c_write_buffer[2] = (val >> 8) & 0xff; +@@ -21,11 +29,21 @@ static int dibx000_write_word(struct dibx000_i2c_master *mst, u16 reg, u16 val) + mst->msg[0].buf = mst->i2c_write_buffer; + mst->msg[0].len = 4; + +- return i2c_transfer(mst->i2c_adap, mst->msg, 1) != 1 ? -EREMOTEIO : 0; ++ ret = i2c_transfer(mst->i2c_adap, mst->msg, 1) != 1 ? -EREMOTEIO : 0; ++ mutex_unlock(&mst->i2c_buffer_lock); ++ ++ return ret; + } + + static u16 dibx000_read_word(struct dibx000_i2c_master *mst, u16 reg) + { ++ u16 ret; ++ ++ if (mutex_lock_interruptible(&mst->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } ++ + mst->i2c_write_buffer[0] = reg >> 8; + mst->i2c_write_buffer[1] = reg & 0xff; + +@@ -42,7 +60,10 @@ static u16 dibx000_read_word(struct dibx000_i2c_master *mst, u16 reg) + if (i2c_transfer(mst->i2c_adap, mst->msg, 2) != 2) + dprintk("i2c read error on %d", reg); + +- return (mst->i2c_read_buffer[0] << 8) | mst->i2c_read_buffer[1]; ++ ret = (mst->i2c_read_buffer[0] << 8) | mst->i2c_read_buffer[1]; ++ mutex_unlock(&mst->i2c_buffer_lock); ++ ++ return ret; + } + + static int dibx000_is_i2c_done(struct dibx000_i2c_master *mst) +@@ -257,6 +278,7 @@ static int dibx000_i2c_gated_gpio67_xfer(struct i2c_adapter *i2c_adap, + struct i2c_msg msg[], int num) + { + struct dibx000_i2c_master *mst = i2c_get_adapdata(i2c_adap); ++ int ret; + + if (num > 32) { + dprintk("%s: too much I2C message to be transmitted (%i).\ +@@ -264,10 +286,15 @@ static int dibx000_i2c_gated_gpio67_xfer(struct i2c_adapter *i2c_adap, + return -ENOMEM; + } + +- memset(mst->msg, 0, sizeof(struct i2c_msg) * (2 + num)); +- + dibx000_i2c_select_interface(mst, DIBX000_I2C_INTERFACE_GPIO_6_7); + ++ if (mutex_lock_interruptible(&mst->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return -EINVAL; ++ } ++ ++ memset(mst->msg, 0, sizeof(struct i2c_msg) * (2 + num)); ++ + /* open the gate */ + dibx000_i2c_gate_ctrl(mst, &mst->i2c_write_buffer[0], msg[0].addr, 1); + mst->msg[0].addr = mst->i2c_addr; +@@ -282,7 +309,11 @@ static int dibx000_i2c_gated_gpio67_xfer(struct i2c_adapter *i2c_adap, + mst->msg[num + 1].buf = &mst->i2c_write_buffer[4]; + mst->msg[num + 1].len = 4; + +- return i2c_transfer(mst->i2c_adap, mst->msg, 2 + num) == 2 + num ? num : -EIO; ++ ret = (i2c_transfer(mst->i2c_adap, mst->msg, 2 + num) == 2 + num ? ++ num : -EIO); ++ ++ mutex_unlock(&mst->i2c_buffer_lock); ++ return ret; + } + + static struct i2c_algorithm dibx000_i2c_gated_gpio67_algo = { +@@ -294,6 +325,7 @@ static int dibx000_i2c_gated_tuner_xfer(struct i2c_adapter *i2c_adap, + struct i2c_msg msg[], int num) + { + struct dibx000_i2c_master *mst = i2c_get_adapdata(i2c_adap); ++ int ret; + + if (num > 32) { + dprintk("%s: too much I2C message to be transmitted (%i).\ +@@ -301,10 +333,14 @@ static int dibx000_i2c_gated_tuner_xfer(struct i2c_adapter *i2c_adap, + return -ENOMEM; + } + +- memset(mst->msg, 0, sizeof(struct i2c_msg) * (2 + num)); +- + dibx000_i2c_select_interface(mst, DIBX000_I2C_INTERFACE_TUNER); + ++ if (mutex_lock_interruptible(&mst->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return -EINVAL; ++ } ++ memset(mst->msg, 0, sizeof(struct i2c_msg) * (2 + num)); ++ + /* open the gate */ + dibx000_i2c_gate_ctrl(mst, &mst->i2c_write_buffer[0], msg[0].addr, 1); + mst->msg[0].addr = mst->i2c_addr; +@@ -319,7 +355,10 @@ static int dibx000_i2c_gated_tuner_xfer(struct i2c_adapter *i2c_adap, + mst->msg[num + 1].buf = &mst->i2c_write_buffer[4]; + mst->msg[num + 1].len = 4; + +- return i2c_transfer(mst->i2c_adap, mst->msg, 2 + num) == 2 + num ? num : -EIO; ++ ret = (i2c_transfer(mst->i2c_adap, mst->msg, 2 + num) == 2 + num ? ++ num : -EIO); ++ mutex_unlock(&mst->i2c_buffer_lock); ++ return ret; + } + + static struct i2c_algorithm dibx000_i2c_gated_tuner_algo = { +@@ -390,8 +429,18 @@ static int i2c_adapter_init(struct i2c_adapter *i2c_adap, + int dibx000_init_i2c_master(struct dibx000_i2c_master *mst, u16 device_rev, + struct i2c_adapter *i2c_adap, u8 i2c_addr) + { +- u8 tx[4]; +- struct i2c_msg m = {.addr = i2c_addr >> 1,.buf = tx,.len = 4 }; ++ int ret; ++ ++ mutex_init(&mst->i2c_buffer_lock); ++ if (mutex_lock_interruptible(&mst->i2c_buffer_lock) < 0) { ++ dprintk("could not acquire lock"); ++ return -EINVAL; ++ } ++ memset(mst->msg, 0, sizeof(struct i2c_msg)); ++ mst->msg[0].addr = i2c_addr >> 1; ++ mst->msg[0].flags = 0; ++ mst->msg[0].buf = mst->i2c_write_buffer; ++ mst->msg[0].len = 4; + + mst->device_rev = device_rev; + mst->i2c_adap = i2c_adap; +@@ -431,9 +480,12 @@ int dibx000_init_i2c_master(struct dibx000_i2c_master *mst, u16 device_rev, + "DiBX000: could not initialize the master i2c_adapter\n"); + + /* initialize the i2c-master by closing the gate */ +- dibx000_i2c_gate_ctrl(mst, tx, 0, 0); ++ dibx000_i2c_gate_ctrl(mst, mst->i2c_write_buffer, 0, 0); ++ ++ ret = (i2c_transfer(i2c_adap, mst->msg, 1) == 1); ++ mutex_unlock(&mst->i2c_buffer_lock); + +- return i2c_transfer(i2c_adap, &m, 1) == 1; ++ return ret; + } + + EXPORT_SYMBOL(dibx000_init_i2c_master); +diff --git a/drivers/media/dvb/frontends/dibx000_common.h b/drivers/media/dvb/frontends/dibx000_common.h +index f031165..5e01147 100644 +--- a/drivers/media/dvb/frontends/dibx000_common.h ++++ b/drivers/media/dvb/frontends/dibx000_common.h +@@ -33,6 +33,7 @@ struct dibx000_i2c_master { + struct i2c_msg msg[34]; + u8 i2c_write_buffer[8]; + u8 i2c_read_buffer[2]; ++ struct mutex i2c_buffer_lock; + }; + + extern int dibx000_init_i2c_master(struct dibx000_i2c_master *mst, +commit 45cbff13693d645fa5dcbba964e802e1746b2e57 +Author: Olivier Grenie <olivier.grenie@dibcom.fr> +Date: Mon Aug 1 17:45:58 2011 +0200 + + [media] dib0700: protect the dib0700 buffer access + + This patch protects the common buffer access inside the dib0700 in order + to manage concurrent access. This protection is done using mutex. + + Cc: Mauro Carvalho Chehab <mchehab@redhat.com> + Cc: Florian Mickler <florian@mickler.org> + Cc: stable@kernel.org + + Signed-off-by: Javier Marcet <javier@marcet.info> + Signed-off-by: Olivier Grenie <olivier.grenie@dibcom.fr> + Signed-off-by: Patrick Boettcher <patrick.boettcher@dibcom.fr> + +diff --git a/drivers/media/dvb/dvb-usb/dib0700_core.c b/drivers/media/dvb/dvb-usb/dib0700_core.c +index 5eb91b4..291b645 100644 +--- a/drivers/media/dvb/dvb-usb/dib0700_core.c ++++ b/drivers/media/dvb/dvb-usb/dib0700_core.c +@@ -30,6 +30,11 @@ int dib0700_get_version(struct dvb_usb_device *d, u32 *hwversion, + struct dib0700_state *st = d->priv; + int ret; + ++ if (mutex_lock_interruptible(&d->usb_mutex) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } ++ + ret = usb_control_msg(d->udev, usb_rcvctrlpipe(d->udev, 0), + REQUEST_GET_VERSION, + USB_TYPE_VENDOR | USB_DIR_IN, 0, 0, +@@ -46,6 +51,7 @@ int dib0700_get_version(struct dvb_usb_device *d, u32 *hwversion, + if (fwtype != NULL) + *fwtype = (st->buf[12] << 24) | (st->buf[13] << 16) | + (st->buf[14] << 8) | st->buf[15]; ++ mutex_unlock(&d->usb_mutex); + return ret; + } + +@@ -108,7 +114,12 @@ int dib0700_ctrl_rd(struct dvb_usb_device *d, u8 *tx, u8 txlen, u8 *rx, u8 rxlen + int dib0700_set_gpio(struct dvb_usb_device *d, enum dib07x0_gpios gpio, u8 gpio_dir, u8 gpio_val) + { + struct dib0700_state *st = d->priv; +- s16 ret; ++ int ret; ++ ++ if (mutex_lock_interruptible(&d->usb_mutex) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } + + st->buf[0] = REQUEST_SET_GPIO; + st->buf[1] = gpio; +@@ -116,6 +127,7 @@ int dib0700_set_gpio(struct dvb_usb_device *d, enum dib07x0_gpios gpio, u8 gpio_ + + ret = dib0700_ctrl_wr(d, st->buf, 3); + ++ mutex_unlock(&d->usb_mutex); + return ret; + } + +@@ -125,6 +137,11 @@ static int dib0700_set_usb_xfer_len(struct dvb_usb_device *d, u16 nb_ts_packets) + int ret; + + if (st->fw_version >= 0x10201) { ++ if (mutex_lock_interruptible(&d->usb_mutex) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } ++ + st->buf[0] = REQUEST_SET_USB_XFER_LEN; + st->buf[1] = (nb_ts_packets >> 8) & 0xff; + st->buf[2] = nb_ts_packets & 0xff; +@@ -132,6 +149,7 @@ static int dib0700_set_usb_xfer_len(struct dvb_usb_device *d, u16 nb_ts_packets) + deb_info("set the USB xfer len to %i Ts packet\n", nb_ts_packets); + + ret = dib0700_ctrl_wr(d, st->buf, 3); ++ mutex_unlock(&d->usb_mutex); + } else { + deb_info("this firmware does not allow to change the USB xfer len\n"); + ret = -EIO; +@@ -208,6 +226,10 @@ static int dib0700_i2c_xfer_new(struct i2c_adapter *adap, struct i2c_msg *msg, + + } else { + /* Write request */ ++ if (mutex_lock_interruptible(&d->usb_mutex) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } + st->buf[0] = REQUEST_NEW_I2C_WRITE; + st->buf[1] = msg[i].addr << 1; + st->buf[2] = (en_start << 7) | (en_stop << 6) | +@@ -227,6 +249,7 @@ static int dib0700_i2c_xfer_new(struct i2c_adapter *adap, struct i2c_msg *msg, + USB_TYPE_VENDOR | USB_DIR_OUT, + 0, 0, st->buf, msg[i].len + 4, + USB_CTRL_GET_TIMEOUT); ++ mutex_unlock(&d->usb_mutex); + if (result < 0) { + deb_info("i2c write error (status = %d)\n", result); + break; +@@ -249,6 +272,10 @@ static int dib0700_i2c_xfer_legacy(struct i2c_adapter *adap, + + if (mutex_lock_interruptible(&d->i2c_mutex) < 0) + return -EAGAIN; ++ if (mutex_lock_interruptible(&d->usb_mutex) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } + + for (i = 0; i < num; i++) { + /* fill in the address */ +@@ -279,6 +306,7 @@ static int dib0700_i2c_xfer_legacy(struct i2c_adapter *adap, + break; + } + } ++ mutex_unlock(&d->usb_mutex); + mutex_unlock(&d->i2c_mutex); + + return i; +@@ -337,7 +365,12 @@ static int dib0700_set_clock(struct dvb_usb_device *d, u8 en_pll, + u16 pll_loopdiv, u16 free_div, u16 dsuScaler) + { + struct dib0700_state *st = d->priv; +- s16 ret; ++ int ret; ++ ++ if (mutex_lock_interruptible(&d->usb_mutex) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } + + st->buf[0] = REQUEST_SET_CLOCK; + st->buf[1] = (en_pll << 7) | (pll_src << 6) | +@@ -352,6 +385,7 @@ static int dib0700_set_clock(struct dvb_usb_device *d, u8 en_pll, + st->buf[9] = dsuScaler & 0xff; /* LSB */ + + ret = dib0700_ctrl_wr(d, st->buf, 10); ++ mutex_unlock(&d->usb_mutex); + + return ret; + } +@@ -360,10 +394,16 @@ int dib0700_set_i2c_speed(struct dvb_usb_device *d, u16 scl_kHz) + { + struct dib0700_state *st = d->priv; + u16 divider; ++ int ret; + + if (scl_kHz == 0) + return -EINVAL; + ++ if (mutex_lock_interruptible(&d->usb_mutex) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } ++ + st->buf[0] = REQUEST_SET_I2C_PARAM; + divider = (u16) (30000 / scl_kHz); + st->buf[1] = 0; +@@ -379,7 +419,11 @@ int dib0700_set_i2c_speed(struct dvb_usb_device *d, u16 scl_kHz) + deb_info("setting I2C speed: %04x %04x %04x (%d kHz).", + (st->buf[2] << 8) | (st->buf[3]), (st->buf[4] << 8) | + st->buf[5], (st->buf[6] << 8) | st->buf[7], scl_kHz); +- return dib0700_ctrl_wr(d, st->buf, 8); ++ ++ ret = dib0700_ctrl_wr(d, st->buf, 8); ++ mutex_unlock(&d->usb_mutex); ++ ++ return ret; + } + + +@@ -515,6 +559,11 @@ int dib0700_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff) + } + } + ++ if (mutex_lock_interruptible(&adap->dev->usb_mutex) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } ++ + st->buf[0] = REQUEST_ENABLE_VIDEO; + /* this bit gives a kind of command, + * rather than enabling something or not */ +@@ -548,7 +597,10 @@ int dib0700_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff) + + deb_info("data for streaming: %x %x\n", st->buf[1], st->buf[2]); + +- return dib0700_ctrl_wr(adap->dev, st->buf, 4); ++ ret = dib0700_ctrl_wr(adap->dev, st->buf, 4); ++ mutex_unlock(&adap->dev->usb_mutex); ++ ++ return ret; + } + + int dib0700_change_protocol(struct rc_dev *rc, u64 rc_type) +@@ -557,6 +609,11 @@ int dib0700_change_protocol(struct rc_dev *rc, u64 rc_type) + struct dib0700_state *st = d->priv; + int new_proto, ret; + ++ if (mutex_lock_interruptible(&d->usb_mutex) < 0) { ++ dprintk("could not acquire lock"); ++ return 0; ++ } ++ + st->buf[0] = REQUEST_SET_RC; + st->buf[1] = 0; + st->buf[2] = 0; +@@ -567,23 +624,29 @@ int dib0700_change_protocol(struct rc_dev *rc, u64 rc_type) + else if (rc_type == RC_TYPE_NEC) + new_proto = 0; + else if (rc_type == RC_TYPE_RC6) { +- if (st->fw_version < 0x10200) +- return -EINVAL; ++ if (st->fw_version < 0x10200) { ++ ret = -EINVAL; ++ goto out; ++ } + + new_proto = 2; +- } else +- return -EINVAL; ++ } else { ++ ret = -EINVAL; ++ goto out; ++ } + + st->buf[1] = new_proto; + + ret = dib0700_ctrl_wr(d, st->buf, 3); + if (ret < 0) { + err("ir protocol setup failed"); +- return ret; ++ goto out; + } + + d->props.rc.core.protocol = rc_type; + ++out: ++ mutex_unlock(&d->usb_mutex); + return ret; + } + +commit aeb2d456b746164a4bd19e53de0a6678ca63fcad +Author: Olivier Grenie <olivier.grenie@dibcom.fr> +Date: Thu Aug 4 18:10:03 2011 +0200 + + [media] dib0700: correct error message + + The goal of this patch is to correct a previous patch. In case of error, + the err() function should be used instead of dprintk() function. + + Signed-off-by: Olivier Grenie <olivier.grenie@dibcom.fr> + +diff --git a/drivers/media/dvb/dvb-usb/dib0700_core.c b/drivers/media/dvb/dvb-usb/dib0700_core.c +index 291b645..b693ed1 100644 +--- a/drivers/media/dvb/dvb-usb/dib0700_core.c ++++ b/drivers/media/dvb/dvb-usb/dib0700_core.c +@@ -31,7 +31,7 @@ int dib0700_get_version(struct dvb_usb_device *d, u32 *hwversion, + int ret; + + if (mutex_lock_interruptible(&d->usb_mutex) < 0) { +- dprintk("could not acquire lock"); ++ err("could not acquire lock"); + return 0; + } + +@@ -117,7 +117,7 @@ int dib0700_set_gpio(struct dvb_usb_device *d, enum dib07x0_gpios gpio, u8 gpio_ + int ret; + + if (mutex_lock_interruptible(&d->usb_mutex) < 0) { +- dprintk("could not acquire lock"); ++ err("could not acquire lock"); + return 0; + } + +@@ -138,7 +138,7 @@ static int dib0700_set_usb_xfer_len(struct dvb_usb_device *d, u16 nb_ts_packets) + + if (st->fw_version >= 0x10201) { + if (mutex_lock_interruptible(&d->usb_mutex) < 0) { +- dprintk("could not acquire lock"); ++ err("could not acquire lock"); + return 0; + } + +@@ -227,7 +227,7 @@ static int dib0700_i2c_xfer_new(struct i2c_adapter *adap, struct i2c_msg *msg, + } else { + /* Write request */ + if (mutex_lock_interruptible(&d->usb_mutex) < 0) { +- dprintk("could not acquire lock"); ++ err("could not acquire lock"); + return 0; + } + st->buf[0] = REQUEST_NEW_I2C_WRITE; +@@ -273,7 +273,7 @@ static int dib0700_i2c_xfer_legacy(struct i2c_adapter *adap, + if (mutex_lock_interruptible(&d->i2c_mutex) < 0) + return -EAGAIN; + if (mutex_lock_interruptible(&d->usb_mutex) < 0) { +- dprintk("could not acquire lock"); ++ err("could not acquire lock"); + return 0; + } + +@@ -368,7 +368,7 @@ static int dib0700_set_clock(struct dvb_usb_device *d, u8 en_pll, + int ret; + + if (mutex_lock_interruptible(&d->usb_mutex) < 0) { +- dprintk("could not acquire lock"); ++ err("could not acquire lock"); + return 0; + } + +@@ -400,7 +400,7 @@ int dib0700_set_i2c_speed(struct dvb_usb_device *d, u16 scl_kHz) + return -EINVAL; + + if (mutex_lock_interruptible(&d->usb_mutex) < 0) { +- dprintk("could not acquire lock"); ++ err("could not acquire lock"); + return 0; + } + +@@ -560,7 +560,7 @@ int dib0700_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff) + } + + if (mutex_lock_interruptible(&adap->dev->usb_mutex) < 0) { +- dprintk("could not acquire lock"); ++ err("could not acquire lock"); + return 0; + } + +@@ -610,7 +610,7 @@ int dib0700_change_protocol(struct rc_dev *rc, u64 rc_type) + int new_proto, ret; + + if (mutex_lock_interruptible(&d->usb_mutex) < 0) { +- dprintk("could not acquire lock"); ++ err("could not acquire lock"); + return 0; + } + diff --git a/libre/linux-libre-aufs_friendly/ext4-options.patch b/libre/linux-libre-aufs_friendly/ext4-options.patch new file mode 100644 index 000000000..ef1b2417d --- /dev/null +++ b/libre/linux-libre-aufs_friendly/ext4-options.patch @@ -0,0 +1,49 @@ +Report: https://bbs.archlinux.org/profile.php?id=33804 +Signed-off-by: Tom Gundersen <teg@jklm.no> +Cc: Thomas Baechler <thomas@archlinux.org> +Cc: Tobias Powalowski <tobias.powalowski@googlemail.com> +Cc: Dave Reisner <d@falconindy.com> +--- + fs/ext4/super.c | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +diff --git a/fs/ext4/super.c b/fs/ext4/super.c +index 502c61f..30de9cd 100644 +--- a/fs/ext4/super.c ++++ b/fs/ext4/super.c +@@ -1333,6 +1333,7 @@ enum { + Opt_inode_readahead_blks, Opt_journal_ioprio, + Opt_dioread_nolock, Opt_dioread_lock, + Opt_discard, Opt_nodiscard, Opt_init_itable, Opt_noinit_itable, ++ Opt_nocheck, Opt_reservation, Opt_noreservation, Opt_journal_inum, + }; + + static const match_table_t tokens = { +@@ -1408,6 +1409,10 @@ static const match_table_t tokens = { + {Opt_init_itable, "init_itable=%u"}, + {Opt_init_itable, "init_itable"}, + {Opt_noinit_itable, "noinit_itable"}, ++ {Opt_nocheck, "nocheck"}, ++ {Opt_reservation, "reservation"}, ++ {Opt_noreservation, "noreservation"}, ++ {Opt_journal_inum, "journal=%u"}, + {Opt_err, NULL}, + }; + +@@ -1904,6 +1909,16 @@ set_qf_format: + case Opt_noinit_itable: + clear_opt(sb, INIT_INODE_TABLE); + break; ++#ifdef CONFIG_EXT4_USE_FOR_EXT23 ++ case Opt_nocheck: ++ case Opt_reservation: ++ case Opt_noreservation: ++ case Opt_journal_inum: ++ ext4_msg(sb, KERN_WARNING, ++ "ext3 mount option \"%s\" ignored " ++ "by ext4 module", p); ++ break; ++#endif + default: + ext4_msg(sb, KERN_ERR, + "Unrecognized mount option \"%s\" " diff --git a/libre/linux-libre-aufs_friendly/fix-i915.patch b/libre/linux-libre-aufs_friendly/fix-i915.patch new file mode 100644 index 000000000..3b631361a --- /dev/null +++ b/libre/linux-libre-aufs_friendly/fix-i915.patch @@ -0,0 +1,26 @@ +Signed-off-by: Zhao Yakui <yakui.zhao@intel.com> +Tested-by: Santi <santi@agolina.net> +--- + drivers/gpu/drm/i915/intel_tv.c | 9 +++++++++ + 1 files changed, 9 insertions(+), 0 deletions(-) + +diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c +index dc83b7a..c8f67bf 100644 +--- a/drivers/gpu/drm/i915/intel_tv.c ++++ b/drivers/gpu/drm/i915/intel_tv.c +@@ -1267,6 +1267,15 @@ + DAC_B_0_7_V | + DAC_C_0_7_V); + ++ /* ++ * The TV sense state should be cleared to zero on cantiga platform. Otherwise ++ * the TV is misdetected. This is hardware requirement. ++ */ ++ if (IS_GM45(dev)) ++ tv_dac &= ~(TVDAC_STATE_CHG_EN | TVDAC_A_SENSE_CTL | ++ TVDAC_B_SENSE_CTL | TVDAC_C_SENSE_CTL); ++ ++ + I915_WRITE(TV_CTL, tv_ctl); + I915_WRITE(TV_DAC, tv_dac); + POSTING_READ(TV_DAC); diff --git a/libre/linux-libre-aufs_friendly/i915-fix-ghost-tv-output.patch b/libre/linux-libre-aufs_friendly/i915-fix-ghost-tv-output.patch new file mode 100644 index 000000000..3b631361a --- /dev/null +++ b/libre/linux-libre-aufs_friendly/i915-fix-ghost-tv-output.patch @@ -0,0 +1,26 @@ +Signed-off-by: Zhao Yakui <yakui.zhao@intel.com> +Tested-by: Santi <santi@agolina.net> +--- + drivers/gpu/drm/i915/intel_tv.c | 9 +++++++++ + 1 files changed, 9 insertions(+), 0 deletions(-) + +diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c +index dc83b7a..c8f67bf 100644 +--- a/drivers/gpu/drm/i915/intel_tv.c ++++ b/drivers/gpu/drm/i915/intel_tv.c +@@ -1267,6 +1267,15 @@ + DAC_B_0_7_V | + DAC_C_0_7_V); + ++ /* ++ * The TV sense state should be cleared to zero on cantiga platform. Otherwise ++ * the TV is misdetected. This is hardware requirement. ++ */ ++ if (IS_GM45(dev)) ++ tv_dac &= ~(TVDAC_STATE_CHG_EN | TVDAC_A_SENSE_CTL | ++ TVDAC_B_SENSE_CTL | TVDAC_C_SENSE_CTL); ++ ++ + I915_WRITE(TV_CTL, tv_ctl); + I915_WRITE(TV_DAC, tv_dac); + POSTING_READ(TV_DAC); diff --git a/libre/linux-libre-aufs_friendly/i915-fix-incorrect-error-message.patch b/libre/linux-libre-aufs_friendly/i915-fix-incorrect-error-message.patch new file mode 100644 index 000000000..e1addbb05 --- /dev/null +++ b/libre/linux-libre-aufs_friendly/i915-fix-incorrect-error-message.patch @@ -0,0 +1,22 @@ +commit 6c76e0b94e484ffbdf38d2fe2769b6ca9aa99de4 +Author: Thomas Bächler <thomas@archlinux.org> +Date: Mon Oct 31 19:16:18 2011 +0100 + + Change accidental error message to debug message. + + According to https://lkml.org/lkml/2011/9/19/80, this is not supposed + to be an error message, but a debug message. This worries users. + +diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c +index 04411ad..02d5794 100644 +--- a/drivers/gpu/drm/i915/intel_display.c ++++ b/drivers/gpu/drm/i915/intel_display.c +@@ -5172,7 +5172,7 @@ static void ironlake_update_pch_refclk(struct drm_device *dev) + } else { + /* Enable SSC on PCH eDP if needed */ + if (intel_panel_use_ssc(dev_priv)) { +- DRM_ERROR("enabling SSC on PCH\n"); ++ DRM_DEBUG("enabling SSC on PCH\n"); + temp |= DREF_SUPERSPREAD_SOURCE_ENABLE; + } + } diff --git a/libre/linux-libre-aufs_friendly/i915-gpu-finish.patch b/libre/linux-libre-aufs_friendly/i915-gpu-finish.patch new file mode 100644 index 000000000..5840c9181 --- /dev/null +++ b/libre/linux-libre-aufs_friendly/i915-gpu-finish.patch @@ -0,0 +1,55 @@ +commit 389a55581e30607af0fcde6cdb4e54f189cf46cf +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Nov 29 15:12:16 2011 +0000 + + drm/i915: Only clear the GPU domains upon a successful finish + + By clearing the GPU read domains before waiting upon the buffer, we run + the risk of the wait being interrupted and the domains prematurely + cleared. The next time we attempt to wait upon the buffer (after + userspace handles the signal), we believe that the buffer is idle and so + skip the wait. + + There are a number of bugs across all generations which show signs of an + overly haste reuse of active buffers. + + Such as: + + https://bugs.freedesktop.org/show_bug.cgi?id=29046 + https://bugs.freedesktop.org/show_bug.cgi?id=35863 + https://bugs.freedesktop.org/show_bug.cgi?id=38952 + https://bugs.freedesktop.org/show_bug.cgi?id=40282 + https://bugs.freedesktop.org/show_bug.cgi?id=41098 + https://bugs.freedesktop.org/show_bug.cgi?id=41102 + https://bugs.freedesktop.org/show_bug.cgi?id=41284 + https://bugs.freedesktop.org/show_bug.cgi?id=42141 + + A couple of those pre-date i915_gem_object_finish_gpu(), so may be + unrelated (such as a wild write from a userspace command buffer), but + this does look like a convincing cause for most of those bugs. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + Cc: stable@kernel.org + Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> + Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com> + +diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c +index d560175..036bc58 100644 +--- a/drivers/gpu/drm/i915/i915_gem.c ++++ b/drivers/gpu/drm/i915/i915_gem.c +@@ -3087,10 +3087,13 @@ i915_gem_object_finish_gpu(struct drm_i915_gem_object *obj) + return ret; + } + ++ ret = i915_gem_object_wait_rendering(obj); ++ if (ret) ++ return ret; ++ + /* Ensure that we invalidate the GPU's caches and TLBs. */ + obj->base.read_domains &= ~I915_GEM_GPU_DOMAINS; +- +- return i915_gem_object_wait_rendering(obj); ++ return 0; + } + + /** diff --git a/libre/linux-libre-aufs_friendly/iwlagn-fix-NULL-pointer-dereference.patch b/libre/linux-libre-aufs_friendly/iwlagn-fix-NULL-pointer-dereference.patch new file mode 100644 index 000000000..a53a3a425 --- /dev/null +++ b/libre/linux-libre-aufs_friendly/iwlagn-fix-NULL-pointer-dereference.patch @@ -0,0 +1,38 @@ +This fix regression introduced by commit: + +commit 15b3f3b006b42a678523cad989bfd60b76bf4403 +Author: Wey-Yi Guy <wey-yi.w.guy@intel.com> +Date: Fri Jun 3 07:54:13 2011 -0700 + + iwlagn: set smps mode after assoc for 1000 device + +Also remove unneeded brackets on the way. + +Address: +https://bugzilla.redhat.com/show_bug.cgi?id=744155 + +If fix will not get 3.1 release, it should be applied in 3.1 stable. + +Cc: stable@kernel.org # 3.1+ +Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> +--- + drivers/net/wireless/iwlwifi/iwl-agn-rxon.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c b/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c +index ca632f9..5004342 100644 +--- a/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c ++++ b/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c +@@ -296,8 +296,8 @@ static int iwlagn_rxon_connect(struct iwl_priv *priv, + return ret; + } + +- if ((ctx->vif && ctx->vif->type == NL80211_IFTYPE_STATION) && +- priv->cfg->ht_params->smps_mode) ++ if (ctx->vif && ctx->vif->type == NL80211_IFTYPE_STATION && ++ priv->cfg->ht_params && priv->cfg->ht_params->smps_mode) + ieee80211_request_smps(ctx->vif, + priv->cfg->ht_params->smps_mode); + +-- +1.7.1 diff --git a/libre/linux-libre-aufs_friendly/linux-libre-aufs_friendly.install b/libre/linux-libre-aufs_friendly/linux-libre-aufs_friendly.install new file mode 100644 index 000000000..eb2293d00 --- /dev/null +++ b/libre/linux-libre-aufs_friendly/linux-libre-aufs_friendly.install @@ -0,0 +1,65 @@ +# arg 1: the new package version +# arg 2: the old package version + +KERNEL_NAME=-aufs_friendly +KERNEL_VERSION=3.2.9-1-LIBRE-AUFS_FRIENDLY + +post_install () { + # updating module dependencies + echo ">>> Updating module dependencies. Please wait ..." + depmod ${KERNEL_VERSION} + if command -v mkinitcpio 2>&1 > /dev/null; then + echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..." + mkinitcpio -p linux-libre${KERNEL_NAME} + fi + + # compat symlinks for the official kernels only + if [ -z "${KERNEL_NAME}" -o "${KERNEL_NAME}" = "-lts" ]; then + loaders="$(find /boot -name syslinux.cfg -or -name extlinux.conf -or -name grub.cfg -or -name menu.lst)" + [ -f /etc/lilo.conf ] && loaders="$loaders /etc/lilo.conf" + if [ -n "${loaders}" ] && grep -q -e vmlinuz26 -e kernel26.img -e kernel26-fallback.img $loaders; then + # add compat symlinks for the initramfs images + ln -sf initramfs-linux-libre${KERNEL_NAME}.img /boot/kernel26${KERNEL_NAME}.img + ln -sf initramfs-linux-libre${KERNEL_NAME}-fallback.img /boot/kernel26${KERNEL_NAME}-fallback.img + ln -sf vmlinuz-linux-libre${KERNEL_NAME} /boot/vmlinuz26${KERNEL_NAME} + fi + fi +} + +post_upgrade() { + pacman -Q grub &>/dev/null + hasgrub=$? + pacman -Q grub2 &>/dev/null + hasgrub2=$? + pacman -Q lilo &>/dev/null + haslilo=$? + # reminder notices + if [ $haslilo -eq 0 ]; then + echo ">>>" + if [ $hasgrub -eq 0 -o $hasgrub2 -eq 0 ]; then + echo ">>> If you use the LILO bootloader, you should run 'lilo' before rebooting." + else + echo ">>> You appear to be using the LILO bootloader. You should run" + echo ">>> 'lilo' before rebooting." + fi + echo ">>>" + fi + + if findmnt --fstab -uno SOURCE /boot &>/dev/null && ! mountpoint -q /boot; then + echo "WARNING: /boot appears to be a separate partition but is not mounted." + fi + + # updating module dependencies + echo ">>> Updating module dependencies. Please wait ..." + depmod ${KERNEL_VERSION} + if command -v mkinitcpio 2>&1 > /dev/null; then + echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..." + mkinitcpio -p linux-libre${KERNEL_NAME} + fi +} + +post_remove() { + # also remove the compat symlinks + rm -f boot/{initramfs-linux-libre,kernel26}${KERNEL_NAME}.img + rm -f boot/{initramfs-linux-libre,kernel26}${KERNEL_NAME}-fallback.img +} diff --git a/libre/linux-libre-aufs_friendly/linux-libre-aufs_friendly.preset b/libre/linux-libre-aufs_friendly/linux-libre-aufs_friendly.preset new file mode 100644 index 000000000..c802eda83 --- /dev/null +++ b/libre/linux-libre-aufs_friendly/linux-libre-aufs_friendly.preset @@ -0,0 +1,14 @@ +# mkinitcpio preset file for the 'linux-libre-aufs_friendly' package + +ALL_config="/etc/mkinitcpio.conf" +ALL_kver="/boot/vmlinuz-linux-libre-aufs_friendly" + +PRESETS=('default' 'fallback') + +#default_config="/etc/mkinitcpio.conf" +default_image="/boot/initramfs-linux-libre-aufs_friendly.img" +#default_options="" + +#fallback_config="/etc/mkinitcpio.conf" +fallback_image="/boot/initramfs-linux-libre-aufs_friendly-fallback.img" +fallback_options="-S autodetect" diff --git a/libre/linux-libre-aufs_friendly/md-raid10-fix-bug-when-activating-a-hot-spare.patch b/libre/linux-libre-aufs_friendly/md-raid10-fix-bug-when-activating-a-hot-spare.patch new file mode 100644 index 000000000..880849db5 --- /dev/null +++ b/libre/linux-libre-aufs_friendly/md-raid10-fix-bug-when-activating-a-hot-spare.patch @@ -0,0 +1,40 @@ +From 7fcc7c8acf0fba44d19a713207af7e58267c1179 Mon Sep 17 00:00:00 2001 +From: NeilBrown <neilb@suse.de> +Date: Mon, 31 Oct 2011 12:59:44 +1100 +Subject: md/raid10: Fix bug when activating a hot-spare. + +From: NeilBrown <neilb@suse.de> + +commit 7fcc7c8acf0fba44d19a713207af7e58267c1179 upstream. + +This is a fairly serious bug in RAID10. + +When a RAID10 array is degraded and a hot-spare is activated, the +spare does not take up the empty slot, but rather replaces the first +working device. +This is likely to make the array non-functional. It would normally +be possible to recover the data, but that would need care and is not +guaranteed. + +This bug was introduced in commit + 2bb77736ae5dca0a189829fbb7379d43364a9dac +which first appeared in 3.1. + +Signed-off-by: NeilBrown <neilb@suse.de> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/md/raid10.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/md/raid10.c ++++ b/drivers/md/raid10.c +@@ -1337,7 +1337,7 @@ static int raid10_add_disk(mddev_t *mdde + mirror_info_t *p = &conf->mirrors[mirror]; + if (p->recovery_disabled == mddev->recovery_disabled) + continue; +- if (!p->rdev) ++ if (p->rdev) + continue; + + disk_stack_limits(mddev->gendisk, rdev->bdev, diff --git a/libre/linux-libre-aufs_friendly/usb-add-reset-resume-quirk-for-several-webcams.patch b/libre/linux-libre-aufs_friendly/usb-add-reset-resume-quirk-for-several-webcams.patch new file mode 100644 index 000000000..9e570dd3f --- /dev/null +++ b/libre/linux-libre-aufs_friendly/usb-add-reset-resume-quirk-for-several-webcams.patch @@ -0,0 +1,99 @@ +commit 2394d67e446bf616a0885167d5f0d397bdacfdfc +Author: Oliver Neukum <oneukum@suse.de> +Date: Tue Sep 13 08:42:21 2011 +0200 + + USB: add RESET_RESUME for webcams shown to be quirky + + The new runtime PM code has shown that many webcams suffer + from a race condition that may crash them upon resume. + Runtime PM is especially prone to show the problem because + it retains power to the cameras at all times. However + system suspension may also crash the devices and retain + power to the devices. + The only way to solve this problem without races is in + usbcore with the RESET_RESUME quirk. + + Signed-off-by: Oliver Neukum <oneukum@suse.de> + Signed-off-by: stable <stable@kernel.org> + Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c +index 81ce6a8..38f0510 100644 +--- a/drivers/usb/core/quirks.c ++++ b/drivers/usb/core/quirks.c +@@ -38,6 +38,24 @@ static const struct usb_device_id usb_quirk_list[] = { + /* Creative SB Audigy 2 NX */ + { USB_DEVICE(0x041e, 0x3020), .driver_info = USB_QUIRK_RESET_RESUME }, + ++ /* Logitech Webcam C200 */ ++ { USB_DEVICE(0x046d, 0x0802), .driver_info = USB_QUIRK_RESET_RESUME }, ++ ++ /* Logitech Webcam C250 */ ++ { USB_DEVICE(0x046d, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME }, ++ ++ /* Logitech Webcam B/C500 */ ++ { USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME }, ++ ++ /* Logitech Webcam Pro 9000 */ ++ { USB_DEVICE(0x046d, 0x0809), .driver_info = USB_QUIRK_RESET_RESUME }, ++ ++ /* Logitech Webcam C310 */ ++ { USB_DEVICE(0x046d, 0x081b), .driver_info = USB_QUIRK_RESET_RESUME }, ++ ++ /* Logitech Webcam C270 */ ++ { USB_DEVICE(0x046d, 0x0825), .driver_info = USB_QUIRK_RESET_RESUME }, ++ + /* Logitech Harmony 700-series */ + { USB_DEVICE(0x046d, 0xc122), .driver_info = USB_QUIRK_DELAY_INIT }, + +@@ -69,6 +87,9 @@ static const struct usb_device_id usb_quirk_list[] = { + { USB_DEVICE(0x06a3, 0x0006), .driver_info = + USB_QUIRK_CONFIG_INTF_STRINGS }, + ++ /* Guillemot Webcam Hercules Dualpix Exchange*/ ++ { USB_DEVICE(0x06f8, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME }, ++ + /* M-Systems Flash Disk Pioneers */ + { USB_DEVICE(0x08ec, 0x1000), .driver_info = USB_QUIRK_RESET_RESUME }, + +commit 5b253d88cc6c65a23cefc457a5a4ef139913c5fc +Author: Jon Levell <linuxusb@coralbark.net> +Date: Thu Sep 29 20:42:52 2011 +0100 + + USB: add quirk for Logitech C300 web cam + + My webcam is a Logitech C300 and I get "chipmunk"ed squeaky sound. + The following trivial patch fixes it. + + Signed-off-by: Jon Levell <linuxusb@coralbark.net> + Cc: stable <stable@kernel.org> + Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c +index 38f0510..d6a8d82 100644 +--- a/drivers/usb/core/quirks.c ++++ b/drivers/usb/core/quirks.c +@@ -44,6 +44,9 @@ static const struct usb_device_id usb_quirk_list[] = { + /* Logitech Webcam C250 */ + { USB_DEVICE(0x046d, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME }, + ++ /* Logitech Webcam C300 */ ++ { USB_DEVICE(0x046d, 0x0805), .driver_info = USB_QUIRK_RESET_RESUME }, ++ + /* Logitech Webcam B/C500 */ + { USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME }, + +diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c +index d6a8d82..caa1991 100644 +--- a/drivers/usb/core/quirks.c ++++ b/drivers/usb/core/quirks.c +@@ -50,6 +50,9 @@ static const struct usb_device_id usb_quirk_list[] = { + /* Logitech Webcam B/C500 */ + { USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME }, + ++ /* Logitech Webcam C600 */ ++ { USB_DEVICE(0x046d, 0x0808), .driver_info = USB_QUIRK_RESET_RESUME }, ++ + /* Logitech Webcam Pro 9000 */ + { USB_DEVICE(0x046d, 0x0809), .driver_info = USB_QUIRK_RESET_RESUME }, + diff --git a/libre/linux-libre-lts/PKGBUILD b/libre/linux-libre-lts/PKGBUILD index a3a4a283c..fb028fc2b 100644 --- a/libre/linux-libre-lts/PKGBUILD +++ b/libre/linux-libre-lts/PKGBUILD @@ -2,11 +2,12 @@ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> # Maintainer: Thomas Baechler <thomas@archlinux.org> # Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy> +# Contributor (Parabola): Márcio Silva <coadde@adinet.com.uy> pkgbase=linux-libre-lts pkgname=('linux-libre-lts' 'linux-libre-lts-headers') # Build stock -LIBRE kernel # pkgname=linux-custom # Build kernel with a different name -_kernelname=${pkgname#linux-libre} +_kernelname=-LIBRE-LTS _basekernel=3.0 _sublevel=23 pkgver=${_basekernel}.${_sublevel} @@ -180,10 +181,6 @@ package_linux-libre-lts() { # set correct depmod command for install sed \ - -e "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/g" \ - -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \ - -i "${startdir}/${pkgname}.install" - sed \ -e "s|ALL_kver=.*|ALL_kver=\"/boot/vmlinuz-${pkgname}\"|g" \ -e "s|default_image=.*|default_image=\"/boot/initramfs-${pkgname}.img\"|g" \ -e "s|fallback_image=.*|fallback_image=\"/boot/initramfs-${pkgname}-fallback.img\"|g" \ @@ -209,7 +206,7 @@ package_linux-libre-lts() { } package_linux-libre-lts-headers() { - pkgdesc="Header files and scripts for building modules for linux-libre longtime supported kernel" + pkgdesc="Header files and scripts for building modules for linux-libre-lts-headers longtime supported kernel" provides=('kernel26-lts-headers' "linux-lts-headers=${pkgver}") conflicts=('kernel26-lts-headers' 'kernel26-libre-lts-headers' 'linux-lts-headers') replaces=('kernel26-lts-headers' 'kernel26-libre-lts-headers' 'linux-lts-headers') @@ -359,19 +356,3 @@ package_linux-libre-lts-headers() { fi } -package_linux-libre-docs() { - pkgdesc="Kernel hackers manual - HTML documentation that comes with the Linux-libre kernel." - provides=('kernel26-docs' "linux-docs=$pkgver") - conflicts=('kernel26-docs' 'kernel26-libre-docs' 'linux-docs') - replaces=('kernel26-docs' 'kernel26-libre-docs' 'linux-docs') - - cd "${srcdir}/linux-${_basekernel}" - - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}" - cp -al Documentation "${pkgdir}/usr/src/linux-${_kernver}" - find "${pkgdir}" -type f -exec chmod 444 {} \; - find "${pkgdir}" -type d -exec chmod 755 {} \; - - # remove a file already in linux package - rm -f "${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile" -} diff --git a/libre/linux-libre-lts/linux-libre-lts.install b/libre/linux-libre-lts/linux-libre-lts.install index 2de3804e6..f4f5fd6ad 100644 --- a/libre/linux-libre-lts/linux-libre-lts.install +++ b/libre/linux-libre-lts/linux-libre-lts.install @@ -2,7 +2,7 @@ # arg 2: the old package version KERNEL_NAME=-lts -KERNEL_VERSION=3.0.23-1-LIBRE-LTS +KERNEL_VERSION=3.0.23-2-LIBRE-LTS post_install () { # updating module dependencies diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD index 5b8430f86..8e2cbd99e 100644 --- a/libre/linux-libre/PKGBUILD +++ b/libre/linux-libre/PKGBUILD @@ -5,16 +5,17 @@ # Maintainer (Parabola): Sorin-Mihai Vârgolici <smv@yobicore.org> # Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy> # Maintainer (Parabola): Michał Masłowski <mtjm@mtjm.eu> +# Contributor (Parabola): Márcio Silva <coadde@adinet.com.uy> pkgbase=linux-libre pkgname=('linux-libre' 'linux-libre-headers' 'linux-libre-docs') # Build stock -LIBRE kernel # pkgname=linux-custom # Build kernel with a different name -_kernelname=${pkgname#linux-libre} +_kernelname=-LIBRE _basekernel=3.2 _sublevel=9 pkgver=${_basekernel}.${_sublevel} _lxopkgver=${_basekernel}.7 # nearly always the same as pkgver -pkgrel=2 +pkgrel=3 arch=('i686' 'x86_64' 'mips64el') url="http://linux-libre.fsfla.org/" license=('GPL2') @@ -190,10 +191,6 @@ package_linux-libre() { # set correct depmod command for install sed \ - -e "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/g" \ - -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \ - -i "${startdir}/${pkgname}.install" - sed \ -e "s|ALL_kver=.*|ALL_kver=\"/boot/vmlinuz-${pkgname}\"|g" \ -e "s|default_image=.*|default_image=\"/boot/initramfs-${pkgname}.img\"|g" \ -e "s|fallback_image=.*|fallback_image=\"/boot/initramfs-${pkgname}-fallback.img\"|g" \ diff --git a/libre/linux-libre/linux-libre.install b/libre/linux-libre/linux-libre.install index ea00c881c..9e530d55f 100644 --- a/libre/linux-libre/linux-libre.install +++ b/libre/linux-libre/linux-libre.install @@ -2,7 +2,7 @@ # arg 2: the old package version KERNEL_NAME= -KERNEL_VERSION=3.2.9-1-LIBRE +KERNEL_VERSION=3.2.9-3-LIBRE post_install () { # updating module dependencies diff --git a/libre/pacman-mirrorlist-libre/PKGBUILD b/libre/pacman-mirrorlist-libre/PKGBUILD index fd3ebc7c1..914c939d2 100644 --- a/libre/pacman-mirrorlist-libre/PKGBUILD +++ b/libre/pacman-mirrorlist-libre/PKGBUILD @@ -15,7 +15,7 @@ source=(mirrorlist::${url}) conflicts=(pacman-mirrorlist) replaces=(pacman-mirrorlist) provides=(pacman-mirrorlist) -md5sums=('e070f8d2639fdb742d0bfb21d27820d1') +md5sums=('3c7958c93c36a41ad18f8d09fd1803ff') # keep an upgrade path for older installations PKGEXT='.pkg.tar.gz' diff --git a/social/bitcoin-daemon/PKGBUILD b/social/bitcoin-daemon/PKGBUILD index 5344ebed7..bd2b1d30d 100644 --- a/social/bitcoin-daemon/PKGBUILD +++ b/social/bitcoin-daemon/PKGBUILD @@ -6,7 +6,7 @@ pkgname=bitcoin-daemon _pkgname=bitcoin -pkgver=0.5.1 +pkgver=0.5.2 pkgrel=1 pkgdesc="Bitcoin is a peer-to-peer network based digital currency (daemon with JSON-RPC interface)." arch=('i686' 'x86_64' 'mips64el') @@ -23,6 +23,9 @@ source=("http://downloads.sourceforge.net/sourceforge/${_pkgname}/${_pkgname}-${ s1=$srcdir/${_pkgname}-${pkgver}-linux src=$s1/src/src makefile_unix=makefile.unix +md5sums=('6d40f645ddc042de26d64e83656f38e0' + '0375ba4d6c3425eee350dc8b7575403d' + '7faa439885f3adbba5847ae75aac5484') build() { cd $src @@ -42,7 +45,7 @@ build() { package() { # get compiled binaries - install -d ${pkgdir}/{var/lib/${pkgname},usr/{share/licenses,bin},etc/rc.d} + mkdir -p ${pkgdir}/{var/lib/${pkgname},usr/{share/licenses/${pkgname},bin},etc/rc.d} install -D -m755 ${src}/bitcoind ${pkgdir}/usr/bin/ @@ -51,6 +54,3 @@ package() { install -D -m 644 ${s1}/COPYING \ ${pkgdir}/usr/share/licenses/${pkgname}/ } -md5sums=('1edeb3082d41741b8d0e5f850818328f' - '0375ba4d6c3425eee350dc8b7575403d' - '7faa439885f3adbba5847ae75aac5484') diff --git a/social/bitcoin/PKGBUILD b/social/bitcoin/PKGBUILD new file mode 100644 index 000000000..64810db4b --- /dev/null +++ b/social/bitcoin/PKGBUILD @@ -0,0 +1,62 @@ +## Maintainer : shahid <helllamer@gmail.com> +## Long PKGBUILD description, todo, wiki: +## * https://bitbucket.org/helllamer/archlinux-pkgbuild/wiki/pkgbuild/bitcoin + +## Wanna take part on development my PKGBUILDs? Feel welcome on my repo: +## * https://bitbucket.org/helllamer/archlinux-pkgbuild/ + +name=bitcoin +pkgname=$name +pkgver=0.5.2 +pkgrel=1 +pkgdesc="Bitcoin is a peer-to-peer network based digital currency." +arch=('i686' 'x86_64') +url="http://www.bitcoin.org/" +depends=('qt>=4.6' 'libpng>=1.4' 'expat' 'gcc-libs' 'boost-libs>=1.46' 'miniupnpc>=1.6' 'openssl') +makedepends=('boost' 'gcc' 'make' 'automoc4') +conflicts=('bitcoin-bin' 'bitcoin-git' 'bitcoin-daemon') +license=('MIT') +source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}-linux.tar.gz" + "${pkgname}.desktop") +md5sums=('6d40f645ddc042de26d64e83656f38e0' + '77139ce8a40f46bd7d7ad0a743672113') +s1=$srcdir/${pkgname}-${pkgver}-linux +src_qt=$s1/src +src_d=$s1/src/src/ +makefile_unix=makefile.unix + +build() { + cd $src_d + + msg "Patching $makefile_unix..." + sed -i $makefile_unix \ + -e 's/\(-DNOPCH\)/\1 -DBOOST_FILESYSTEM_VERSION=2/' \ + -e 's/-Bstatic/--as-needed ${LDFLAGS}/g' \ + -e 's/\(USE_UPNP:=\)0/\11/' \ + -e 's/$(DEBUGFLAGS)//g' \ + -e 's/CXXFLAGS/CPPFLAGS/g' \ + -e 's/-O[0-3]/${CXXFLAGS}/g' + + # make bitcoind + make $MAKEFLAGS -f $makefile_unix bitcoind + + # and make qt gui + cd $src_qt + qmake + make $MAKEFLAGS +} + + +package() { + mkdir -p $pkgdir/usr/bin + mkdir -p $pkgdir/usr/share/pixmaps + mkdir -p $pkgdir/usr/share/applications + + # get compiled binaries + install -D -m755 $src_qt/bitcoin-qt $pkgdir/usr/bin/ + install -D -m755 $src_d/bitcoind $pkgdir/usr/bin/ + + # add icon and .desktop file to pkg + install -D -m644 $src_qt/src/qt/res/icons/bitcoin.png $pkgdir/usr/share/pixmaps/ + install -D -m644 $srcdir/$name.desktop $pkgdir/usr/share/applications/ +} diff --git a/social/bitcoin/bitcoin.desktop b/social/bitcoin/bitcoin.desktop new file mode 100644 index 000000000..f27429060 --- /dev/null +++ b/social/bitcoin/bitcoin.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=Bitcoin +GenericName=P2P network based digital currency +Comment=P2P network based digital currency +Exec=bitcoin-qt +Icon=/usr/share/pixmaps/bitcoin.png +StartupNotify=true +Terminal=false +Type=Application +Categories=Office;Finance;P2P diff --git a/social/python2-cheetah/Changelog b/social/python2-cheetah/Changelog new file mode 100644 index 000000000..9acc7834a --- /dev/null +++ b/social/python2-cheetah/Changelog @@ -0,0 +1,6 @@ +2012-01-31 Julien Nicoulaud <julien.nicoulaud@gmail.com> + + * 2.4.4-4 : + Add changelog. + Remove unneeded shebang modification. + diff --git a/social/python2-cheetah/PKGBUILD b/social/python2-cheetah/PKGBUILD new file mode 100644 index 000000000..34ce863a8 --- /dev/null +++ b/social/python2-cheetah/PKGBUILD @@ -0,0 +1,33 @@ +# Maintainer: Julien Nicoulaud <julien.nicoulaud@gmail.com> +# Contributor: James Rayner <james@archlinux.org> +# Contributor: Todd Maynard <arch@toddmaynard.com> +# Source: https://github.com/nicoulaj/archlinux-packages +pkgname=python2-cheetah +pkgver=2.4.4 +pkgrel=4 +pkgdesc="A Python-powered template engine and code generator" +arch=(i686 x86_64) +url="http://www.cheetahtemplate.org" +license=(custom) +depends=(python2 python-markdown) +makedepends=(python2-distribute) +optdepends=('python2-pygments: for the CodeHighlighter filter') +provides=(cheetah python-cheetah) +conflicts=(cheetah python-cheetah) +changelog=Changelog +source=(http://pypi.python.org/packages/source/C/Cheetah/Cheetah-${pkgver}.tar.gz) +md5sums=('853917116e731afbc8c8a43c37e6ddba') + +build() { + cd "${srcdir}/Cheetah-${pkgver}" + python2 setup.py build +} + +package() { + msg "Install..." + cd "${srcdir}/Cheetah-${pkgver}" + python2 setup.py install --root="${pkgdir}" || return 1 + + msg2 "Install copyright resources in /usr/share/licenses/${pkgname}..." + install -Dm644 "${srcdir}/Cheetah-${pkgver}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/~fauno/pandoc/PKGBUILD b/~fauno/pandoc/PKGBUILD index 4d9a12809..875e6bb0a 100644 --- a/~fauno/pandoc/PKGBUILD +++ b/~fauno/pandoc/PKGBUILD @@ -1,53 +1,59 @@ # Maintainer: Nicolas Reynolds <fauno@kiwwwi.com.ar> # Based on haskell-pandoc -# custom variables -_hkgname=pandoc -_licensefile=COPYING -# PKGBUILD options/directives pkgname=pandoc -pkgver=1.8.2.1 +pkgver=1.9.1.2 pkgrel=2 pkgdesc='Conversion between markup formats (no Haskell libs)' -url='http://johnmacfarlane.net/pandoc' +url='http://johnmacfarlane.net/pandoc/' license=('GPL') arch=('i686' 'x86_64') -makedepends=('ghc' 'sh' 'haskell-http' 'haskell-base64-bytestring' -'haskell-bytestring' 'haskell-citeproc-hs' 'haskell-containers' -'haskell-directory' 'haskell-dlist' 'haskell-extensible-exceptions' -'haskell-filepath' 'haskell-json' 'haskell-mtl' 'haskell-network' -'haskell-old-time' 'haskell-pandoc-types' 'haskell-parsec' 'haskell-process' -'haskell-random' 'haskell-syb' 'haskell-tagsoup' 'haskell-texmath' -'haskell-utf8-string' 'haskell-xhtml' 'haskell-xml' 'haskell-zip-archive') +makedepends=('ghc' 'sh' 'cabal-install') options=('strip') -source=("http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz") -sha256sums=('f1025377b2c78043b06d7963eb61ce66c2290d2580f2488a8186c82c24f09433') +source=(https://repo.parabolagnulinux.org/other/${pkgname}-${pkgver}-${pkgrel}-any.src.tar.xz{,.sig}) conflicts=('haskell-pandoc') # PKGBUILD functions build() { - cd ${srcdir}/${_hkgname}-${pkgver} - - runhaskell Setup configure -O -p --enable-split-objs --enable-shared \ - --prefix=/usr --docdir=/usr/share/doc/${pkgname} \ - --libsubdir=\$compiler/site-local/\$pkgid - runhaskell Setup build - runhaskell Setup haddock - runhaskell Setup register --gen-script - runhaskell Setup unregister --gen-script - sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh + mkdir -p ${srcdir}/{build,${pkgname}-${pkgver}} + cd ${srcdir}/${pkgname}-${pkgver} + + for _hkpkg in $(grep -v ${pkgname}-${pkgver} BUILDORDER); do + pushd ${srcdir}/${pkgname}-${pkgver}/${_hkpkg} + + HOME=${srcdir}/${pkgname}-${pkgver} \ + cabal install --prefix=${srcdir}/build/usr + + popd + done + + cd ${srcdir}/${pkgname}-${pkgver}/${pkgname}-${pkgver} + + HOME=${srcdir}/${pkgname}-${pkgver} \ + cabal configure --prefix=/usr --libdir=${srcdir}/build/usr/lib --flags="-library" + HOME=${srcdir}/${pkgname}-${pkgver} \ + cabal build + } package() { - cd ${srcdir}/${_hkgname}-${pkgver} - install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh - install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh - install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries - ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname} - runhaskell Setup copy --destdir=${pkgdir} - install -D -m644 ${_licensefile} ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE - rm -f ${pkgdir}/usr/share/doc/${pkgname}/${_licensefile} - - msg2 "Removing Haskell libs" - rm -rvf ${pkgdir}/usr/lib + + cd ${srcdir}/${pkgname}-${pkgver}/${pkgname}-${pkgver} + + runghc Setup.hs copy --destdir=${pkgdir}/ + +# runghc Setup.hs configure --prefix=DIR --bindir=DIR --libdir=DIR \ +# --datadir=DIR --libsubdir=DIR --datasubdir=DIR --docdir=DIR \ +# --htmldir=DIR --program-prefix=PREFIX --program-suffix=SUFFIX \ +# --mandir=DIR --flags=FLAGSPEC + +# Copy everything, but remove docs and haskell-libs +# rm -r ${pkgdir}/usr/{lib,share/*} + +# cp -a ${srcdir}/build/usr/share/man ${pkgdir}/usr/share/ +# cp -a ${srcdir}/build/usr/share/doc ${pkgdir}/usr/share/ + find ${pkgdir}/usr/share -type f -exec chmod 644 {} \; + find ${pkgdir}/usr/share -type d -exec chmod 755 {} \; } +md5sums=('f377f51be658821876e49e5485d47219' + 'd08ee033440f16c30b2b8b6b80ae12c7') diff --git a/~fauno/pandoc/SRCBUILD b/~fauno/pandoc/SRCBUILD new file mode 100644 index 000000000..09b154d7a --- /dev/null +++ b/~fauno/pandoc/SRCBUILD @@ -0,0 +1,42 @@ +# Maintainer: Nicolas Reynolds <fauno@kiwwwi.com.ar> +# Based on haskell-pandoc + +pkgname=pandoc +pkgver=1.9.1.2 +pkgrel=2 +pkgdesc='Conversion between markup formats (no Haskell libs)' +url='http://johnmacfarlane.net/pandoc/' +license=('GPL') +arch=('any') +makedepends=('ghc' 'sh' 'cabal-install') +source=() + +# PKGBUILD functions +build() { + mkdir -p ${srcdir}/{build,${pkgname}-${pkgver}} + cd ${srcdir}/${pkgname}-${pkgver} + + HOME=${srcdir}/${pkgname}-${pkgver} \ + cabal --verbose=3 update + + HOME=${srcdir}/${pkgname}-${pkgver} \ + cabal --verbose=3 fetch ${pkgname}-${pkgver} + + msg2 "Getting the dependency build order" +# Ignore the cabal messages + HOME=${srcdir}/${pkgname}-${pkgver} \ + cabal install --dry-run ${pkgname}-${pkgver} | tail -n+3 > BUILDORDER +} + +package() { + export PKGEXT=.src.tar.xz + export PKGDEST=${startdir} + + mkdir -p ${pkgdir}/${pkgname}-${pkgver} + cd ${pkgdir}/${pkgname}-${pkgver} + + find ${srcdir} -iname '*.tar.?z' -a \! -iname '00-index.tar.gz' -exec \ + bsdtar xvf '{}' \; + + cp ${srcdir}/${pkgname}-${pkgver}/BUILDORDER . +} |