diff options
author | Koen Kooi <koen@openembedded.org> | 2007-09-13 10:56:52 +0000 |
---|---|---|
committer | Koen Kooi <koen@openembedded.org> | 2007-09-13 10:56:52 +0000 |
commit | 27e9acfbf83d8bbbf83076d7757f54e4485a0df4 (patch) | |
tree | be4557cd5b9637feb0b21f1ab59320060a3e6de4 | |
parent | 1c24210e3f0b3f6a5a5783ed597252d453e6bd64 (diff) | |
parent | d49aa984dfa45e53c2ca1d62d3e772efb18ae7a7 (diff) |
propagate from branch 'org.openembedded.dev' (head ab0d9a488e49d9ec307f6d034845a25a157b066b)
to branch 'org.openembedded.dev.avr32' (head 4c5317ddb5784cda08980db89021f3fc1e9b786e)
355 files changed, 22748 insertions, 11520 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index f9532a36ab..7533c3f8fc 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -205,6 +205,10 @@ Machines: Dht-walnut, Efika, Magicbox,Sequoia,Xilinx-ML403,RB5XX Interest: Cross-machine development Recipes: icecc.bbclass, ppc toolchain, asterisk,perl,php +Person: Tim Sander +Mail: oe@iss.tu-darmstadt.de +Receipes: fxload + Person: Øyvind Repvik Mail: nail@nslu2-linux.org Machines: nslu2, fsg3, ixp4xx, n2100, turbostation diff --git a/classes/base.bbclass b/classes/base.bbclass index 9bcf212e95..999d409914 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -375,10 +375,7 @@ oe_machinstall() { } # Remove and re-create ${D} so that is it guaranteed to be empty -do_install_prepend() { - rm -rf ${D} - mkdir -p ${D} -} +do_install[cleandirs] = "${D}" addtask listtasks do_listtasks[nostamp] = "1" @@ -490,9 +487,9 @@ python base_do_fetch() { try: if not base_chk_file(parser, pn, pv,uri, localpath, d): if type != "file": - bb.note("%s-%s-%s has no section, not checking URI" % (pn,pv,uri)) + bb.note("%s-%s: %s has no entry in conf/checksums.ini, not checking URI" % (pn,pv,uri)) else: - bb.debug("%s-%s-%s has no section, not checking URI" % (pn,pv,uri)) + bb.debug("%s-%s: %s has no entry in conf/checksums.ini, not checking URI" % (pn,pv,uri)) except Exception: raise bb.build.FuncFailed("Checksum of '%s' failed" % uri) } diff --git a/classes/image.bbclass b/classes/image.bbclass index 04e26e4b35..3420e3f53a 100644 --- a/classes/image.bbclass +++ b/classes/image.bbclass @@ -4,7 +4,7 @@ LICENSE = "MIT" PACKAGES = "" RDEPENDS += "${IMAGE_INSTALL}" -export IMAGE_BASENAME ?= "${PN}" +IMAGE_BASENAME[export] = "1" export PACKAGE_INSTALL ?= "${IMAGE_INSTALL}" # We need to recursively follow RDEPENDS and RRECOMMENDS for images diff --git a/classes/package_ipk.bbclass b/classes/package_ipk.bbclass index e9e21456dd..0b7f274a96 100644 --- a/classes/package_ipk.bbclass +++ b/classes/package_ipk.bbclass @@ -82,6 +82,10 @@ package_update_index_ipk () { touch ${DEPLOY_DIR_IPK}/$arch/Packages ipkg-make-index -r ${DEPLOY_DIR_IPK}/$arch/Packages -p ${DEPLOY_DIR_IPK}/$arch/Packages -l ${DEPLOY_DIR_IPK}/$arch/Packages.filelist -m ${DEPLOY_DIR_IPK}/$arch/ fi + if [ -e ${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk/ ] ; then + touch ${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk/Packages + ipkg-make-index -r ${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk/Packages -p ${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk/Packages -l ${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk/Packages.filelist -m ${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk/ + fi done } @@ -102,7 +106,9 @@ package_generate_ipkg_conf () { priority=$(expr $priority + 5) if [ -e ${DEPLOY_DIR_IPK}/$arch/Packages ] ; then echo "src oe-$arch file:${DEPLOY_DIR_IPK}/$arch" >> ${IPKGCONF_TARGET} - echo "src oe-$arch file:${DEPLOY_DIR_IPK}/$arch" >> ${IPKGCONF_SDK} + fi + if [ -e ${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk/Packages ] ; then + echo "src oe-${BUILD_ARCH}-$arch-sdk file:${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk" >> ${IPKGCONF_SDK} fi done } diff --git a/classes/qmake.bbclass b/classes/qmake.bbclass index b45e54ca6a..34f59ef9f7 100644 --- a/classes/qmake.bbclass +++ b/classes/qmake.bbclass @@ -1,4 +1,4 @@ -inherit qmake-base +inherit qmake_base DEPENDS_prepend = "qmake-native " diff --git a/classes/qmake2.bbclass b/classes/qmake2.bbclass index 86f1439b30..d0f59d2cd4 100644 --- a/classes/qmake2.bbclass +++ b/classes/qmake2.bbclass @@ -1,7 +1,7 @@ # # QMake variables for Qt4 # -inherit qmake-base +inherit qmake_base DEPENDS_prepend = "qmake2-native uicmoc4-native " diff --git a/classes/qmake-base.bbclass b/classes/qmake_base.bbclass index 52f6d830a0..ea8903c278 100644 --- a/classes/qmake-base.bbclass +++ b/classes/qmake_base.bbclass @@ -31,7 +31,7 @@ oe_qmake_mkspecs () { done } -qmake-base_do_configure() { +qmake_base_do_configure() { case ${QMAKESPEC} in *linux-oe-g++|*linux-uclibc-oe-g++|*linux-gnueabi-oe-g++) ;; diff --git a/classes/qt3e.bbclass b/classes/qt3e.bbclass index 58a6779af6..98c47adb90 100644 --- a/classes/qt3e.bbclass +++ b/classes/qt3e.bbclass @@ -1,5 +1,5 @@ # -# override variables set by qmake-base to compile Qt/X11 apps +# override variables set by qmake_base to compile Qt/X11 apps # export QTDIR="${STAGING_DIR}/${HOST_SYS}/qte3" export QTEDIR="${STAGING_DIR}/${HOST_SYS}/qte3" diff --git a/classes/qt3x11.bbclass b/classes/qt3x11.bbclass index 95ed4f538a..67f2cf7348 100644 --- a/classes/qt3x11.bbclass +++ b/classes/qt3x11.bbclass @@ -1,7 +1,7 @@ DEPENDS_prepend = "${@["qt3x11 ", ""][(bb.data.getVar('PN', d, 1) == 'qt-x11-free')]}" EXTRA_QMAKEVARS_POST += "CONFIG+=thread" # -# override variables set by qmake-base to compile Qt/X11 apps +# override variables set by qmake_base to compile Qt/X11 apps # export QTDIR = "${STAGING_DIR}/${HOST_SYS}/qt3" export OE_QMAKE_UIC = "${STAGING_BINDIR_NATIVE}/uic3" diff --git a/classes/siteinfo.bbclass b/classes/siteinfo.bbclass index 4191f4edc1..c41a3ff369 100644 --- a/classes/siteinfo.bbclass +++ b/classes/siteinfo.bbclass @@ -42,6 +42,8 @@ def get_siteinfo_list(d): "i686-linux-uclibc": "endian-little bit-32 common-uclibc ix86-common",\ "mipsel-linux": "endian-little bit-32 common-glibc",\ "mipsel-linux-uclibc": "endian-little bit-32 common-uclibc",\ + "mips-linux": "endian-big bit-32 common-glibc",\ + "mips-linux-uclibc": "endian-big bit-32 common-uclibc",\ "powerpc-darwin": "endian-big bit-32 common-darwin",\ "ppc-linux": "endian-big bit-32 common-glibc powerpc-common",\ "powerpc-linux": "endian-big bit-32 common-glibc powerpc-common",\ diff --git a/conf/bitbake.conf b/conf/bitbake.conf index a72dd75fdc..5d06cff32b 100644 --- a/conf/bitbake.conf +++ b/conf/bitbake.conf @@ -157,6 +157,7 @@ CACHE = "${TMPDIR}/cache${@['', '/' + str(bb.data.getVar('MACHINE', d, 1))][bool CVSDIR = "${DL_DIR}/cvs" SVNDIR = "${DL_DIR}/svn" GITDIR = "${DL_DIR}/git" +BZRDIR = "${DL_DIR}/bzr" STAMP = "${TMPDIR}/stamps/${PF}" WORKDIR = "${TMPDIR}/work/${PF}" @@ -203,13 +204,13 @@ STAGING_KERNEL_DIR = "${STAGING_DIR}/${HOST_SYS}/kernel" ################################################################## IMAGE_ROOTFS = "${TMPDIR}/rootfs" -IMAGE_BASENAME = "rootfs" +IMAGE_BASENAME = "${PN}" IMAGE_NAME = "${IMAGE_BASENAME}-${MACHINE}-${DATETIME}" IMAGE_LINK_NAME = "${IMAGE_BASENAME}-${MACHINE}" + IMAGE_CMD = "" -IMAGE_CMD_jffs2 = "mkfs.jffs2 -x lzo --root=${IMAGE_ROOTFS} --faketime \ - --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \ - ${EXTRA_IMAGECMD}" +IMAGE_CMD_jffs2 = "mkfs.jffs2 -x lzo --root=${IMAGE_ROOTFS} --faketime --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 ${EXTRA_IMAGECMD}" +IMAGE_CMD_yaffs2 = "mkyaffs2image ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.yaffs2 ${EXTRA_IMAGECMD}" IMAGE_CMD_cramfs = "mkcramfs ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cramfs ${EXTRA_IMAGECMD}" IMAGE_CMD_ext2 = "genext2fs -b ${IMAGE_ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext2 ${EXTRA_IMAGECMD}" IMAGE_CMD_ext2.gz = "rm -rf ${DEPLOY_DIR_IMAGE}/tmp.gz && mkdir ${DEPLOY_DIR_IMAGE}/tmp.gz; genext2fs -b ${IMAGE_ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext2 ${EXTRA_IMAGECMD}; gzip -f -9 ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext2; mv ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext2.gz ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext2.gz; rmdir ${DEPLOY_DIR_IMAGE}/tmp.gz" @@ -222,13 +223,16 @@ IMAGE_CMD_tar.gz = "cd ${IMAGE_ROOTFS} && tar -zcvf ${DEPLOY_DIR_IMAGE}/${IMAGE_ IMAGE_CMD_tar.bz2 = "cd ${IMAGE_ROOTFS} && tar -jcvf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.tar.bz2 ." IMAGE_CMD_cpio = "cd ${IMAGE_ROOTFS} && (find . | cpio -o -H newc >${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cpio)" IMAGE_CMD_cpio.gz = "cd ${IMAGE_ROOTFS} && (find . | cpio -o -H newc | gzip -c -9 >${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cpio.gz)" + EXTRA_IMAGECMD = "" EXTRA_IMAGECMD_jffs2 = "" +EXTRA_IMAGECMD_yaffs2 = "" EXTRA_IMAGECMD_squashfs = "" EXTRA_IMAGECMD_squashfs-lzma = "" IMAGE_DEPENDS = "" IMAGE_DEPENDS_jffs2 = "mtd-utils-native" +IMAGE_DEPENDS_yaffs2 = "yaffs2-utils-native" IMAGE_DEPENDS_cramfs = "cramfs-native" IMAGE_DEPENDS_ext2 = "genext2fs-native" IMAGE_DEPENDS_ext2.gz = "genext2fs-native" @@ -236,6 +240,7 @@ IMAGE_DEPENDS_ext3 = "genext2fs-native e2fsprogs-native" IMAGE_DEPENDS_ext3.gz = "genext2fs-native e2fsprogs-native" IMAGE_DEPENDS_squashfs = "squashfs-tools-native" IMAGE_DEPENDS_squashfs-lzma = "squashfs-lzma-tools-native" + EXTRA_IMAGEDEPENDS = "" ################################################################## @@ -372,6 +377,7 @@ KERNELORG_MIRROR = "http://kernel.org/" FETCHCMD_svn = "/usr/bin/env svn" FETCHCMD_cvs = "/usr/bin/env cvs" FETCHCMD_wget = "/usr/bin/env wget -t 5" +FETCHCMD_bzr = "/usr/bin/env bzr" FETCHCOMMAND = "ERROR, this must be a BitBake bug" FETCHCOMMAND_wget = "/usr/bin/env wget -t 5 --passive-ftp -P ${DL_DIR} ${URI}" @@ -383,7 +389,7 @@ UPDATECOMMAND = "ERROR, this must be a BitBake bug" UPDATECOMMAND_cvs = "/usr/bin/env cvs -d${CVSROOT} update -d -P ${CVSCOOPTS}" UPDATECOMMAND_svn = "/usr/bin/env svn update ${SVNCOOPTS}" SRCDATE = "${DATE}" -SRCREV = "${@bb.fetch.get_srcrev(d)}" +SRCREV = "1" AUTOREV = "${@bb.fetch.get_srcrev(d)}" SRC_URI = "file://${FILE}" diff --git a/conf/distro/angstrom-2007.1.conf b/conf/distro/angstrom-2007.1.conf index 909e66dcd9..9b3c3fed11 100644 --- a/conf/distro/angstrom-2007.1.conf +++ b/conf/distro/angstrom-2007.1.conf @@ -11,6 +11,7 @@ DISTRO_VERSION = "2007.9-test-${DATE}" DISTRO_REVISION = "46" require conf/distro/include/sane-srcdates.inc +require conf/distro/include/sane-srcrevs.inc #Images built can have to modes: # 'debug': empty rootpassword, strace and gdb included @@ -216,7 +217,7 @@ MACHINE_KERNEL_VERSION = "2.6" PCMCIA_MANAGER = "pcmciautils" #Preferred version for the kernel on various machines -PREFERRED_VERSION_linux-handhelds-2.6 ?= "2.6.21-hh12" +PREFERRED_VERSION_linux-handhelds-2.6 ?= "2.6.21-hh16" RDEPENDS_kernel-base_hx4700 = "" RDEPENDS_kernel-base_htcuniversal = "" @@ -267,9 +268,9 @@ PREFERRED_VERSION_gcc-cross ?= "4.1.2" PREFERRED_VERSION_gcc-cross-sdk ?= "4.1.2" PREFERRED_VERSION_gcc-cross-initial ?= "4.1.2" -PREFERRED_VERSION_binutils ?= "2.17.50.0.5" -PREFERRED_VERSION_binutils-cross ?= "2.17.50.0.5" -PREFERRED_VERSION_binutils-cross-sdk ?= "2.17.50.0.5" +PREFERRED_VERSION_binutils ?= "2.18" +PREFERRED_VERSION_binutils-cross ?= "2.18" +PREFERRED_VERSION_binutils-cross-sdk ?= "2.18" #avr32 only has patches for binutils 2.17 and gcc 4.1.2 in OE PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc_avr32 = "avr32-gcc-cross" @@ -320,6 +321,7 @@ PREFERRED_VERSION_wpa-supplicant = "0.5.5" require conf/distro/include/preferred-gpe-versions-2.8.inc require conf/distro/include/preferred-e-versions.inc require conf/distro/include/preferred-xorg-versions.inc +require conf/distro/include/preferred-openmoko-versions.inc # Virtuals: diff --git a/conf/distro/angstrom-2008.1.conf b/conf/distro/angstrom-2008.1.conf index 655d435994..9d2223ccd9 100644 --- a/conf/distro/angstrom-2008.1.conf +++ b/conf/distro/angstrom-2008.1.conf @@ -6,12 +6,20 @@ #@MAINTAINER: Michael 'Mickey' Lauer <mickey@Vanille-media.de> #@-------------------------------------------------------------------- + +# Use Xorg R7.3 release +require conf/distro/include/preferred-xorg-versions-X11R7.3.inc + + # This is a testbed for unstable and/or untested things, while angstrom-2007.1 # is aiming for stability and a release. # Use this at your own risk, we welcome bugreports filed at # http://bugs.openembedded.org # In doubt, use DISTRO="angstrom-2007.1" +#Preferred version for the kernel on various machines +PREFERRED_VERSION_linux-handhelds-2.6 ?= "2.6.21-hh16" + require conf/distro/angstrom-2007.1.conf #DISTRO_VERSION = "2008.1" @@ -21,10 +29,6 @@ DISTRO_REVISION = "0" PREFERRED_VERSION_gcc = "4.2.1" PREFERRED_VERSION_gcc-cross = "4.2.1" -PREFERRED_VERSION_binutils = "2.17.50.0.12" -PREFERRED_VERSION_binutils-cross = "2.17.50.0.12" -PREFERRED_VERSION_binutils-cross-sdk = "2.17.50.0.12" - #This is unrelated to the kernel version, but userspace apps (e.g. HAL) require a recent version to build against PREFERRED_VERSION_linux-libc-headers = "2.6.22" diff --git a/conf/distro/include/angstrom.inc b/conf/distro/include/angstrom.inc index 865f0bc5a6..0c3ac35672 100644 --- a/conf/distro/include/angstrom.inc +++ b/conf/distro/include/angstrom.inc @@ -16,6 +16,11 @@ require conf/distro/include/angstrom-${ANGSTROM_MODE}.inc #Use this variable in feeds and other parts that need a URI ANGSTROM_URI ?= "http://www.angstrom-distribution.org" +#Use this variable to select which recipe you want to use to get feed configs (/etc/ipkg/*, /etc/apt/sources.list) +# usefull for derivative distros and local testing +# As this is runtime we can't and won't use virtual/feed-configs +ANGSTROM_FEED_CONFIGS ?= "angstrom-feed-configs" + #Set the default maintainer to angstrom-dev MAINTAINER = "Angstrom Developers <angstrom-distro-devel@linuxtogo.org>" diff --git a/conf/distro/include/insane-srcrevs.inc b/conf/distro/include/insane-srcrevs.inc new file mode 100644 index 0000000000..82540840b1 --- /dev/null +++ b/conf/distro/include/insane-srcrevs.inc @@ -0,0 +1,77 @@ +SRCREV_pn-dfu-util ?= "${AUTOREV}" +SRCREV_pn-dfu-util-native ?= "${AUTOREV}" +SRCREV_pn-eglibc ?= "${AUTOREV}" +SRCREV_pn-eglibc-initial ?= "${AUTOREV}" +SRCREV_pn-eglibc-intermediate ?= "${AUTOREV}" +SRCREV_pn-ezxd ?= "${AUTOREV}" +SRCREV_pn-fbgrab-viewer-native ?= "${AUTOREV}" +SRCREV_pn-fstests ?= "${AUTOREV}" +SRCREV_pn-gnuradio ?= "${AUTOREV}" +SRCREV_pn-hildon-1 ?= "${AUTOREV}" +SRCREV_pn-libgsmd ?= "${AUTOREV}" +SRCREV_pn-libmokogsmd2 ?= "${AUTOREV}" +SRCREV_pn-libmokojournal2 ?= "${AUTOREV}" +SRCREV_pn-libmokopanelui2 ?= "${AUTOREV}" +SRCREV_pn-libmokoui2 ?= "${AUTOREV}" +SRCREV_pn-libowl ?= "${AUTOREV}" +SRCREV_pn-libxosd ?= "${AUTOREV}" +SRCREV_pn-llvm-gcc4 ?= "${AUTOREV}" +SRCREV_pn-llvm-gcc4-cross ?= "${AUTOREV}" +SRCREV_pn-maemo-mapper ?= "${AUTOREV}" +SRCREV_pn-matchbox-desktop-2 ?= "${AUTOREV}" +SRCREV_pn-matchbox-keyboard ?= "${AUTOREV}" +SRCREV_pn-matchbox-keyboard-inputmethod ?= "${AUTOREV}" +SRCREV_pn-matchbox-panel-2 ?= "${AUTOREV}" +SRCREV_pn-neod ?= "${AUTOREV}" +SRCREV_pn-oh-puzzles ?= "${AUTOREV}" +SRCREV_pn-openmoko-appmanager ?= "${AUTOREV}" +SRCREV_pn-openmoko-calculator ?= "${AUTOREV}" +SRCREV_pn-openmoko-calculator2 ?= "${AUTOREV}" +SRCREV_pn-openmoko-common ?= "${AUTOREV}" +SRCREV_pn-openmoko-common2 ?= "${AUTOREV}" +SRCREV_pn-openmoko-contacts ?= "${AUTOREV}" +SRCREV_pn-openmoko-contacts2 ?= "${AUTOREV}" +SRCREV_pn-openmoko-dates ?= "${AUTOREV}" +SRCREV_pn-openmoko-dates2 ?= "${AUTOREV}" +SRCREV_pn-openmoko-dialer ?= "${AUTOREV}" +SRCREV_pn-openmoko-dialer2 ?= "${AUTOREV}" +SRCREV_pn-openmoko-feedreader2 ?= "${AUTOREV}" +SRCREV_pn-openmoko-finger-demo ?= "${AUTOREV}" +SRCREV_pn-openmoko-firststart2 ?= "${AUTOREV}" +SRCREV_pn-openmoko-footer ?= "${AUTOREV}" +SRCREV_pn-openmoko-icon-theme-standard ?= "${AUTOREV}" +SRCREV_pn-openmoko-icon-theme-standard2 ?= "${AUTOREV}" +SRCREV_pn-openmoko-keyboard ?= "${AUTOREV}" +SRCREV_pn-openmoko-libs ?= "${AUTOREV}" +SRCREV_pn-openmoko-mediaplayer2 ?= "${AUTOREV}" +SRCREV_pn-openmoko-messages ?= "${AUTOREV}" +SRCREV_pn-openmoko-panel-battery ?= "${AUTOREV}" +SRCREV_pn-openmoko-panel-bt ?= "${AUTOREV}" +SRCREV_pn-openmoko-panel-clock ?= "${AUTOREV}" +SRCREV_pn-openmoko-panel-demo ?= "${AUTOREV}" +SRCREV_pn-openmoko-panel-demo-simple ?= "${AUTOREV}" +SRCREV_pn-openmoko-panel-gps ?= "${AUTOREV}" +SRCREV_pn-openmoko-panel-gsm ?= "${AUTOREV}" +SRCREV_pn-openmoko-panel-mainmenu ?= "${AUTOREV}" +SRCREV_pn-openmoko-panel-usb ?= "${AUTOREV}" +SRCREV_pn-openmoko-session ?= "${AUTOREV}" +SRCREV_pn-openmoko-simplemediaplayer ?= "${AUTOREV}" +SRCREV_pn-openmoko-sound-theme-standard ?= "${AUTOREV}" +SRCREV_pn-openmoko-stylus-demo ?= "${AUTOREV}" +SRCREV_pn-openmoko-stylus-demo-simple ?= "${AUTOREV}" +SRCREV_pn-openmoko-taskmanager ?= "${AUTOREV}" +SRCREV_pn-openmoko-tasks ?= "${AUTOREV}" +SRCREV_pn-openmoko-tasks2 ?= "${AUTOREV}" +SRCREV_pn-openmoko-theme-standard ?= "${AUTOREV}" +SRCREV_pn-openmoko-theme-standard-qvga ?= "${AUTOREV}" +SRCREV_pn-openmoko-today ?= "${AUTOREV}" +SRCREV_pn-openmoko-today2 ?= "${AUTOREV}" +SRCREV_pn-openmoko-today2-folders ?= "${AUTOREV}" +SRCREV_pn-psplash ?= "${AUTOREV}" +SRCREV_pn-settings-daemon ?= "${AUTOREV}" +SRCREV_pn-sjf2410-linux-native ?= "${AUTOREV}" +SRCREV_pn-sphyrna ?= "${AUTOREV}" +SRCREV_pn-webkit-gtk ?= "${AUTOREV}" +SRCREV_pn-xoo ?= "${AUTOREV}" + +SRCREV ?= "${AUTOREV}" diff --git a/conf/distro/include/moko-autorev.inc b/conf/distro/include/moko-autorev.inc new file mode 100644 index 0000000000..5a1dc34784 --- /dev/null +++ b/conf/distro/include/moko-autorev.inc @@ -0,0 +1,43 @@ +SRCREV_pn-openmoko-appmanager ?= "${AUTOREV}" +SRCREV_pn-openmoko-calculator ?= "${AUTOREV}" +SRCREV_pn-openmoko-calculator2 ?= "${AUTOREV}" +SRCREV_pn-openmoko-common ?= "${AUTOREV}" +SRCREV_pn-openmoko-common2 ?= "${AUTOREV}" +SRCREV_pn-openmoko-contacts ?= "${AUTOREV}" +SRCREV_pn-openmoko-contacts2 ?= "${AUTOREV}" +SRCREV_pn-openmoko-dates ?= "${AUTOREV}" +SRCREV_pn-openmoko-dates2 ?= "${AUTOREV}" +SRCREV_pn-openmoko-dialer ?= "${AUTOREV}" +SRCREV_pn-openmoko-dialer2 ?= "${AUTOREV}" +SRCREV_pn-openmoko-feedreader2 ?= "${AUTOREV}" +SRCREV_pn-openmoko-finger-demo ?= "${AUTOREV}" +SRCREV_pn-openmoko-firststart2 ?= "${AUTOREV}" +SRCREV_pn-openmoko-footer ?= "${AUTOREV}" +SRCREV_pn-openmoko-icon-theme-standard ?= "${AUTOREV}" +SRCREV_pn-openmoko-icon-theme-standard2 ?= "${AUTOREV}" +SRCREV_pn-openmoko-keyboard ?= "${AUTOREV}" +SRCREV_pn-openmoko-libs ?= "${AUTOREV}" +SRCREV_pn-openmoko-mediaplayer2 ?= "${AUTOREV}" +SRCREV_pn-openmoko-messages ?= "${AUTOREV}" +SRCREV_pn-openmoko-panel-battery ?= "${AUTOREV}" +SRCREV_pn-openmoko-panel-bt ?= "${AUTOREV}" +SRCREV_pn-openmoko-panel-clock ?= "${AUTOREV}" +SRCREV_pn-openmoko-panel-demo ?= "${AUTOREV}" +SRCREV_pn-openmoko-panel-demo-simple ?= "${AUTOREV}" +SRCREV_pn-openmoko-panel-gps ?= "${AUTOREV}" +SRCREV_pn-openmoko-panel-gsm ?= "${AUTOREV}" +SRCREV_pn-openmoko-panel-mainmenu ?= "${AUTOREV}" +SRCREV_pn-openmoko-panel-usb ?= "${AUTOREV}" +SRCREV_pn-openmoko-session ?= "${AUTOREV}" +SRCREV_pn-openmoko-simplemediaplayer ?= "${AUTOREV}" +SRCREV_pn-openmoko-sound-theme-standard ?= "${AUTOREV}" +SRCREV_pn-openmoko-stylus-demo ?= "${AUTOREV}" +SRCREV_pn-openmoko-stylus-demo-simple ?= "${AUTOREV}" +SRCREV_pn-openmoko-taskmanager ?= "${AUTOREV}" +SRCREV_pn-openmoko-tasks ?= "${AUTOREV}" +SRCREV_pn-openmoko-tasks2 ?= "${AUTOREV}" +SRCREV_pn-openmoko-theme-standard ?= "${AUTOREV}" +SRCREV_pn-openmoko-theme-standard-qvga ?= "${AUTOREV}" +SRCREV_pn-openmoko-today ?= "${AUTOREV}" +SRCREV_pn-openmoko-today2 ?= "${AUTOREV}" +SRCREV_pn-openmoko-today2-folders ?= "${AUTOREV}" diff --git a/conf/distro/include/openmoko.inc b/conf/distro/include/openmoko.inc deleted file mode 100644 index 80c861b95c..0000000000 --- a/conf/distro/include/openmoko.inc +++ /dev/null @@ -1,142 +0,0 @@ -# -# Header -# -DISTRO_NAME = "OpenMoko" - -# -# Naming schemes -# -INHERIT += "debian multimachine" - -# -# Packaging and output format -# -INHERIT += "package_ipk" -IMAGE_FSTYPES = "tar.gz ext2.gz jffs2" -IMAGE_FSTYPES_x86 = "tar.gz" -IMAGE_ROOTFS_SIZE_ext2 = "131072" - -# -# Binutils & Compiler -# -PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial" -PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross" -PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross" - -# EABI stuff -PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}-libc-for-gcc = "glibc-intermediate" -PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-libc-for-gcc = "glibc-intermediate" -PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc-intermediate" - -# -# Target OS & FPU system -# -TARGET_OS = "linux" -TARGET_FPU_arm = "soft" -TARGET_FPU_armeb = "soft" -PREFERRED_PROVIDER_virtual/libiconv = "glibc" -PREFERRED_PROVIDER_virtual/libintl = "glibc" -PREFERRED_VERSION_linux-libc-headers_x86 = "2.6.15.99" -PREFERRED_VERSION_linux-libc_headers = "2.6.18" -# -# Features -# -DISTRO_FEATURES = "alsa bluetooth ext2 ipsec nfs ppp smbfs usbgadget usbhost" - -# -# Bootstrap & Init -# -require conf/distro/include/sane-srcdates.inc - -# -# Framebuffer & X -# -PREFERRED_PROVIDER_virtual/libx11 ?= "libx11" -PREFERRED_PROVIDER_virtual/ecore ?= "ecore-x11" -PREFERRED_PROVIDER_virtual/evas ?= "evas-x11" -PREFERRED_PROVIDER_virtual/esmart ?= "esmart-x11" -PREFERRED_PROVIDER_virtual/libsdl = "libsdl-x11" -PREFERRED_PROVIDER_virtual/xserver ?= "xserver-kdrive" -PREFERRED_PROVIDER_tslib ?= "tslib" -PREFERRED_PROVIDER_xserver ?= "xserver-kdrive" -require conf/distro/include/preferred-xorg-versions-X11R7.1.inc - -# -# Gnome -# -PREFERRED_PROVIDER_dbus-glib = "dbus-glib" -PREFERRED_PROVIDER_gconf = "gconf-dbus" -#new -#PREFERRED_PROVIDER_gnome-vfs = "gnome-vfs" -#old -PREFERRED_PROVIDER_gnome-vfs = "gnome-vfs" -PREFERRED_PROVIDER_gnome-vfs-plugin-file = "gnome-vfs" - -PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive" -PREFERRED_PROVIDER_bluez-utils = "bluez-utils-dbus" - -PREFERRED_VERSION_dbus-native = "1.0.2" -PREFERRED_VERSION_dbus = "1.0.2" -PREFERRED_VERSION_dbus-glib-native = "0.71" -PREFERRED_VERSION_dbus-glib = "0.71" -PREFERRED_VERSION_atk = "1.9.0" -PREFERRED_VERSION_pango = "1.8.2" -PREFERRED_VERSION_glib-2.0 = "2.12.3" -PREFERRED_VERSION_gtk+ = "2.6.10" -PREFERRED_VERSION_gtk-engines = "2.6.5" -#PREFERRED_VERSION_gnome-vfs = "2.16.3" - -PREFERRED_VERSION_fontconfig = "2.4.1" - -# we don't ship gtk-directfb by default -PREFERRED_PROVIDER_gtk+ ?= "gtk+" -PREFERRED_PROVIDER_gdk-pixbuf-loader-ani ?= "gtk+" -PREFERRED_PROVIDER_gdk-pixbuf-loader-bmpg ?= "gtk+" -PREFERRED_PROVIDER_gdk-pixbuf-loader-gif ?= "gtk+" -PREFERRED_PROVIDER_gdk-pixbuf-loader-ico ?= "gtk+" -PREFERRED_PROVIDER_gdk-pixbuf-loader-jpeg ?= "gtk+" -PREFERRED_PROVIDER_gdk-pixbuf-loader-pcx ?= "gtk+" -PREFERRED_PROVIDER_gdk-pixbuf-loader-png ?= "gtk+" -PREFERRED_PROVIDER_gdk-pixbuf-loader-pnm ?= "gtk+" -PREFERRED_PROVIDER_gdk-pixbuf-loader-ras ?= "gtk+" -PREFERRED_PROVIDER_gdk-pixbuf-loader-tga ?= "gtk+" -PREFERRED_PROVIDER_gdk-pixbuf-loader-wbmp ?= "gtk+" -PREFERRED_PROVIDER_gdk-pixbuf-loader-xbm ?= "gtk+" -PREFERRED_PROVIDER_gdk-pixbuf-loader-xpm ?= "gtk+" -# -# GPE -# -PREFERRED_PROVIDER_libgpewidget = "libgpewidget" - -# -# O-Hand -# -PREFERRED_VERSION_contacts = "0.1" -PREFERRED_VERSION_dates = "0.1" -# PREFERRED_VERSION_web = "???" - -# -# Development -# -PREFERRED_PROVIDER_qemu-native = "qemu-native" -PREFERRED_VERSION_qemu-native = "0.9.0+cvs${SRCDATE}" - -# -# Opie -# -QTE_VERSION = "2.3.10" -PALMTOP_USE_MULTITHREADED_QTE = "yes" -require conf/distro/include/preferred-opie-versions.inc - -# -# Enlightenment -# -require conf/distro/include/preferred-e-versions.inc - -# -# OpenMoko -# - -#We comment this out since external developers don't needs to use SRCDATE="now" as that generated unneed traffic -#require conf/distro/include/preferred-openmoko-versions.inc - diff --git a/conf/distro/include/preferred-openmoko-versions.inc b/conf/distro/include/preferred-openmoko-versions.inc index 263406c90b..ea24db3708 100644 --- a/conf/distro/include/preferred-openmoko-versions.inc +++ b/conf/distro/include/preferred-openmoko-versions.inc @@ -3,58 +3,8 @@ # # -# Base +# Bootloader and Kernel # -SRCDATE_uboot = "now" -SRCDATE_uboot-gta01 = "now" -SRCDATE_kernel = "now" -SRCDATE_linux-gta01 = "now" -SRCDATE_linux-gta01-nobbt = "now" -SRCDATE_libgsmd = "now" -SRCDATE_openmoko-session = "now" -SRCDATE_openmoko-common = "now" -SRCDATE_openmoko-theme-standard = "now" -SRCDATE_openmoko-libs = "now" +SRCREV_pn-linux-openmoko = "2937" -# -# Examples -# -SRCDATE_openmoko-stylus-demo = "now" -SRCDATE_openmoko-stylus-demo-simple = "now" -SRCDATE_openmoko-finger-demo = "now" -SRCDATE_openmoko-panel-demo = "now" -SRCDATE_openmoko-panel-demo-simple = "now" - -# -# PIM -# -SRCDATE_openmoko-contacts = "now" -SRCDATE_openmoko-dates = "now" - -# -# Applications -# -SRCDATE_openmoko-appmanager = "now" -SRCDATE_openmoko-chordmaster = "now" -SRCDATE_openmoko-dialer = "now" -SRCDATE_openmoko-footer = "now" -SRCDATE_openmoko-phone = "now" -SRCDATE_openmoko-mainmenu = "now" -SRCDATE_openmoko-taskmanager = "now" - -# -# Multimedia -# -SRCDATE_openmoko-simplemediaplayer = "now" - -# -# Panel Plugins -# -SRCDATE_openmoko-panel-clock = "now" -SRCDATE_openmoko-panel-battery = "now" -SRCDATE_openmoko-panel-mainmenu = "now" -SRCDATE_openmoko-panel-gsm = "now" -SRCDATE_openmoko-panel-gps = "now" -SRCDATE_openmoko-panel-bt = "now" -SRCDATE_openmoko-panel-usb = "now" diff --git a/conf/distro/include/preferred-xorg-versions-X11R7.3.inc b/conf/distro/include/preferred-xorg-versions-X11R7.3.inc new file mode 100644 index 0000000000..7ffa788c91 --- /dev/null +++ b/conf/distro/include/preferred-xorg-versions-X11R7.3.inc @@ -0,0 +1,282 @@ +PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" + +PREFERRED_PROVIDER_libxext ?= "libxext" +PREFERRED_PROVIDER_xext ?= "libxext" +PREFERRED_PROVIDER_libxi ?= "libxi" +PREFERRED_PROVIDER_libxft ?= "libxft" +PREFERRED_PROVIDER_virtual/libx11 ?= "libx11" +PREFERRED_PROVIDER_libxpm ?= "libxpm" +PREFERRED_PROVIDER_xpm ?= "libxpm" +PREFERRED_PROVIDER_libxt ?= "libxt" +PREFERRED_PROVIDER_libxaw ?= "libxaw" +PREFERRED_PROVIDER_libice ?= "libice" +PREFERRED_PROVIDER_libxrender ?= "libxrender" +PREFERRED_PROVIDER_libxcursor ?= "libxcursor" +PREFERRED_PROVIDER_xextensions ?= "xextensions" +PREFERRED_PROVIDER_xproto ?= "xproto" +PREFERRED_PROVIDER_x11 ?= "libx11" +PREFERRED_PROVIDER_libxv ?= "libxv" +PREFERRED_PROVIDER_xft ?= "libxft" +PREFERRED_PROVIDER_libxrandr ?= "libxrandr" +PREFERRED_PROVIDER_libxdamage ?= "libxdamage" +PREFERRED_PROVIDER_libxcomposite ?= "libxcomposite" +PREFERRED_PROVIDER_libxfixes ?= "libxfixes" +PREFERRED_PROVIDER_libxinerama ?= "libxinerama" +PREFERRED_PROVIDER_libxxf86vm ?= "libxxf86vm" +PREFERRED_PROVIDER_libxmu ?= "libxmu" +PREFERRED_PROVIDER_libsm ?= "libsm" +PREFERRED_PROVIDER_xrandr ?= "xrandr" +PREFERRED_PROVIDER_xserver ?= "xserver-xorg" +PREFERRED_PROVIDER_virtual/xorg ?= "xserver-xorg" + +PREFERRED_VERSION_task-xorg ?= "X11R7.3" + +# app +PREFERRED_VERSION_appres ?= "1.0.1" +PREFERRED_VERSION_bdftopcf ?= "1.0.1" +PREFERRED_VERSION_beforelight ?= "1.0.2" +PREFERRED_VERSION_bitmap ?= "X11R7.1-1.0.2" +PREFERRED_VERSION_editres ?= "1.0.2" +PREFERRED_VERSION_fontosfnt ?= "1.0.3" +PREFERRED_VERSION_fslsfonts ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_fstobdf ?= "X11R7.1-1.0.2" +PREFERRED_VERSION_iceauth ?= "1.0.2" +PREFERRED_VERSION_ico ?= "1.0.2" +PREFERRED_VERSION_lbxproxy ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_listres ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_luit ?= "1.0.2" +PREFERRED_VERSION_mkfontdir-native ?= "1.0.3" +PREFERRED_VERSION_mkfontdir ?= "1.0.3" +PREFERRED_VERSION_mkfontscale ?= "1.0.3" +PREFERRED_VERSION_oclock ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_proxymngr ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_rgb ?= "X11R7.1-1.0.1" +PREFERRED_VERSION_rstart ?= "X11R7.1-1.0.2" +PREFERRED_VERSION_scripts ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_sessreg ?= "1.0.3" +PREFERRED_VERSION_setxkbmap ?= "1.0.4" +PREFERRED_VERSION_smproxy ?= "X11R7.1-1.0.2" +PREFERRED_VERSION_twm ?= "1.0.3" +PREFERRED_VERSION_viewres ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_x11perf ?= "X11R7.1-1.4.1" +PREFERRED_VERSION_xauth ?= "1.0.2" +PREFERRED_VERSION_xbacklight ?= "1.1" +PREFERRED_VERSION_xbiff ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xcalc ?= "1.0.2" +PREFERRED_VERSION_xclipboard ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xclock ?= "1.0.3" +PREFERRED_VERSION_xcmsdb ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xconsole ?= "1.0.3" +PREFERRED_VERSION_xcursorgen ?= "1.0.2" +PREFERRED_VERSION_xdbedizzy ?= "1.0.2" +PREFERRED_VERSION_xditview ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xdm ?= "1.1.6" +PREFERRED_VERSION_xdpyinfo ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xdriinfo ?= "1.0.2" +PREFERRED_VERSION_xedit ?= "X11R7.1-1.0.2" +PREFERRED_VERSION_xev ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xeyes ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xxf86dga ?= "1.0.2" +PREFERRED_VERSION_xfd ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xfindproxy ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xfontsel ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xfs ?= "1.0.4" +PREFERRED_VERSION_xfsinfo ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xfwp ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xgamma ?= "1.0.2" +PREFERRED_VERSION_xgc ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xhost ?= "1.0.2" +PREFERRED_VERSION_xinit ?= "1.0.5" +PREFERRED_VERSION_xkbcomp ?= "1.0.3" +PREFERRED_VERSION_xkbevd ?= "X11R7.1-1.0.2" +PREFERRED_VERSION_xkbprint ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xkbutils ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xkill ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xload ?= "1.0.2" +PREFERRED_VERSION_xlogo ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xlsatoms ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xlsclients ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xlsfonts ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xmag ?= "1.0.2" +PREFERRED_VERSION_xman ?= "1.0.3" +PREFERRED_VERSION_xmessage ?= "1.0.2" +PREFERRED_VERSION_xmh ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xmodmap ?= "1.0.3" +PREFERRED_VERSION_xmore ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xphelloworld ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xplsprinters ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xpr ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xprehashprinterlist ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xprop ?= "1.0.3" +PREFERRED_VERSION_xrandr ?= "1.2.2" +PREFERRED_VERSION_xrdb ?= "1.0.4" +PREFERRED_VERSION_xrefresh ?= "X11R7.1-1.0.2" +PREFERRED_VERSION_xrx ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xset ?= "1.0.3" +PREFERRED_VERSION_xsetmode ?= "X11R7.0-1.0.0" +PREFERRED_VERSION_xsetpointer ?= "X11R7.0-1.0.0" +PREFERRED_VERSION_xsetroot ?= "1.0.2" +PREFERRED_VERSION_xsm ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xstdcmap ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xtrap ?= "X11R7.1-1.0.2" +PREFERRED_VERSION_xvidtune ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xvinfo ?= "1.0.2" +PREFERRED_VERSION_xwd ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xwininfo ?= "1.0.3" +PREFERRED_VERSION_xwud ?= "X11R7.0-1.0.1" + +#data +PREFERRED_VERSION_xbitmaps ?= "X11R7.0-1.0.1" +PREFERRED_VERSION_xcursor-themes ?= "X11R7.0-1.0.1" + +# doc +PREFERRED_VERSION_xorg-docs ?= "1.4" +PREFERRED_VERSION_xorg-sgml-doctools ?= "1.2" + +# driver +PREFERRED_VERSION_xf86-input-acecad ?= "1.2.0" +PREFERRED_VERSION_xf86-input-aiptek ?= "X11R7.1-1.0.1" +PREFERRED_VERSION_xf86-input-calcomp ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86-input-citron ?= "X11R7.1-2.2.0" +PREFERRED_VERSION_xf86-input-digitaledge ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86-input-dmc ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86-input-dynapro ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86-input-elo2300 ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86-input-elographics ?= "X11R7.0-1.0.0.5" +PREFERRED_VERSION_xf86-input-evdev ?= "X11R7.1-1.1.2" +PREFERRED_VERSION_xf86-input-fpit ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86-input-hyperpen ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86-input-jamstudio ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86-input-joystick ?= "1.2.3" +PREFERRED_VERSION_xf86-input-keyboard ?= "1.2.2" +PREFERRED_VERSION_xf86-input-magellan ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86-input-magictouch ?= "X11R7.1-1.0.0.5" +PREFERRED_VERSION_xf86-input-microtouch ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86-input-mouse ?= "1.2.2" +PREFERRED_VERSION_xf86-input-mutouch ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86-input-palmax ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86-input-penmount ?= "1.2.0" +PREFERRED_VERSION_xf86-input-spaceorb ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86-input-summa ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86-input-tek4957 ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86-input-ur98 ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86-input-vmmouse ?= "12.4.1" +PREFERRED_VERSION_xf86-input-void ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86-video-apm ?= "X11R7.1-1.1.1" +PREFERRED_VERSION_xf86-video-ark ?= "X11R7.1-0.6.0" +PREFERRED_VERSION_xf86-video-ast ?= "X11R7.1-0.81.0" +PREFERRED_VERSION_xf86-video-ati ?= "6.6.193" +PREFERRED_VERSION_xf86-video-chips ?= "X11R7.1-1.1.1" +PREFERRED_VERSION_xf86-video-cirrus ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86-video-cyrix ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86-video-dummy ?= "X11R7.1-0.2.0" +PREFERRED_VERSION_xf86-video-fbdev ?= "0.3.1" +PREFERRED_VERSION_xf86-video-glide ?= "1.0.0" +PREFERRED_VERSION_xf86-video-glint ?= "X11R7.1-1.1.1" +PREFERRED_VERSION_xf86-video-i128 ?= "1.1.0.6" +PREFERRED_VERSION_xf86-video-i740 ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86-video-i810 ?= "1.6.5" +PREFERRED_VERSION_xf86-video-imstt ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86-video-intel ?= "2.1.1" +PREFERRED_VERSION_xf86-video-mga ?= "1.4.6.1" +PREFERRED_VERSION_xf86-video-neomagic ?= "X11R7.1-1.1.1" +PREFERRED_VERSION_xf86-video-newport ?= "0.2.1" +PREFERRED_VERSION_xf86-video-nsc ?= "2.8.3" +PREFERRED_VERSION_xf86-video-nv ?= "2.1.3" +PREFERRED_VERSION_xf86-video-rendition ?= "4.1.3" +PREFERRED_VERSION_xf86-video-s3 ?= "0.5.0" +PREFERRED_VERSION_xf86-video-s3virge ?= "X11R7.1-1.9.1" +PREFERRED_VERSION_xf86-video-savage ?= "2.1.3" +PREFERRED_VERSION_xf86-video-siliconmotion ?= "1.4.2" +PREFERRED_VERSION_xf86-video-sis ?= "0.9.3" +PREFERRED_VERSION_xf86-video-sisusb ?= "X11R7.1-0.8.1" +PREFERRED_VERSION_xf86-video-sunbw2 ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86-video-suncg14 ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86-video-suncg3 ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86-video-suncg6 ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86-video-sunffb ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86-video-sunleo ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86-video-suntcx ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86-video-tdfx ?= "1.3.0" +PREFERRED_VERSION_xf86-video-tga ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86-video-trident ?= "1.2.3" +PREFERRED_VERSION_xf86-video-tseng ?= "1.1.1" +PREFERRED_VERSION_xf86-video-v4l ?= "X11R7.1-0.1.1" +PREFERRED_VERSION_xf86-video-vermilion ?= "1.0.0" +PREFERRED_VERSION_xf86-video-vesa ?= "1.3.0" +PREFERRED_VERSION_xf86-video-vga ?= "X11R7.1-4.1.0" +PREFERRED_VERSION_xf86-video-via ?= "0.2.2" +PREFERRED_VERSION_xf86-video-vmware ?= "10.14.1" +PREFERRED_VERSION_xf86-video-voodoo ?= "1.1.1" + +# font +PREFERRED_VERSION_encodings ?= "1.0.2" +PREFERRED_VERSION_font-screen-cyrillic ?= "1.0.1" +PREFERRED_VERSION_font-util-native ?= "X11R7.1-1.0.1" +PREFERRED_VERSION_font-util ?= "X11R7.1-1.0.1" + +# lib +PREFERRED_VERSION_diet-x11 ?= "1.1.3" +PREFERRED_VERSION_libdmx ?= "X11R7.1-1.0.2" +PREFERRED_VERSION_libfontenc ?= "1.0.4" +PREFERRED_VERSION_libice ?= "1.0.4" +PREFERRED_VERSION_liblbxutil ?= "X11R7.1-1.0.1" +PREFERRED_VERSION_libsm ?= "1.0.3" +PREFERRED_VERSION_libx11 ?= "1.1.3" +PREFERRED_VERSION_libx11-native ?= "1.1.1" +PREFERRED_VERSION_libxau ?= "1.0.3" +PREFERRED_VERSION_libxaw ?= "1.0.4" +PREFERRED_VERSION_libxcomposite ?= "0.4.0" +PREFERRED_VERSION_libxcursor ?= "1.1.9" +PREFERRED_VERSION_libxdamage ?= "1.0.4" +PREFERRED_VERSION_libxdmcp-native ?= "1.0.2" +PREFERRED_VERSION_libxdmcp ?= "1.0.2" +PREFERRED_VERSION_libxevie ?= "1.0.2" +PREFERRED_VERSION_libxext ?= "1.0.2" +PREFERRED_VERSION_libxfixes ?= "4.0.3" +PREFERRED_VERSION_libxfont ?= "1.3.1" +PREFERRED_VERSION_libxfontcache ?= "1.0.4" +PREFERRED_VERSION_libxi ?= "1.1.3" +PREFERRED_VERSION_libxinerama ?= "1.0.2" +PREFERRED_VERSION_libxkbfile ?= "1.0.4" +PREFERRED_VERSION_libxkbui ?= "X11R7.1-1.0.2" +PREFERRED_VERSION_libxmu ?= "1.0.3" +PREFERRED_VERSION_libxpm ?= "3.5.7" +PREFERRED_VERSION_libxrandr ?= "1.2.2" +PREFERRED_VERSION_libxrender ?= "0.9.4" +PREFERRED_VERSION_libxres ?= "1.0.3" +PREFERRED_VERSION_libxscrnsaver ?= "1.1.2" +PREFERRED_VERSION_libxt ?= "1.0.4" +PREFERRED_VERSION_libxtst ?= "1.0.3" +PREFERRED_VERSION_libxvmc ?= "1.0.4" +PREFERRED_VERSION_libxxf86dga ?= "1.0.2" +PREFERRED_VERSION_libxxf86misc ?= "X11R7.1-1.0.1" +PREFERRED_VERSION_libxxf86vm ?= "X11R7.1-1.0.1" +PREFERRED_VERSION_xtrans ?= "1.0.4" + +# proto +PREFERRED_VERSION_compositeproto ?= "0.4" +PREFERRED_VERSION_damageproto ?= "1.1.0" +PREFERRED_VERSION_fixesproto ?= "4.0" +PREFERRED_VERSION_glproto ?= "1.4.8" +PREFERRED_VERSION_inputproto ?= "1.4.2.1" +PREFERRED_VERSION_kbproto ?= "1.0.3" +PREFERRED_VERSION_randrproto ?= "1.2.1" +PREFERRED_VERSION_renderproto ?= "0.9.3" +PREFERRED_VERSION_scrnsaverproto ?= "X11R7.1-1.1.0" +PREFERRED_VERSION_xf86dgaproto ?= "2.0.3" +PREFERRED_VERSION_xproto-native ?= "7.0.10" +PREFERRED_VERSION_xproto ?= "7.0.10" + +# util +PREFERRED_VERSION_gccmakedep ?= "X11R7.1-1.0.2" +PREFERRED_VERSION_imake ?= "X11R7.1-1.0.2" +PREFERRED_VERSION_makedepend ?= "1.0.1" +PREFERRED_VERSION_util-macros-native ?= "1.1.5" +PREFERRED_VERSION_util-macros ?= "1.1.5" +PREFERRED_VERSION_xorg-cf-files ?= "X11R7.1-1.0.2" + +# xserver +PREFERRED_VERSION_xserver-kdrive ?= "1.4.0" +PREFERRED_VERSION_xserver-xorg ?= "1.4.0" + diff --git a/conf/distro/include/preferred-xorg-versions.inc b/conf/distro/include/preferred-xorg-versions.inc index fa66d61a0a..f34b29f147 100644 --- a/conf/distro/include/preferred-xorg-versions.inc +++ b/conf/distro/include/preferred-xorg-versions.inc @@ -1,111 +1,111 @@ -PREFERRED_VERSION_applewmproto = "1.0.3" -PREFERRED_VERSION_bigreqsproto = "1.0.2" -PREFERRED_VERSION_bigreqsproto-native = "1.0.2" -PREFERRED_VERSION_compositeproto = "0.4" -PREFERRED_VERSION_damageproto = "1.1.0" -PREFERRED_VERSION_diet-x11 = "1.1.2" -PREFERRED_VERSION_dmxproto = "2.2.2" -PREFERRED_VERSION_evieext = "1.0.2" -PREFERRED_VERSION_fixesproto = "4.0" -PREFERRED_VERSION_fontcacheproto = "0.1.2" -PREFERRED_VERSION_fontcacheproto-native = "0.1.2" -PREFERRED_VERSION_fontsproto = "2.0.2" -PREFERRED_VERSION_fontsproto-native = "2.0.2" -PREFERRED_VERSION_gccmakedep = "1.0.2" -PREFERRED_VERSION_glproto = "1.4.8" -PREFERRED_VERSION_imake = "1.0.2" -PREFERRED_VERSION_inputproto = "1.4.2" -PREFERRED_VERSION_inputproto-native = "1.4.1" -PREFERRED_VERSION_kbproto = "1.0.3" -PREFERRED_VERSION_kbproto-native = "1.0.2" -PREFERRED_VERSION_libapplewm = "1.0.0" -PREFERRED_VERSION_libdmx = "1.0.2" -PREFERRED_VERSION_libfontenc = "1.0.4" -PREFERRED_VERSION_libfontenc-native = "1.0.4" -PREFERRED_VERSION_libfs = "1.0.0" -PREFERRED_VERSION_libice = "1.0.3" -PREFERRED_VERSION_liblbxutil = "1.0.1" -PREFERRED_VERSION_liboldx = "1.0.1" -PREFERRED_VERSION_libsm = "1.0.3" -PREFERRED_VERSION_libwindowswm = "1.0.0" -PREFERRED_VERSION_libx11 = "1.1.2" -PREFERRED_VERSION_libx11-native = "1.0.1" -PREFERRED_VERSION_libxau = "1.0.3" -PREFERRED_VERSION_libxau-native = "1.0.3" -PREFERRED_VERSION_libxaw = "1.0.3" -PREFERRED_VERSION_libxcomposite = "0.4.0" -PREFERRED_VERSION_libxcursor = "1.1.8" -PREFERRED_VERSION_libxdamage = "1.1.1" -PREFERRED_VERSION_libxdmcp = "1.0.2" -PREFERRED_VERSION_libxdmcp-native = "1.0.2" -PREFERRED_VERSION_libxevie = "1.0.2" -PREFERRED_VERSION_libxext = "1.0.3" -PREFERRED_VERSION_libxfixes = "4.0.3" -PREFERRED_VERSION_libxfont = "1.3.0" -PREFERRED_VERSION_libxfont-native = "1.3.0" -PREFERRED_VERSION_libxfontcache = "1.0.4" -PREFERRED_VERSION_libxft = "2.1.12" -PREFERRED_VERSION_libxi = "1.1.2" -PREFERRED_VERSION_libxinerama = "1.0.2" -PREFERRED_VERSION_libxkbfile = "1.0.4" -PREFERRED_VERSION_libxkbui = "1.0.2" -PREFERRED_VERSION_libxmu = "1.0.3" -PREFERRED_VERSION_libxp = "1.0.0" -PREFERRED_VERSION_libxpm = "3.5.6" -PREFERRED_VERSION_libxprintapputil = "1.0.1" -PREFERRED_VERSION_libxprintutil = "1.0.1" -PREFERRED_VERSION_libxrandr = "1.2.1" -PREFERRED_VERSION_libxrender = "0.9.2" -PREFERRED_VERSION_libxres = "1.0.3" -PREFERRED_VERSION_libxscrnsaver = "1.1.2" -PREFERRED_VERSION_libxt = "1.0.5" -PREFERRED_VERSION_libxtrap = "1.0.0" -PREFERRED_VERSION_libxtst = "1.0.2" -PREFERRED_VERSION_libxv = "1.0.3" -PREFERRED_VERSION_libxvmc = "1.0.4" -PREFERRED_VERSION_libxxf86dga = "1.0.1" -PREFERRED_VERSION_libxxf86misc = "1.0.1" -PREFERRED_VERSION_libxxf86vm = "1.0.1" -PREFERRED_VERSION_lndir = "1.0.1" -PREFERRED_VERSION_makedepend = "1.0.1" -PREFERRED_VERSION_makedepend-native = "1.0.1" -PREFERRED_VERSION_printproto = "1.0.3" -PREFERRED_VERSION_randrproto = "1.2.1" -PREFERRED_VERSION_recordproto = "1.13.2" -PREFERRED_VERSION_renderproto = "0.9.2" -PREFERRED_VERSION_resourceproto = "1.0.2" -PREFERRED_VERSION_scrnsaverproto = "1.1.0" -PREFERRED_VERSION_trapproto = "3.4.3" -PREFERRED_VERSION_util-macros = "1.1.5" -PREFERRED_VERSION_util-macros-native = "1.1.5" -PREFERRED_VERSION_videoproto = "2.2.2" -PREFERRED_VERSION_windowswmproto = "1.0.3" -PREFERRED_VERSION_xauth = "1.0.2" -PREFERRED_VERSION_xcmiscproto = "1.1.2" -PREFERRED_VERSION_xcmiscproto-native = "1.1.2" -PREFERRED_VERSION_xdpyinfo = "1.0.2" -PREFERRED_VERSION_xextproto = "7.0.2" -PREFERRED_VERSION_xextproto-native = "7.0.2" -PREFERRED_VERSION_xf86bigfontproto = "1.1.2" -PREFERRED_VERSION_xf86bigfontproto-native = "1.1.2" -PREFERRED_VERSION_xf86dgaproto = "2.0.2" -PREFERRED_VERSION_xf86driproto = "2.0.3" -PREFERRED_VERSION_xf86miscproto = "0.9.2" -PREFERRED_VERSION_xf86rushproto = "1.1.2" -PREFERRED_VERSION_xf86vidmodeproto = "2.2.2" -PREFERRED_VERSION_xhost = "1.0.2" -PREFERRED_VERSION_xineramaproto = "1.1.2" -PREFERRED_VERSION_xmodmap = "1.0.2" -PREFERRED_VERSION_xorg-cf-files = "1.0.2" -PREFERRED_VERSION_xproto = "7.0.10" -PREFERRED_VERSION_xproto-native = "7.0.10" -PREFERRED_VERSION_xproxymanagementprotocol = "1.0.2" -PREFERRED_VERSION_xrandr = "1.2.2" -PREFERRED_VERSION_xrdb = "1.0.3" -PREFERRED_VERSION_xserver-kdrive = "1.3.0.0" -PREFERRED_VERSION_xserver-xorg = "1.3.0.0" -PREFERRED_VERSION_xset = "1.0.2" -PREFERRED_VERSION_xtrans = "1.0.3" -PREFERRED_VERSION_xtrans-native = "1.0.3" -PREFERRED_VERSION_xinit = "1.0.4" -PREFERRED_VERSION_xev = "1.0.2" +PREFERRED_VERSION_applewmproto ?= "1.0.3" +PREFERRED_VERSION_bigreqsproto ?= "1.0.2" +PREFERRED_VERSION_bigreqsproto-native ?= "1.0.2" +PREFERRED_VERSION_compositeproto ?= "0.4" +PREFERRED_VERSION_damageproto ?= "1.1.0" +PREFERRED_VERSION_diet-x11 ?= "1.1.2" +PREFERRED_VERSION_dmxproto ?= "2.2.2" +PREFERRED_VERSION_evieext ?= "1.0.2" +PREFERRED_VERSION_fixesproto ?= "4.0" +PREFERRED_VERSION_fontcacheproto ?= "0.1.2" +PREFERRED_VERSION_fontcacheproto-native ?= "0.1.2" +PREFERRED_VERSION_fontsproto ?= "2.0.2" +PREFERRED_VERSION_fontsproto-native ?= "2.0.2" +PREFERRED_VERSION_gccmakedep ?= "1.0.2" +PREFERRED_VERSION_glproto ?= "1.4.8" +PREFERRED_VERSION_imake ?= "1.0.2" +PREFERRED_VERSION_inputproto ?= "1.4.2" +PREFERRED_VERSION_inputproto-native ?= "1.4.1" +PREFERRED_VERSION_kbproto ?= "1.0.3" +PREFERRED_VERSION_kbproto-native ?= "1.0.2" +PREFERRED_VERSION_libapplewm ?= "1.0.0" +PREFERRED_VERSION_libdmx ?= "1.0.2" +PREFERRED_VERSION_libfontenc ?= "1.0.4" +PREFERRED_VERSION_libfontenc-native ?= "1.0.4" +PREFERRED_VERSION_libfs ?= "1.0.0" +PREFERRED_VERSION_libice ?= "1.0.3" +PREFERRED_VERSION_liblbxutil ?= "1.0.1" +PREFERRED_VERSION_liboldx ?= "1.0.1" +PREFERRED_VERSION_libsm ?= "1.0.3" +PREFERRED_VERSION_libwindowswm ?= "1.0.0" +PREFERRED_VERSION_libx11 ?= "1.1.2" +PREFERRED_VERSION_libx11-native ?= "1.0.1" +PREFERRED_VERSION_libxau ?= "1.0.3" +PREFERRED_VERSION_libxau-native ?= "1.0.3" +PREFERRED_VERSION_libxaw ?= "1.0.3" +PREFERRED_VERSION_libxcomposite ?= "0.4.0" +PREFERRED_VERSION_libxcursor ?= "1.1.8" +PREFERRED_VERSION_libxdamage ?= "1.1.1" +PREFERRED_VERSION_libxdmcp ?= "1.0.2" +PREFERRED_VERSION_libxdmcp-native ?= "1.0.2" +PREFERRED_VERSION_libxevie ?= "1.0.2" +PREFERRED_VERSION_libxext ?= "1.0.3" +PREFERRED_VERSION_libxfixes ?= "4.0.3" +PREFERRED_VERSION_libxfont ?= "1.3.0" +PREFERRED_VERSION_libxfont-native ?= "1.3.0" +PREFERRED_VERSION_libxfontcache ?= "1.0.4" +PREFERRED_VERSION_libxft ?= "2.1.12" +PREFERRED_VERSION_libxi ?= "1.1.2" +PREFERRED_VERSION_libxinerama ?= "1.0.2" +PREFERRED_VERSION_libxkbfile ?= "1.0.4" +PREFERRED_VERSION_libxkbui ?= "1.0.2" +PREFERRED_VERSION_libxmu ?= "1.0.3" +PREFERRED_VERSION_libxp ?= "1.0.0" +PREFERRED_VERSION_libxpm ?= "3.5.6" +PREFERRED_VERSION_libxprintapputil ?= "1.0.1" +PREFERRED_VERSION_libxprintutil ?= "1.0.1" +PREFERRED_VERSION_libxrandr ?= "1.2.1" +PREFERRED_VERSION_libxrender ?= "0.9.2" +PREFERRED_VERSION_libxres ?= "1.0.3" +PREFERRED_VERSION_libxscrnsaver ?= "1.1.2" +PREFERRED_VERSION_libxt ?= "1.0.5" +PREFERRED_VERSION_libxtrap ?= "1.0.0" +PREFERRED_VERSION_libxtst ?= "1.0.2" +PREFERRED_VERSION_libxv ?= "1.0.3" +PREFERRED_VERSION_libxvmc ?= "1.0.4" +PREFERRED_VERSION_libxxf86dga ?= "1.0.1" +PREFERRED_VERSION_libxxf86misc ?= "1.0.1" +PREFERRED_VERSION_libxxf86vm ?= "1.0.1" +PREFERRED_VERSION_lndir ?= "1.0.1" +PREFERRED_VERSION_makedepend ?= "1.0.1" +PREFERRED_VERSION_makedepend-native ?= "1.0.1" +PREFERRED_VERSION_printproto ?= "1.0.3" +PREFERRED_VERSION_randrproto ?= "1.2.1" +PREFERRED_VERSION_recordproto ?= "1.13.2" +PREFERRED_VERSION_renderproto ?= "0.9.2" +PREFERRED_VERSION_resourceproto ?= "1.0.2" +PREFERRED_VERSION_scrnsaverproto ?= "1.1.0" +PREFERRED_VERSION_trapproto ?= "3.4.3" +PREFERRED_VERSION_util-macros ?= "1.1.5" +PREFERRED_VERSION_util-macros-native ?= "1.1.5" +PREFERRED_VERSION_videoproto ?= "2.2.2" +PREFERRED_VERSION_windowswmproto ?= "1.0.3" +PREFERRED_VERSION_xauth ?= "1.0.2" +PREFERRED_VERSION_xcmiscproto ?= "1.1.2" +PREFERRED_VERSION_xcmiscproto-native ?= "1.1.2" +PREFERRED_VERSION_xdpyinfo ?= "1.0.2" +PREFERRED_VERSION_xextproto ?= "7.0.2" +PREFERRED_VERSION_xextproto-native ?= "7.0.2" +PREFERRED_VERSION_xf86bigfontproto ?= "1.1.2" +PREFERRED_VERSION_xf86bigfontproto-native ?= "1.1.2" +PREFERRED_VERSION_xf86dgaproto ?= "2.0.2" +PREFERRED_VERSION_xf86driproto ?= "2.0.3" +PREFERRED_VERSION_xf86miscproto ?= "0.9.2" +PREFERRED_VERSION_xf86rushproto ?= "1.1.2" +PREFERRED_VERSION_xf86vidmodeproto ?= "2.2.2" +PREFERRED_VERSION_xhost ?= "1.0.2" +PREFERRED_VERSION_xineramaproto ?= "1.1.2" +PREFERRED_VERSION_xmodmap ?= "1.0.2" +PREFERRED_VERSION_xorg-cf-files ?= "1.0.2" +PREFERRED_VERSION_xproto ?= "7.0.10" +PREFERRED_VERSION_xproto-native ?= "7.0.10" +PREFERRED_VERSION_xproxymanagementprotocol ?= "1.0.2" +PREFERRED_VERSION_xrandr ?= "1.2.2" +PREFERRED_VERSION_xrdb ?= "1.0.3" +PREFERRED_VERSION_xserver-kdrive ?= "1.3.0.0" +PREFERRED_VERSION_xserver-xorg ?= "1.3.0.0" +PREFERRED_VERSION_xset ?= "1.0.2" +PREFERRED_VERSION_xtrans ?= "1.0.3" +PREFERRED_VERSION_xtrans-native ?= "1.0.3" +PREFERRED_VERSION_xinit ?= "1.0.4" +PREFERRED_VERSION_xev ?= "1.0.2" diff --git a/conf/distro/include/sane-srcrevs.inc b/conf/distro/include/sane-srcrevs.inc new file mode 100644 index 0000000000..d53217b82b --- /dev/null +++ b/conf/distro/include/sane-srcrevs.inc @@ -0,0 +1,84 @@ +#Ggenerated with +# bitbake -s | grep svnr | awk '{print "SRCREV_pn-" $1 "=" $2}' | \ +# sed -e s:\+:\=:g -e s:svnr::g| awk -F "=" '{print $1 " ?=\" " $3}' | \ +# awk -F "-r" '{print $1"\""}' + +# This will miss recipes that have skippackage set (e.g. uclibc) + +SRCREV_pn-bfin-uclibc ?= "1806" +SRCREV_pn-dfu-util ?= "2866" +SRCREV_pn-dfu-util-native ?= "2866" +SRCREV_pn-eglibc ?= "3468" +SRCREV_pn-eglibc-initial ?= "3468" +SRCREV_pn-eglibc-intermediate ?= "3468" +SRCREV_pn-ezxd ?= "2052" +SRCREV_pn-elf2flt="1786" +SRCREV_pn-fbgrab-viewer-native ?= "1943" +SRCREV_pn-fstests ?= "204" +SRCREV_pn-gnuradio ?= "6377" +SRCREV_pn-hildon-1 ?= "13708" +SRCREV_pn-libgsmd ?= "2806" +SRCREV_pn-libmokogsmd2 ?= "2950" +SRCREV_pn-libmokojournal2 ?= "2780" +SRCREV_pn-libmokopanelui2 ?= "2958" +SRCREV_pn-libmokoui2 ?= "2868" +SRCREV_pn-libowl ?= "277" +SRCREV_pn-libxosd ?= "627" +SRCREV_pn-llvm-gcc4 ?= "374" +SRCREV_pn-llvm-gcc4-cross ?= "374" +SRCREV_pn-maemo-mapper ?= "108" +SRCREV_pn-matchbox-desktop-2 ?= "1649" +SRCREV_pn-matchbox-keyboard ?= "1583" +SRCREV_pn-matchbox-keyboard-inputmethod ?= "1583" +SRCREV_pn-matchbox-panel-2 ?= "1626" +SRCREV_pn-neod ?= "2956" +SRCREV_pn-oh-puzzles ?= "22" +SRCREV_pn-openmoko-appmanager ?= "1851" +SRCREV_pn-openmoko-calculator ?= "2404" +SRCREV_pn-openmoko-calculator2 ?= "2789" +SRCREV_pn-openmoko-common ?= "397" +SRCREV_pn-openmoko-common2 ?= "2679" +SRCREV_pn-openmoko-contacts ?= "2298" +SRCREV_pn-openmoko-contacts2 ?= "335" +SRCREV_pn-openmoko-dates ?= "467" +SRCREV_pn-openmoko-dates2 ?= "563" +SRCREV_pn-openmoko-dialer ?= "2811" +SRCREV_pn-openmoko-dialer2 ?= "2946" +SRCREV_pn-openmoko-feedreader2 ?= "2944" +SRCREV_pn-openmoko-finger-demo ?= "1671" +SRCREV_pn-openmoko-firststart2 ?= "2873" +SRCREV_pn-openmoko-footer ?= "2354" +SRCREV_pn-openmoko-icon-theme-standard ?= "2232" +SRCREV_pn-openmoko-icon-theme-standard2 ?= "2840" +SRCREV_pn-openmoko-keyboard ?= "1631" +SRCREV_pn-openmoko-libs ?= "2367" +SRCREV_pn-openmoko-mediaplayer2 ?= "2952" +SRCREV_pn-openmoko-messages ?= "2276" +SRCREV_pn-openmoko-panel-battery ?= "2897" +SRCREV_pn-openmoko-panel-bt ?= "2896" +SRCREV_pn-openmoko-panel-clock ?= "2567" +SRCREV_pn-openmoko-panel-demo ?= "1622" +SRCREV_pn-openmoko-panel-demo-simple ?= "1328" +SRCREV_pn-openmoko-panel-gps ?= "2900" +SRCREV_pn-openmoko-panel-gsm ?= "2936" +SRCREV_pn-openmoko-panel-mainmenu ?= "2567" +SRCREV_pn-openmoko-panel-usb ?= "2893" +SRCREV_pn-openmoko-session ?= "152" +SRCREV_pn-openmoko-simplemediaplayer ?= "1688" +SRCREV_pn-openmoko-sound-theme-standard ?= "2827" +SRCREV_pn-openmoko-stylus-demo ?= "2324" +SRCREV_pn-openmoko-stylus-demo-simple ?= "1818" +SRCREV_pn-openmoko-taskmanager ?= "1663" +SRCREV_pn-openmoko-tasks ?= "320" +SRCREV_pn-openmoko-tasks2 ?= "320" +SRCREV_pn-openmoko-theme-standard ?= "2370" +SRCREV_pn-openmoko-theme-standard-qvga ?= "2370" +SRCREV_pn-openmoko-today ?= "2556" +SRCREV_pn-openmoko-today2 ?= "2955" +SRCREV_pn-openmoko-today2-folders ?= "2680" +SRCREV_pn-psplash ?= "249" +SRCREV_pn-settings-daemon ?= "1615" +SRCREV_pn-sjf2410-linux-native ?= "933" +SRCREV_pn-sphyrna ?= "44" +SRCREV_pn-webkit-gtk ?= "25507" +SRCREV_pn-xoo ?= "1623" diff --git a/conf/distro/openmoko.conf b/conf/distro/openmoko.conf index 7061ef2c63..26bcc2472c 100644 --- a/conf/distro/openmoko.conf +++ b/conf/distro/openmoko.conf @@ -11,7 +11,7 @@ require conf/distro/angstrom-2007.1.conf # DISTRO = "openmoko" DISTRO_NAME = "OpenMoko" -DISTRO_VERSION = "P1-August-Snapshot-${DATE}" +DISTRO_VERSION = "P1-September-Snapshot-${DATE}" #DISTRO_TYPE = "release" DISTRO_TYPE = "debug" @@ -29,3 +29,11 @@ FEED_URIS = "\ updates-all##http://buildhost.openmoko.org/OM2007.2/tmp/deploy/glibc/ipk/all \ updates-armv4t##http://buildhost.openmoko.org/OM2007.2/tmp/deploy/glibc/ipk/armv4t \ updates-fic-gta01##http://buildhost.openmoko.org/OM2007.2/tmp/deploy/glibc/ipk/fic-gta01 " + +# 2.18 seems to break badly on 64-bit systems +PREFERRED_VERSION_binutils ?= "2.17.50.0.12" +PREFERRED_VERSION_binutils-cross ?= "2.17.50.0.12" + +require conf/distro/include/preferred-openmoko-versions.inc +require conf/distro/include/moko-autorev.inc + diff --git a/conf/machine/at91sam9260ek.conf b/conf/machine/at91sam9260ek.conf new file mode 100644 index 0000000000..e8903a960a --- /dev/null +++ b/conf/machine/at91sam9260ek.conf @@ -0,0 +1,20 @@ +#@TYPE: Machine +#@Name: Atmel AT91SAM9260EK Development Platform +#@DESCRIPTION: Machine configuration for the at91sam9260ek development board with a at91sam9260 processor + +TARGET_ARCH = "arm" +PACKAGE_EXTRA_ARCHS = "armv4t armv5te" + +PREFERRED_PROVIDER_virtual/kernel = "linux" +PREFERRED_PROVIDER_xserver = "xserver-kdrive" + +#don't try to access tty1 +USE_VT = "0" + +MACHINE_FEATURES = "kernel26 alsa ext2 usbhost usbgadget" + +# used by sysvinit_2 +SERIAL_CONSOLE = "115200 ttyS0" +EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x20000 -n" + +require conf/machine/include/tune-arm926ejs.conf diff --git a/conf/machine/at91sam9261ek.conf b/conf/machine/at91sam9261ek.conf new file mode 100644 index 0000000000..489575cd2b --- /dev/null +++ b/conf/machine/at91sam9261ek.conf @@ -0,0 +1,20 @@ +#@TYPE: Machine +#@Name: Atmel AT91SAM9261EK Development Platform +#@DESCRIPTION: Machine configuration for the at91sam9261ek development board with a at91sam9261 processor + +TARGET_ARCH = "arm" +PACKAGE_EXTRA_ARCHS = "armv4t armv5te" + +PREFERRED_PROVIDER_virtual/kernel = "linux" +PREFERRED_PROVIDER_xserver = "xserver-kdrive" + +#don't try to access tty1 +USE_VT = "0" + +MACHINE_FEATURES = "kernel26 alsa ext2 usbhost usbgadget screen touchscreen" + +# used by sysvinit_2 +SERIAL_CONSOLE = "115200 ttyS0" +EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x20000 -n" + +require conf/machine/include/tune-arm926ejs.conf diff --git a/conf/machine/i586-generic.conf b/conf/machine/i586-generic.conf index 2cae2a87dc..0ef522441b 100644 --- a/conf/machine/i586-generic.conf +++ b/conf/machine/i586-generic.conf @@ -24,3 +24,6 @@ MACHINE_EXTRA_RRECOMMENDS = " kernel-modules" MACHINE_TASK_PROVIDER = "task-base" +#tune for pentium cpu +require conf/machine/include/tune-pentium.inc + diff --git a/conf/machine/i686-generic.conf b/conf/machine/i686-generic.conf index 883d6b4dd0..8ff87553ba 100644 --- a/conf/machine/i686-generic.conf +++ b/conf/machine/i686-generic.conf @@ -22,3 +22,6 @@ MACHINE_FEATURES = "kernel26 screen keyboard pci ushbost acpi ext2" MACHINE_EXTRA_RRECOMMENDS = " kernel-modules" MACHINE_TASK_PROVIDER = "task-base" +#tune for pentium pro cpu +require conf/machine/include/tune-pentiumpro.inc + diff --git a/conf/machine/include/motorola-ezx-base.inc b/conf/machine/include/motorola-ezx-base.inc index 6baa6a50ba..3912d8fc9b 100644 --- a/conf/machine/include/motorola-ezx-base.inc +++ b/conf/machine/include/motorola-ezx-base.inc @@ -4,8 +4,6 @@ PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te iwmmxt" PREFERRED_PROVIDER_xserver = "xserver-kdrive" PREFERRED_PROVIDER_virtual/kernel = "linux-ezx" -EXTRA_IMAGECMD_jffs2 = "--pad=14680064 --little-endian --eraseblock=0x20000 -n" - #cat /proc/mtd #dev: size erasesize name #mtd0: 00020000 00008000 "Bootloader" @@ -14,10 +12,6 @@ EXTRA_IMAGECMD_jffs2 = "--pad=14680064 --little-endian --eraseblock=0x20000 -n" #mtd3: 00020000 00020000 "Logo" MACHINE_FEATURES = "kernel26 touchscreen apm alsa bluetooth usbgadget usbhost keyboard screen" - -# the EZX phones need a userspace daemon to stop the BP from shutting down the phone -MACHINE_EXTRA_RDEPENDS += "opentapi" - MACHINE_DISPLAY_WIDTH_PIXELS = "240" MACHINE_DISPLAY_HEIGHT_PIXELS = "320" MACHINE_DISPLAY_ORIENTATION = "0" @@ -25,9 +19,14 @@ MACHINE_DISPLAY_PPI = "180" ROOT_FLASH_SIZE = "24" +EXTRA_IMAGECMD_jffs2 = "--pad=14680064 --little-endian --eraseblock=0x20000 -n" + EXTRA_IMAGEDEPENDS += "ezx-boot-usb-native" -# Opentapi needs to be started very early so we need the mux devices in static /dev +# the EZX phones need a userspace daemon to stop the BP from shutting down the phone +MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "ezxd" + +# Ezxd needs to be started very early so we need the mux devices in static /dev IMAGE_DEVICE_TABLES = "files/device_table-minimal.txt \ files/device_table-ezx.txt" diff --git a/conf/machine/include/motorola-ezx.inc b/conf/machine/include/motorola-ezx.inc deleted file mode 100644 index e87f6aa70f..0000000000 --- a/conf/machine/include/motorola-ezx.inc +++ /dev/null @@ -1,41 +0,0 @@ -# choose the proper kernel for this hardware -PREFERRED_PROVIDER_virtual/kernel = "ezx-kernels" -# we don't need support for kernel 2.4 -MODUTILS = "26" -# build tar.gz for SD/MMC/Transflash and jffs2 for later when we have mtd -IMAGE_FSTYPES = "tar.gz jffs2" - -BOOTSTRAP_EXTRA_RDEPENDS += "kernel udev sysfsutils apm irda-utils udev-utils ppp ppp-dialin module-init-tools" - -# -# disable all modules until we have something that boots... -# - -# Ethernet modules -#BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-pcnet-cs" -# NFS Modules -#BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-nfs kernel-module-lockd kernel-module-sunrpc" -# Crypto Modules -#BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-des kernel-module-md5" -# SMB and CRAMFS -#BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-smbfs kernel-module-cramfs" -# Serial Modules -#BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-8250 kernel-module-serial-cs" -# Bluetooth Modules -#BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-bluetooth kernel-module-l2cap kernel-module-rfcomm kernel-module-hci-vhci \ -# kernel-module-bnep kernel-module-hidp kernel-module-hci-uart kernel-module-sco \ -# kernel-module-bt3c-cs kernel-module-bluecard-cs kernel-module-btuart-cs kernel-module-dtl1-cs" -# Infrared Modules -#BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-pxaficp-ir kernel-module-irda kernel-module-ircomm \ -# kernel-module-ircomm-tty kernel-module-irlan kernel-module-irnet kernel-module-ir-usb" -# -# USB Gadget Modules -#BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-gadgetfs kernel-module-g-file-storage \ -# kernel-module-g-serial kernel-module-g-ether" -# -# Sound Modules -#BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-snd-mixer-oss kernel-module-snd-pcm-oss" -#BOOTSTRAP_EXTRA_SOUND = "kernel-module-soundcore kernel-module-snd kernel-module-snd-page-alloc -# kernel-module-snd-timer kernel-module-snd-pcm \ -# kernel-module-snd-soc-core kernel-module-snd-soc-pxa2xx kernel-module-snd-soc-pxa2xx-i2s" -# diff --git a/conf/machine/include/tune-pentium.inc b/conf/machine/include/tune-pentium.inc new file mode 100644 index 0000000000..7b1a517895 --- /dev/null +++ b/conf/machine/include/tune-pentium.inc @@ -0,0 +1,3 @@ +TARGET_CC_ARCH = "-mcpu=pentium" +PACKAGE_ARCH = "i586" + diff --git a/conf/machine/include/tune-pentiumpro.inc b/conf/machine/include/tune-pentiumpro.inc new file mode 100644 index 0000000000..aa9a8dfa1d --- /dev/null +++ b/conf/machine/include/tune-pentiumpro.inc @@ -0,0 +1,3 @@ +TARGET_CC_ARCH = "-mcpu=pentiumpro" +PACKAGE_ARCH = "i686" + diff --git a/conf/machine/nokia770.conf b/conf/machine/nokia770.conf index 2727fd44d3..0e308b0a67 100644 --- a/conf/machine/nokia770.conf +++ b/conf/machine/nokia770.conf @@ -8,7 +8,7 @@ PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive-omap" PREFERRED_PROVIDER_virtual/bootloader = "" PREFERRED_PROVIDER_tslib = "tslib-maemo" -XSERVER = "xserver-kdrive-omap" +XSERVER = "xserver-kdrive-xomap" # 800x480 is big enough for me GUI_MACHINE_CLASS = "bigscreen" diff --git a/conf/machine/rokre6.conf b/conf/machine/rokre6.conf new file mode 100644 index 0000000000..7b20091140 --- /dev/null +++ b/conf/machine/rokre6.conf @@ -0,0 +1,8 @@ +#@TYPE: Machine +#@NAME: Motorola EZX ROKR E6 +#@DESCRIPTION: Machine configuration for the Motorola GSM Phone ROKR E6 + +require conf/machine/include/motorola-ezx-base.inc + +# there is no touchscreen +MACHINE_FEATURES = "kernel26 apm alsa bluetooth usbgadget usbhost keyboard screen" diff --git a/conf/machine/ts72xx.conf b/conf/machine/ts72xx.conf new file mode 100644 index 0000000000..632f3044cc --- /dev/null +++ b/conf/machine/ts72xx.conf @@ -0,0 +1,19 @@ +#@TYPE: Machine +#@Name: Technologic Systems TS-72xx SBC +#@DESCRIPTION: Machine configuration for Technologic Systems TS-72xx SBC + +TARGET_ARCH = "arm" +PACKAGE_EXTRA_ARCHS = "armv4t" + +PREFERRED_PROVIDER_virtual/kernel = "linux" + +MACHINE_FEATURES = "kernel26 apm alsa ext2 pcmcia usbhost screen" + +# default is 2.6.22.6 +#PREFERRED_VERSION_linux = "2.6.23-rc5" + +SERIAL_CONSOLE = "115200 ttyAM0" +USE_VT = "0" +CMDLINE = "console=ttyAM0,115200 ip=192.168.1.3:192.168.1.2:192.168.1.2:255.255.255.0 root=/dev/nfs nfsroot=192.168.1.2:/media/data/devel/om2007.2/ts72xx/tmp/deploy/glibc/images/ts72xx/nfs_root" + +require conf/machine/include/tune-arm920t.inc diff --git a/packages/alsa/alsa-state.bb b/packages/alsa/alsa-state.bb index 00669e48de..55541872fa 100644 --- a/packages/alsa/alsa-state.bb +++ b/packages/alsa/alsa-state.bb @@ -1,20 +1,19 @@ -#! /bin/sh -# # Copyright Matthias Hentges <devel@hentges.net> (c) 2007 # License: MIT (see http://www.opensource.org/licenses/mit-license.php # for a copy of the license) # # Filename: alsa-state.bb -# Date: 20070308 (YMD) DESCRIPTION = "Default ALSA configuration" LICENSE = "GPL" RRECOMMENDS_alsa-state = "alsa-states" -PV = "0.0.4" -PR = "r3" +PV = "0.1.0" +PR = "r0" -SRC_URI = "file://asound.state \ - file://alsa-state " +SRC_URI = " \ + file://asoundrc \ + file://asound.state \ + file://alsa-state " SRC_URI_append_fic-gta01 = " \ file://capturehandset.state \ @@ -33,11 +32,12 @@ do_install() { install -d ${D}${sysconfdir}/init.d install -m 0755 ${WORKDIR}/alsa-state ${D}${sysconfdir}/init.d + install -m 0644 ${WORKDIR}/asoundrc ${D}${sysconfdir} install -m 0644 ${WORKDIR}/*.state ${D}${sysconfdir} } PACKAGES += "alsa-states" -FILES_${PN} = "${sysconfdir}/init.d" +FILES_${PN} = "${sysconfdir}/init.d ${sysconfdir}/asoundrc" FILES_alsa-states = "${sysconfdir}/*.state" PACKAGE_ARCH_${PN} = "all" PACKAGE_ARCH_alsa-states = "${MACHINE}" diff --git a/packages/alsa/alsa-state/asoundrc b/packages/alsa/alsa-state/asoundrc new file mode 100644 index 0000000000..bc038e3e73 --- /dev/null +++ b/packages/alsa/alsa-state/asoundrc @@ -0,0 +1,12 @@ +# +# simple dmix configuration +# +pcm.dsp0 { + type plug + slave.pcm "dmix" +} + +ctl.mixer0 { + type hw + card 0 +} diff --git a/packages/angstrom/angstrom-feed-configs.bb b/packages/angstrom/angstrom-feed-configs.bb index 7645ee61ec..6730b6a044 100644 --- a/packages/angstrom/angstrom-feed-configs.bb +++ b/packages/angstrom/angstrom-feed-configs.bb @@ -1,6 +1,6 @@ DESCRIPTION = "Configuration files for online package repositories aka feeds" -PR = "0" +PR = "1" PACKAGE_ARCH = "${MACHINE_ARCH}" FEED_BASEPATH ?= "unstable/feed/" @@ -21,3 +21,12 @@ do_install () { install -m 0644 ${S}/${sysconfdir}/ipkg/* ${D}${sysconfdir}/ipkg/ } +CONFFILES_${PN} += "${sysconfdir}/ipkg/base-feed.conf \ + ${sysconfdir}/ipkg/debug-feed.conf \ + ${sysconfdir}/ipkg/perl-feed.conf \ + ${sysconfdir}/ipkg/python-feed.conf \ + ${sysconfdir}/ipkg/gstreamer-feed.conf \ + ${sysconfdir}/ipkg/${MACHINE_ARCH}-feed.conf \ + ${sysconfdir}/ipkg/noarch-feed.conf \ + " + diff --git a/packages/angstrom/angstrom-version.bb b/packages/angstrom/angstrom-version.bb index 2488255b53..32f3f01635 100644 --- a/packages/angstrom/angstrom-version.bb +++ b/packages/angstrom/angstrom-version.bb @@ -1,9 +1,10 @@ PV = "${DISTRO_VERSION}" +PR = "r1" PACKAGES = "${PN}" PACKAGE_ARCH = "${MACHINE_ARCH}" -do_compile() { +do_install() { mkdir -p ${D}${sysconfdir} echo "Angstrom ${DISTRO_VERSION}" > ${D}${sysconfdir}/angstrom-version diff --git a/packages/base-files/base-files_3.0.14.bb b/packages/base-files/base-files_3.0.14.bb index ac12f5e08a..0d3a411095 100644 --- a/packages/base-files/base-files_3.0.14.bb +++ b/packages/base-files/base-files_3.0.14.bb @@ -1,7 +1,7 @@ DESCRIPTION = "Miscellaneous files for the base system." SECTION = "base" PRIORITY = "required" -PR = "r71" +PR = "r72" LICENSE = "GPL" SRC_URI = " \ @@ -24,8 +24,6 @@ SRC_URI = " \ file://licenses/Artistic " S = "${WORKDIR}" -SRC_URI_OVERRIDES_PACKAGE_ARCH = "1" - docdir_append = "/${P}" dirs1777 = "/tmp ${localstatedir}/volatile/lock ${localstatedir}/volatile/tmp" dirs2775 = "/home ${prefix}/src ${localstatedir}/local" @@ -152,6 +150,8 @@ FILES_${PN}-doc = "${docdir} ${datadir}/common-licenses" PACKAGE_ARCH_mnci = "mnci" PACKAGE_ARCH_rt3000 = "rt3000" +PACKAGE_ARCH = "${MACHINE_ARCH}" + # Unslung distribution specific packaging PACKAGES_unslung = "${PN}-unslung" diff --git a/packages/dbus/dbus-1.0.2/dbus-1.init b/packages/dbus/dbus-1.0.2/dbus-1.init index 38e7574ad5..46e321860d 100644 --- a/packages/dbus/dbus-1.0.2/dbus-1.init +++ b/packages/dbus/dbus-1.0.2/dbus-1.init @@ -62,7 +62,7 @@ start_it_up() shut_it_down() { if [ -d $EVENTDIR ]; then - run-parts --reverse --arg=stop $EVENTDIR + run-parts --arg=stop $EVENTDIR fi echo -n "Stopping $DESC: " start-stop-daemon --stop --quiet --pidfile $PIDFILE \ diff --git a/packages/dbus/dbus_1.0.2.bb b/packages/dbus/dbus_1.0.2.bb index a660eb1586..0c97e30406 100644 --- a/packages/dbus/dbus_1.0.2.bb +++ b/packages/dbus/dbus_1.0.2.bb @@ -2,4 +2,4 @@ require dbus.inc SRC_URI += " file://fix-waitpid.patch;patch=1" -PR = "r2" +PR = "r3" diff --git a/packages/e17/e-wm_0.16.999.041.bb b/packages/e17/e-wm_0.16.999.041.bb new file mode 100644 index 0000000000..4e6457cc2e --- /dev/null +++ b/packages/e17/e-wm_0.16.999.041.bb @@ -0,0 +1,48 @@ +DESCRIPTION = "E17 - the Enlightenment Window Mananger" +DEPENDS = "eet evas ecore edje efreet" +LICENSE = "MIT" +PR = "r0" + +inherit e update-alternatives + +SRC_URI = "http://download.enlightenment.org/snapshots/2007-08-26/enlightenment-${PV}.tar.gz \ + file://fix-configure.patch;patch=1 \ + file://set-autoscroll-defaults.patch;patch=1 \ + file://Xsession.d/98enlightenment \ + file://applications.menu \ + " + +S = "${WORKDIR}/enlightenment-${PV}" + +PROFILE = "LOWRES_PDA" +PROFILE_c7x0 = "HIRES_PDA" +PROFILE_tosa = "HIRES_PDA" +PROFILE_spitz = "HIRES_PDA" +PROFILE_akita = "HIRES_PDA" + +EXTRA_OECONF = "--with-profile=${PROFILE} \ + --with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc \ + --x-includes=${STAGING_INCDIR}/X11 \ + --x-libraries=${STAGING_LIBDIR}" + +FILES_${PN} = "${bindir}/* ${libdir}/enlightenment/modules/*/*.edj ${libdir}/enlightenment/modules/*/*.desktop ${libdir}/enlightenment/modules/*/*/*.so ${libdir}/enlightenment/preload/*.so ${datadir} ${sysconfdir} ${libdir}/enlightenment/modules/cpufreq/*/freqset" +FILES_${PN}-dev += "${libdir}/enlightenment/modules/*/*/*.a ${libdir}/enlightenment/modules/*/*/*.la ${libdir}/enlightenment/preload/*.a ${libdir}/enlightenment/preload/*.la" +FILES_${PN}-dbg += "${libdir}/enlightenment/modules/*/*/.debug/ ${libdir}/enlightenment/preload/.debug/" + +do_compile_prepend() { + find ${S} -name Makefile | xargs sed -i 's:/usr/include:${STAGING_INCDIR}:' + find ${S} -name Makefile | xargs sed -i 's:/usr/X11R6/include:${STAGING_INCDIR}:' +} + +do_install_append() { + install -d ${D}/${sysconfdir}/X11/Xsession.d + install -m 755 ${WORKDIR}/Xsession.d/98enlightenment ${D}/${sysconfdir}/X11/Xsession.d + + install -d ${D}/${sysconfdir}/xdg/menus + install -m 644 ${WORKDIR}/applications.menu ${D}/${sysconfdir}/xdg/menus/ +} + +ALTERNATIVE_PATH = "${bindir}/enlightenment_start" +ALTERNATIVE_NAME = "x-window-manager" +ALTERNATIVE_LINK = "${bindir}/x-window-manager" +ALTERNATIVE_PRIORITY = "16" diff --git a/packages/e17/exhibit_cvs.bb b/packages/e17/exhibit_cvs.bb index 4433287353..ccf93ded9f 100644 --- a/packages/e17/exhibit_cvs.bb +++ b/packages/e17/exhibit_cvs.bb @@ -1,5 +1,5 @@ DESCRIPTION = "Exhibit is the ETK picture viewer" -DEPENDS = "evas ecore edje etk epsilon engrave" +DEPENDS = "evas ecore epsilon edje eet etk efreet" LICENSE = "MIT" PV = "0.0.0+cvs${SRCDATE}" PR = "r0" diff --git a/packages/ezx/opentapi/.mtn2git_empty b/packages/ezx/ezxd/.mtn2git_empty index e69de29bb2..e69de29bb2 100644 --- a/packages/ezx/opentapi/.mtn2git_empty +++ b/packages/ezx/ezxd/.mtn2git_empty diff --git a/packages/ezx/opentapi/opentapi.init b/packages/ezx/ezxd/ezxd.init index 0b41418e00..dccd293af1 100644 --- a/packages/ezx/opentapi/opentapi.init +++ b/packages/ezx/ezxd/ezxd.init @@ -1,22 +1,22 @@ #! /bin/sh # -*- coding: utf-8 -*- -# init.d script for opentapi +# init.d script for ezxd set -e -DAEMON=/usr/bin/opentapi -NAME=opentapi -PIDDIR=/var/run/opentapi +DAEMON=/usr/bin/ezxd +NAME=ezxd +PIDDIR=/var/run/ezxd PIDFILE=$PIDDIR/pid -DESC="OpenTAPI server" +DESC="ezxd server" test -x $DAEMON || exit 0 # Source defaults file; edit that file to configure this script. ENABLED=1 PARAMS="" -if [ -e /etc/default/opentapi ]; then - . /etc/default/opentapi +if [ -e /etc/default/ezxd ]; then + . /etc/default/ezxd fi test "$ENABLED" != "0" || exit 0 diff --git a/packages/ezx/ezxd_svn.bb b/packages/ezx/ezxd_svn.bb new file mode 100644 index 0000000000..56bc1c05bf --- /dev/null +++ b/packages/ezx/ezxd_svn.bb @@ -0,0 +1,35 @@ +DESCRIPTION = "Open implementation of motorola's tapisrv, replaces opentapi" +LICENSE = "GPLv2" +SECTION = "devel" +AUTHOR = "Daniel Ribeiro" + +PV = "0.0+svnr${SRCREV}" +PR = "r0" + +SRC_URI = "svn://svn.openezx.org/trunk/src/userspace/;module=ezxd;proto=http \ + file://ezxd.init \ + " + +inherit update-rc.d + +INITSCRIPT_NAME = "ezxd" +INITSCRIPT_PARAMS = "start 00 S ." + +S = "${WORKDIR}/${PN}" + +do_configure() { + sed -i -e s:CROSS:CC:g Makefile +} + +do_install() { + install -d ${D}${bindir} + install -m 755 ezxd ${D}${bindir} + + install -d ${D}${libdir}/ezxd + install -m 755 *.so ${D}${libdir}/ezxd + + install -d ${D}${sysconfdir}/init.d + install -m 0600 ezxd.conf ${D}${sysconfdir}/ + install -m 0755 ${WORKDIR}/ezxd.init ${D}${sysconfdir}/init.d/ezxd +} + diff --git a/packages/ezx/opentapi_svn.bb b/packages/ezx/opentapi_svn.bb deleted file mode 100644 index 7426dfe853..0000000000 --- a/packages/ezx/opentapi_svn.bb +++ /dev/null @@ -1,28 +0,0 @@ -DESCRIPTION = "Open implementation of motorola's tapisrv" -LICENSE = "GPLv2" -SECTION = "devel" -AUTHOR = "Daniel Willmann" - -PV = "0.0+svnr${SRCREV}" -PR = "r3" - -SRC_URI = "svn://svn.openezx.org/trunk/src/userspace/;module=opentapi;proto=http \ - file://opentapi.init \ - " - -inherit update-rc.d - -INITSCRIPT_NAME = "opentapi" -INITSCRIPT_PARAMS = "start 00 S ." - - -S = "${WORKDIR}/${PN}" - -do_install() { - install -d ${D}${bindir} - install -m 755 opentapi ${D}${bindir} - - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/opentapi.init ${D}${sysconfdir}/init.d/opentapi -} - diff --git a/packages/fakeroot/fakeroot-native_1.7.1.bb b/packages/fakeroot/fakeroot-native_1.7.1.bb index 6f2969e181..8b3d2a1590 100644 --- a/packages/fakeroot/fakeroot-native_1.7.1.bb +++ b/packages/fakeroot/fakeroot-native_1.7.1.bb @@ -3,8 +3,7 @@ require fakeroot_${PV}.bb inherit native RDEPENDS="util-linux-native" -SRC_URI += "file://fix-prefix.patch;patch=1 \ - file://work-with-older-libtool.patch;patch=1" +SRC_URI += "file://fix-prefix.patch;patch=1 " S = "${WORKDIR}/fakeroot-${PV}" EXTRA_OECONF = " --program-prefix=" diff --git a/packages/fakeroot/fakeroot_1.7.1.bb b/packages/fakeroot/fakeroot_1.7.1.bb index 486bf93a46..803b5f3ff4 100644 --- a/packages/fakeroot/fakeroot_1.7.1.bb +++ b/packages/fakeroot/fakeroot_1.7.1.bb @@ -3,9 +3,10 @@ SECTION = "base" LICENSE = "GPL" # fakeroot needs getopt which is provided by the util-linux package RDEPENDS = "util-linux" -PR = "r1" +PR = "r2" -SRC_URI = "ftp://ftp.debian.org/debian/pool/main/f/fakeroot/fakeroot_${PV}.tar.gz" +SRC_URI = "ftp://ftp.debian.org/debian/pool/main/f/fakeroot/fakeroot_${PV}.tar.gz \ + file://work-with-older-libtool.patch;patch=1" inherit autotools diff --git a/packages/ffmpeg/ffmpeg_svn.bb b/packages/ffmpeg/ffmpeg_svn.bb index 051363474e..5276a8fef6 100644 --- a/packages/ffmpeg/ffmpeg_svn.bb +++ b/packages/ffmpeg/ffmpeg_svn.bb @@ -3,7 +3,7 @@ SECTION = "libs" PRIORITY = "optional" LICENSE = "GPL" DEPENDS = "libogg zlib libvorbis faac liba52 lame" -PV = "0.4.9+svn${SRCDATE}" +PV = "0.4.9+svnr${SRCREV}" PR = "r1" DEFAULT_PREFERENCE = "-1" diff --git a/packages/netbase/netbase/a780/.mtn2git_empty b/packages/fxload/.mtn2git_empty index e69de29bb2..e69de29bb2 100644 --- a/packages/netbase/netbase/a780/.mtn2git_empty +++ b/packages/fxload/.mtn2git_empty diff --git a/packages/netbase/netbase/e680/.mtn2git_empty b/packages/fxload/files/.mtn2git_empty index e69de29bb2..e69de29bb2 100644 --- a/packages/netbase/netbase/e680/.mtn2git_empty +++ b/packages/fxload/files/.mtn2git_empty diff --git a/packages/fxload/files/usbheader.patch b/packages/fxload/files/usbheader.patch new file mode 100644 index 0000000000..db205e9ab5 --- /dev/null +++ b/packages/fxload/files/usbheader.patch @@ -0,0 +1,15 @@ +--- fxload-0.0.20020411.orig/ezusb.c ++++ fxload-0.0.20020411/ezusb.c +@@ -29,7 +29,11 @@ + # include <sys/ioctl.h> + + # include <linux/version.h> +-# include <linux/usb.h> ++#if (LINUX_VERSION_CODE >= 132630) ++# include <linux/usb/ch9.h> ++#else ++# include <linux/usb_ch9.h> ++#endif + # include <linux/usbdevice_fs.h> + + # include "ezusb.h" diff --git a/packages/fxload/fxload_0.0.20020411.bb b/packages/fxload/fxload_0.0.20020411.bb new file mode 100644 index 0000000000..2bebded964 --- /dev/null +++ b/packages/fxload/fxload_0.0.20020411.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "fxload loads firmware into the ezusb chips" +AUTHOR = "Stephen Williams, David Brownell" +HOMEPAGE = "http://linux-hotplug.sourceforge.net/" +SECTION = "admin" +LICENSE = "GPL" +DEPENDS = "linux-libc-headers" +PR = "r1" + +SRC_URI = "http://dfn.dl.sourceforge.net/sourceforge/linux-hotplug/fxload-2002_04_11.tar.gz \ + file://usbheader.patch;patch=1" + +S = "${WORKDIR}/fxload-2002_04_11" + +FILES_${PN} = "${base_sbindir}/fxload" + +do_install() { + mkdir -p ${D}/sbin/ + cp ${S}/fxload ${D}/sbin/fxload +} diff --git a/packages/gcc/gcc-4.2.1/204-uclibc-locale-wchar_fix.patch b/packages/gcc/gcc-4.2.1/204-uclibc-locale-wchar_fix.patch new file mode 100644 index 0000000000..160ab35bb3 --- /dev/null +++ b/packages/gcc/gcc-4.2.1/204-uclibc-locale-wchar_fix.patch @@ -0,0 +1,48 @@ +--- gcc/libstdc++-v3/config/locale/uclibc/monetary_members.cc.uclibc200_wchar~ 2006-03-10 15:32:37 +0100 ++++ gcc/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2006-03-10 15:37:27 +0100 +@@ -401,7 +401,7 @@ + # ifdef __UCLIBC_HAS_XLOCALE__ + _M_data->_M_decimal_point = __cloc->decimal_point_wc; + _M_data->_M_thousands_sep = __cloc->thousands_sep_wc; +-# else ++# elif defined __UCLIBC_HAS_LOCALE__ + _M_data->_M_decimal_point = __global_locale->decimal_point_wc; + _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc; + # endif +@@ -556,7 +556,7 @@ + # ifdef __UCLIBC_HAS_XLOCALE__ + _M_data->_M_decimal_point = __cloc->decimal_point_wc; + _M_data->_M_thousands_sep = __cloc->thousands_sep_wc; +-# else ++# elif defined __UCLIBC_HAS_LOCALE__ + _M_data->_M_decimal_point = __global_locale->decimal_point_wc; + _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc; + # endif +--- gcc/libstdc++-v3/config/locale/uclibc/numeric_members.cc.uclibc200_wchar~ 2006-03-10 15:32:37 +0100 ++++ gcc/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2006-03-10 15:37:27 +0100 +@@ -127,12 +127,25 @@ + { + // Named locale. + // NB: In the GNU model wchar_t is always 32 bit wide. ++#ifdef __UCLIBC_MJN3_ONLY__ ++#warning fix this... should be numeric ++#endif ++#ifdef __UCLIBC__ ++# ifdef __UCLIBC_HAS_XLOCALE__ ++ _M_data->_M_decimal_point = __cloc->decimal_point_wc; ++ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc; ++# elif defined __UCLIBC_HAS_LOCALE__ ++ _M_data->_M_decimal_point = __global_locale->decimal_point_wc; ++ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc; ++# endif ++#else + union { char *__s; wchar_t __w; } __u; + __u.__s = __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc); + _M_data->_M_decimal_point = __u.__w; + + __u.__s = __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc); + _M_data->_M_thousands_sep = __u.__w; ++#endif + + if (_M_data->_M_thousands_sep == L'\0') + _M_data->_M_grouping = ""; diff --git a/packages/gcc/gcc-4.2.1/205-uclibc-locale-update.patch b/packages/gcc/gcc-4.2.1/205-uclibc-locale-update.patch new file mode 100644 index 0000000000..86b2844554 --- /dev/null +++ b/packages/gcc/gcc-4.2.1/205-uclibc-locale-update.patch @@ -0,0 +1,347 @@ +--- gcc/libstdc++-v3/config/locale/uclibc/c_locale.cc.uclibc200_update~ 2006-03-10 15:32:37 +0100 ++++ gcc/libstdc++-v3/config/locale/uclibc/c_locale.cc 2006-03-10 15:39:14 +0100 +@@ -46,16 +47,13 @@ + __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err, + const __c_locale& __cloc) + { +- if (!(__err & ios_base::failbit)) +- { +- char* __sanity; +- errno = 0; +- float __f = __strtof_l(__s, &__sanity, __cloc); +- if (__sanity != __s && errno != ERANGE) +- __v = __f; +- else +- __err |= ios_base::failbit; +- } ++ char* __sanity; ++ errno = 0; ++ float __f = __strtof_l(__s, &__sanity, __cloc); ++ if (__sanity != __s && errno != ERANGE) ++ __v = __f; ++ else ++ __err |= ios_base::failbit; + } + + template<> +@@ -63,16 +61,13 @@ + __convert_to_v(const char* __s, double& __v, ios_base::iostate& __err, + const __c_locale& __cloc) + { +- if (!(__err & ios_base::failbit)) +- { +- char* __sanity; +- errno = 0; +- double __d = __strtod_l(__s, &__sanity, __cloc); +- if (__sanity != __s && errno != ERANGE) +- __v = __d; +- else +- __err |= ios_base::failbit; +- } ++ char* __sanity; ++ errno = 0; ++ double __d = __strtod_l(__s, &__sanity, __cloc); ++ if (__sanity != __s && errno != ERANGE) ++ __v = __d; ++ else ++ __err |= ios_base::failbit; + } + + template<> +@@ -80,16 +75,13 @@ + __convert_to_v(const char* __s, long double& __v, ios_base::iostate& __err, + const __c_locale& __cloc) + { +- if (!(__err & ios_base::failbit)) +- { +- char* __sanity; +- errno = 0; +- long double __ld = __strtold_l(__s, &__sanity, __cloc); +- if (__sanity != __s && errno != ERANGE) +- __v = __ld; +- else +- __err |= ios_base::failbit; +- } ++ char* __sanity; ++ errno = 0; ++ long double __ld = __strtold_l(__s, &__sanity, __cloc); ++ if (__sanity != __s && errno != ERANGE) ++ __v = __ld; ++ else ++ __err |= ios_base::failbit; + } + + void +@@ -110,7 +102,7 @@ + void + locale::facet::_S_destroy_c_locale(__c_locale& __cloc) + { +- if (_S_get_c_locale() != __cloc) ++ if (__cloc && _S_get_c_locale() != __cloc) + __freelocale(__cloc); + } + +--- gcc/libstdc++-v3/config/locale/uclibc/ctype_members.cc.uclibc200_update~ 2006-03-10 15:32:37 +0100 ++++ gcc/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2006-03-10 15:39:14 +0100 +@@ -33,9 +33,14 @@ + + // Written by Benjamin Kosnik <bkoz@redhat.com> + ++#include <features.h> ++#ifdef __UCLIBC_HAS_LOCALE__ + #define _LIBC + #include <locale> + #undef _LIBC ++#else ++#include <locale> ++#endif + #include <bits/c++locale_internal.h> + + namespace std +@@ -138,20 +143,34 @@ + ctype<wchar_t>:: + do_is(mask __m, wchar_t __c) const + { +- // Highest bitmask in ctype_base == 10, but extra in "C" +- // library for blank. ++ // The case of __m == ctype_base::space is particularly important, ++ // due to its use in many istream functions. Therefore we deal with ++ // it first, exploiting the knowledge that on GNU systems _M_bit[5] ++ // is the mask corresponding to ctype_base::space. NB: an encoding ++ // change would not affect correctness! + bool __ret = false; +- const size_t __bitmasksize = 11; +- for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur) +- if (__m & _M_bit[__bitcur] +- && __iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype)) +- { +- __ret = true; +- break; +- } ++ if (__m == _M_bit[5]) ++ __ret = __iswctype_l(__c, _M_wmask[5], _M_c_locale_ctype); ++ else ++ { ++ // Highest bitmask in ctype_base == 10, but extra in "C" ++ // library for blank. ++ const size_t __bitmasksize = 11; ++ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur) ++ if (__m & _M_bit[__bitcur]) ++ { ++ if (__iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype)) ++ { ++ __ret = true; ++ break; ++ } ++ else if (__m == _M_bit[__bitcur]) ++ break; ++ } ++ } + return __ret; + } +- ++ + const wchar_t* + ctype<wchar_t>:: + do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const +--- gcc/libstdc++-v3/config/locale/uclibc/messages_members.h.uclibc200_update~ 2006-03-10 15:32:37 +0100 ++++ gcc/libstdc++-v3/config/locale/uclibc/messages_members.h 2006-03-10 15:39:14 +0100 +@@ -47,18 +47,21 @@ + template<typename _CharT> + messages<_CharT>::messages(size_t __refs) + : facet(__refs), _M_c_locale_messages(_S_get_c_locale()), +- _M_name_messages(_S_get_c_name()) ++ _M_name_messages(_S_get_c_name()) + { } + + template<typename _CharT> + messages<_CharT>::messages(__c_locale __cloc, const char* __s, + size_t __refs) +- : facet(__refs), _M_c_locale_messages(_S_clone_c_locale(__cloc)), +- _M_name_messages(__s) ++ : facet(__refs), _M_c_locale_messages(NULL), _M_name_messages(NULL) + { +- char* __tmp = new char[std::strlen(__s) + 1]; +- std::strcpy(__tmp, __s); ++ const size_t __len = std::strlen(__s) + 1; ++ char* __tmp = new char[__len]; ++ std::memcpy(__tmp, __s, __len); + _M_name_messages = __tmp; ++ ++ // Last to avoid leaking memory if new throws. ++ _M_c_locale_messages = _S_clone_c_locale(__cloc); + } + + template<typename _CharT> +--- gcc/libstdc++-v3/config/locale/uclibc/monetary_members.cc.uclibc200_update~ 2006-03-10 15:37:27 +0100 ++++ gcc/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2006-03-10 15:39:14 +0100 +@@ -33,9 +33,14 @@ + + // Written by Benjamin Kosnik <bkoz@redhat.com> + ++#include <features.h> ++#ifdef __UCLIBC_HAS_LOCALE__ + #define _LIBC + #include <locale> + #undef _LIBC ++#else ++#include <locale> ++#endif + #include <bits/c++locale_internal.h> + + #ifdef __UCLIBC_MJN3_ONLY__ +@@ -206,7 +211,7 @@ + } + break; + default: +- ; ++ __ret = pattern(); + } + return __ret; + } +--- gcc/libstdc++-v3/config/locale/uclibc/numeric_members.cc.uclibc200_update~ 2006-03-10 15:37:27 +0100 ++++ gcc/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2006-03-10 15:39:14 +0100 +@@ -33,9 +33,14 @@ + + // Written by Benjamin Kosnik <bkoz@redhat.com> + ++#include <features.h> ++#ifdef __UCLIBC_HAS_LOCALE__ + #define _LIBC + #include <locale> + #undef _LIBC ++#else ++#include <locale> ++#endif + #include <bits/c++locale_internal.h> + + #ifdef __UCLIBC_MJN3_ONLY__ +--- gcc/libstdc++-v3/config/locale/uclibc/time_members.h.uclibc200_update~ 2006-03-10 15:06:17 +0100 ++++ gcc/libstdc++-v3/config/locale/uclibc/time_members.h 2006-03-10 15:39:14 +0100 +@@ -37,25 +37,33 @@ + template<typename _CharT> + __timepunct<_CharT>::__timepunct(size_t __refs) + : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL), +- _M_name_timepunct(_S_get_c_name()) ++ _M_name_timepunct(_S_get_c_name()) + { _M_initialize_timepunct(); } + + template<typename _CharT> + __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs) + : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(NULL), +- _M_name_timepunct(_S_get_c_name()) ++ _M_name_timepunct(_S_get_c_name()) + { _M_initialize_timepunct(); } + + template<typename _CharT> + __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s, + size_t __refs) + : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL), +- _M_name_timepunct(__s) ++ _M_name_timepunct(NULL) + { +- char* __tmp = new char[std::strlen(__s) + 1]; +- std::strcpy(__tmp, __s); ++ const size_t __len = std::strlen(__s) + 1; ++ char* __tmp = new char[__len]; ++ std::memcpy(__tmp, __s, __len); + _M_name_timepunct = __tmp; +- _M_initialize_timepunct(__cloc); ++ ++ try ++ { _M_initialize_timepunct(__cloc); } ++ catch(...) ++ { ++ delete [] _M_name_timepunct; ++ __throw_exception_again; ++ } + } + + template<typename _CharT> +--- gcc-4.2/libstdc++-v3/config/locale/uclibc/c_locale.h.old 2006-09-28 11:39:00.000000000 +0200 ++++ gcc-4.2/libstdc++-v3/config/locale/uclibc/c_locale.h 2006-09-28 12:10:41.000000000 +0200 +@@ -39,21 +39,23 @@ + #pragma GCC system_header + + #include <cstring> // get std::strlen +-#include <cstdio> // get std::snprintf or std::sprintf ++#include <cstdio> // get std::vsnprintf or std::vsprintf + #include <clocale> + #include <langinfo.h> // For codecvt + #ifdef __UCLIBC_MJN3_ONLY__ + #warning fix this + #endif +-#ifdef __UCLIBC_HAS_LOCALE__ ++#ifdef _GLIBCXX_USE_ICONV + #include <iconv.h> // For codecvt using iconv, iconv_t + #endif +-#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__ +-#include <libintl.h> // For messages ++#ifdef HAVE_LIBINTL_H ++#include <libintl.h> // For messages + #endif ++#include <cstdarg> + + #ifdef __UCLIBC_MJN3_ONLY__ + #warning what is _GLIBCXX_C_LOCALE_GNU for ++// psm: used in os/gnu-linux/ctype_noninline.h + #endif + #define _GLIBCXX_C_LOCALE_GNU 1 + +@@ -62,7 +64,7 @@ + #endif + // #define _GLIBCXX_NUM_CATEGORIES 6 + #define _GLIBCXX_NUM_CATEGORIES 0 +- ++ + #ifdef __UCLIBC_HAS_XLOCALE__ + namespace __gnu_cxx + { +@@ -79,22 +81,24 @@ + typedef int* __c_locale; + #endif + +- // Convert numeric value of type _Tv to string and return length of +- // string. If snprintf is available use it, otherwise fall back to +- // the unsafe sprintf which, in general, can be dangerous and should ++ // Convert numeric value of type double to string and return length of ++ // string. If vsnprintf is available use it, otherwise fall back to ++ // the unsafe vsprintf which, in general, can be dangerous and should + // be avoided. +- template<typename _Tv> +- int +- __convert_from_v(char* __out, +- const int __size __attribute__ ((__unused__)), +- const char* __fmt, +-#ifdef __UCLIBC_HAS_XCLOCALE__ +- _Tv __v, const __c_locale& __cloc, int __prec) ++ inline int ++ __convert_from_v(const __c_locale& ++#ifndef __UCLIBC_HAS_XCLOCALE__ ++ __cloc __attribute__ ((__unused__)) ++#endif ++ , ++ char* __out, ++ const int __size, ++ const char* __fmt, ...) + { ++ va_list __args; ++#ifdef __UCLIBC_HAS_XCLOCALE__ + __c_locale __old = __gnu_cxx::__uselocale(__cloc); + #else +- _Tv __v, const __c_locale&, int __prec) +- { + # ifdef __UCLIBC_HAS_LOCALE__ + char* __old = std::setlocale(LC_ALL, NULL); + char* __sav = new char[std::strlen(__old) + 1]; +@@ -103,7 +107,9 @@ + # endif + #endif + +- const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v); ++ va_start(__args, __fmt); ++ const int __ret = std::vsnprintf(__out, __size, __fmt, __args); ++ va_end(__args); + + #ifdef __UCLIBC_HAS_XCLOCALE__ + __gnu_cxx::__uselocale(__old); diff --git a/packages/gcc/gcc-cross_4.2.1.bb b/packages/gcc/gcc-cross_4.2.1.bb index b11259676e..a9e4a0ddc2 100644 --- a/packages/gcc/gcc-cross_4.2.1.bb +++ b/packages/gcc/gcc-cross_4.2.1.bb @@ -5,7 +5,7 @@ inherit cross FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}" # NOTE: split PR. If the main .oe changes something that affects its *build* # remember to increment this one too. -PR = "r3" +PR = "r4" DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc gmp-native mpfr-native" PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++" diff --git a/packages/gcc/gcc_4.2.1.bb b/packages/gcc/gcc_4.2.1.bb index 11599444f8..7c50167345 100644 --- a/packages/gcc/gcc_4.2.1.bb +++ b/packages/gcc/gcc_4.2.1.bb @@ -1,4 +1,4 @@ -PR = "r2" +PR = "r3" DESCRIPTION = "The GNU cc and gcc C compilers." HOMEPAGE = "http://www.gnu.org/software/gcc/" SECTION = "devel" @@ -13,6 +13,8 @@ SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \ file://103-uclibc-conf-noupstream.patch;patch=1 \ file://200-uclibc-locale.patch;patch=1 \ file://203-uclibc-locale-no__x.patch;patch=1 \ + file://204-uclibc-locale-wchar_fix.patch;patch=1 \ + file://205-uclibc-locale-update.patch;patch=1 \ file://300-libstdc++-pic.patch;patch=1 \ file://301-missing-execinfo_h.patch;patch=1 \ file://302-c99-snprintf.patch;patch=1 \ diff --git a/packages/glibc/eglibc-initial_svn.bb b/packages/glibc/eglibc-initial_svn.bb index 02ba4c6273..ae3f0d2b41 100644 --- a/packages/glibc/eglibc-initial_svn.bb +++ b/packages/glibc/eglibc-initial_svn.bb @@ -10,6 +10,7 @@ do_configure () { sed -ie 's,{ (exit 1); exit 1; }; },{ (exit 0); }; },g' ${S}/configure chmod +x ${S}/configure unset CFLAGS + find ${S} -name "configure" | xargs touch CC="${BUILD_CC}" CPP="${BUILD_CPP}" LD="${BUILD_LD}" ${S}/configure --host=${TARGET_SYS} --build=${BUILD_SYS} \ --without-cvs --disable-sanity-checks \ --with-headers=${CROSS_DIR}/${TARGET_SYS}/include \ diff --git a/packages/glibc/eglibc-intermediate_svn.bb b/packages/glibc/eglibc-intermediate_svn.bb index c26f649031..5ecbdb6ed8 100644 --- a/packages/glibc/eglibc-intermediate_svn.bb +++ b/packages/glibc/eglibc-intermediate_svn.bb @@ -6,6 +6,7 @@ do_install () { # gcc uses -Werror which break on a "you have no thumb interwork" _warning_ do_configure_prepend() { + find ${S} -name "configure" | xargs touch sed -i s:-Werror:: ${S}/configure } diff --git a/packages/glibc/eglibc_svn.bb b/packages/glibc/eglibc_svn.bb index b47493f4e0..0b69283681 100644 --- a/packages/glibc/eglibc_svn.bb +++ b/packages/glibc/eglibc_svn.bb @@ -65,7 +65,7 @@ do_configure () { exit 1 fi (cd ${S} && gnu-configize) || die "failure in running gnu-configize" - find ${WORKDIR} -name "configure" | xargs touch + find ${S} -name "configure" | xargs touch CPPFLAGS="" oe_runconf } diff --git a/packages/gnome/gnome-desktop_2.18.3.bb b/packages/gnome/gnome-desktop_2.18.3.bb index 02beafa044..e341fd31ab 100644 --- a/packages/gnome/gnome-desktop_2.18.3.bb +++ b/packages/gnome/gnome-desktop_2.18.3.bb @@ -11,8 +11,6 @@ SRC_URI += "file://scrollkeeper.patch;patch=1 \ EXTRA_OECONF = "--disable-scrollkeeper" -EXTRA_AUTORECONF = "-I ${STAGING_DIR}/${HOST_SYS}/share/aclocal/gnome2-macros" - do_configure_prepend () { cp ${STAGING_DIR}/${HOST_SYS}/share/gnome-common/data/omf.make ${S} } diff --git a/packages/gnome/gnome-panel_2.18.1.bb b/packages/gnome/gnome-panel_2.18.1.bb index 349951143b..59c6f3e6e0 100644 --- a/packages/gnome/gnome-panel_2.18.1.bb +++ b/packages/gnome/gnome-panel_2.18.1.bb @@ -1,8 +1,9 @@ LICENSE = "GPL" DEPENDS = "libwnck orbit2 gtk+ libgnome libgnomeui gnome-desktop libglade gnome-menus" -inherit gnome pkgconfig +PR = "r1" +inherit gnome pkgconfig do_configure_prepend() { sed -i -e s:help:: ${S}/Makefile.am @@ -12,6 +13,9 @@ do_configure_prepend() { PACKAGES =+ "libpanel-applet" FILES_libpanel-applet = "${libdir}/libpanel-applet-2.so.*" +FILES_${PN} =+ "${datadir}/gnome* \ + ${datadir}/icons" + do_stage() { autotools_stage_all } diff --git a/packages/gnome/libwnck_2.13.5.bb b/packages/gnome/libwnck_2.13.5.bb index 1830a7540a..5ad3e00cbf 100644 --- a/packages/gnome/libwnck_2.13.5.bb +++ b/packages/gnome/libwnck_2.13.5.bb @@ -1,7 +1,6 @@ LICENSE = "LGPL" DEPENDS = "gtk+" DESCRIPTION = "Window navigation construction toolkit" -HOMEPAGE = "" inherit gnome diff --git a/packages/gpephone/gpe-applauncher_0.10.bb b/packages/gpephone/gpe-applauncher_0.10.bb new file mode 100644 index 0000000000..fbc47bd091 --- /dev/null +++ b/packages/gpephone/gpe-applauncher_0.10.bb @@ -0,0 +1,12 @@ +LICENSE = "GPL" +DESCRIPTION = "A cellphone application launcher." +SECTION = "gpe" +PRIORITY = "optional" +PR = "r0" + +DEPENDS = "gtk+ libgpewidget libgpephone libgpelaunch dbus-glib libsettings libxsettings-client" + +GPE_TARBALL_SUFFIX= "bz2" +inherit gpephone autotools + +FILES_${PN} += '${datadir}/themes' diff --git a/packages/gpephone/libidn_0.5.19.bb b/packages/gpephone/libidn_0.5.19.bb index 4254ef466d..322790b8ab 100644 --- a/packages/gpephone/libidn_0.5.19.bb +++ b/packages/gpephone/libidn_0.5.19.bb @@ -2,7 +2,6 @@ LICENSE = "LGPL" DESCRIPTION = "Implementation of the Stringprep, Punycode and IDNA specifications defined by the IETF Internationalized Domain Names (IDN) working group." SECTION = "libs" PRIORITY = "optional" -DEPENDS = "glibc" PR = "r0" inherit pkgconfig autotools diff --git a/packages/gpicview/.mtn2git_empty b/packages/gpicview/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/gpicview/.mtn2git_empty diff --git a/packages/gpicview/gpicview_0.1.5.bb b/packages/gpicview/gpicview_0.1.5.bb new file mode 100644 index 0000000000..14248ec14f --- /dev/null +++ b/packages/gpicview/gpicview_0.1.5.bb @@ -0,0 +1,10 @@ +DESCRIPTION = "Extremely lightweight and fast with low memory usage" +LICENSE = "GPL" + +DEPENDS = "gtk+" + +SRC_URI = "${SOURCEFORGE_MIRROR}/lxde/${PN}-${PV}.tar.gz" + +inherit autotools pkgconfig + + diff --git a/packages/gsm/files/default b/packages/gsm/files/default index 4b582dd5ac..14c8fc8589 100644 --- a/packages/gsm/files/default +++ b/packages/gsm/files/default @@ -6,6 +6,7 @@ case `cpuinfo_id` in "GTA01"|"GTA02") GSMD_OPTS="-s 115200 -F" GSM_POW="/sys/bus/platform/devices/gta01-pm-gsm.0/power_on" + GSM_RES="/sys/bus/platform/devices/gta01-pm-gsm.0/reset" GSM_DEV="/dev/ttySAC0" ;; "HTC Apache"|"HTC Blueangel") @@ -28,6 +29,10 @@ case `cpuinfo_id` in GSMD_OPTS="-s 460800 -F -w 1" GSM_DEV="/dev/ttyS0" ;; + "Motorola Ezx Platform") + GSMD_OPTS="-s 115200 -F" + GSM_DEV="/dev/mux0" + ;; *) # Unknown board @@ -37,6 +42,9 @@ case `cpuinfo_id` in # If your GSM device needs to be powered up, uncomment and modify the next line #GSM_POW="/sys/bus/platform/devices/gta01-pm-gsm.0/power_on" + # If your GSM device then needs to be reset, uncomment and modify the next line + #GSM_RES="/sys/bus/platform/devices/gta01-pm-gsm.0/reset" + # This should be in a common /etc/default/serial, together with # BT_DEV and IR_DEV for devices that have those on a serial port #GSM_DEV="/dev/ttyS1" diff --git a/packages/gsm/files/gsmd b/packages/gsm/files/gsmd index bc7999ea77..0ac4698899 100644 --- a/packages/gsm/files/gsmd +++ b/packages/gsm/files/gsmd @@ -13,10 +13,10 @@ PATH=/bin:/usr/bin:/sbin:/usr/sbin case "$1" in start) - [ -n $GSM_POW ] && ( echo "0" >$GSM_POW; sleep 1 ) - [ -n $GSM_POW ] && ( echo "1" >$GSM_POW; sleep 1 ) - [ -n $GSM_RES ] && ( echo "1" >$GSM_RES; sleep 1 ) - [ -n $GSM_RES ] && ( echo "0" >$GSM_RES; sleep 2 ) + [ -n "$GSM_POW" ] && ( echo "0" >$GSM_POW; sleep 1 ) + [ -n "$GSM_POW" ] && ( echo "1" >$GSM_POW; sleep 1 ) + [ -n "$GSM_RES" ] && ( echo "1" >$GSM_RES; sleep 1 ) + [ -n "$GSM_RES" ] && ( echo "0" >$GSM_RES; sleep 2 ) echo -n "Starting GSM daemon: " start-stop-daemon -S -x /usr/sbin/gsmd -- gsmd -p $GSM_DEV $GSMD_OPTS >/tmp/gsm.log 2>&1 & @@ -28,7 +28,7 @@ case "$1" in fi ;; stop) - [ -n $GSM_POW ] && echo "0" >$GSM_POW + [ -n "$GSM_POW" ] && echo "0" >$GSM_POW echo -n "Stopping GSM daemon: " start-stop-daemon -K -x /usr/sbin/gsmd diff --git a/packages/gsm/libgsmd_svn.bb b/packages/gsm/libgsmd_svn.bb index 914520ad8a..b312015172 100644 --- a/packages/gsm/libgsmd_svn.bb +++ b/packages/gsm/libgsmd_svn.bb @@ -4,7 +4,7 @@ LICENSE = "GPL LGPL" SECTION = "libs/gsm" PROVIDES += "gsmd" PV = "0.1+svnr${SRCREV}" -PR = "r22" +PR = "r25" SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=gsm;proto=http \ file://gsmd \ diff --git a/packages/gtk+/gdk-pixbuf-csource-native_2.10.14.bb b/packages/gtk+/gdk-pixbuf-csource-native_2.10.14.bb new file mode 100644 index 0000000000..f3b7b0e6c8 --- /dev/null +++ b/packages/gtk+/gdk-pixbuf-csource-native_2.10.14.bb @@ -0,0 +1,25 @@ +require gtk+_${PV}.bb +inherit native +DEPENDS = "" +S = "${WORKDIR}/gtk+-${PV}" +FILESPATH = "${FILE_DIRNAME}/gdk-pixbuf-csource:${FILE_DIRNAME}/gtk+-${PV}:${FILE_DIRNAME}/files" +SRC_URI += "file://reduce-dependencies.patch;patch=1" + +EXTRA_OECONF = "\ + --without-x \ + --with-gdktarget=linux-fb \ + --without-libtiff \ +" + +do_compile() { + cd gdk-pixbuf && oe_runmake +} + +do_stage() { + cd gdk-pixbuf && oe_runmake install +} + +do_install() { + : +} + diff --git a/packages/gtk+/gdk-pixbuf-csource/.mtn2git_empty b/packages/gtk+/gdk-pixbuf-csource/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/gtk+/gdk-pixbuf-csource/.mtn2git_empty diff --git a/packages/gtk+/gdk-pixbuf-csource/reduce-dependencies.patch b/packages/gtk+/gdk-pixbuf-csource/reduce-dependencies.patch new file mode 100644 index 0000000000..c31a3b137a --- /dev/null +++ b/packages/gtk+/gdk-pixbuf-csource/reduce-dependencies.patch @@ -0,0 +1,149 @@ +# +# strip unnecessary stuff out of configure, we just want +# to build gdk-pixbuf-csource. +# -- Michael 'Mickey' Lauer <mlauer@vanille-media.de> +# +Index: gtk+-2.10.14/configure.in +=================================================================== +--- gtk+-2.10.14.orig/configure.in ++++ gtk+-2.10.14/configure.in +@@ -32,9 +32,6 @@ m4_define([gtk_binary_version], [2.10.0] + + # required versions of other packages + m4_define([glib_required_version], [2.12.0]) +-m4_define([pango_required_version], [1.12.0]) +-m4_define([atk_required_version], [1.9.0]) +-m4_define([cairo_required_version], [1.2.0]) + + + AC_INIT([gtk+], [gtk_version], +@@ -343,10 +340,7 @@ ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS" + ## the version requirements since those make the module lists + ## annoying to construct + PKG_CHECK_MODULES(BASE_DEPENDENCIES, +- [glib-2.0 >= glib_required_version dnl +- atk >= atk_required_version dnl +- pango >= pango_required_version dnl +- cairo >= cairo_required_version]) ++ [glib-2.0 >= glib_required_version]) + + if test "$os_win32" != yes; then + # libtool option to control which symbols are exported +@@ -1437,48 +1431,6 @@ else + AM_CONDITIONAL(USE_DIRECTFB, false) + fi + +- +-# Check for Pango flags +- +-if test "x$gdktarget" = "xwin32"; then +- PANGO_PACKAGES="pangowin32 pangocairo" +-else +- PANGO_PACKAGES="pango pangocairo" +-fi +- +-AC_MSG_CHECKING(Pango flags) +-if $PKG_CONFIG --exists $PANGO_PACKAGES ; then +- PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES` +- PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_PACKAGES` +- +- AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS) +-else +- AC_MSG_ERROR([ +-*** Pango not found. Pango built with Cairo support is required +-*** to build GTK+. See http://www.pango.org for Pango information. +-]) +-fi +- +-CFLAGS="$CFLAGS $PANGO_CFLAGS" +- +-if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then +- : +-else +- gtk_save_LIBS="$LIBS" +- LIBS="$PANGO_LIBS $LIBS" +- AC_TRY_LINK_FUNC(pango_context_new, :, AC_MSG_ERROR([ +-*** Can't link to Pango. Pango is required to build +-*** GTK+. For more information see http://www.pango.org])) +- LIBS="$gtk_save_LIBS" +-fi +- +-CFLAGS="$saved_cflags" +-LDFLAGS="$saved_ldflags" +- +-GDK_PACKAGES="$PANGO_PACKAGES" +-if test "x$gdktarget" = "xx11"; then +- GDK_PACKAGES="$GDK_PACKAGES $X_PACKAGES" +-fi + GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS" + GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS" + +@@ -1487,7 +1439,7 @@ GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags g + # into the pkg-config files + # + if test $enable_explicit_deps != yes ; then +- GDK_PACKAGES="$PANGO_PACKAGES" ++ GDK_PACKAGES= + GDK_EXTRA_LIBS= + fi + +@@ -1498,39 +1450,10 @@ AC_SUBST(GDK_DEP_LIBS) + AC_SUBST(GDK_DEP_CFLAGS) + + +-######################################## +-# Check for Accessibility Toolkit flags +-######################################## +- +-ATK_PACKAGES=atk +-AC_MSG_CHECKING(ATK flags) +-if $PKG_CONFIG --exists $ATK_PACKAGES ; then +- ATK_CFLAGS=`$PKG_CONFIG --cflags $ATK_PACKAGES` +- ATK_LIBS=`$PKG_CONFIG --libs $ATK_PACKAGES` +- +- AC_MSG_RESULT($ATK_CFLAGS $ATK_LIBS) +-else +- AC_MSG_ERROR([ +-*** Accessibility Toolkit not found. Accessibility Toolkit is required +-*** to build GTK+. +-]) +-fi +- +-if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then +- : +-else +- gtk_save_LIBS="$LIBS" +- LIBS="$ATK_LIBS $LIBS" +- AC_TRY_LINK_FUNC(atk_object_get_type, : , AC_MSG_ERROR([ +- *** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required +- *** to build GTK+])) +- LIBS="$gtk_save_LIBS" +-fi +- +-GTK_PACKAGES="atk cairo" ++GTK_PACKAGES= + GTK_EXTRA_LIBS= + GTK_EXTRA_CFLAGS= +-GTK_DEP_LIBS="$GDK_EXTRA_LIBS $GTK_DEP_LIBS_FOR_X `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $PANGO_PACKAGES $GTK_PACKAGES_FOR_X $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS" ++GTK_DEP_LIBS="$GDK_EXTRA_LIBS $GTK_DEP_LIBS_FOR_X `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GTK_PACKAGES_FOR_X $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS" + GTK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS $GTK_EXTRA_CFLAGS" + + if test x"$os_win32" = xyes; then +@@ -1584,17 +1507,6 @@ AM_CONDITIONAL(HAVE_CUPS, test "x$CUPS_C + + gtk_save_cppflags="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS" +- +-AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([ +-*** Can't find cairo-pdf.h. You must build Cairo with the pdf +-*** backend enabled.])) +- +-if test "$os_win32" != "yes"; then +- AC_CHECK_HEADER(cairo-ps.h,,AC_MSG_ERROR([ +-*** Can't find cairo-ps.h. You must build Cairo with the +-*** postscript backend enabled.])) +-fi +- + CPPFLAGS="$gtk_save_cppflags" + + diff --git a/packages/gtk-webcore/midori/.mtn2git_empty b/packages/gtk-webcore/midori/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/gtk-webcore/midori/.mtn2git_empty diff --git a/packages/gtk-webcore/midori/midori.desktop b/packages/gtk-webcore/midori/midori.desktop new file mode 100644 index 0000000000..683b1a343e --- /dev/null +++ b/packages/gtk-webcore/midori/midori.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=Midori +Comment=Webkit based browser +Exec=midori +Terminal=false +Type=Application +Categories=Application diff --git a/packages/gtk-webcore/midori_0.0.2.bb b/packages/gtk-webcore/midori_0.0.2.bb deleted file mode 100644 index 7f5fb6cd74..0000000000 --- a/packages/gtk-webcore/midori_0.0.2.bb +++ /dev/null @@ -1,11 +0,0 @@ -DESCRIPTION = "Midori is a lightweight web browser." -LICENSE = "GPLv2" - -DEPENDS = "osb-jscore osb-nrcit osb-nrcore libsexy" - -inherit autotools pkgconfig - -SRC_URI = "http://software.twotoasts.de/media/midori/midori-${PV}.tar.gz" - - - diff --git a/packages/gtk-webcore/midori_0.0.3.bb b/packages/gtk-webcore/midori_0.0.3.bb deleted file mode 100644 index 7f5fb6cd74..0000000000 --- a/packages/gtk-webcore/midori_0.0.3.bb +++ /dev/null @@ -1,11 +0,0 @@ -DESCRIPTION = "Midori is a lightweight web browser." -LICENSE = "GPLv2" - -DEPENDS = "osb-jscore osb-nrcit osb-nrcore libsexy" - -inherit autotools pkgconfig - -SRC_URI = "http://software.twotoasts.de/media/midori/midori-${PV}.tar.gz" - - - diff --git a/packages/gtk-webcore/midori_0.0.4.bb b/packages/gtk-webcore/midori_0.0.4.bb deleted file mode 100644 index 4f39f7bab3..0000000000 --- a/packages/gtk-webcore/midori_0.0.4.bb +++ /dev/null @@ -1,11 +0,0 @@ -DESCRIPTION = "Midori is a lightweight web browser." -LICENSE = "GPLv2" - -DEPENDS = "webkit-gtk libsexy" - -inherit autotools pkgconfig - -SRC_URI = "http://software.twotoasts.de/media/midori/midori-${PV}.tar.gz" - - - diff --git a/packages/gtk-webcore/midori_0.0.5.bb b/packages/gtk-webcore/midori_0.0.5.bb deleted file mode 100644 index 4f39f7bab3..0000000000 --- a/packages/gtk-webcore/midori_0.0.5.bb +++ /dev/null @@ -1,11 +0,0 @@ -DESCRIPTION = "Midori is a lightweight web browser." -LICENSE = "GPLv2" - -DEPENDS = "webkit-gtk libsexy" - -inherit autotools pkgconfig - -SRC_URI = "http://software.twotoasts.de/media/midori/midori-${PV}.tar.gz" - - - diff --git a/packages/gtk-webcore/midori_0.0.6.bb b/packages/gtk-webcore/midori_0.0.6.bb new file mode 100644 index 0000000000..ed0213964f --- /dev/null +++ b/packages/gtk-webcore/midori_0.0.6.bb @@ -0,0 +1,18 @@ +DESCRIPTION = "Midori is a lightweight web browser." +LICENSE = "GPLv2" + +DEPENDS = "webkit-gtk libsexy" + +inherit autotools pkgconfig + +SRC_URI = "http://software.twotoasts.de/media/midori/midori-${PV}.tar.gz \ + file://midori.desktop" + +do_install_append() { + if [ -f ${WORKDIR}/midori.desktop ]; then + install -d ${D}${datadir}/applications + install -m 0644 ${WORKDIR}/midori.desktop ${D}${datadir}/applications + fi + +} + diff --git a/packages/images/angstrom-minimal-image-with-mtd-utils.bb b/packages/images/angstrom-minimal-image-with-mtd-utils.bb index 740c39126c..4fe33e9282 100644 --- a/packages/images/angstrom-minimal-image-with-mtd-utils.bb +++ b/packages/images/angstrom-minimal-image-with-mtd-utils.bb @@ -3,7 +3,7 @@ # to program the NAND flash. require angstrom-minimal-image.bb -RDEPENDS += "mtd-utils" +IMAGE_INSTALL += "mtd-utils" export IMAGE_BASENAME = "minimalist-image-mtdutils" diff --git a/packages/images/liveramdisk-image.bb b/packages/images/liveramdisk-image.bb new file mode 100644 index 0000000000..026ed7b81c --- /dev/null +++ b/packages/images/liveramdisk-image.bb @@ -0,0 +1,28 @@ +# LiveRamdisk image +# Hwo to build: +# First build angstrom-x11-image with glibc +# then switch to ANGSTROM_MODE=uclibc and build this recipe +# LiveRamdisk concept/implementation by Paul Sokolovsky +LICENSE = "MIT" +IMAGE_FSTYPES = "cpio.gz" + +#IMAGE_INSTALL = "initramfs-boot busybox kernel-module-uinput uclibc libgcc1" +IMAGE_INSTALL = "initramfs-jffs2 busybox-static kernel-module-mtdram" + +export IMAGE_BASENAME = "liveramdisk" +export IMAGE_LINGUAS = "" + +# Install only ${IMAGE_INSTALL}, not even deps +PACKAGE_INSTALL_NO_DEPS = "1" + +inherit image + +IMAGE_PREPROCESS_COMMAND += " copy_jffs2_image; " + +copy_jffs2_image() { + # We need glibc main image + latest_image=`ls -1 -r ${DEPLOY_DIR}/../glibc/images/${MACHINE}/Angstrom-x11-image-glibc-*.rootfs.jffs2|head -n1` + [ -n "$latest_image" ] || oefatal "Cannot find jffs2 image in ${DEPLOY_DIR}/../glibc/images/${MACHINE}/" + oenote "Using: cp $latest_image ${IMAGE_ROOTFS}/initrd.jffs2" + cp $latest_image ${IMAGE_ROOTFS}/initrd.jffs2 +} diff --git a/packages/initrdscripts/initramfs-jffs2/jffs2boot.sh b/packages/initrdscripts/initramfs-jffs2/jffs2boot.sh index 81077eeae5..18f4d93273 100644 --- a/packages/initrdscripts/initramfs-jffs2/jffs2boot.sh +++ b/packages/initrdscripts/initramfs-jffs2/jffs2boot.sh @@ -4,7 +4,7 @@ echo "Starting initrd boot..." mkdir /proc mount -t proc proc /proc -modprobe mtdram total_size=24576 erase_size=256 +modprobe mtdram total_size=25088 erase_size=256 sleep 1 ID=`grep "mtdram test device" /proc/mtd | cut -d: -f1| cut -b4-` diff --git a/packages/initrdscripts/initramfs-jffs2_0.1.bb b/packages/initrdscripts/initramfs-jffs2_0.1.bb index 78034c99c9..3e11465536 100644 --- a/packages/initrdscripts/initramfs-jffs2_0.1.bb +++ b/packages/initrdscripts/initramfs-jffs2_0.1.bb @@ -1,5 +1,5 @@ SRC_URI = "file://jffs2boot.sh" -PR = "r0" +PR = "r1" do_install() { install -m 0755 ${WORKDIR}/jffs2boot.sh ${D}/init diff --git a/packages/libnotify/libnotify_0.4.2.bb b/packages/libnotify/libnotify_0.4.2.bb deleted file mode 100644 index f3f3aff334..0000000000 --- a/packages/libnotify/libnotify_0.4.2.bb +++ /dev/null @@ -1,13 +0,0 @@ -DESCRIPTION = "sends desktop notifications to a notification daemon" -HOMEPAGE = "http://www.galago-project.org/" -LICENSE = "LGPL" -DEPENDS = "dbus gtk+" -PR = "r0" - -SRC_URI = "http://www.galago-project.org/files/releases/source/${PN}/${PN}-${PV}.tar.gz" - -inherit autotools pkgconfig - -do_stage() { - autotools_stage_all -} diff --git a/packages/libnotify/libnotify_0.4.3.bb b/packages/libnotify/libnotify_0.4.3.bb deleted file mode 100644 index f3f3aff334..0000000000 --- a/packages/libnotify/libnotify_0.4.3.bb +++ /dev/null @@ -1,13 +0,0 @@ -DESCRIPTION = "sends desktop notifications to a notification daemon" -HOMEPAGE = "http://www.galago-project.org/" -LICENSE = "LGPL" -DEPENDS = "dbus gtk+" -PR = "r0" - -SRC_URI = "http://www.galago-project.org/files/releases/source/${PN}/${PN}-${PV}.tar.gz" - -inherit autotools pkgconfig - -do_stage() { - autotools_stage_all -} diff --git a/packages/libnotify/libnotify_0.4.4.bb b/packages/libnotify/libnotify_0.4.4.bb index f3f3aff334..9152133b4d 100644 --- a/packages/libnotify/libnotify_0.4.4.bb +++ b/packages/libnotify/libnotify_0.4.4.bb @@ -1,10 +1,11 @@ -DESCRIPTION = "sends desktop notifications to a notification daemon" -HOMEPAGE = "http://www.galago-project.org/" -LICENSE = "LGPL" -DEPENDS = "dbus gtk+" -PR = "r0" +DESCRIPTION = "Send desktop notifications to a notification daemon" +HOMEPAGE = "http://www.galago-project.org/" +SECTION = "libs" +LICENSE = "LGPL" +DEPENDS = "dbus gtk+" +PR = "r0" -SRC_URI = "http://www.galago-project.org/files/releases/source/${PN}/${PN}-${PV}.tar.gz" +SRC_URI = "http://www.galago-project.org/files/releases/source/${PN}/${PN}-${PV}.tar.gz" inherit autotools pkgconfig diff --git a/packages/libowl/libowl_svn.bb b/packages/libowl/libowl_svn.bb index 2126e3d4d0..7abc5e409d 100644 --- a/packages/libowl/libowl_svn.bb +++ b/packages/libowl/libowl_svn.bb @@ -12,7 +12,7 @@ HOMEPAGE = "http://www.o-hand.com" LICENSE = "LGPL" SECTION = "libs" PR = "r3" -PV = "0.0+svn${SRCDATE}" +PV = "0.0+svnr${SRCREV}" DEPENDS = "gtk+ glib-2.0" PACKAGES = "" diff --git a/packages/libxosd/libxosd_svn.bb b/packages/libxosd/libxosd_svn.bb index 7dfd05d5d9..bb16f7f09a 100644 --- a/packages/libxosd/libxosd_svn.bb +++ b/packages/libxosd/libxosd_svn.bb @@ -2,7 +2,7 @@ DESCRIPTION = "A library for displaying a TV-like on-screen display in X." SECTION = "libs/x11" DEPENDS = "virtual/libx11 libxext" LICENSE = "LGPL" -PV = "2.2.15+svn${SRCDATE}" +PV = "2.2.15+svnr${SRCREV}" PR = "r5" SRC_URI = "svn://libxosd.svn.sourceforge.net/svnroot/libxosd/source;module=current;proto=https \ diff --git a/packages/linux/linux-2.6.20/at91sam9260ek/.mtn2git_empty b/packages/linux/linux-2.6.20/at91sam9260ek/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/linux/linux-2.6.20/at91sam9260ek/.mtn2git_empty diff --git a/packages/linux/linux-2.6.20/at91sam9260ek/defconfig b/packages/linux/linux-2.6.20/at91sam9260ek/defconfig new file mode 100644 index 0000000000..9278e6e857 --- /dev/null +++ b/packages/linux/linux-2.6.20/at91sam9260ek/defconfig @@ -0,0 +1,1209 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.20 +# Wed Apr 18 14:53:20 2007 +# +CONFIG_ARM=y +# CONFIG_GENERIC_TIME is not set +CONFIG_MMU=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +# CONFIG_ARCH_HAS_ILOG2_U32 is not set +# CONFIG_ARCH_HAS_ILOG2_U64 is not set +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" + +# +# Code maturity level options +# +CONFIG_EXPERIMENTAL=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 + +# +# General setup +# +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +# CONFIG_SWAP is not set +CONFIG_SYSVIPC=y +# CONFIG_IPC_NS is not set +# CONFIG_POSIX_MQUEUE is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set +# CONFIG_UTS_NS is not set +# CONFIG_AUDIT is not set +# CONFIG_IKCONFIG is not set +CONFIG_SYSFS_DEPRECATED=y +# CONFIG_RELAY is not set +CONFIG_INITRAMFS_SOURCE="" +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +# CONFIG_EMBEDDED is not set +CONFIG_UID16=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SHMEM=y +CONFIG_SLAB=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_RT_MUTEXES=y +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=0 +# CONFIG_SLOB is not set + +# +# Loadable module support +# +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_KMOD=y + +# +# Block layer +# +CONFIG_BLOCK=y +# CONFIG_LBD is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_LSF is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_AS=y +# CONFIG_IOSCHED_DEADLINE is not set +# CONFIG_IOSCHED_CFQ is not set +CONFIG_DEFAULT_AS=y +# CONFIG_DEFAULT_DEADLINE is not set +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="anticipatory" + +# +# System Type +# +# CONFIG_ARCH_AAEC2000 is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +CONFIG_ARCH_AT91=y +# CONFIG_ARCH_CLPS7500 is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_CO285 is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_IMX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IXP23XX is not set +# CONFIG_ARCH_L7200 is not set +# CONFIG_ARCH_PNX4008 is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C2410 is not set +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_LH7A40X is not set +# CONFIG_ARCH_OMAP is not set + +# +# Atmel AT91 System-on-Chip +# +# CONFIG_ARCH_AT91RM9200 is not set +CONFIG_ARCH_AT91SAM9260=y +# CONFIG_ARCH_AT91SAM9261 is not set +# CONFIG_ARCH_AT91SAM9263 is not set + +# +# AT91SAM9260 Variants +# +# CONFIG_ARCH_AT91SAM9260_SAM9XE is not set + +# +# AT91SAM9260 / AT91SAM9XE Board Type +# +CONFIG_MACH_AT91SAM9260EK=y + +# +# AT91 Board Options +# +CONFIG_MTD_AT91_DATAFLASH_CARD=y +# CONFIG_MTD_NAND_AT91_BUSWIDTH_16 is not set + +# +# AT91 Feature Selections +# +# CONFIG_AT91_PROGRAMMABLE_CLOCKS is not set + +# +# Processor Type +# +CONFIG_CPU_32=y +CONFIG_CPU_ARM926T=y +CONFIG_CPU_32v5=y +CONFIG_CPU_ABRT_EV5TJ=y +CONFIG_CPU_CACHE_VIVT=y +CONFIG_CPU_COPY_V4WB=y +CONFIG_CPU_TLB_V4WBI=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +# CONFIG_ARM_THUMB is not set +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_WRITETHROUGH is not set +# CONFIG_CPU_CACHE_ROUND_ROBIN is not set + +# +# Bus support +# + +# +# PCCARD (PCMCIA/CardBus) support +# +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +# CONFIG_PREEMPT is not set +# CONFIG_NO_IDLE_HZ is not set +CONFIG_HZ=100 +# CONFIG_AEABI is not set +# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_DISCONTIGMEM_MANUAL is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +# CONFIG_SPARSEMEM_STATIC is not set +CONFIG_SPLIT_PTLOCK_CPUS=4096 +# CONFIG_RESOURCES_64BIT is not set +# CONFIG_LEDS is not set +CONFIG_ALIGNMENT_TRAP=y + +# +# Boot options +# +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_CMDLINE="mem=64M console=ttyS0,115200 initrd=0x21100000,17105363 root=/dev/ram0 rw" +# CONFIG_XIP_KERNEL is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_FPE_NWFPE=y +# CONFIG_FPE_NWFPE_XP is not set +# CONFIG_FPE_FASTFPE is not set +# CONFIG_VFP is not set + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_BINFMT_AOUT is not set +# CONFIG_BINFMT_MISC is not set +# CONFIG_ARTHUR is not set + +# +# Power management options +# +# CONFIG_PM is not set +# CONFIG_APM is not set + +# +# Networking +# +CONFIG_NET=y + +# +# Networking options +# +# CONFIG_NETDEBUG is not set +CONFIG_PACKET=y +# CONFIG_PACKET_MMAP is not set +CONFIG_UNIX=y +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_FIB_HASH=y +CONFIG_IP_PNP=y +# CONFIG_IP_PNP_DHCP is not set +CONFIG_IP_PNP_BOOTP=y +# CONFIG_IP_PNP_RARP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE is not set +# CONFIG_ARPD is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_XFRM_TUNNEL is not set +# CONFIG_INET_TUNNEL is not set +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +# CONFIG_IPV6 is not set +# CONFIG_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NETFILTER is not set + +# +# DCCP Configuration (EXPERIMENTAL) +# +# CONFIG_IP_DCCP is not set + +# +# SCTP Configuration (EXPERIMENTAL) +# +# CONFIG_IP_SCTP is not set + +# +# TIPC Configuration (EXPERIMENTAL) +# +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_BRIDGE is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set + +# +# QoS and/or fair queueing +# +# CONFIG_NET_SCHED is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_IEEE80211 is not set + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +# CONFIG_FW_LOADER is not set +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_SYS_HYPERVISOR is not set + +# +# Connector - unified userspace <-> kernelspace linker +# +# CONFIG_CONNECTOR is not set + +# +# Memory Technology Devices (MTD) +# +CONFIG_MTD=y +# CONFIG_MTD_DEBUG is not set +CONFIG_MTD_CONCAT=y +CONFIG_MTD_PARTITIONS=y +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_CHAR=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE 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_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set +# CONFIG_MTD_OBSOLETE_CHIPS is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +CONFIG_MTD_DATAFLASH=y +# CONFIG_MTD_M25P80 is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +# CONFIG_MTD_DOC2001PLUS is not set + +# +# NAND Flash Device Drivers +# +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_VERIFY_WRITE is not set +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND_IDS=y +# CONFIG_MTD_NAND_DISKONCHIP is not set +CONFIG_MTD_NAND_AT91=y +# CONFIG_MTD_NAND_NANDSIM is not set + +# +# OneNAND Flash Device Drivers +# +# CONFIG_MTD_ONENAND is not set + +# +# Parallel port support +# +# CONFIG_PARPORT is not set + +# +# Plug and Play support +# + +# +# Block devices +# +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_UB is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=4 +CONFIG_BLK_DEV_RAM_SIZE=24576 +CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 +CONFIG_BLK_DEV_INITRD=y +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set + +# +# SCSI device support +# +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +# CONFIG_SCSI_TGT is not set +# CONFIG_SCSI_NETLINK is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set + +# +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs +# +CONFIG_SCSI_MULTI_LUN=y +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set + +# +# SCSI low-level drivers +# +# CONFIG_ISCSI_TCP is not set +# CONFIG_SCSI_DEBUG is not set + +# +# Serial ATA (prod) and Parallel ATA (experimental) drivers +# +# CONFIG_ATA is not set + +# +# Multi-device support (RAID and LVM) +# +# CONFIG_MD is not set + +# +# Fusion MPT device support +# +# CONFIG_FUSION is not set + +# +# IEEE 1394 (FireWire) support +# + +# +# I2O device support +# + +# +# Network device support +# +CONFIG_NETDEVICES=y +# CONFIG_DUMMY is not set +# CONFIG_BONDING is not set +# CONFIG_EQUALIZER is not set +# CONFIG_TUN is not set + +# +# PHY device support +# +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_MARVELL_PHY is not set +CONFIG_DAVICOM_PHY=y +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_FIXED_PHY is not set + +# +# Ethernet (10 or 100Mbit) +# +CONFIG_NET_ETHERNET=y +CONFIG_MII=y +CONFIG_MACB=y +# CONFIG_SMC91X is not set +# CONFIG_DM9000 is not set + +# +# Ethernet (1000 Mbit) +# + +# +# Ethernet (10000 Mbit) +# + +# +# Token Ring devices +# + +# +# Wireless LAN (non-hamradio) +# +# CONFIG_NET_RADIO is not set + +# +# Wan interfaces +# +# CONFIG_WAN is not set +# CONFIG_PPP is not set +# CONFIG_SLIP is not set +# CONFIG_SHAPER is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set + +# +# ISDN subsystem +# +# CONFIG_ISDN is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_FF_MEMLESS is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +# CONFIG_INPUT_MOUSEDEV_PSAUX is not set +CONFIG_INPUT_MOUSEDEV_SCREEN_X=320 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240 +# CONFIG_INPUT_JOYDEV is not set +# CONFIG_INPUT_TSDEV is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_INPUT_JOYSTICK is not set +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_ADS7846=y +# CONFIG_TOUCHSCREEN_GUNZE is not set +# CONFIG_TOUCHSCREEN_ELO is not set +# CONFIG_TOUCHSCREEN_MTOUCH is not set +# CONFIG_TOUCHSCREEN_MK712 is not set +# CONFIG_TOUCHSCREEN_PENMOUNT is not set +# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set +# CONFIG_TOUCHSCREEN_TOUCHWIN is not set +# CONFIG_TOUCHSCREEN_UCB1400 is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +# CONFIG_SERIO is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_VT=y +CONFIG_VT_CONSOLE=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +# CONFIG_SERIAL_NONSTANDARD is not set + +# +# Serial drivers +# +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_ATMEL=y +CONFIG_SERIAL_ATMEL_CONSOLE=y +# CONFIG_SERIAL_ATMEL_TTYAT is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_UNIX98_PTYS=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=256 + +# +# IPMI +# +# CONFIG_IPMI_HANDLER is not set + +# +# Watchdog Cards +# +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_NOWAYOUT=y + +# +# Watchdog Device Drivers +# +# CONFIG_SOFT_WATCHDOG is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_HW_RANDOM=y +# CONFIG_NVRAM is not set +# CONFIG_DTLK is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set + +# +# TPM devices +# +# CONFIG_TCG_TPM is not set + +# +# I2C support +# +# CONFIG_I2C is not set + +# +# SPI support +# +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +CONFIG_SPI_ATMEL=y +# CONFIG_SPI_BITBANG is not set + +# +# SPI Protocol Masters +# + +# +# Dallas's 1-wire bus +# +# CONFIG_W1 is not set + +# +# Hardware Monitoring support +# +# CONFIG_HWMON is not set +# CONFIG_HWMON_VID is not set + +# +# Misc devices +# +# CONFIG_TIFM_CORE is not set + +# +# LED devices +# +# CONFIG_NEW_LEDS is not set + +# +# LED drivers +# + +# +# LED Triggers +# + +# +# Multimedia devices +# +# CONFIG_VIDEO_DEV is not set + +# +# Digital Video Broadcasting Devices +# +# CONFIG_DVB is not set +# CONFIG_USB_DABUSB is not set + +# +# Graphics support +# +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB=y +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_VIRTUAL is not set + +# +# Console display driver support +# +# CONFIG_VGA_CONSOLE is not set +CONFIG_DUMMY_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE is not set + +# +# Logo configuration +# +# CONFIG_LOGO is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set + +# +# Sound +# +CONFIG_SOUND=y + +# +# Advanced Linux Sound Architecture +# +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_SEQUENCER=y +CONFIG_SND_SEQ_DUMMY=y +CONFIG_SND_OSSEMUL=y +CONFIG_SND_MIXER_OSS=y +CONFIG_SND_PCM_OSS=y +CONFIG_SND_PCM_OSS_PLUGINS=y +CONFIG_SND_SEQUENCER_OSS=y +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_VERBOSE_PROCFS=y +CONFIG_SND_VERBOSE_PRINTK=y +CONFIG_SND_DEBUG=y +CONFIG_SND_DEBUG_DETECT=y +# CONFIG_SND_PCM_XRUN_DEBUG is not set + +# +# Generic devices +# +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_VIRMIDI is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set + +# +# ALSA ARM devices +# + +# +# USB devices +# +# CONFIG_SND_USB_AUDIO is not set + +# +# Open Sound System +# +# CONFIG_SOUND_PRIME is not set + +# +# HID Devices +# +CONFIG_HID=y + +# +# USB support +# +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +# CONFIG_USB_ARCH_HAS_EHCI is not set +CONFIG_USB=y +# CONFIG_USB_DEBUG is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEVICEFS=y +# CONFIG_USB_BANDWIDTH is not set +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_ISP116X_HCD is not set +CONFIG_USB_OHCI_HCD=y +# CONFIG_USB_OHCI_BIG_ENDIAN is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +# CONFIG_USB_SL811_HCD is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set + +# +# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' +# + +# +# may also be needed; see USB_STORAGE Help for more information +# +CONFIG_USB_STORAGE=y +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_DPCM is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_LIBUSUAL is not set + +# +# USB Input Devices +# +# CONFIG_USB_HID is not set + +# +# USB HID Boot Protocol drivers +# +# CONFIG_USB_KBD is not set +# CONFIG_USB_MOUSE is not set +# CONFIG_USB_AIPTEK is not set +# CONFIG_USB_WACOM is not set +# CONFIG_USB_ACECAD is not set +# CONFIG_USB_KBTAB is not set +# CONFIG_USB_POWERMATE is not set +# CONFIG_USB_TOUCHSCREEN is not set +# CONFIG_USB_YEALINK is not set +# CONFIG_USB_XPAD is not set +# CONFIG_USB_ATI_REMOTE is not set +# CONFIG_USB_ATI_REMOTE2 is not set +# CONFIG_USB_KEYSPAN_REMOTE is not set +# CONFIG_USB_APPLETOUCH is not set + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set + +# +# USB Network Adapters +# +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_USBNET_MII is not set +# CONFIG_USB_USBNET is not set +CONFIG_USB_MON=y + +# +# USB port drivers +# + +# +# USB Serial Converter support +# +# CONFIG_USB_SERIAL is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_AUERSWALD is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_PHIDGET is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_TEST is not set + +# +# USB DSL modem support +# + +# +# USB Gadget Support +# +CONFIG_USB_GADGET=y +# CONFIG_USB_GADGET_DEBUG_FILES is not set +CONFIG_USB_GADGET_SELECTED=y +# CONFIG_USB_GADGET_NET2280 is not set +# CONFIG_USB_GADGET_PXA2XX is not set +# CONFIG_USB_GADGET_GOKU is not set +# CONFIG_USB_GADGET_LH7A40X is not set +# CONFIG_USB_GADGET_OMAP is not set +CONFIG_USB_GADGET_AT91=y +CONFIG_USB_AT91=y +# CONFIG_USB_GADGET_DUMMY_HCD is not set +# CONFIG_USB_GADGET_DUALSPEED is not set +# CONFIG_USB_ZERO is not set +# CONFIG_USB_ETH is not set +CONFIG_USB_GADGETFS=m +CONFIG_USB_FILE_STORAGE=m +# CONFIG_USB_FILE_STORAGE_TEST is not set +# CONFIG_USB_G_SERIAL is not set +# CONFIG_USB_MIDI_GADGET is not set + +# +# MMC/SD Card support +# +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_BLOCK=y +CONFIG_MMC_AT91=y +# CONFIG_MMC_TIFM_SD is not set + +# +# Real Time Clock +# +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set + +# +# File systems +# +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +# CONFIG_EXT2_FS_XIP is not set +# CONFIG_EXT3_FS is not set +# CONFIG_EXT4DEV_FS is not set +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_FS_POSIX_ACL is not set +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_ROMFS_FS is not set +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_QUOTA is not set +CONFIG_DNOTIFY=y +# CONFIG_AUTOFS_FS is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +# CONFIG_TMPFS_POSIX_ACL is not set +# CONFIG_HUGETLB_PAGE is not set +CONFIG_RAMFS=y +# CONFIG_CONFIGFS_FS is not set + +# +# Miscellaneous filesystems +# +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +# CONFIG_JFFS2_FS is not set +CONFIG_CRAMFS=y +# CONFIG_VXFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set + +# +# Network File Systems +# +CONFIG_NFS_FS=y +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_DIRECTIO is not set +# CONFIG_NFSD is not set +CONFIG_ROOT_NFS=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_RPCSEC_GSS_KRB5 is not set +# CONFIG_RPCSEC_GSS_SPKM3 is not set +# CONFIG_SMB_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +# CONFIG_9P_FS is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y + +# +# Native Language Support +# +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +CONFIG_NLS_CODEPAGE_850=y +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +# CONFIG_NLS_ASCII is not set +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +CONFIG_NLS_ISO8859_15=y +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +CONFIG_NLS_UTF8=y + +# +# Distributed Lock Manager +# +# CONFIG_DLM is not set + +# +# Profiling support +# +# CONFIG_PROFILING is not set + +# +# Kernel hacking +# +# CONFIG_PRINTK_TIME is not set +CONFIG_ENABLE_MUST_CHECK=y +# CONFIG_MAGIC_SYSRQ is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +CONFIG_DEBUG_KERNEL=y +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_DETECT_SOFTLOCKUP=y +# CONFIG_SCHEDSTATS is not set +# CONFIG_DEBUG_SLAB 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 is not set +# CONFIG_DEBUG_RWSEMS is not set +# CONFIG_DEBUG_SPINLOCK_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_INFO=y +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_LIST is not set +CONFIG_FRAME_POINTER=y +CONFIG_FORCED_INLINING=y +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_DEBUG_USER=y +# CONFIG_DEBUG_ERRORS is not set +CONFIG_DEBUG_LL=y +# CONFIG_DEBUG_ICEDCC is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set + +# +# Cryptographic options +# +# CONFIG_CRYPTO is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +# CONFIG_CRC_CCITT is not set +# CONFIG_CRC16 is not set +CONFIG_CRC32=y +# CONFIG_LIBCRC32C is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_PLIST=y +CONFIG_IOMAP_COPY=y diff --git a/packages/linux/linux-2.6.20/at91sam9261ek/.mtn2git_empty b/packages/linux/linux-2.6.20/at91sam9261ek/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/linux/linux-2.6.20/at91sam9261ek/.mtn2git_empty diff --git a/packages/linux/linux-2.6.20/at91sam9261ek/defconfig b/packages/linux/linux-2.6.20/at91sam9261ek/defconfig new file mode 100644 index 0000000000..595e67cd83 --- /dev/null +++ b/packages/linux/linux-2.6.20/at91sam9261ek/defconfig @@ -0,0 +1,1242 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.20 +# Thu Aug 30 18:18:12 2007 +# +CONFIG_ARM=y +# CONFIG_GENERIC_TIME is not set +CONFIG_MMU=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +# CONFIG_ARCH_HAS_ILOG2_U32 is not set +# CONFIG_ARCH_HAS_ILOG2_U64 is not set +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" + +# +# Code maturity level options +# +CONFIG_EXPERIMENTAL=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 + +# +# General setup +# +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +# CONFIG_SWAP is not set +CONFIG_SYSVIPC=y +# CONFIG_IPC_NS is not set +# CONFIG_POSIX_MQUEUE is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set +# CONFIG_UTS_NS is not set +# CONFIG_AUDIT is not set +# CONFIG_IKCONFIG is not set +CONFIG_SYSFS_DEPRECATED=y +# CONFIG_RELAY is not set +CONFIG_INITRAMFS_SOURCE="" +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +# CONFIG_EMBEDDED is not set +CONFIG_UID16=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SHMEM=y +CONFIG_SLAB=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_RT_MUTEXES=y +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=0 +# CONFIG_SLOB is not set + +# +# Loadable module support +# +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_KMOD=y + +# +# Block layer +# +CONFIG_BLOCK=y +# CONFIG_LBD is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_LSF is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_AS=y +# CONFIG_IOSCHED_DEADLINE is not set +# CONFIG_IOSCHED_CFQ is not set +CONFIG_DEFAULT_AS=y +# CONFIG_DEFAULT_DEADLINE is not set +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="anticipatory" + +# +# System Type +# +# CONFIG_ARCH_AAEC2000 is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +CONFIG_ARCH_AT91=y +# CONFIG_ARCH_CLPS7500 is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_CO285 is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_IMX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IXP23XX is not set +# CONFIG_ARCH_L7200 is not set +# CONFIG_ARCH_PNX4008 is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C2410 is not set +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_LH7A40X is not set +# CONFIG_ARCH_OMAP is not set + +# +# Atmel AT91 System-on-Chip +# +# CONFIG_ARCH_AT91RM9200 is not set +# CONFIG_ARCH_AT91SAM9260 is not set +CONFIG_ARCH_AT91SAM9261=y +# CONFIG_ARCH_AT91SAM9263 is not set + +# +# AT91SAM9261 Board Type +# +CONFIG_MACH_AT91SAM9261EK=y + +# +# AT91 Board Options +# +CONFIG_MTD_AT91_DATAFLASH_CARD=y +# CONFIG_MTD_NAND_AT91_BUSWIDTH_16 is not set + +# +# AT91 Feature Selections +# +CONFIG_AT91_PROGRAMMABLE_CLOCKS=y + +# +# Processor Type +# +CONFIG_CPU_32=y +CONFIG_CPU_ARM926T=y +CONFIG_CPU_32v5=y +CONFIG_CPU_ABRT_EV5TJ=y +CONFIG_CPU_CACHE_VIVT=y +CONFIG_CPU_COPY_V4WB=y +CONFIG_CPU_TLB_V4WBI=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +# CONFIG_ARM_THUMB is not set +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_WRITETHROUGH is not set +# CONFIG_CPU_CACHE_ROUND_ROBIN is not set + +# +# Bus support +# + +# +# PCCARD (PCMCIA/CardBus) support +# +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +# CONFIG_PREEMPT is not set +# CONFIG_NO_IDLE_HZ is not set +CONFIG_HZ=100 +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_DISCONTIGMEM_MANUAL is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +# CONFIG_SPARSEMEM_STATIC is not set +CONFIG_SPLIT_PTLOCK_CPUS=4096 +# CONFIG_RESOURCES_64BIT is not set +# CONFIG_LEDS is not set +CONFIG_ALIGNMENT_TRAP=y + +# +# Boot options +# +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_CMDLINE="mem=64M console=ttyS0,115200 initrd=0x21100000,17105363 root=/dev/ram0 rw" +# CONFIG_XIP_KERNEL is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_FPE_NWFPE=y +# CONFIG_FPE_NWFPE_XP is not set +# CONFIG_FPE_FASTFPE is not set +# CONFIG_VFP is not set + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_BINFMT_AOUT is not set +# CONFIG_BINFMT_MISC is not set + +# +# Power management options +# +# CONFIG_PM is not set +# CONFIG_APM is not set + +# +# Networking +# +CONFIG_NET=y + +# +# Networking options +# +# CONFIG_NETDEBUG is not set +CONFIG_PACKET=y +# CONFIG_PACKET_MMAP is not set +CONFIG_UNIX=y +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_FIB_HASH=y +CONFIG_IP_PNP=y +# CONFIG_IP_PNP_DHCP is not set +CONFIG_IP_PNP_BOOTP=y +# CONFIG_IP_PNP_RARP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE is not set +# CONFIG_ARPD is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_XFRM_TUNNEL is not set +# CONFIG_INET_TUNNEL is not set +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +# CONFIG_IPV6 is not set +# CONFIG_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NETFILTER is not set + +# +# DCCP Configuration (EXPERIMENTAL) +# +# CONFIG_IP_DCCP is not set + +# +# SCTP Configuration (EXPERIMENTAL) +# +# CONFIG_IP_SCTP is not set + +# +# TIPC Configuration (EXPERIMENTAL) +# +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_BRIDGE is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set + +# +# QoS and/or fair queueing +# +# CONFIG_NET_SCHED is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_IEEE80211 is not set + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +# CONFIG_FW_LOADER is not set +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_SYS_HYPERVISOR is not set + +# +# Connector - unified userspace <-> kernelspace linker +# +# CONFIG_CONNECTOR is not set + +# +# Memory Technology Devices (MTD) +# +CONFIG_MTD=y +# CONFIG_MTD_DEBUG is not set +CONFIG_MTD_CONCAT=y +CONFIG_MTD_PARTITIONS=y +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_CHAR=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE 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_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set +# CONFIG_MTD_OBSOLETE_CHIPS is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +CONFIG_MTD_DATAFLASH=y +# CONFIG_MTD_M25P80 is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +# CONFIG_MTD_DOC2001PLUS is not set + +# +# NAND Flash Device Drivers +# +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_VERIFY_WRITE is not set +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND_IDS=y +# CONFIG_MTD_NAND_DISKONCHIP is not set +CONFIG_MTD_NAND_AT91=y +# CONFIG_MTD_NAND_NANDSIM is not set + +# +# OneNAND Flash Device Drivers +# +# CONFIG_MTD_ONENAND is not set + +# +# Parallel port support +# +# CONFIG_PARPORT is not set + +# +# Plug and Play support +# + +# +# Block devices +# +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_UB is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=4 +CONFIG_BLK_DEV_RAM_SIZE=24576 +CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 +CONFIG_BLK_DEV_INITRD=y +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set + +# +# SCSI device support +# +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +# CONFIG_SCSI_TGT is not set +# CONFIG_SCSI_NETLINK is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set + +# +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs +# +CONFIG_SCSI_MULTI_LUN=y +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set + +# +# SCSI low-level drivers +# +# CONFIG_ISCSI_TCP is not set +# CONFIG_SCSI_DEBUG is not set + +# +# Serial ATA (prod) and Parallel ATA (experimental) drivers +# +# CONFIG_ATA is not set + +# +# Multi-device support (RAID and LVM) +# +# CONFIG_MD is not set + +# +# Fusion MPT device support +# +# CONFIG_FUSION is not set + +# +# IEEE 1394 (FireWire) support +# + +# +# I2O device support +# + +# +# Network device support +# +CONFIG_NETDEVICES=y +# CONFIG_DUMMY is not set +# CONFIG_BONDING is not set +# CONFIG_EQUALIZER is not set +# CONFIG_TUN is not set + +# +# PHY device support +# +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_MARVELL_PHY is not set +CONFIG_DAVICOM_PHY=y +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_FIXED_PHY is not set + +# +# Ethernet (10 or 100Mbit) +# +CONFIG_NET_ETHERNET=y +CONFIG_MII=y +# CONFIG_SMC91X is not set +# CONFIG_DM9000 is not set + +# +# Ethernet (1000 Mbit) +# + +# +# Ethernet (10000 Mbit) +# + +# +# Token Ring devices +# + +# +# Wireless LAN (non-hamradio) +# +# CONFIG_NET_RADIO is not set + +# +# Wan interfaces +# +# CONFIG_WAN is not set +# CONFIG_PPP is not set +# CONFIG_SLIP is not set +# CONFIG_SHAPER is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set + +# +# ISDN subsystem +# +# CONFIG_ISDN is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_FF_MEMLESS is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +# CONFIG_INPUT_MOUSEDEV_PSAUX is not set +CONFIG_INPUT_MOUSEDEV_SCREEN_X=320 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240 +# CONFIG_INPUT_JOYDEV is not set +# CONFIG_INPUT_TSDEV is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_INPUT_JOYSTICK is not set +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_ADS7846=y +# CONFIG_TOUCHSCREEN_GUNZE is not set +# CONFIG_TOUCHSCREEN_ELO is not set +# CONFIG_TOUCHSCREEN_MTOUCH is not set +# CONFIG_TOUCHSCREEN_MK712 is not set +# CONFIG_TOUCHSCREEN_PENMOUNT is not set +# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set +# CONFIG_TOUCHSCREEN_TOUCHWIN is not set +# CONFIG_TOUCHSCREEN_UCB1400 is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +# CONFIG_SERIO is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_VT=y +CONFIG_VT_CONSOLE=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +# CONFIG_SERIAL_NONSTANDARD is not set + +# +# Serial drivers +# +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_ATMEL=y +CONFIG_SERIAL_ATMEL_CONSOLE=y +# CONFIG_SERIAL_ATMEL_TTYAT is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_UNIX98_PTYS=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=256 + +# +# IPMI +# +# CONFIG_IPMI_HANDLER is not set + +# +# Watchdog Cards +# +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_NOWAYOUT=y + +# +# Watchdog Device Drivers +# +# CONFIG_SOFT_WATCHDOG is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_HW_RANDOM=y +# CONFIG_NVRAM is not set +# CONFIG_DTLK is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set + +# +# TPM devices +# +# CONFIG_TCG_TPM is not set + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_CHARDEV=y + +# +# I2C Algorithms +# +# CONFIG_I2C_ALGOBIT is not set +# CONFIG_I2C_ALGOPCF is not set +# CONFIG_I2C_ALGOPCA is not set + +# +# I2C Hardware Bus support +# +CONFIG_I2C_AT91=y +CONFIG_I2C_AT91_CLOCKRATE=100000 +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_STUB is not set +# CONFIG_I2C_PCA_ISA is not set + +# +# Miscellaneous I2C Chip support +# +# CONFIG_SENSORS_DS1337 is not set +# CONFIG_SENSORS_DS1374 is not set +# CONFIG_SENSORS_EEPROM is not set +# CONFIG_SENSORS_PCF8574 is not set +# CONFIG_SENSORS_PCA9539 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_SENSORS_MAX6875 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_I2C_DEBUG_CHIP is not set + +# +# SPI support +# +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +CONFIG_SPI_ATMEL=y +# CONFIG_SPI_BITBANG is not set + +# +# SPI Protocol Masters +# + +# +# Dallas's 1-wire bus +# +# CONFIG_W1 is not set + +# +# Hardware Monitoring support +# +# CONFIG_HWMON is not set +# CONFIG_HWMON_VID is not set + +# +# Misc devices +# +# CONFIG_TIFM_CORE is not set + +# +# LED devices +# +# CONFIG_NEW_LEDS is not set + +# +# LED drivers +# + +# +# LED Triggers +# + +# +# Multimedia devices +# +# CONFIG_VIDEO_DEV is not set + +# +# Digital Video Broadcasting Devices +# +# CONFIG_DVB is not set +# CONFIG_USB_DABUSB is not set + +# +# Graphics support +# +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set +# CONFIG_FB_S1D13XXX is not set +CONFIG_FB_ATMEL=y +CONFIG_FB_INTSRAM=y +# CONFIG_FB_VIRTUAL is not set + +# +# Console display driver support +# +# CONFIG_VGA_CONSOLE is not set +CONFIG_DUMMY_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE is not set + +# +# Logo configuration +# +# CONFIG_LOGO is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set + +# +# Sound +# +CONFIG_SOUND=y + +# +# Advanced Linux Sound Architecture +# +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_SEQUENCER=y +# CONFIG_SND_SEQ_DUMMY is not set +CONFIG_SND_OSSEMUL=y +CONFIG_SND_MIXER_OSS=y +CONFIG_SND_PCM_OSS=y +CONFIG_SND_PCM_OSS_PLUGINS=y +CONFIG_SND_SEQUENCER_OSS=y +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set + +# +# Generic devices +# +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_VIRMIDI is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set + +# +# ALSA ARM devices +# +# CONFIG_SND_AT91_AC97 is not set + +# +# USB devices +# +# CONFIG_SND_USB_AUDIO is not set + +# +# Open Sound System +# +# CONFIG_SOUND_PRIME is not set + +# +# HID Devices +# +CONFIG_HID=y + +# +# USB support +# +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +# CONFIG_USB_ARCH_HAS_EHCI is not set +CONFIG_USB=y +# CONFIG_USB_DEBUG is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEVICEFS=y +# CONFIG_USB_BANDWIDTH is not set +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_ISP116X_HCD is not set +CONFIG_USB_OHCI_HCD=y +# CONFIG_USB_OHCI_BIG_ENDIAN is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +# CONFIG_USB_SL811_HCD is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set + +# +# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' +# + +# +# may also be needed; see USB_STORAGE Help for more information +# +CONFIG_USB_STORAGE=y +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_DPCM is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_LIBUSUAL is not set + +# +# USB Input Devices +# +# CONFIG_USB_HID is not set + +# +# USB HID Boot Protocol drivers +# +# CONFIG_USB_KBD is not set +# CONFIG_USB_MOUSE is not set +# CONFIG_USB_AIPTEK is not set +# CONFIG_USB_WACOM is not set +# CONFIG_USB_ACECAD is not set +# CONFIG_USB_KBTAB is not set +# CONFIG_USB_POWERMATE is not set +# CONFIG_USB_TOUCHSCREEN is not set +# CONFIG_USB_YEALINK is not set +# CONFIG_USB_XPAD is not set +# CONFIG_USB_ATI_REMOTE is not set +# CONFIG_USB_ATI_REMOTE2 is not set +# CONFIG_USB_KEYSPAN_REMOTE is not set +# CONFIG_USB_APPLETOUCH is not set + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set + +# +# USB Network Adapters +# +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_USBNET_MII is not set +# CONFIG_USB_USBNET is not set +CONFIG_USB_MON=y + +# +# USB port drivers +# + +# +# USB Serial Converter support +# +# CONFIG_USB_SERIAL is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_AUERSWALD is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_PHIDGET is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_TEST is not set + +# +# USB DSL modem support +# + +# +# USB Gadget Support +# +CONFIG_USB_GADGET=y +# CONFIG_USB_GADGET_DEBUG_FILES is not set +CONFIG_USB_GADGET_SELECTED=y +# CONFIG_USB_GADGET_NET2280 is not set +# CONFIG_USB_GADGET_PXA2XX is not set +# CONFIG_USB_GADGET_GOKU is not set +# CONFIG_USB_GADGET_LH7A40X is not set +# CONFIG_USB_GADGET_OMAP is not set +CONFIG_USB_GADGET_AT91=y +CONFIG_USB_AT91=y +# CONFIG_USB_GADGET_DUMMY_HCD is not set +# CONFIG_USB_GADGET_DUALSPEED is not set +# CONFIG_USB_ZERO is not set +# CONFIG_USB_ETH is not set +CONFIG_USB_GADGETFS=m +CONFIG_USB_FILE_STORAGE=m +# CONFIG_USB_FILE_STORAGE_TEST is not set +# CONFIG_USB_G_SERIAL is not set +# CONFIG_USB_MIDI_GADGET is not set + +# +# MMC/SD Card support +# +# CONFIG_MMC is not set + +# +# Real Time Clock +# +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set + +# +# File systems +# +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +# CONFIG_EXT2_FS_XIP is not set +# CONFIG_EXT3_FS is not set +# CONFIG_EXT4DEV_FS is not set +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_FS_POSIX_ACL is not set +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_ROMFS_FS is not set +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_QUOTA is not set +CONFIG_DNOTIFY=y +# CONFIG_AUTOFS_FS is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +# CONFIG_TMPFS_POSIX_ACL is not set +# CONFIG_HUGETLB_PAGE is not set +CONFIG_RAMFS=y +# CONFIG_CONFIGFS_FS is not set + +# +# Miscellaneous filesystems +# +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# 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_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +CONFIG_CRAMFS=y +# CONFIG_VXFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set + +# +# Network File Systems +# +CONFIG_NFS_FS=y +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_DIRECTIO is not set +# CONFIG_NFSD is not set +CONFIG_ROOT_NFS=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_RPCSEC_GSS_KRB5 is not set +# CONFIG_RPCSEC_GSS_SPKM3 is not set +# CONFIG_SMB_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +# CONFIG_9P_FS is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y + +# +# Native Language Support +# +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +CONFIG_NLS_CODEPAGE_850=y +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +# CONFIG_NLS_ASCII is not set +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +CONFIG_NLS_ISO8859_15=y +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +CONFIG_NLS_UTF8=y + +# +# Distributed Lock Manager +# +# CONFIG_DLM is not set + +# +# Profiling support +# +# CONFIG_PROFILING is not set + +# +# Kernel hacking +# +# CONFIG_PRINTK_TIME is not set +CONFIG_ENABLE_MUST_CHECK=y +# CONFIG_MAGIC_SYSRQ is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +CONFIG_DEBUG_KERNEL=y +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_DETECT_SOFTLOCKUP=y +# CONFIG_SCHEDSTATS is not set +# CONFIG_DEBUG_SLAB 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 is not set +# CONFIG_DEBUG_RWSEMS is not set +# CONFIG_DEBUG_SPINLOCK_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_INFO=y +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_LIST is not set +CONFIG_FRAME_POINTER=y +CONFIG_FORCED_INLINING=y +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_DEBUG_USER=y +# CONFIG_DEBUG_ERRORS is not set +CONFIG_DEBUG_LL=y +# CONFIG_DEBUG_ICEDCC is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set + +# +# Cryptographic options +# +# CONFIG_CRYPTO is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +# CONFIG_CRC_CCITT is not set +# CONFIG_CRC16 is not set +CONFIG_CRC32=y +# CONFIG_LIBCRC32C is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_PLIST=y +CONFIG_IOMAP_COPY=y diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/.mtn2git_empty b/packages/linux/linux-2.6.22+2.6.23-rc5/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/linux/linux-2.6.22+2.6.23-rc5/.mtn2git_empty diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/.mtn2git_empty b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/.mtn2git_empty diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-gpio-interrupt-debounce.diff b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-gpio-interrupt-debounce.diff new file mode 100644 index 0000000000..dbd2856e87 --- /dev/null +++ b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-gpio-interrupt-debounce.diff @@ -0,0 +1,87 @@ + +Implement GPIO interrupt debouncing on ep93xx. + +Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> + +Index: linux-2.6.23-rc5/arch/arm/mach-ep93xx/core.c +=================================================================== +--- linux-2.6.23-rc5.orig/arch/arm/mach-ep93xx/core.c 2007-09-04 02:22:19.000000000 +0200 ++++ linux-2.6.23-rc5/arch/arm/mach-ep93xx/core.c 2007-09-04 02:28:19.000000000 +0200 +@@ -154,6 +154,7 @@ + *************************************************************************/ + static unsigned char gpio_int_unmasked[3]; + static unsigned char gpio_int_enabled[3]; ++static unsigned char gpio_int_debounce[3]; + static unsigned char gpio_int_type1[3]; + static unsigned char gpio_int_type2[3]; + +@@ -161,16 +162,19 @@ + { + if (abf == 0) { + __raw_writeb(0, EP93XX_GPIO_A_INT_ENABLE); ++ __raw_writeb(gpio_int_debounce[0], EP93XX_GPIO_A_INT_DEBOUNCE); + __raw_writeb(gpio_int_type2[0], EP93XX_GPIO_A_INT_TYPE2); + __raw_writeb(gpio_int_type1[0], EP93XX_GPIO_A_INT_TYPE1); + __raw_writeb(gpio_int_unmasked[0] & gpio_int_enabled[0], EP93XX_GPIO_A_INT_ENABLE); + } else if (abf == 1) { + __raw_writeb(0, EP93XX_GPIO_B_INT_ENABLE); ++ __raw_writeb(gpio_int_debounce[1], EP93XX_GPIO_B_INT_DEBOUNCE); + __raw_writeb(gpio_int_type2[1], EP93XX_GPIO_B_INT_TYPE2); + __raw_writeb(gpio_int_type1[1], EP93XX_GPIO_B_INT_TYPE1); + __raw_writeb(gpio_int_unmasked[1] & gpio_int_enabled[1], EP93XX_GPIO_B_INT_ENABLE); + } else if (abf == 2) { + __raw_writeb(0, EP93XX_GPIO_F_INT_ENABLE); ++ __raw_writeb(gpio_int_debounce[2], EP93XX_GPIO_F_INT_DEBOUNCE); + __raw_writeb(gpio_int_type2[2], EP93XX_GPIO_F_INT_TYPE2); + __raw_writeb(gpio_int_type1[2], EP93XX_GPIO_F_INT_TYPE1); + __raw_writeb(gpio_int_unmasked[2] & gpio_int_enabled[2], EP93XX_GPIO_F_INT_ENABLE); +@@ -361,6 +365,13 @@ + } else { + gpio_int_enabled[port] &= ~(1 << line); + } ++ ++ if (type & IRQ_TYPE_DEBOUNCE) { ++ gpio_int_debounce[port] |= 1 << line; ++ } else { ++ gpio_int_debounce[port] &= ~(1 << line); ++ } ++ + update_gpio_int_params(port); + + return 0; +Index: linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/ep93xx-regs.h +=================================================================== +--- linux-2.6.23-rc5.orig/include/asm-arm/arch-ep93xx/ep93xx-regs.h 2007-09-04 02:22:19.000000000 +0200 ++++ linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/ep93xx-regs.h 2007-09-04 02:28:19.000000000 +0200 +@@ -78,16 +78,19 @@ + #define EP93XX_GPIO_F_INT_ACK EP93XX_GPIO_REG(0x54) + #define EP93XX_GPIO_F_INT_ENABLE EP93XX_GPIO_REG(0x58) + #define EP93XX_GPIO_F_INT_STATUS EP93XX_GPIO_REG(0x5c) ++#define EP93XX_GPIO_F_INT_DEBOUNCE EP93XX_GPIO_REG(0x64) + #define EP93XX_GPIO_A_INT_TYPE1 EP93XX_GPIO_REG(0x90) + #define EP93XX_GPIO_A_INT_TYPE2 EP93XX_GPIO_REG(0x94) + #define EP93XX_GPIO_A_INT_ACK EP93XX_GPIO_REG(0x98) + #define EP93XX_GPIO_A_INT_ENABLE EP93XX_GPIO_REG(0x9c) + #define EP93XX_GPIO_A_INT_STATUS EP93XX_GPIO_REG(0xa0) ++#define EP93XX_GPIO_A_INT_DEBOUNCE EP93XX_GPIO_REG(0xa8) + #define EP93XX_GPIO_B_INT_TYPE1 EP93XX_GPIO_REG(0xac) + #define EP93XX_GPIO_B_INT_TYPE2 EP93XX_GPIO_REG(0xb0) + #define EP93XX_GPIO_B_INT_ACK EP93XX_GPIO_REG(0xb4) + #define EP93XX_GPIO_B_INT_ENABLE EP93XX_GPIO_REG(0xb8) + #define EP93XX_GPIO_B_INT_STATUS EP93XX_GPIO_REG(0xbc) ++#define EP93XX_GPIO_B_INT_DEBOUNCE EP93XX_GPIO_REG(0xc4) + + #define EP93XX_AAC_BASE (EP93XX_APB_VIRT_BASE + 0x00080000) + +Index: linux-2.6.23-rc5/include/linux/irq.h +=================================================================== +--- linux-2.6.23-rc5.orig/include/linux/irq.h 2007-09-04 02:24:58.000000000 +0200 ++++ linux-2.6.23-rc5/include/linux/irq.h 2007-09-04 02:25:01.000000000 +0200 +@@ -44,6 +44,7 @@ + #define IRQ_TYPE_LEVEL_LOW 0x00000008 /* Level low type */ + #define IRQ_TYPE_SENSE_MASK 0x0000000f /* Mask of the above */ + #define IRQ_TYPE_PROBE 0x00000010 /* Probing in progress */ ++#define IRQ_TYPE_DEBOUNCE 0x00000020 /* Enable HW debounce */ + + /* Internal flags */ + #define IRQ_INPROGRESS 0x00000100 /* IRQ handler active - do not enter! */ diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-i2c-bus.diff b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-i2c-bus.diff new file mode 100644 index 0000000000..efdbf42a45 --- /dev/null +++ b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-i2c-bus.diff @@ -0,0 +1,220 @@ + +I2C bus driver using ep93xx GPIOs. + +Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> + +Index: linux-2.6.23-rc5/drivers/i2c/busses/Kconfig +=================================================================== +--- linux-2.6.23-rc5.orig/drivers/i2c/busses/Kconfig 2007-09-04 02:25:36.000000000 +0200 ++++ linux-2.6.23-rc5/drivers/i2c/busses/Kconfig 2007-09-04 02:26:20.000000000 +0200 +@@ -654,4 +654,16 @@ + This driver can also be built as module. If so, the module + will be called i2c-pmcmsp. + ++config I2C_EP93XX ++ tristate "Cirrus Logic EP93XX GPIO-based I2C interface" ++ depends on I2C && ARCH_EP93XX ++ select I2C_ALGOBIT ++ help ++ Say Y here if you have an Cirrus Logic EP93XX based ++ system and are using GPIO lines for an I2C bus. ++ ++ This support is also available as a module. If so, the module ++ will be called i2c-ep93xx. ++ ++ + endmenu +Index: linux-2.6.23-rc5/drivers/i2c/busses/Makefile +=================================================================== +--- linux-2.6.23-rc5.orig/drivers/i2c/busses/Makefile 2007-09-04 02:25:36.000000000 +0200 ++++ linux-2.6.23-rc5/drivers/i2c/busses/Makefile 2007-09-04 02:26:20.000000000 +0200 +@@ -52,6 +52,7 @@ + obj-$(CONFIG_I2C_VOODOO3) += i2c-voodoo3.o + obj-$(CONFIG_SCx200_ACB) += scx200_acb.o + obj-$(CONFIG_SCx200_I2C) += scx200_i2c.o ++obj-$(CONFIG_I2C_EP93XX) += i2c-ep93xx.o + + ifeq ($(CONFIG_I2C_DEBUG_BUS),y) + EXTRA_CFLAGS += -DDEBUG +Index: linux-2.6.23-rc5/drivers/i2c/busses/i2c-ep93xx.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.23-rc5/drivers/i2c/busses/i2c-ep93xx.c 2007-09-04 02:26:20.000000000 +0200 +@@ -0,0 +1,159 @@ ++/* ++ * EP93XX I2C bus driver. ++ * Copyright (C) 2007 Lennert Buytenhek <buytenh@wantstofly.org> ++ * ++ * An I2C bus driver for the Cirrus Logic EP93xx SoC. ++ * ++ * Based on an earlier version by Alessandro Zummo. ++ */ ++ ++#include <linux/kernel.h> ++#include <linux/platform_device.h> ++#include <linux/module.h> ++#include <linux/i2c.h> ++#include <linux/i2c-algo-bit.h> ++#include <asm/hardware.h> ++#include <asm/arch/gpio.h> ++ ++struct ep93xx_i2c_priv { ++ struct ep93xx_i2c_data *data; ++ struct i2c_adapter adapter; ++ struct i2c_algo_bit_data algo_data; ++ int sda; ++ int scl; ++}; ++ ++ ++static void ep93xx_bit_setsda(void *cookie, int val) ++{ ++ struct ep93xx_i2c_priv *priv = cookie; ++ ++ if (val) { ++ gpio_line_config(priv->data->sda_pin, GPIO_IN); ++ if (priv->scl && !priv->sda && priv->data->stop != NULL) ++ priv->data->stop(priv->data->cookie); ++ priv->sda = 1; ++ } else { ++ if (priv->scl && priv->sda && priv->data->start != NULL) ++ priv->data->start(priv->data->cookie); ++ gpio_line_config(priv->data->sda_pin, GPIO_OUT); ++ gpio_line_set(priv->data->sda_pin, 0); ++ priv->sda = 0; ++ } ++} ++ ++static void ep93xx_bit_setscl(void *cookie, int val) ++{ ++ struct ep93xx_i2c_priv *priv = cookie; ++ ++ if (val) { ++ gpio_line_config(priv->data->scl_pin, GPIO_IN); ++ priv->scl = 1; ++ } else { ++ gpio_line_config(priv->data->scl_pin, GPIO_OUT); ++ gpio_line_set(priv->data->scl_pin, 0); ++ priv->scl = 0; ++ } ++} ++ ++static int ep93xx_bit_getsda(void *cookie) ++{ ++ struct ep93xx_i2c_priv *priv = cookie; ++ ++ if (priv->sda == 0) ++ BUG(); ++ ++ return gpio_line_get(priv->data->sda_pin); ++} ++ ++static int ep93xx_bit_getscl(void *cookie) ++{ ++ struct ep93xx_i2c_priv *priv = cookie; ++ ++ if (priv->scl == 0) ++ BUG(); ++ ++ return gpio_line_get(priv->data->scl_pin); ++} ++ ++ ++static int ep93xx_i2c_probe(struct platform_device *pdev) ++{ ++ struct ep93xx_i2c_priv *priv; ++ int err; ++ ++ priv = kzalloc(sizeof(struct ep93xx_i2c_priv), GFP_KERNEL); ++ if (priv == NULL) ++ return -ENOMEM; ++ ++ priv->data = pdev->dev.platform_data; ++ ++ strlcpy(priv->adapter.name, pdev->dev.driver->name, I2C_NAME_SIZE); ++ priv->adapter.algo_data = &priv->algo_data; ++ priv->adapter.class = I2C_CLASS_ALL; ++ priv->adapter.dev.parent = &pdev->dev; ++ ++ priv->algo_data.data = priv; ++ priv->algo_data.setsda = ep93xx_bit_setsda; ++ priv->algo_data.setscl = ep93xx_bit_setscl; ++ priv->algo_data.getsda = ep93xx_bit_getsda; ++ priv->algo_data.getscl = ep93xx_bit_getscl; ++ priv->algo_data.udelay = 10; ++ priv->algo_data.timeout = 100; ++ ++ priv->sda = 1; ++ gpio_line_config(priv->data->sda_pin, GPIO_IN); ++ ++ priv->scl = 1; ++ gpio_line_config(priv->data->scl_pin, GPIO_IN); ++ ++ err = i2c_bit_add_bus(&priv->adapter); ++ if (err) { ++ printk(KERN_ERR "ERROR: Could not install %s\n", ++ pdev->dev.bus_id); ++ kfree(priv); ++ return err; ++ } ++ ++ platform_set_drvdata(pdev, priv); ++ ++ return 0; ++} ++ ++static int ep93xx_i2c_remove(struct platform_device *pdev) ++{ ++ struct ep93xx_i2c_priv *priv; ++ ++ priv = platform_get_drvdata(pdev); ++ i2c_del_adapter(&priv->adapter); ++ platform_set_drvdata(pdev, NULL); ++ kfree(priv); ++ ++ return 0; ++} ++ ++static struct platform_driver ep93xx_i2c_driver = { ++ .probe = ep93xx_i2c_probe, ++ .remove = ep93xx_i2c_remove, ++ .driver = { ++ .name = "ep93xx-i2c", ++ .owner = THIS_MODULE, ++ }, ++}; ++ ++static int __init ep93xx_i2c_init(void) ++{ ++ return platform_driver_register(&ep93xx_i2c_driver); ++} ++ ++static void __exit ep93xx_i2c_exit(void) ++{ ++ platform_driver_unregister(&ep93xx_i2c_driver); ++} ++ ++module_init(ep93xx_i2c_init); ++module_exit(ep93xx_i2c_exit); ++ ++MODULE_AUTHOR("Lennert Buytenhek <buytenh@wantstofly.org>"); ++MODULE_DESCRIPTION("GPIO-based I2C adapter for EP93XX systems"); ++MODULE_LICENSE("GPL"); +Index: linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/platform.h +=================================================================== +--- linux-2.6.23-rc5.orig/include/asm-arm/arch-ep93xx/platform.h 2007-09-04 02:25:36.000000000 +0200 ++++ linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/platform.h 2007-09-04 02:28:19.000000000 +0200 +@@ -16,5 +16,13 @@ + unsigned char phy_id; + }; + ++struct ep93xx_i2c_data { ++ int sda_pin; ++ int scl_pin; ++ void *cookie; ++ void (*start)(void *); ++ void (*stop)(void *); ++}; ++ + + #endif diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-i2c.diff b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-i2c.diff new file mode 100644 index 0000000000..bf4622b1db --- /dev/null +++ b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-i2c.diff @@ -0,0 +1,110 @@ + +Instantiate the ep93xx gpio i2c bus driver in the generic ep93xx +code. + +Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> + +Index: linux-2.6.23-rc5/arch/arm/mach-ep93xx/core.c +=================================================================== +--- linux-2.6.23-rc5.orig/arch/arm/mach-ep93xx/core.c 2007-09-04 02:25:36.000000000 +0200 ++++ linux-2.6.23-rc5/arch/arm/mach-ep93xx/core.c 2007-09-04 02:28:12.000000000 +0200 +@@ -509,6 +509,52 @@ + }; + + ++static DEFINE_MUTEX(eeclk_eedat_mutex); ++static int i2c_transaction_in_progress; ++ ++static void ep93xx_i2c_start_condition(void *cookie) ++{ ++ if (!i2c_transaction_in_progress) { ++ mutex_lock(&eeclk_eedat_mutex); ++ i2c_transaction_in_progress = 1; ++ } ++} ++ ++static void ep93xx_i2c_stop_condition(void *cookie) ++{ ++ if (i2c_transaction_in_progress) { ++ mutex_unlock(&eeclk_eedat_mutex); ++ i2c_transaction_in_progress = 0; ++ } else { ++ printk(KERN_WARNING "ep93xx: i2c stop without start??\n"); ++ } ++} ++ ++static struct ep93xx_i2c_data ep93xx_i2c_gpio_data = { ++ .sda_pin = EP93XX_GPIO_LINE_EEDAT, ++ .scl_pin = EP93XX_GPIO_LINE_EECLK, ++ .start = ep93xx_i2c_start_condition, ++ .stop = ep93xx_i2c_stop_condition, ++}; ++ ++static struct platform_device ep93xx_i2c_device = { ++ .name = "ep93xx-i2c", ++ .id = 0, ++ .dev.platform_data = &ep93xx_i2c_gpio_data, ++ .num_resources = 0, ++}; ++ ++void eeclk_eedat_claim(void) ++{ ++ mutex_lock(&eeclk_eedat_mutex); ++} ++ ++void eeclk_eedat_release(void) ++{ ++ mutex_unlock(&eeclk_eedat_mutex); ++} ++ ++ + void __init ep93xx_init_devices(void) + { + unsigned int v; +@@ -521,10 +567,20 @@ + __raw_writel(0xaa, EP93XX_SYSCON_SWLOCK); + __raw_writel(v, EP93XX_SYSCON_DEVICE_CONFIG); + ++ /* ++ * When EECLK/EEDAT are in open drain mode (EEDRIVE=0b11), ++ * writing a 1 to their Data Register bits causes subsequent ++ * reads from the Data Direction Register to return 'input', ++ * which confuses gpio_line_config(). So, we use CMOS drive ++ * mode instead. ++ */ ++ __raw_writel(0, EP93XX_GPIO_EEDRIVE); ++ + amba_device_register(&uart1_device, &iomem_resource); + amba_device_register(&uart2_device, &iomem_resource); + amba_device_register(&uart3_device, &iomem_resource); + + platform_device_register(&ep93xx_rtc_device); + platform_device_register(&ep93xx_ohci_device); ++ platform_device_register(&ep93xx_i2c_device); + } +Index: linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/ep93xx-regs.h +=================================================================== +--- linux-2.6.23-rc5.orig/include/asm-arm/arch-ep93xx/ep93xx-regs.h 2007-09-04 02:25:36.000000000 +0200 ++++ linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/ep93xx-regs.h 2007-09-04 02:28:10.000000000 +0200 +@@ -91,6 +91,7 @@ + #define EP93XX_GPIO_B_INT_ENABLE EP93XX_GPIO_REG(0xb8) + #define EP93XX_GPIO_B_INT_STATUS EP93XX_GPIO_REG(0xbc) + #define EP93XX_GPIO_B_INT_DEBOUNCE EP93XX_GPIO_REG(0xc4) ++#define EP93XX_GPIO_EEDRIVE EP93XX_GPIO_REG(0xc8) + + #define EP93XX_AAC_BASE (EP93XX_APB_VIRT_BASE + 0x00080000) + +Index: linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/platform.h +=================================================================== +--- linux-2.6.23-rc5.orig/include/asm-arm/arch-ep93xx/platform.h 2007-09-04 02:26:20.000000000 +0200 ++++ linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/platform.h 2007-09-04 02:26:38.000000000 +0200 +@@ -10,6 +10,9 @@ + void ep93xx_init_devices(void); + extern struct sys_timer ep93xx_timer; + ++void eeclk_eedat_claim(void); ++void eeclk_eedat_release(void); ++ + struct ep93xx_eth_data + { + unsigned char dev_addr[6]; diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-leds.diff b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-leds.diff new file mode 100644 index 0000000000..e158593f28 --- /dev/null +++ b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-leds.diff @@ -0,0 +1,181 @@ + +EP93xx leds driver + +Signed-off-by: Petr Stetiar <ynezz@true.cz> + +Index: linux-2.6.23-rc5/arch/arm/mach-ep93xx/core.c +=================================================================== +--- linux-2.6.23-rc5.orig/arch/arm/mach-ep93xx/core.c 2007-09-04 02:40:19.000000000 +0200 ++++ linux-2.6.23-rc5/arch/arm/mach-ep93xx/core.c 2007-09-04 02:40:25.000000000 +0200 +@@ -568,6 +568,12 @@ + } + + ++static struct platform_device ep93xx_led_device = { ++ .name = "ep93xx-led", ++ .id = -1, ++}; ++ ++ + void __init ep93xx_init_devices(void) + { + unsigned int v; +@@ -596,4 +602,5 @@ + platform_device_register(&ep93xx_rtc_device); + platform_device_register(&ep93xx_ohci_device); + platform_device_register(&ep93xx_i2c_device); ++ platform_device_register(&ep93xx_led_device); + } +Index: linux-2.6.23-rc5/drivers/leds/Kconfig +=================================================================== +--- linux-2.6.23-rc5.orig/drivers/leds/Kconfig 2007-09-04 02:40:19.000000000 +0200 ++++ linux-2.6.23-rc5/drivers/leds/Kconfig 2007-09-04 02:40:25.000000000 +0200 +@@ -101,6 +101,12 @@ + outputs. To be useful the particular board must have LEDs + and they must be connected to the GPIO lines. + ++config LEDS_EP93XX ++ tristate "LED Support for Cirrus Logic EP93xx" ++ depends on LEDS_CLASS && ARCH_EP93XX ++ help ++ This option enables support for the Cirrus Logic EP93xx based boards. ++ + comment "LED Triggers" + + config LEDS_TRIGGERS +Index: linux-2.6.23-rc5/drivers/leds/Makefile +=================================================================== +--- linux-2.6.23-rc5.orig/drivers/leds/Makefile 2007-09-04 02:40:19.000000000 +0200 ++++ linux-2.6.23-rc5/drivers/leds/Makefile 2007-09-04 02:40:25.000000000 +0200 +@@ -16,6 +16,7 @@ + obj-$(CONFIG_LEDS_WRAP) += leds-wrap.o + obj-$(CONFIG_LEDS_H1940) += leds-h1940.o + obj-$(CONFIG_LEDS_COBALT) += leds-cobalt.o ++obj-$(CONFIG_LEDS_EP93XX) += leds-ep93xx.o + obj-$(CONFIG_LEDS_GPIO) += leds-gpio.o + + # LED Triggers +Index: linux-2.6.23-rc5/drivers/leds/leds-ep93xx.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.23-rc5/drivers/leds/leds-ep93xx.c 2007-09-04 02:40:25.000000000 +0200 +@@ -0,0 +1,119 @@ ++/* ++ * LEDs driver for Cirrus Logic EP93xx ++ * ++ * Author: Petr Stetiar <ynezz@true.cz> ++ * ++ * Based on leds-corgi.c by Richard Purdie ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ * ++ */ ++ ++#include <linux/kernel.h> ++#include <linux/init.h> ++#include <linux/platform_device.h> ++#include <linux/leds.h> ++#include <asm/mach-types.h> ++#include <asm/arch/hardware.h> ++#include <asm/arch/gpio.h> ++ ++static void ep93xx_green_led_set(struct led_classdev *led_cdev, enum led_brightness value) ++{ ++ if (value) ++ gpio_line_set(EP93XX_GPIO_LINE_GRLED, EP93XX_GPIO_HIGH); ++ else ++ gpio_line_set(EP93XX_GPIO_LINE_GRLED, EP93XX_GPIO_LOW); ++} ++ ++static void ep93xx_red_led_set(struct led_classdev *led_cdev, enum led_brightness value) ++{ ++ if (value) ++ gpio_line_set(EP93XX_GPIO_LINE_RDLED, EP93XX_GPIO_HIGH); ++ else ++ gpio_line_set(EP93XX_GPIO_LINE_RDLED, EP93XX_GPIO_LOW); ++} ++ ++ ++static struct led_classdev ep93xx_green_led = { ++ .name = "ep93xx:green", ++ .default_trigger = "none", ++ .brightness_set = ep93xx_green_led_set, ++}; ++ ++static struct led_classdev ep93xx_red_led = { ++ .name = "ep93xx:red", ++ .default_trigger = "heartbeat", ++ .brightness_set = ep93xx_red_led_set, ++}; ++ ++#ifdef CONFIG_PM ++static int ep93xx_led_suspend(struct platform_device *dev, pm_message_t state) ++{ ++ led_classdev_suspend(&ep93xx_green_led); ++ led_classdev_suspend(&ep93xx_red_led); ++ return 0; ++} ++ ++static int ep93xx_led_resume(struct platform_device *dev) ++{ ++ led_classdev_resume(&ep93xx_red_led); ++ led_classdev_resume(&ep93xx_green_led); ++ return 0; ++} ++#endif ++ ++static int ep93xx_led_probe(struct platform_device *pdev) ++{ ++ int ret; ++ ++ gpio_line_config(EP93XX_GPIO_LINE_GRLED, GPIO_OUT); ++ gpio_line_config(EP93XX_GPIO_LINE_RDLED, GPIO_OUT); ++ ++ ret = led_classdev_register(&pdev->dev, &ep93xx_green_led); ++ if (ret < 0) ++ return ret; ++ ++ ret = led_classdev_register(&pdev->dev, &ep93xx_red_led); ++ if (ret < 0) ++ led_classdev_unregister(&ep93xx_green_led); ++ ++ return ret; ++} ++ ++static int ep93xx_led_remove(struct platform_device *pdev) ++{ ++ led_classdev_unregister(&ep93xx_green_led); ++ led_classdev_unregister(&ep93xx_red_led); ++ return 0; ++} ++ ++static struct platform_driver ep93xx_led_driver = { ++ .probe = ep93xx_led_probe, ++ .remove = ep93xx_led_remove, ++#ifdef CONFIG_PM ++ .suspend = ep93xx_led_suspend, ++ .resume = ep93xx_led_resume, ++#endif ++ .driver = { ++ .name = "ep93xx-led", ++ }, ++}; ++ ++static int __init ep93xx_led_init(void) ++{ ++ return platform_driver_register(&ep93xx_led_driver); ++} ++ ++static void __exit ep93xx_led_exit(void) ++{ ++ platform_driver_unregister(&ep93xx_led_driver); ++} ++ ++module_init(ep93xx_led_init); ++module_exit(ep93xx_led_exit); ++ ++MODULE_AUTHOR("Petr Stetiar <ynezz@true.cz>"); ++MODULE_DESCRIPTION("Cirrus Logic EP93xx LED driver"); ++MODULE_LICENSE("GPL"); diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-maverick-uniqid.patch b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-maverick-uniqid.patch new file mode 100644 index 0000000000..0bc8190464 --- /dev/null +++ b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-maverick-uniqid.patch @@ -0,0 +1,38 @@ + +Adds support for SoC's unique ID (Maverick Key) in /proc/cpuinfo + +Signed-off-by: Petr Stetiar <ynezz@true.cz> + +Index: linux-2.6.23-rc5/arch/arm/kernel/setup.c +=================================================================== +--- linux-2.6.23-rc5.orig/arch/arm/kernel/setup.c 2007-09-04 02:25:36.000000000 +0200 ++++ linux-2.6.23-rc5/arch/arm/kernel/setup.c 2007-09-04 02:26:49.000000000 +0200 +@@ -964,8 +964,15 @@ + + seq_printf(m, "Hardware\t: %s\n", machine_name); + seq_printf(m, "Revision\t: %04x\n", system_rev); ++ ++#if defined(CONFIG_ARCH_EP93XX) ++#include <asm/arch/ep93xx-regs.h> ++ seq_printf(m, "Serial\t\t: %016x\n", ++ *((unsigned int *)EP93XX_SECURITY_UNIQID)); ++#else + seq_printf(m, "Serial\t\t: %08x%08x\n", + system_serial_high, system_serial_low); ++#endif + + return 0; + } +Index: linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/ep93xx-regs.h +=================================================================== +--- linux-2.6.23-rc5.orig/include/asm-arm/arch-ep93xx/ep93xx-regs.h 2007-09-04 02:26:38.000000000 +0200 ++++ linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/ep93xx-regs.h 2007-09-04 02:26:49.000000000 +0200 +@@ -70,6 +70,8 @@ + #define EP93XX_I2S_BASE (EP93XX_APB_VIRT_BASE + 0x00020000) + + #define EP93XX_SECURITY_BASE (EP93XX_APB_VIRT_BASE + 0x00030000) ++#define EP93XX_SECURITY_REG(x) (EP93XX_SECURITY_BASE + (x)) ++#define EP93XX_SECURITY_UNIQID EP93XX_SECURITY_REG(0x2440) + + #define EP93XX_GPIO_BASE (EP93XX_APB_VIRT_BASE + 0x00040000) + #define EP93XX_GPIO_REG(x) (EP93XX_GPIO_BASE + (x)) diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-serial-clocks.diff b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-serial-clocks.diff new file mode 100644 index 0000000000..86b14894b6 --- /dev/null +++ b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-serial-clocks.diff @@ -0,0 +1,42 @@ + +Hackishly enable all UART clocks before uncompressing the kernel, +so that using ttyAM1 or ttyAM2 as console can work. + +Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> + +Index: linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/uncompress.h +=================================================================== +--- linux-2.6.23-rc5.orig/include/asm-arm/arch-ep93xx/uncompress.h 2007-09-04 02:26:42.000000000 +0200 ++++ linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/uncompress.h 2007-09-04 02:26:47.000000000 +0200 +@@ -78,6 +78,23 @@ + + + /* ++ * We don't have clock management for the UARTs (amba-pl010) ++ * yet, so hackily enable all UART clocks here for now. ++ */ ++#define PHYS_SYSCON_DEVICE_CONFIG 0x80930080 ++#define PHYS_SYSCON_SWLOCK 0x809300c0 ++ ++static void enable_all_uart_clocks(void) ++{ ++ unsigned int v; ++ ++ v = __raw_readl(PHYS_SYSCON_DEVICE_CONFIG); ++ __raw_writel(0xaa, PHYS_SYSCON_SWLOCK); ++ __raw_writel(v | 0x01140000, PHYS_SYSCON_DEVICE_CONFIG); ++} ++ ++ ++/* + * Some bootloaders don't turn on the UARTBAUD bit, which means that + * the UARTs will be running off a divided 7.3728 MHz clock instead of + * the 14.7456 MHz peripheral clock when linux boots. +@@ -126,6 +143,7 @@ + static void arch_decomp_setup(void) + { + ethernet_reset(); ++ enable_all_uart_clocks(); + fix_uart_base(); + } + diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-serial-uartbaud.diff b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-serial-uartbaud.diff new file mode 100644 index 0000000000..9cfaacd103 --- /dev/null +++ b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-serial-uartbaud.diff @@ -0,0 +1,66 @@ + +Force UARTBAUD on before uncompressing. + +Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> + +Index: linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/uncompress.h +=================================================================== +--- linux-2.6.23-rc5.orig/include/asm-arm/arch-ep93xx/uncompress.h 2007-09-04 02:25:36.000000000 +0200 ++++ linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/uncompress.h 2007-09-04 02:28:14.000000000 +0200 +@@ -77,9 +77,56 @@ + } + + ++/* ++ * Some bootloaders don't turn on the UARTBAUD bit, which means that ++ * the UARTs will be running off a divided 7.3728 MHz clock instead of ++ * the 14.7456 MHz peripheral clock when linux boots. ++ * ++ * We detect that condition here and fix it by turning on UARTBAUD, and ++ * then reprogramming the divisors on all enabled UARTs to twice what ++ * they were before we turned UARTBAUD on, to preserve the programmed ++ * baud rate. ++ */ ++#define PHYS_SYSCON_CLOCK_CONTROL 0x80930004 ++#define SYSCON_CLOCK_UARTBAUD 0x20000000 ++#define PHYS_UART1_BASE 0x808c0000 ++#define PHYS_UART2_BASE 0x808d0000 ++#define PHYS_UART3_BASE 0x808e0000 ++ ++static void uart_divisor_times_two(unsigned int base) ++{ ++ u16 divisor; ++ ++ divisor = __raw_readb(base + 0x0c) << 8; ++ divisor |= __raw_readb(base + 0x10); ++ if (divisor) { ++ divisor = (2 * (divisor + 1)) - 1; ++ __raw_writeb(divisor >> 8, base + 0x0c); ++ __raw_writeb(divisor & 0xff, base + 0x10); ++ __raw_writeb(__raw_readb(base + 0x08), base + 0x08); ++ } ++} ++ ++static void fix_uart_base(void) ++{ ++ unsigned int v; ++ ++ v = __raw_readl(PHYS_SYSCON_CLOCK_CONTROL); ++ if ((v & SYSCON_CLOCK_UARTBAUD) == 0) { ++ v |= SYSCON_CLOCK_UARTBAUD; ++ __raw_writel(v, PHYS_SYSCON_CLOCK_CONTROL); ++ ++ uart_divisor_times_two(PHYS_UART1_BASE); ++ uart_divisor_times_two(PHYS_UART2_BASE); ++ uart_divisor_times_two(PHYS_UART3_BASE); ++ } ++} ++ ++ + static void arch_decomp_setup(void) + { + ethernet_reset(); ++ fix_uart_base(); + } + + #define arch_decomp_wdog() diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-timer-accuracy.diff b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-timer-accuracy.diff new file mode 100644 index 0000000000..8a6de2e7da --- /dev/null +++ b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-timer-accuracy.diff @@ -0,0 +1,59 @@ + +The ep93xx has a weird timer tick base (983.04 kHz.) This experimental +patch tries to increase time of day accuracy by keeping the number of +ticks until the next jiffy in a fractional value representation. + +Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> + +Index: linux-2.6.23-rc5/arch/arm/mach-ep93xx/core.c +=================================================================== +--- linux-2.6.23-rc5.orig/arch/arm/mach-ep93xx/core.c 2007-09-04 02:26:38.000000000 +0200 ++++ linux-2.6.23-rc5/arch/arm/mach-ep93xx/core.c 2007-09-04 02:26:48.000000000 +0200 +@@ -94,19 +94,32 @@ + * track of lost jiffies. + */ + static unsigned int last_jiffy_time; ++static unsigned int next_jiffy_time; ++static unsigned int accumulator; + +-#define TIMER4_TICKS_PER_JIFFY ((CLOCK_TICK_RATE + (HZ/2)) / HZ) ++#define TIMER4_TICKS_PER_JIFFY (983040 / HZ) ++#define TIMER4_TICKS_MOD_JIFFY (983040 % HZ) ++ ++static int after_eq(unsigned long a, unsigned long b) ++{ ++ return ((signed long)(a - b)) >= 0; ++} + + static int ep93xx_timer_interrupt(int irq, void *dev_id) + { + write_seqlock(&xtime_lock); + + __raw_writel(1, EP93XX_TIMER1_CLEAR); +- while ((signed long) +- (__raw_readl(EP93XX_TIMER4_VALUE_LOW) - last_jiffy_time) +- >= TIMER4_TICKS_PER_JIFFY) { +- last_jiffy_time += TIMER4_TICKS_PER_JIFFY; ++ while (after_eq(__raw_readl(EP93XX_TIMER4_VALUE_LOW), next_jiffy_time)) { + timer_tick(); ++ ++ last_jiffy_time = next_jiffy_time; ++ next_jiffy_time += TIMER4_TICKS_PER_JIFFY; ++ accumulator += TIMER4_TICKS_MOD_JIFFY; ++ if (accumulator >= HZ) { ++ next_jiffy_time++; ++ accumulator -= HZ; ++ } + } + + write_sequnlock(&xtime_lock); +Index: linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/timex.h +=================================================================== +--- linux-2.6.23-rc5.orig/include/asm-arm/arch-ep93xx/timex.h 2007-09-04 02:25:36.000000000 +0200 ++++ linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/timex.h 2007-09-04 02:26:48.000000000 +0200 +@@ -2,4 +2,4 @@ + * linux/include/asm-arm/arch-ep93xx/timex.h + */ + +-#define CLOCK_TICK_RATE 983040 ++#define CLOCK_TICK_RATE (1000 * HZ) diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/series b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/series new file mode 100644 index 0000000000..e5455efd3c --- /dev/null +++ b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/series @@ -0,0 +1,12 @@ +ep93xx-gpio-interrupt-debounce.diff +ep93xx-i2c-bus.diff +ep93xx-i2c.diff +ep93xx-leds.diff +ep93xx-serial-uartbaud.diff +ep93xx-serial-clocks.diff +ep93xx-timer-accuracy.diff +ep93xx-maverick-uniqid.patch +ts72xx-machine-id-fix.patch +ts72xx-nfbit-fix.patch +ts72xx-watchdog.patch +ts72xx-use-cpld-reset.patch diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ts72xx-machine-id-fix.patch b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ts72xx-machine-id-fix.patch new file mode 100644 index 0000000000..47a07e64e1 --- /dev/null +++ b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ts72xx-machine-id-fix.patch @@ -0,0 +1,17 @@ + +Fix wrong machine ID passed from RedBoot + +Signed-off-by: Petr Stetiar <ynezz@true.cz> + +Index: linux-2.6.23-rc5/arch/arm/kernel/head.S +=================================================================== +--- linux-2.6.23-rc5.orig/arch/arm/kernel/head.S 2007-09-04 02:25:36.000000000 +0200 ++++ linux-2.6.23-rc5/arch/arm/kernel/head.S 2007-09-04 02:26:57.000000000 +0200 +@@ -86,6 +86,7 @@ + bl __lookup_processor_type @ r5=procinfo r9=cpuid + movs r10, r5 @ invalid processor (r5=0)? + beq __error_p @ yes, error 'p' ++ ldr r1, =0x000002a1 @ mach-type = TS-7250 + bl __lookup_machine_type @ r5=machinfo + movs r8, r5 @ invalid machine (r5=0)? + beq __error_a @ yes, error 'a' diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ts72xx-nfbit-fix.patch b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ts72xx-nfbit-fix.patch new file mode 100644 index 0000000000..bed3de37e9 --- /dev/null +++ b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ts72xx-nfbit-fix.patch @@ -0,0 +1,18 @@ + +Force the nF bit on. Usually this is set by the bootrom. If it is not set, +then the CPU core will run from HCLK instead of FCLK, and performance will +suffer. If you see BogoMIPS of about 1/4 of your CPU clock, try turning this +on; your performance should double. + +Index: linux-2.6.23-rc5/arch/arm/mm/proc-arm920.S +=================================================================== +--- linux-2.6.23-rc5.orig/arch/arm/mm/proc-arm920.S 2007-09-04 02:25:36.000000000 +0200 ++++ linux-2.6.23-rc5/arch/arm/mm/proc-arm920.S 2007-09-04 02:27:02.000000000 +0200 +@@ -395,6 +395,7 @@ + mrc p15, 0, r0, c1, c0 @ get control register v4 + bic r0, r0, r5 + orr r0, r0, r6 ++ orr r0, r0, #0x40000000 + mov pc, lr + .size __arm920_setup, . - __arm920_setup + diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ts72xx-use-cpld-reset.patch b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ts72xx-use-cpld-reset.patch new file mode 100644 index 0000000000..681622a9ae --- /dev/null +++ b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ts72xx-use-cpld-reset.patch @@ -0,0 +1,41 @@ + +Use CPLD watchdog to reset the machine instead of buggy ep93xx one, which +sometimes get stuck... + +Signed-off-by: Petr Stetiar <ynezz@true.cz> + +Index: linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/system.h +=================================================================== +--- linux-2.6.23-rc5.orig/include/asm-arm/arch-ep93xx/system.h 2007-09-04 02:29:35.000000000 +0200 ++++ linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/system.h 2007-09-04 02:31:52.000000000 +0200 +@@ -3,6 +3,7 @@ + */ + + #include <asm/hardware.h> ++#include <asm/mach-types.h> + + static inline void arch_idle(void) + { +@@ -15,11 +16,17 @@ + + local_irq_disable(); + +- devicecfg = __raw_readl(EP93XX_SYSCON_DEVICE_CONFIG); +- __raw_writel(0xaa, EP93XX_SYSCON_SWLOCK); +- __raw_writel(devicecfg | 0x80000000, EP93XX_SYSCON_DEVICE_CONFIG); +- __raw_writel(0xaa, EP93XX_SYSCON_SWLOCK); +- __raw_writel(devicecfg & ~0x80000000, EP93XX_SYSCON_DEVICE_CONFIG); ++ if (machine_is_ts72xx()) { ++ __raw_writeb(0x5, TS72XX_WATCHDOG_FEED_PHYS_BASE); ++ __raw_writeb(0x1, TS72XX_WATCHDOG_CONTROL_PHYS_BASE); ++ } else { ++ devicecfg = __raw_readl(EP93XX_SYSCON_DEVICE_CONFIG); ++ __raw_writel(0xaa, EP93XX_SYSCON_SWLOCK); ++ __raw_writel(devicecfg | 0x80000000, EP93XX_SYSCON_DEVICE_CONFIG); ++ __raw_writel(0xaa, EP93XX_SYSCON_SWLOCK); ++ __raw_writel(devicecfg & ~0x80000000, EP93XX_SYSCON_DEVICE_CONFIG); ++ } ++ + + while (1) + ; diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ts72xx-watchdog.patch b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ts72xx-watchdog.patch new file mode 100644 index 0000000000..b406d1db77 --- /dev/null +++ b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ts72xx-watchdog.patch @@ -0,0 +1,430 @@ + +TS-72xx watchdog driver + +Signed-off-by: Matthieu Crapet <mcrapet@gmail.com> + +Index: linux-2.6.23-rc5/arch/arm/mach-ep93xx/ts72xx.c +=================================================================== +--- linux-2.6.23-rc5.orig/arch/arm/mach-ep93xx/ts72xx.c 2007-09-04 02:25:35.000000000 +0200 ++++ linux-2.6.23-rc5/arch/arm/mach-ep93xx/ts72xx.c 2007-09-04 02:27:06.000000000 +0200 +@@ -183,6 +183,26 @@ + .resource = ts72xx_eth_resource, + }; + ++static struct resource ts72xx_watchdog_resources[] = { ++ [0] = { ++ .start = TS72XX_WATCHDOG_CONTROL_PHYS_BASE, ++ .end = TS72XX_WATCHDOG_CONTROL_PHYS_BASE + 0x0fff, ++ .flags = IORESOURCE_MEM, ++ }, ++ [1] = { ++ .start = TS72XX_WATCHDOG_FEED_PHYS_BASE, ++ .end = TS72XX_WATCHDOG_FEED_PHYS_BASE + 0x0fff, ++ .flags = IORESOURCE_MEM, ++ }, ++}; ++ ++static struct platform_device ts72xx_watchdog_device = { ++ .name = "ts72xx_wdt", ++ .id = -1, ++ .num_resources = ARRAY_SIZE(ts72xx_watchdog_resources), ++ .resource = ts72xx_watchdog_resources, ++}; ++ + static void __init ts72xx_init_machine(void) + { + ep93xx_init_devices(); +@@ -193,6 +213,7 @@ + memcpy(ts72xx_eth_data.dev_addr, + (void *)(EP93XX_ETHERNET_BASE + 0x50), 6); + platform_device_register(&ts72xx_eth_device); ++ platform_device_register(&ts72xx_watchdog_device); + } + + MACHINE_START(TS72XX, "Technologic Systems TS-72xx SBC") +Index: linux-2.6.23-rc5/drivers/char/watchdog/Kconfig +=================================================================== +--- linux-2.6.23-rc5.orig/drivers/char/watchdog/Kconfig 2007-09-04 02:25:35.000000000 +0200 ++++ linux-2.6.23-rc5/drivers/char/watchdog/Kconfig 2007-09-04 02:27:06.000000000 +0200 +@@ -247,6 +247,18 @@ + + # H8300 Architecture + ++config TS72XX_WATCHDOG ++ tristate "TS-72xx Watchdog" ++ depends on WATCHDOG && ARCH_EP93XX && MACH_TS72XX ++ help ++ Say Y here if to include support for the CPLD watchdog ++ included on Technologic Systems SBC. ++ ++ NOTE: timeout value is given in milliseconds, not in seconds. ++ ++ To compile this driver as a module, choose M here: the ++ module will be called ts72xx_wdt. ++ + # X86 (i386 + ia64 + x86_64) Architecture + + config ACQUIRE_WDT +Index: linux-2.6.23-rc5/drivers/char/watchdog/Makefile +=================================================================== +--- linux-2.6.23-rc5.orig/drivers/char/watchdog/Makefile 2007-09-04 02:25:35.000000000 +0200 ++++ linux-2.6.23-rc5/drivers/char/watchdog/Makefile 2007-09-04 02:27:06.000000000 +0200 +@@ -36,6 +36,7 @@ + obj-$(CONFIG_SA1100_WATCHDOG) += sa1100_wdt.o + obj-$(CONFIG_MPCORE_WATCHDOG) += mpcore_wdt.o + obj-$(CONFIG_EP93XX_WATCHDOG) += ep93xx_wdt.o ++obj-$(CONFIG_TS72XX_WATCHDOG) += ts72xx_wdt.o + obj-$(CONFIG_PNX4008_WATCHDOG) += pnx4008_wdt.o + obj-$(CONFIG_IOP_WATCHDOG) += iop_wdt.o + obj-$(CONFIG_DAVINCI_WATCHDOG) += davinci_wdt.o +Index: linux-2.6.23-rc5/drivers/char/watchdog/ts72xx_wdt.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.23-rc5/drivers/char/watchdog/ts72xx_wdt.c 2007-09-04 02:27:06.000000000 +0200 +@@ -0,0 +1,332 @@ ++/* ++ * TS-72xx Watchdog Driver for Technologic Systems boards. ++ * ++ * Based on ep93xx_wdt.c by Lehtiniemi <rayl@mail.com> & ++ * Alessandro Zummo <a.zummo@towertech.it> ++ * and ib700wdt.c by Charles Howes <chowes@vsol.net> ++ * and mpc83xx_wdt.c by Dave Updegraff <dave@cray.org> & ++ * Kumar Gala <galak@kernel.crashing.org> ++ * ++ * (c) Copyright 2006 Matthieu Crapet <mcrapet@gmail.com> ++ * ++ * 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 driver only deals with native timeout provided by CPLD : ++ * 1/4s, 1/2s, 1s, 2s, 4s and 8s. No external timer is used. ++ * Notice that we must ping before modifying the control register. ++ */ ++ ++#include <linux/module.h> ++#include <linux/moduleparam.h> ++#include <linux/types.h> ++#include <linux/kernel.h> ++#include <linux/fs.h> ++#include <linux/miscdevice.h> ++#include <linux/platform_device.h> ++#include <linux/init.h> ++#include <linux/watchdog.h> ++#include <asm/io.h> ++#include <asm/uaccess.h> ++#include <asm/system.h> ++#include <asm/mach-types.h> ++ ++#define WATCHDOG_VERSION "0.2" ++#define PFX "ts72xx_wdt: " ++ ++#define WATCHDOG_TIMEOUT 8000 /* 8 seconds */ ++#define WDT_IN_USE 0 ++#define WDT_OK_TO_CLOSE 1 ++ ++static unsigned long ts72xx_wdt_status; ++static unsigned char ts72xx_wdt_cpld_value = 0x7; ++static int nowayout = WATCHDOG_NOWAYOUT; ++static int timeout = WATCHDOG_TIMEOUT; ++ ++static int ts72xx_wdt_times[12] = { ++ 6000, 3000, 1500, 750, 275, 0, ++ 8000, 4000, 2000, 1000, 500, 250 ++}; ++ ++static void __iomem *control_register; ++static void __iomem *feed_register; ++ ++ ++/* ++ * Kernel methods. ++ */ ++ ++static inline void ts72xx_wdt_ping(void) ++{ ++ __raw_writew(0x05, feed_register); ++} ++ ++static inline void ts72xx_wdt_enable(void) ++{ ++ __raw_writew(0x05, feed_register); ++ __raw_writew(ts72xx_wdt_cpld_value, control_register); ++} ++ ++static inline void ts72xx_wdt_disable(void) ++{ ++ __raw_writew(0x05, feed_register); ++ __raw_writew(0, control_register); ++} ++ ++static inline void ts72xx_parse_timeout(int value) ++{ ++ unsigned char cpld_value = 0x7; ++ int i; ++ ++ if ((value > 8000) || (value < 250)) { ++ timeout = WATCHDOG_TIMEOUT; ++ printk(KERN_INFO PFX "Timeout value out of range, set to %d\n", timeout); ++ } else { ++ for (i = 0; i < 6; i++) { ++ if (value >= ts72xx_wdt_times[i]) { ++ timeout = ts72xx_wdt_times[i+6]; ++ ++ if (value != timeout) ++ printk(KERN_INFO PFX "Timeout value rounded to %d\n", timeout); ++ ++ if (i >= 3) /* cpld_value can't be 4 */ ++ i++; ++ ++ cpld_value = 7 - i; ++ break; ++ } ++ } ++ } ++ ++ ts72xx_wdt_cpld_value = cpld_value; ++} ++ ++static ssize_t ts72xx_wdt_write(struct file *file, const char __user *buf, ++ size_t count, loff_t *ppos) ++{ ++ /* Can't seek (pwrite) on this device */ ++ if (*ppos != file->f_pos) ++ return -ESPIPE; ++ ++ if (count) { ++ if (!nowayout) { ++ size_t i; ++ ++ clear_bit(WDT_OK_TO_CLOSE, &ts72xx_wdt_status); ++ ++ for (i = 0; i != count; i++) { ++ char c; ++ ++ if (get_user(c, buf + i)) ++ return -EFAULT; ++ ++ if (c == 'V') ++ set_bit(WDT_OK_TO_CLOSE, &ts72xx_wdt_status); ++ else ++ clear_bit(WDT_OK_TO_CLOSE, &ts72xx_wdt_status); ++ } ++ } ++ ts72xx_wdt_ping(); ++ } ++ ++ return count; ++} ++ ++static int ts72xx_wdt_ioctl(struct inode *inode, struct file *file, ++ unsigned int cmd, unsigned long arg) ++{ ++ int new_margin; ++ int ret = -ENOIOCTLCMD; ++ ++ static struct watchdog_info ident = { ++ .options = WDIOF_SETTIMEOUT | WDIOF_KEEPALIVEPING | WDIOF_MAGICCLOSE, ++ .firmware_version = 1, ++ .identity = "TS-72xx Watchdog", ++ }; ++ ++ switch (cmd) { ++ case WDIOC_GETSUPPORT: ++ ret = copy_to_user((struct watchdog_info __user *)arg, &ident, ++ sizeof(ident)) ? -EFAULT : 0; ++ break; ++ ++ case WDIOC_GETSTATUS: ++ case WDIOC_GETBOOTSTATUS: ++ ret = put_user(0, (int __user *)arg); ++ break; ++ ++ case WDIOC_KEEPALIVE: ++ ts72xx_wdt_ping(); ++ ret = 0; ++ break; ++ ++ case WDIOC_SETTIMEOUT: ++ if (get_user(new_margin, (int __user *)arg)) ++ return -EFAULT; ++ ++ ts72xx_parse_timeout(new_margin); ++ ts72xx_wdt_enable(); ++ /* Fall */ ++ ++ case WDIOC_GETTIMEOUT: ++ ret = put_user(timeout, (int __user *)arg); ++ break; ++ } ++ ++ return ret; ++} ++ ++static int ts72xx_wdt_open(struct inode *inode, struct file *file) ++{ ++ if (test_and_set_bit(WDT_IN_USE, &ts72xx_wdt_status)) ++ return -EBUSY; ++ ++ if (nowayout) { ++ __module_get(THIS_MODULE); ++ } ++ ++ ts72xx_wdt_enable(); ++ ts72xx_wdt_ping(); ++ ++ return nonseekable_open(inode, file); ++} ++ ++static int ts72xx_wdt_close(struct inode *inode, struct file *file) ++{ ++ if (test_bit(WDT_OK_TO_CLOSE, &ts72xx_wdt_status)) ++ ts72xx_wdt_disable(); ++ else ++ printk(KERN_CRIT PFX "Device file closed unexpectedly. " ++ "Will not stop the WDT!\n"); ++ ++ clear_bit(WDT_IN_USE, &ts72xx_wdt_status); ++ ++ return 0; ++} ++ ++/* ++ * Kernel Interfaces ++ */ ++ ++static struct file_operations ts72xx_wdt_fops = { ++ .owner = THIS_MODULE, ++ .llseek = no_llseek, ++ .write = ts72xx_wdt_write, ++ .ioctl = ts72xx_wdt_ioctl, ++ .open = ts72xx_wdt_open, ++ .release = ts72xx_wdt_close, ++}; ++ ++static struct miscdevice ts72xx_wdt_miscdev = { ++ .minor = WATCHDOG_MINOR, ++ .name = "watchdog", ++ .fops = &ts72xx_wdt_fops, ++}; ++ ++static void ts72xx_wdt_shutdown(struct platform_device *dev) ++{ ++ ts72xx_wdt_disable(); ++} ++ ++static int __devinit ts72xx_wdt_probe(struct platform_device *dev) ++{ ++ struct resource *r; ++ int ret; ++ ++ if (!machine_is_ts72xx()) ++ return -ENODEV; ++ ++ r = platform_get_resource(dev, IORESOURCE_MEM, 0); ++ ++ if (!r) { ++ ret = -ENODEV; ++ goto err_out; ++ } ++ ++ control_register = ioremap(r->start, r->end - r->start + 1); ++ ++ if (control_register == NULL) { ++ ret = -ENOMEM; ++ goto err_out; ++ } ++ ++ r = platform_get_resource(dev, IORESOURCE_MEM, 1); ++ ++ if (!r) { ++ ret = -ENODEV; ++ goto err_unmap1; ++ } ++ ++ feed_register = ioremap(r->start, r->end - r->start + 1); ++ ++ if (feed_register == NULL) { ++ ret = -ENOMEM; ++ goto err_unmap1; ++ } ++ ++ ret = misc_register(&ts72xx_wdt_miscdev); ++ if (ret) { ++ printk(KERN_ERR PFX "cannot register miscdev on minor=%d " ++ "(err=%d), ep93xx_watchdog already loaded?!\n", WATCHDOG_MINOR, ret); ++ goto err_unmap2; ++ } ++ ++ printk(KERN_INFO PFX "TS-72xx watchdog driver, v%s\n", WATCHDOG_VERSION); ++ ts72xx_parse_timeout(timeout); ++ ++ return 0; ++ ++err_unmap2: ++ iounmap(feed_register); ++err_unmap1: ++ iounmap(control_register); ++err_out: ++ return ret; ++} ++ ++static int __devexit ts72xx_wdt_remove(struct platform_device *dev) ++{ ++ misc_deregister(&ts72xx_wdt_miscdev); ++ iounmap(feed_register); ++ iounmap(control_register); ++ ++ return 0; ++} ++ ++static struct platform_driver ts72xx_wdt_driver = { ++ .probe = ts72xx_wdt_probe, ++ .remove = __devexit_p(ts72xx_wdt_remove), ++ .shutdown = ts72xx_wdt_shutdown, ++ .driver = { ++ .owner = THIS_MODULE, ++ .name = "ts72xx_wdt", ++ }, ++}; ++ ++static int __init ts72xx_wdt_init(void) ++{ ++ return platform_driver_register(&ts72xx_wdt_driver); ++} ++ ++static void __exit ts72xx_wdt_exit(void) ++{ ++ platform_driver_unregister(&ts72xx_wdt_driver); ++} ++ ++module_init(ts72xx_wdt_init); ++module_exit(ts72xx_wdt_exit); ++ ++#ifdef CONFIG_WATCHDOG_NOWAYOUT ++module_param(nowayout, int, 0); ++MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default=CONFIG_WATCHDOG_NOWAYOUT)"); ++#endif ++ ++module_param(timeout, int, 0); ++MODULE_PARM_DESC(timeout,"Watchdog timeout in milliseconds (250..8000, default=" __MODULE_STRING(WATCHDOG_TIMEOUT) ")"); ++ ++MODULE_AUTHOR("Matthieu Crapet <mcrapet@gmail.com>"); ++MODULE_DESCRIPTION("TS-72xx watchdog driver"); ++MODULE_LICENSE("GPL"); ++MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR); +Index: linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/ts72xx.h +=================================================================== +--- linux-2.6.23-rc5.orig/include/asm-arm/arch-ep93xx/ts72xx.h 2007-09-04 02:25:35.000000000 +0200 ++++ linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/ts72xx.h 2007-09-04 02:27:06.000000000 +0200 +@@ -69,6 +69,9 @@ + #define TS72XX_RTC_DATA_SIZE 0x00001000 + + ++#define TS72XX_WATCHDOG_CONTROL_PHYS_BASE 0x23800000 ++#define TS72XX_WATCHDOG_FEED_PHYS_BASE 0x23c00000 ++ + #ifndef __ASSEMBLY__ + #include <asm/io.h> + diff --git a/packages/linux/linux-2.6.22.6/.mtn2git_empty b/packages/linux/linux-2.6.22.6/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/linux/linux-2.6.22.6/.mtn2git_empty diff --git a/packages/linux/linux-2.6.22.6/ts72xx/.mtn2git_empty b/packages/linux/linux-2.6.22.6/ts72xx/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/linux/linux-2.6.22.6/ts72xx/.mtn2git_empty diff --git a/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-gpio-interrupt-debounce.diff b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-gpio-interrupt-debounce.diff new file mode 100644 index 0000000000..27146c30f1 --- /dev/null +++ b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-gpio-interrupt-debounce.diff @@ -0,0 +1,87 @@ + +Implement GPIO interrupt debouncing on ep93xx. + +Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> + +Index: linux-2.6.22/arch/arm/mach-ep93xx/core.c +=================================================================== +--- linux-2.6.22.orig/arch/arm/mach-ep93xx/core.c ++++ linux-2.6.22/arch/arm/mach-ep93xx/core.c +@@ -154,6 +154,7 @@ struct sys_timer ep93xx_timer = { + *************************************************************************/ + static unsigned char gpio_int_unmasked[3]; + static unsigned char gpio_int_enabled[3]; ++static unsigned char gpio_int_debounce[3]; + static unsigned char gpio_int_type1[3]; + static unsigned char gpio_int_type2[3]; + +@@ -161,16 +162,19 @@ static void update_gpio_int_params(int a + { + if (abf == 0) { + __raw_writeb(0, EP93XX_GPIO_A_INT_ENABLE); ++ __raw_writeb(gpio_int_debounce[0], EP93XX_GPIO_A_INT_DEBOUNCE); + __raw_writeb(gpio_int_type2[0], EP93XX_GPIO_A_INT_TYPE2); + __raw_writeb(gpio_int_type1[0], EP93XX_GPIO_A_INT_TYPE1); + __raw_writeb(gpio_int_unmasked[0] & gpio_int_enabled[0], EP93XX_GPIO_A_INT_ENABLE); + } else if (abf == 1) { + __raw_writeb(0, EP93XX_GPIO_B_INT_ENABLE); ++ __raw_writeb(gpio_int_debounce[1], EP93XX_GPIO_B_INT_DEBOUNCE); + __raw_writeb(gpio_int_type2[1], EP93XX_GPIO_B_INT_TYPE2); + __raw_writeb(gpio_int_type1[1], EP93XX_GPIO_B_INT_TYPE1); + __raw_writeb(gpio_int_unmasked[1] & gpio_int_enabled[1], EP93XX_GPIO_B_INT_ENABLE); + } else if (abf == 2) { + __raw_writeb(0, EP93XX_GPIO_F_INT_ENABLE); ++ __raw_writeb(gpio_int_debounce[2], EP93XX_GPIO_F_INT_DEBOUNCE); + __raw_writeb(gpio_int_type2[2], EP93XX_GPIO_F_INT_TYPE2); + __raw_writeb(gpio_int_type1[2], EP93XX_GPIO_F_INT_TYPE1); + __raw_writeb(gpio_int_unmasked[2] & gpio_int_enabled[2], EP93XX_GPIO_F_INT_ENABLE); +@@ -361,6 +365,13 @@ static int ep93xx_gpio_irq_type(unsigned + } else { + gpio_int_enabled[port] &= ~(1 << line); + } ++ ++ if (type & IRQ_TYPE_DEBOUNCE) { ++ gpio_int_debounce[port] |= 1 << line; ++ } else { ++ gpio_int_debounce[port] &= ~(1 << line); ++ } ++ + update_gpio_int_params(port); + + return 0; +Index: linux-2.6.22/include/asm-arm/arch-ep93xx/ep93xx-regs.h +=================================================================== +--- linux-2.6.22.orig/include/asm-arm/arch-ep93xx/ep93xx-regs.h ++++ linux-2.6.22/include/asm-arm/arch-ep93xx/ep93xx-regs.h +@@ -78,16 +78,19 @@ + #define EP93XX_GPIO_F_INT_ACK EP93XX_GPIO_REG(0x54) + #define EP93XX_GPIO_F_INT_ENABLE EP93XX_GPIO_REG(0x58) + #define EP93XX_GPIO_F_INT_STATUS EP93XX_GPIO_REG(0x5c) ++#define EP93XX_GPIO_F_INT_DEBOUNCE EP93XX_GPIO_REG(0x64) + #define EP93XX_GPIO_A_INT_TYPE1 EP93XX_GPIO_REG(0x90) + #define EP93XX_GPIO_A_INT_TYPE2 EP93XX_GPIO_REG(0x94) + #define EP93XX_GPIO_A_INT_ACK EP93XX_GPIO_REG(0x98) + #define EP93XX_GPIO_A_INT_ENABLE EP93XX_GPIO_REG(0x9c) + #define EP93XX_GPIO_A_INT_STATUS EP93XX_GPIO_REG(0xa0) ++#define EP93XX_GPIO_A_INT_DEBOUNCE EP93XX_GPIO_REG(0xa8) + #define EP93XX_GPIO_B_INT_TYPE1 EP93XX_GPIO_REG(0xac) + #define EP93XX_GPIO_B_INT_TYPE2 EP93XX_GPIO_REG(0xb0) + #define EP93XX_GPIO_B_INT_ACK EP93XX_GPIO_REG(0xb4) + #define EP93XX_GPIO_B_INT_ENABLE EP93XX_GPIO_REG(0xb8) + #define EP93XX_GPIO_B_INT_STATUS EP93XX_GPIO_REG(0xbc) ++#define EP93XX_GPIO_B_INT_DEBOUNCE EP93XX_GPIO_REG(0xc4) + + #define EP93XX_AAC_BASE (EP93XX_APB_VIRT_BASE + 0x00080000) + +Index: linux-2.6.22/include/linux/irq.h +=================================================================== +--- linux-2.6.22.orig/include/linux/irq.h ++++ linux-2.6.22/include/linux/irq.h +@@ -44,6 +44,7 @@ typedef void fastcall (*irq_flow_handler + #define IRQ_TYPE_LEVEL_LOW 0x00000008 /* Level low type */ + #define IRQ_TYPE_SENSE_MASK 0x0000000f /* Mask of the above */ + #define IRQ_TYPE_PROBE 0x00000010 /* Probing in progress */ ++#define IRQ_TYPE_DEBOUNCE 0x00000020 /* Enable HW debounce */ + + /* Internal flags */ + #define IRQ_INPROGRESS 0x00000100 /* IRQ handler active - do not enter! */ diff --git a/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-i2c-bus.diff b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-i2c-bus.diff new file mode 100644 index 0000000000..d3c66940de --- /dev/null +++ b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-i2c-bus.diff @@ -0,0 +1,220 @@ + +I2C bus driver using ep93xx GPIOs. + +Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> + +Index: linux-2.6.22/drivers/i2c/busses/Kconfig +=================================================================== +--- linux-2.6.22.orig/drivers/i2c/busses/Kconfig 2007-08-30 00:42:45.000000000 +0200 ++++ linux-2.6.22/drivers/i2c/busses/Kconfig 2007-08-30 00:42:52.000000000 +0200 +@@ -635,4 +635,16 @@ + This driver can also be built as a module. If so, the module + will be called i2c-pnx. + ++config I2C_EP93XX ++ tristate "Cirrus Logic EP93XX GPIO-based I2C interface" ++ depends on I2C && ARCH_EP93XX ++ select I2C_ALGOBIT ++ help ++ Say Y here if you have an Cirrus Logic EP93XX based ++ system and are using GPIO lines for an I2C bus. ++ ++ This support is also available as a module. If so, the module ++ will be called i2c-ep93xx. ++ ++ + endmenu +Index: linux-2.6.22/drivers/i2c/busses/Makefile +=================================================================== +--- linux-2.6.22.orig/drivers/i2c/busses/Makefile 2007-08-30 00:42:45.000000000 +0200 ++++ linux-2.6.22/drivers/i2c/busses/Makefile 2007-08-30 00:42:52.000000000 +0200 +@@ -52,6 +52,7 @@ + obj-$(CONFIG_I2C_VOODOO3) += i2c-voodoo3.o + obj-$(CONFIG_SCx200_ACB) += scx200_acb.o + obj-$(CONFIG_SCx200_I2C) += scx200_i2c.o ++obj-$(CONFIG_I2C_EP93XX) += i2c-ep93xx.o + + ifeq ($(CONFIG_I2C_DEBUG_BUS),y) + EXTRA_CFLAGS += -DDEBUG +Index: linux-2.6.22/drivers/i2c/busses/i2c-ep93xx.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.22/drivers/i2c/busses/i2c-ep93xx.c 2007-08-30 00:42:52.000000000 +0200 +@@ -0,0 +1,159 @@ ++/* ++ * EP93XX I2C bus driver. ++ * Copyright (C) 2007 Lennert Buytenhek <buytenh@wantstofly.org> ++ * ++ * An I2C bus driver for the Cirrus Logic EP93xx SoC. ++ * ++ * Based on an earlier version by Alessandro Zummo. ++ */ ++ ++#include <linux/kernel.h> ++#include <linux/platform_device.h> ++#include <linux/module.h> ++#include <linux/i2c.h> ++#include <linux/i2c-algo-bit.h> ++#include <asm/hardware.h> ++#include <asm/arch/gpio.h> ++ ++struct ep93xx_i2c_priv { ++ struct ep93xx_i2c_data *data; ++ struct i2c_adapter adapter; ++ struct i2c_algo_bit_data algo_data; ++ int sda; ++ int scl; ++}; ++ ++ ++static void ep93xx_bit_setsda(void *cookie, int val) ++{ ++ struct ep93xx_i2c_priv *priv = cookie; ++ ++ if (val) { ++ gpio_line_config(priv->data->sda_pin, GPIO_IN); ++ if (priv->scl && !priv->sda && priv->data->stop != NULL) ++ priv->data->stop(priv->data->cookie); ++ priv->sda = 1; ++ } else { ++ if (priv->scl && priv->sda && priv->data->start != NULL) ++ priv->data->start(priv->data->cookie); ++ gpio_line_config(priv->data->sda_pin, GPIO_OUT); ++ gpio_line_set(priv->data->sda_pin, 0); ++ priv->sda = 0; ++ } ++} ++ ++static void ep93xx_bit_setscl(void *cookie, int val) ++{ ++ struct ep93xx_i2c_priv *priv = cookie; ++ ++ if (val) { ++ gpio_line_config(priv->data->scl_pin, GPIO_IN); ++ priv->scl = 1; ++ } else { ++ gpio_line_config(priv->data->scl_pin, GPIO_OUT); ++ gpio_line_set(priv->data->scl_pin, 0); ++ priv->scl = 0; ++ } ++} ++ ++static int ep93xx_bit_getsda(void *cookie) ++{ ++ struct ep93xx_i2c_priv *priv = cookie; ++ ++ if (priv->sda == 0) ++ BUG(); ++ ++ return gpio_line_get(priv->data->sda_pin); ++} ++ ++static int ep93xx_bit_getscl(void *cookie) ++{ ++ struct ep93xx_i2c_priv *priv = cookie; ++ ++ if (priv->scl == 0) ++ BUG(); ++ ++ return gpio_line_get(priv->data->scl_pin); ++} ++ ++ ++static int ep93xx_i2c_probe(struct platform_device *pdev) ++{ ++ struct ep93xx_i2c_priv *priv; ++ int err; ++ ++ priv = kzalloc(sizeof(struct ep93xx_i2c_priv), GFP_KERNEL); ++ if (priv == NULL) ++ return -ENOMEM; ++ ++ priv->data = pdev->dev.platform_data; ++ ++ strlcpy(priv->adapter.name, pdev->dev.driver->name, I2C_NAME_SIZE); ++ priv->adapter.algo_data = &priv->algo_data; ++ priv->adapter.class = I2C_CLASS_ALL; ++ priv->adapter.dev.parent = &pdev->dev; ++ ++ priv->algo_data.data = priv; ++ priv->algo_data.setsda = ep93xx_bit_setsda; ++ priv->algo_data.setscl = ep93xx_bit_setscl; ++ priv->algo_data.getsda = ep93xx_bit_getsda; ++ priv->algo_data.getscl = ep93xx_bit_getscl; ++ priv->algo_data.udelay = 10; ++ priv->algo_data.timeout = 100; ++ ++ priv->sda = 1; ++ gpio_line_config(priv->data->sda_pin, GPIO_IN); ++ ++ priv->scl = 1; ++ gpio_line_config(priv->data->scl_pin, GPIO_IN); ++ ++ err = i2c_bit_add_bus(&priv->adapter); ++ if (err) { ++ printk(KERN_ERR "ERROR: Could not install %s\n", ++ pdev->dev.bus_id); ++ kfree(priv); ++ return err; ++ } ++ ++ platform_set_drvdata(pdev, priv); ++ ++ return 0; ++} ++ ++static int ep93xx_i2c_remove(struct platform_device *pdev) ++{ ++ struct ep93xx_i2c_priv *priv; ++ ++ priv = platform_get_drvdata(pdev); ++ i2c_del_adapter(&priv->adapter); ++ platform_set_drvdata(pdev, NULL); ++ kfree(priv); ++ ++ return 0; ++} ++ ++static struct platform_driver ep93xx_i2c_driver = { ++ .probe = ep93xx_i2c_probe, ++ .remove = ep93xx_i2c_remove, ++ .driver = { ++ .name = "ep93xx-i2c", ++ .owner = THIS_MODULE, ++ }, ++}; ++ ++static int __init ep93xx_i2c_init(void) ++{ ++ return platform_driver_register(&ep93xx_i2c_driver); ++} ++ ++static void __exit ep93xx_i2c_exit(void) ++{ ++ platform_driver_unregister(&ep93xx_i2c_driver); ++} ++ ++module_init(ep93xx_i2c_init); ++module_exit(ep93xx_i2c_exit); ++ ++MODULE_AUTHOR("Lennert Buytenhek <buytenh@wantstofly.org>"); ++MODULE_DESCRIPTION("GPIO-based I2C adapter for EP93XX systems"); ++MODULE_LICENSE("GPL"); +Index: linux-2.6.22/include/asm-arm/arch-ep93xx/platform.h +=================================================================== +--- linux-2.6.22.orig/include/asm-arm/arch-ep93xx/platform.h 2007-08-30 00:42:45.000000000 +0200 ++++ linux-2.6.22/include/asm-arm/arch-ep93xx/platform.h 2007-08-30 00:42:52.000000000 +0200 +@@ -16,5 +16,13 @@ + unsigned char phy_id; + }; + ++struct ep93xx_i2c_data { ++ int sda_pin; ++ int scl_pin; ++ void *cookie; ++ void (*start)(void *); ++ void (*stop)(void *); ++}; ++ + + #endif diff --git a/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-i2c.diff b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-i2c.diff new file mode 100644 index 0000000000..b68fb14e2e --- /dev/null +++ b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-i2c.diff @@ -0,0 +1,110 @@ + +Instantiate the ep93xx gpio i2c bus driver in the generic ep93xx +code. + +Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> + +Index: linux-2.6.22/arch/arm/mach-ep93xx/core.c +=================================================================== +--- linux-2.6.22.orig/arch/arm/mach-ep93xx/core.c 2007-08-30 00:42:49.000000000 +0200 ++++ linux-2.6.22/arch/arm/mach-ep93xx/core.c 2007-08-30 00:43:00.000000000 +0200 +@@ -509,6 +509,52 @@ + }; + + ++static DEFINE_MUTEX(eeclk_eedat_mutex); ++static int i2c_transaction_in_progress; ++ ++static void ep93xx_i2c_start_condition(void *cookie) ++{ ++ if (!i2c_transaction_in_progress) { ++ mutex_lock(&eeclk_eedat_mutex); ++ i2c_transaction_in_progress = 1; ++ } ++} ++ ++static void ep93xx_i2c_stop_condition(void *cookie) ++{ ++ if (i2c_transaction_in_progress) { ++ mutex_unlock(&eeclk_eedat_mutex); ++ i2c_transaction_in_progress = 0; ++ } else { ++ printk(KERN_WARNING "ep93xx: i2c stop without start??\n"); ++ } ++} ++ ++static struct ep93xx_i2c_data ep93xx_i2c_gpio_data = { ++ .sda_pin = EP93XX_GPIO_LINE_EEDAT, ++ .scl_pin = EP93XX_GPIO_LINE_EECLK, ++ .start = ep93xx_i2c_start_condition, ++ .stop = ep93xx_i2c_stop_condition, ++}; ++ ++static struct platform_device ep93xx_i2c_device = { ++ .name = "ep93xx-i2c", ++ .id = 0, ++ .dev.platform_data = &ep93xx_i2c_gpio_data, ++ .num_resources = 0, ++}; ++ ++void eeclk_eedat_claim(void) ++{ ++ mutex_lock(&eeclk_eedat_mutex); ++} ++ ++void eeclk_eedat_release(void) ++{ ++ mutex_unlock(&eeclk_eedat_mutex); ++} ++ ++ + void __init ep93xx_init_devices(void) + { + unsigned int v; +@@ -521,10 +567,20 @@ + __raw_writel(0xaa, EP93XX_SYSCON_SWLOCK); + __raw_writel(v, EP93XX_SYSCON_DEVICE_CONFIG); + ++ /* ++ * When EECLK/EEDAT are in open drain mode (EEDRIVE=0b11), ++ * writing a 1 to their Data Register bits causes subsequent ++ * reads from the Data Direction Register to return 'input', ++ * which confuses gpio_line_config(). So, we use CMOS drive ++ * mode instead. ++ */ ++ __raw_writel(0, EP93XX_GPIO_EEDRIVE); ++ + amba_device_register(&uart1_device, &iomem_resource); + amba_device_register(&uart2_device, &iomem_resource); + amba_device_register(&uart3_device, &iomem_resource); + + platform_device_register(&ep93xx_rtc_device); + platform_device_register(&ep93xx_ohci_device); ++ platform_device_register(&ep93xx_i2c_device); + } +Index: linux-2.6.22/include/asm-arm/arch-ep93xx/ep93xx-regs.h +=================================================================== +--- linux-2.6.22.orig/include/asm-arm/arch-ep93xx/ep93xx-regs.h 2007-08-30 00:42:49.000000000 +0200 ++++ linux-2.6.22/include/asm-arm/arch-ep93xx/ep93xx-regs.h 2007-08-30 00:43:00.000000000 +0200 +@@ -91,6 +91,7 @@ + #define EP93XX_GPIO_B_INT_ENABLE EP93XX_GPIO_REG(0xb8) + #define EP93XX_GPIO_B_INT_STATUS EP93XX_GPIO_REG(0xbc) + #define EP93XX_GPIO_B_INT_DEBOUNCE EP93XX_GPIO_REG(0xc4) ++#define EP93XX_GPIO_EEDRIVE EP93XX_GPIO_REG(0xc8) + + #define EP93XX_AAC_BASE (EP93XX_APB_VIRT_BASE + 0x00080000) + +Index: linux-2.6.22/include/asm-arm/arch-ep93xx/platform.h +=================================================================== +--- linux-2.6.22.orig/include/asm-arm/arch-ep93xx/platform.h 2007-08-30 00:42:52.000000000 +0200 ++++ linux-2.6.22/include/asm-arm/arch-ep93xx/platform.h 2007-08-30 00:43:00.000000000 +0200 +@@ -10,6 +10,9 @@ + void ep93xx_init_devices(void); + extern struct sys_timer ep93xx_timer; + ++void eeclk_eedat_claim(void); ++void eeclk_eedat_release(void); ++ + struct ep93xx_eth_data + { + unsigned char dev_addr[6]; diff --git a/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-leds.diff b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-leds.diff new file mode 100644 index 0000000000..0d11311d10 --- /dev/null +++ b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-leds.diff @@ -0,0 +1,181 @@ + +EP93xx leds driver + +Signed-off-by: Petr Stetiar <ynezz@true.cz> + +Index: linux-2.6.22/arch/arm/mach-ep93xx/core.c +=================================================================== +--- linux-2.6.22.orig/arch/arm/mach-ep93xx/core.c ++++ linux-2.6.22/arch/arm/mach-ep93xx/core.c +@@ -555,6 +555,12 @@ void eeclk_eedat_release(void) + } + + ++static struct platform_device ep93xx_led_device = { ++ .name = "ep93xx-led", ++ .id = -1, ++}; ++ ++ + void __init ep93xx_init_devices(void) + { + unsigned int v; +@@ -583,4 +589,5 @@ void __init ep93xx_init_devices(void) + platform_device_register(&ep93xx_rtc_device); + platform_device_register(&ep93xx_ohci_device); + platform_device_register(&ep93xx_i2c_device); ++ platform_device_register(&ep93xx_led_device); + } +Index: linux-2.6.22/drivers/leds/Kconfig +=================================================================== +--- linux-2.6.22.orig/drivers/leds/Kconfig ++++ linux-2.6.22/drivers/leds/Kconfig +@@ -95,6 +95,12 @@ config LEDS_COBALT + help + This option enables support for the front LED on Cobalt Server + ++config LEDS_EP93XX ++ tristate "LED Support for Cirrus Logic EP93xx" ++ depends on LEDS_CLASS && ARCH_EP93XX ++ help ++ This option enables support for the Cirrus Logic EP93xx based boards. ++ + comment "LED Triggers" + + config LEDS_TRIGGERS +Index: linux-2.6.22/drivers/leds/Makefile +=================================================================== +--- linux-2.6.22.orig/drivers/leds/Makefile ++++ linux-2.6.22/drivers/leds/Makefile +@@ -16,6 +16,7 @@ obj-$(CONFIG_LEDS_NET48XX) += leds-net4 + obj-$(CONFIG_LEDS_WRAP) += leds-wrap.o + obj-$(CONFIG_LEDS_H1940) += leds-h1940.o + obj-$(CONFIG_LEDS_COBALT) += leds-cobalt.o ++obj-$(CONFIG_LEDS_EP93XX) += leds-ep93xx.o + + # LED Triggers + obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o +Index: linux-2.6.22/drivers/leds/leds-ep93xx.c +=================================================================== +--- /dev/null ++++ linux-2.6.22/drivers/leds/leds-ep93xx.c +@@ -0,0 +1,119 @@ ++/* ++ * LEDs driver for Cirrus Logic EP93xx ++ * ++ * Author: Petr Stetiar <ynezz@true.cz> ++ * ++ * Based on leds-corgi.c by Richard Purdie ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ * ++ */ ++ ++#include <linux/kernel.h> ++#include <linux/init.h> ++#include <linux/platform_device.h> ++#include <linux/leds.h> ++#include <asm/mach-types.h> ++#include <asm/arch/hardware.h> ++#include <asm/arch/gpio.h> ++ ++static void ep93xx_green_led_set(struct led_classdev *led_cdev, enum led_brightness value) ++{ ++ if (value) ++ gpio_line_set(EP93XX_GPIO_LINE_GRLED, EP93XX_GPIO_HIGH); ++ else ++ gpio_line_set(EP93XX_GPIO_LINE_GRLED, EP93XX_GPIO_LOW); ++} ++ ++static void ep93xx_red_led_set(struct led_classdev *led_cdev, enum led_brightness value) ++{ ++ if (value) ++ gpio_line_set(EP93XX_GPIO_LINE_RDLED, EP93XX_GPIO_HIGH); ++ else ++ gpio_line_set(EP93XX_GPIO_LINE_RDLED, EP93XX_GPIO_LOW); ++} ++ ++ ++static struct led_classdev ep93xx_green_led = { ++ .name = "ep93xx:green", ++ .default_trigger = "none", ++ .brightness_set = ep93xx_green_led_set, ++}; ++ ++static struct led_classdev ep93xx_red_led = { ++ .name = "ep93xx:red", ++ .default_trigger = "heartbeat", ++ .brightness_set = ep93xx_red_led_set, ++}; ++ ++#ifdef CONFIG_PM ++static int ep93xx_led_suspend(struct platform_device *dev, pm_message_t state) ++{ ++ led_classdev_suspend(&ep93xx_green_led); ++ led_classdev_suspend(&ep93xx_red_led); ++ return 0; ++} ++ ++static int ep93xx_led_resume(struct platform_device *dev) ++{ ++ led_classdev_resume(&ep93xx_red_led); ++ led_classdev_resume(&ep93xx_green_led); ++ return 0; ++} ++#endif ++ ++static int ep93xx_led_probe(struct platform_device *pdev) ++{ ++ int ret; ++ ++ gpio_line_config(EP93XX_GPIO_LINE_GRLED, GPIO_OUT); ++ gpio_line_config(EP93XX_GPIO_LINE_RDLED, GPIO_OUT); ++ ++ ret = led_classdev_register(&pdev->dev, &ep93xx_green_led); ++ if (ret < 0) ++ return ret; ++ ++ ret = led_classdev_register(&pdev->dev, &ep93xx_red_led); ++ if (ret < 0) ++ led_classdev_unregister(&ep93xx_green_led); ++ ++ return ret; ++} ++ ++static int ep93xx_led_remove(struct platform_device *pdev) ++{ ++ led_classdev_unregister(&ep93xx_green_led); ++ led_classdev_unregister(&ep93xx_red_led); ++ return 0; ++} ++ ++static struct platform_driver ep93xx_led_driver = { ++ .probe = ep93xx_led_probe, ++ .remove = ep93xx_led_remove, ++#ifdef CONFIG_PM ++ .suspend = ep93xx_led_suspend, ++ .resume = ep93xx_led_resume, ++#endif ++ .driver = { ++ .name = "ep93xx-led", ++ }, ++}; ++ ++static int __init ep93xx_led_init(void) ++{ ++ return platform_driver_register(&ep93xx_led_driver); ++} ++ ++static void __exit ep93xx_led_exit(void) ++{ ++ platform_driver_unregister(&ep93xx_led_driver); ++} ++ ++module_init(ep93xx_led_init); ++module_exit(ep93xx_led_exit); ++ ++MODULE_AUTHOR("Petr Stetiar <ynezz@true.cz>"); ++MODULE_DESCRIPTION("Cirrus Logic EP93xx LED driver"); ++MODULE_LICENSE("GPL"); diff --git a/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-maverick-uniqid.patch b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-maverick-uniqid.patch new file mode 100644 index 0000000000..fb6c8cfe18 --- /dev/null +++ b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-maverick-uniqid.patch @@ -0,0 +1,38 @@ + +Adds support for SoC's unique ID (Maverick Key) in /proc/cpuinfo + +Signed-off-by: Petr Stetiar <ynezz@true.cz> + +Index: linux-2.6.22/arch/arm/kernel/setup.c +=================================================================== +--- linux-2.6.22.orig/arch/arm/kernel/setup.c 2007-09-02 23:08:51.000000000 +0200 ++++ linux-2.6.22/arch/arm/kernel/setup.c 2007-09-02 23:10:24.000000000 +0200 +@@ -959,8 +959,15 @@ + + seq_printf(m, "Hardware\t: %s\n", machine_name); + seq_printf(m, "Revision\t: %04x\n", system_rev); ++ ++#if defined(CONFIG_ARCH_EP93XX) ++#include <asm/arch/ep93xx-regs.h> ++ seq_printf(m, "Serial\t\t: %016x\n", ++ *((unsigned int *)EP93XX_SECURITY_UNIQID)); ++#else + seq_printf(m, "Serial\t\t: %08x%08x\n", + system_serial_high, system_serial_low); ++#endif + + return 0; + } +Index: linux-2.6.22/include/asm-arm/arch-ep93xx/ep93xx-regs.h +=================================================================== +--- linux-2.6.22.orig/include/asm-arm/arch-ep93xx/ep93xx-regs.h 2007-09-02 23:06:45.000000000 +0200 ++++ linux-2.6.22/include/asm-arm/arch-ep93xx/ep93xx-regs.h 2007-09-02 23:08:34.000000000 +0200 +@@ -70,6 +70,8 @@ + #define EP93XX_I2S_BASE (EP93XX_APB_VIRT_BASE + 0x00020000) + + #define EP93XX_SECURITY_BASE (EP93XX_APB_VIRT_BASE + 0x00030000) ++#define EP93XX_SECURITY_REG(x) (EP93XX_SECURITY_BASE + (x)) ++#define EP93XX_SECURITY_UNIQID EP93XX_SECURITY_REG(0x2440) + + #define EP93XX_GPIO_BASE (EP93XX_APB_VIRT_BASE + 0x00040000) + #define EP93XX_GPIO_REG(x) (EP93XX_GPIO_BASE + (x)) diff --git a/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-serial-clocks.diff b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-serial-clocks.diff new file mode 100644 index 0000000000..9eb2d9de98 --- /dev/null +++ b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-serial-clocks.diff @@ -0,0 +1,42 @@ + +Hackishly enable all UART clocks before uncompressing the kernel, +so that using ttyAM1 or ttyAM2 as console can work. + +Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> + +Index: linux-2.6.22/include/asm-arm/arch-ep93xx/uncompress.h +=================================================================== +--- linux-2.6.22.orig/include/asm-arm/arch-ep93xx/uncompress.h ++++ linux-2.6.22/include/asm-arm/arch-ep93xx/uncompress.h +@@ -78,6 +78,23 @@ static void ethernet_reset(void) + + + /* ++ * We don't have clock management for the UARTs (amba-pl010) ++ * yet, so hackily enable all UART clocks here for now. ++ */ ++#define PHYS_SYSCON_DEVICE_CONFIG 0x80930080 ++#define PHYS_SYSCON_SWLOCK 0x809300c0 ++ ++static void enable_all_uart_clocks(void) ++{ ++ unsigned int v; ++ ++ v = __raw_readl(PHYS_SYSCON_DEVICE_CONFIG); ++ __raw_writel(0xaa, PHYS_SYSCON_SWLOCK); ++ __raw_writel(v | 0x01140000, PHYS_SYSCON_DEVICE_CONFIG); ++} ++ ++ ++/* + * Some bootloaders don't turn on the UARTBAUD bit, which means that + * the UARTs will be running off a divided 7.3728 MHz clock instead of + * the 14.7456 MHz peripheral clock when linux boots. +@@ -126,6 +143,7 @@ static void fix_uart_base(void) + static void arch_decomp_setup(void) + { + ethernet_reset(); ++ enable_all_uart_clocks(); + fix_uart_base(); + } + diff --git a/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-serial-uartbaud.diff b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-serial-uartbaud.diff new file mode 100644 index 0000000000..7183ab626e --- /dev/null +++ b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-serial-uartbaud.diff @@ -0,0 +1,66 @@ + +Force UARTBAUD on before uncompressing. + +Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> + +Index: linux-2.6.22/include/asm-arm/arch-ep93xx/uncompress.h +=================================================================== +--- linux-2.6.22.orig/include/asm-arm/arch-ep93xx/uncompress.h ++++ linux-2.6.22/include/asm-arm/arch-ep93xx/uncompress.h +@@ -77,9 +77,56 @@ static void ethernet_reset(void) + } + + ++/* ++ * Some bootloaders don't turn on the UARTBAUD bit, which means that ++ * the UARTs will be running off a divided 7.3728 MHz clock instead of ++ * the 14.7456 MHz peripheral clock when linux boots. ++ * ++ * We detect that condition here and fix it by turning on UARTBAUD, and ++ * then reprogramming the divisors on all enabled UARTs to twice what ++ * they were before we turned UARTBAUD on, to preserve the programmed ++ * baud rate. ++ */ ++#define PHYS_SYSCON_CLOCK_CONTROL 0x80930004 ++#define SYSCON_CLOCK_UARTBAUD 0x20000000 ++#define PHYS_UART1_BASE 0x808c0000 ++#define PHYS_UART2_BASE 0x808d0000 ++#define PHYS_UART3_BASE 0x808e0000 ++ ++static void uart_divisor_times_two(unsigned int base) ++{ ++ u16 divisor; ++ ++ divisor = __raw_readb(base + 0x0c) << 8; ++ divisor |= __raw_readb(base + 0x10); ++ if (divisor) { ++ divisor = (2 * (divisor + 1)) - 1; ++ __raw_writeb(divisor >> 8, base + 0x0c); ++ __raw_writeb(divisor & 0xff, base + 0x10); ++ __raw_writeb(__raw_readb(base + 0x08), base + 0x08); ++ } ++} ++ ++static void fix_uart_base(void) ++{ ++ unsigned int v; ++ ++ v = __raw_readl(PHYS_SYSCON_CLOCK_CONTROL); ++ if ((v & SYSCON_CLOCK_UARTBAUD) == 0) { ++ v |= SYSCON_CLOCK_UARTBAUD; ++ __raw_writel(v, PHYS_SYSCON_CLOCK_CONTROL); ++ ++ uart_divisor_times_two(PHYS_UART1_BASE); ++ uart_divisor_times_two(PHYS_UART2_BASE); ++ uart_divisor_times_two(PHYS_UART3_BASE); ++ } ++} ++ ++ + static void arch_decomp_setup(void) + { + ethernet_reset(); ++ fix_uart_base(); + } + + #define arch_decomp_wdog() diff --git a/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-timer-accuracy.diff b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-timer-accuracy.diff new file mode 100644 index 0000000000..8254153b69 --- /dev/null +++ b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-timer-accuracy.diff @@ -0,0 +1,59 @@ + +The ep93xx has a weird timer tick base (983.04 kHz.) This experimental +patch tries to increase time of day accuracy by keeping the number of +ticks until the next jiffy in a fractional value representation. + +Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> + +Index: linux-2.6.22/arch/arm/mach-ep93xx/core.c +=================================================================== +--- linux-2.6.22.orig/arch/arm/mach-ep93xx/core.c ++++ linux-2.6.22/arch/arm/mach-ep93xx/core.c +@@ -94,19 +94,32 @@ void __init ep93xx_map_io(void) + * track of lost jiffies. + */ + static unsigned int last_jiffy_time; ++static unsigned int next_jiffy_time; ++static unsigned int accumulator; + +-#define TIMER4_TICKS_PER_JIFFY ((CLOCK_TICK_RATE + (HZ/2)) / HZ) ++#define TIMER4_TICKS_PER_JIFFY (983040 / HZ) ++#define TIMER4_TICKS_MOD_JIFFY (983040 % HZ) ++ ++static int after_eq(unsigned long a, unsigned long b) ++{ ++ return ((signed long)(a - b)) >= 0; ++} + + static int ep93xx_timer_interrupt(int irq, void *dev_id) + { + write_seqlock(&xtime_lock); + + __raw_writel(1, EP93XX_TIMER1_CLEAR); +- while ((signed long) +- (__raw_readl(EP93XX_TIMER4_VALUE_LOW) - last_jiffy_time) +- >= TIMER4_TICKS_PER_JIFFY) { +- last_jiffy_time += TIMER4_TICKS_PER_JIFFY; ++ while (after_eq(__raw_readl(EP93XX_TIMER4_VALUE_LOW), next_jiffy_time)) { + timer_tick(); ++ ++ last_jiffy_time = next_jiffy_time; ++ next_jiffy_time += TIMER4_TICKS_PER_JIFFY; ++ accumulator += TIMER4_TICKS_MOD_JIFFY; ++ if (accumulator >= HZ) { ++ next_jiffy_time++; ++ accumulator -= HZ; ++ } + } + + write_sequnlock(&xtime_lock); +Index: linux-2.6.22/include/asm-arm/arch-ep93xx/timex.h +=================================================================== +--- linux-2.6.22.orig/include/asm-arm/arch-ep93xx/timex.h ++++ linux-2.6.22/include/asm-arm/arch-ep93xx/timex.h +@@ -2,4 +2,4 @@ + * linux/include/asm-arm/arch-ep93xx/timex.h + */ + +-#define CLOCK_TICK_RATE 983040 ++#define CLOCK_TICK_RATE (1000 * HZ) diff --git a/packages/linux/linux-2.6.22.6/ts72xx/series b/packages/linux/linux-2.6.22.6/ts72xx/series new file mode 100644 index 0000000000..e5455efd3c --- /dev/null +++ b/packages/linux/linux-2.6.22.6/ts72xx/series @@ -0,0 +1,12 @@ +ep93xx-gpio-interrupt-debounce.diff +ep93xx-i2c-bus.diff +ep93xx-i2c.diff +ep93xx-leds.diff +ep93xx-serial-uartbaud.diff +ep93xx-serial-clocks.diff +ep93xx-timer-accuracy.diff +ep93xx-maverick-uniqid.patch +ts72xx-machine-id-fix.patch +ts72xx-nfbit-fix.patch +ts72xx-watchdog.patch +ts72xx-use-cpld-reset.patch diff --git a/packages/linux/linux-2.6.22.6/ts72xx/ts72xx-machine-id-fix.patch b/packages/linux/linux-2.6.22.6/ts72xx/ts72xx-machine-id-fix.patch new file mode 100644 index 0000000000..64c38398db --- /dev/null +++ b/packages/linux/linux-2.6.22.6/ts72xx/ts72xx-machine-id-fix.patch @@ -0,0 +1,17 @@ + +Fix wrong machine ID passed from RedBoot + +Signed-off-by: Petr Stetiar <ynezz@true.cz> + +Index: linux-2.6.22/arch/arm/kernel/head.S +=================================================================== +--- linux-2.6.22.orig/arch/arm/kernel/head.S 2007-08-30 00:42:45.000000000 +0200 ++++ linux-2.6.22/arch/arm/kernel/head.S 2007-08-30 00:43:13.000000000 +0200 +@@ -82,6 +82,7 @@ + bl __lookup_processor_type @ r5=procinfo r9=cpuid + movs r10, r5 @ invalid processor (r5=0)? + beq __error_p @ yes, error 'p' ++ ldr r1, =0x000002a1 @ mach-type = TS-7250 + bl __lookup_machine_type @ r5=machinfo + movs r8, r5 @ invalid machine (r5=0)? + beq __error_a @ yes, error 'a' diff --git a/packages/linux/linux-2.6.22.6/ts72xx/ts72xx-nfbit-fix.patch b/packages/linux/linux-2.6.22.6/ts72xx/ts72xx-nfbit-fix.patch new file mode 100644 index 0000000000..eab73154a8 --- /dev/null +++ b/packages/linux/linux-2.6.22.6/ts72xx/ts72xx-nfbit-fix.patch @@ -0,0 +1,15 @@ + +Force the nF bit on. Usually this is set by the bootrom. If it is not set, +then the CPU core will run from HCLK instead of FCLK, and performance will +suffer. If you see BogoMIPS of about 1/4 of your CPU clock, try turning this +on; your performance should double. + +--- linux-2.6.21.4/arch/arm/mm/proc-arm920.S 2007-06-07 23:27:31.000000000 +0200 ++++ linux-2.6.21.4-arm/arch/arm/mm/proc-arm920.S 2007-06-08 22:59:48.000000000 +0200 +@@ -395,6 +395,7 @@ + mrc p15, 0, r0, c1, c0 @ get control register v4 + bic r0, r0, r5 + orr r0, r0, r6 ++ orr r0, r0, #0x40000000 + mov pc, lr + .size __arm920_setup, . - __arm920_setup diff --git a/packages/linux/linux-2.6.22.6/ts72xx/ts72xx-use-cpld-reset.patch b/packages/linux/linux-2.6.22.6/ts72xx/ts72xx-use-cpld-reset.patch new file mode 100644 index 0000000000..9744a67653 --- /dev/null +++ b/packages/linux/linux-2.6.22.6/ts72xx/ts72xx-use-cpld-reset.patch @@ -0,0 +1,41 @@ + +Use CPLD watchdog to reset the machine instead of buggy ep93xx one, which +sometimes get stuck... + +Signed-off-by: Petr Stetiar <ynezz@true.cz> + +Index: linux-2.6.22/include/asm-arm/arch-ep93xx/system.h +=================================================================== +--- linux-2.6.22.orig/include/asm-arm/arch-ep93xx/system.h 2007-08-30 00:53:47.000000000 +0200 ++++ linux-2.6.22/include/asm-arm/arch-ep93xx/system.h 2007-08-30 00:54:28.000000000 +0200 +@@ -3,6 +3,7 @@ + */ + + #include <asm/hardware.h> ++#include <asm/mach-types.h> + + static inline void arch_idle(void) + { +@@ -15,11 +16,17 @@ + + local_irq_disable(); + +- devicecfg = __raw_readl(EP93XX_SYSCON_DEVICE_CONFIG); +- __raw_writel(0xaa, EP93XX_SYSCON_SWLOCK); +- __raw_writel(devicecfg | 0x80000000, EP93XX_SYSCON_DEVICE_CONFIG); +- __raw_writel(0xaa, EP93XX_SYSCON_SWLOCK); +- __raw_writel(devicecfg & ~0x80000000, EP93XX_SYSCON_DEVICE_CONFIG); ++ if (machine_is_ts72xx()) { ++ __raw_writeb(0x5, TS72XX_WATCHDOG_FEED_PHYS_BASE); ++ __raw_writeb(0x1, TS72XX_WATCHDOG_CONTROL_PHYS_BASE); ++ } else { ++ devicecfg = __raw_readl(EP93XX_SYSCON_DEVICE_CONFIG); ++ __raw_writel(0xaa, EP93XX_SYSCON_SWLOCK); ++ __raw_writel(devicecfg | 0x80000000, EP93XX_SYSCON_DEVICE_CONFIG); ++ __raw_writel(0xaa, EP93XX_SYSCON_SWLOCK); ++ __raw_writel(devicecfg & ~0x80000000, EP93XX_SYSCON_DEVICE_CONFIG); ++ } ++ + + while (1) + ; diff --git a/packages/linux/linux-2.6.22.6/ts72xx/ts72xx-watchdog.patch b/packages/linux/linux-2.6.22.6/ts72xx/ts72xx-watchdog.patch new file mode 100644 index 0000000000..aa2cb834f9 --- /dev/null +++ b/packages/linux/linux-2.6.22.6/ts72xx/ts72xx-watchdog.patch @@ -0,0 +1,430 @@ + +TS-72xx watchdog driver + +Signed-off-by: Matthieu Crapet <mcrapet@gmail.com> + +Index: linux-2.6.22/arch/arm/mach-ep93xx/ts72xx.c +=================================================================== +--- linux-2.6.22.orig/arch/arm/mach-ep93xx/ts72xx.c 2007-08-30 01:33:00.000000000 +0200 ++++ linux-2.6.22/arch/arm/mach-ep93xx/ts72xx.c 2007-08-30 01:33:10.000000000 +0200 +@@ -183,6 +183,26 @@ + .resource = ts72xx_eth_resource, + }; + ++static struct resource ts72xx_watchdog_resources[] = { ++ [0] = { ++ .start = TS72XX_WATCHDOG_CONTROL_PHYS_BASE, ++ .end = TS72XX_WATCHDOG_CONTROL_PHYS_BASE + 0x0fff, ++ .flags = IORESOURCE_MEM, ++ }, ++ [1] = { ++ .start = TS72XX_WATCHDOG_FEED_PHYS_BASE, ++ .end = TS72XX_WATCHDOG_FEED_PHYS_BASE + 0x0fff, ++ .flags = IORESOURCE_MEM, ++ }, ++}; ++ ++static struct platform_device ts72xx_watchdog_device = { ++ .name = "ts72xx_wdt", ++ .id = -1, ++ .num_resources = ARRAY_SIZE(ts72xx_watchdog_resources), ++ .resource = ts72xx_watchdog_resources, ++}; ++ + static void __init ts72xx_init_machine(void) + { + ep93xx_init_devices(); +@@ -193,6 +213,7 @@ + memcpy(ts72xx_eth_data.dev_addr, + (void *)(EP93XX_ETHERNET_BASE + 0x50), 6); + platform_device_register(&ts72xx_eth_device); ++ platform_device_register(&ts72xx_watchdog_device); + } + + MACHINE_START(TS72XX, "Technologic Systems TS-72xx SBC") +Index: linux-2.6.22/drivers/char/watchdog/Kconfig +=================================================================== +--- linux-2.6.22.orig/drivers/char/watchdog/Kconfig 2007-08-30 01:33:00.000000000 +0200 ++++ linux-2.6.22/drivers/char/watchdog/Kconfig 2007-08-30 01:33:10.000000000 +0200 +@@ -187,6 +187,18 @@ + + Say N if you are unsure. + ++config TS72XX_WATCHDOG ++ tristate "TS-72xx Watchdog" ++ depends on WATCHDOG && ARCH_EP93XX && MACH_TS72XX ++ help ++ Say Y here if to include support for the CPLD watchdog ++ included on Technologic Systems SBC. ++ ++ NOTE: timeout value is given in milliseconds, not in seconds. ++ ++ To compile this driver as a module, choose M here: the ++ module will be called ts72xx_wdt. ++ + # X86 (i386 + ia64 + x86_64) Architecture + + config ACQUIRE_WDT +Index: linux-2.6.22/drivers/char/watchdog/Makefile +=================================================================== +--- linux-2.6.22.orig/drivers/char/watchdog/Makefile 2007-08-30 01:33:00.000000000 +0200 ++++ linux-2.6.22/drivers/char/watchdog/Makefile 2007-08-30 01:33:10.000000000 +0200 +@@ -34,6 +34,7 @@ + obj-$(CONFIG_SA1100_WATCHDOG) += sa1100_wdt.o + obj-$(CONFIG_MPCORE_WATCHDOG) += mpcore_wdt.o + obj-$(CONFIG_EP93XX_WATCHDOG) += ep93xx_wdt.o ++obj-$(CONFIG_TS72XX_WATCHDOG) += ts72xx_wdt.o + obj-$(CONFIG_PNX4008_WATCHDOG) += pnx4008_wdt.o + + # X86 (i386 + ia64 + x86_64) Architecture +Index: linux-2.6.22/drivers/char/watchdog/ts72xx_wdt.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.22/drivers/char/watchdog/ts72xx_wdt.c 2007-08-30 01:33:10.000000000 +0200 +@@ -0,0 +1,332 @@ ++/* ++ * TS-72xx Watchdog Driver for Technologic Systems boards. ++ * ++ * Based on ep93xx_wdt.c by Lehtiniemi <rayl@mail.com> & ++ * Alessandro Zummo <a.zummo@towertech.it> ++ * and ib700wdt.c by Charles Howes <chowes@vsol.net> ++ * and mpc83xx_wdt.c by Dave Updegraff <dave@cray.org> & ++ * Kumar Gala <galak@kernel.crashing.org> ++ * ++ * (c) Copyright 2006 Matthieu Crapet <mcrapet@gmail.com> ++ * ++ * 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 driver only deals with native timeout provided by CPLD : ++ * 1/4s, 1/2s, 1s, 2s, 4s and 8s. No external timer is used. ++ * Notice that we must ping before modifying the control register. ++ */ ++ ++#include <linux/module.h> ++#include <linux/moduleparam.h> ++#include <linux/types.h> ++#include <linux/kernel.h> ++#include <linux/fs.h> ++#include <linux/miscdevice.h> ++#include <linux/platform_device.h> ++#include <linux/init.h> ++#include <linux/watchdog.h> ++#include <asm/io.h> ++#include <asm/uaccess.h> ++#include <asm/system.h> ++#include <asm/mach-types.h> ++ ++#define WATCHDOG_VERSION "0.2" ++#define PFX "ts72xx_wdt: " ++ ++#define WATCHDOG_TIMEOUT 8000 /* 8 seconds */ ++#define WDT_IN_USE 0 ++#define WDT_OK_TO_CLOSE 1 ++ ++static unsigned long ts72xx_wdt_status; ++static unsigned char ts72xx_wdt_cpld_value = 0x7; ++static int nowayout = WATCHDOG_NOWAYOUT; ++static int timeout = WATCHDOG_TIMEOUT; ++ ++static int ts72xx_wdt_times[12] = { ++ 6000, 3000, 1500, 750, 275, 0, ++ 8000, 4000, 2000, 1000, 500, 250 ++}; ++ ++static void __iomem *control_register; ++static void __iomem *feed_register; ++ ++ ++/* ++ * Kernel methods. ++ */ ++ ++static inline void ts72xx_wdt_ping(void) ++{ ++ __raw_writew(0x05, feed_register); ++} ++ ++static inline void ts72xx_wdt_enable(void) ++{ ++ __raw_writew(0x05, feed_register); ++ __raw_writew(ts72xx_wdt_cpld_value, control_register); ++} ++ ++static inline void ts72xx_wdt_disable(void) ++{ ++ __raw_writew(0x05, feed_register); ++ __raw_writew(0, control_register); ++} ++ ++static inline void ts72xx_parse_timeout(int value) ++{ ++ unsigned char cpld_value = 0x7; ++ int i; ++ ++ if ((value > 8000) || (value < 250)) { ++ timeout = WATCHDOG_TIMEOUT; ++ printk(KERN_INFO PFX "Timeout value out of range, set to %d\n", timeout); ++ } else { ++ for (i = 0; i < 6; i++) { ++ if (value >= ts72xx_wdt_times[i]) { ++ timeout = ts72xx_wdt_times[i+6]; ++ ++ if (value != timeout) ++ printk(KERN_INFO PFX "Timeout value rounded to %d\n", timeout); ++ ++ if (i >= 3) /* cpld_value can't be 4 */ ++ i++; ++ ++ cpld_value = 7 - i; ++ break; ++ } ++ } ++ } ++ ++ ts72xx_wdt_cpld_value = cpld_value; ++} ++ ++static ssize_t ts72xx_wdt_write(struct file *file, const char __user *buf, ++ size_t count, loff_t *ppos) ++{ ++ /* Can't seek (pwrite) on this device */ ++ if (*ppos != file->f_pos) ++ return -ESPIPE; ++ ++ if (count) { ++ if (!nowayout) { ++ size_t i; ++ ++ clear_bit(WDT_OK_TO_CLOSE, &ts72xx_wdt_status); ++ ++ for (i = 0; i != count; i++) { ++ char c; ++ ++ if (get_user(c, buf + i)) ++ return -EFAULT; ++ ++ if (c == 'V') ++ set_bit(WDT_OK_TO_CLOSE, &ts72xx_wdt_status); ++ else ++ clear_bit(WDT_OK_TO_CLOSE, &ts72xx_wdt_status); ++ } ++ } ++ ts72xx_wdt_ping(); ++ } ++ ++ return count; ++} ++ ++static int ts72xx_wdt_ioctl(struct inode *inode, struct file *file, ++ unsigned int cmd, unsigned long arg) ++{ ++ int new_margin; ++ int ret = -ENOIOCTLCMD; ++ ++ static struct watchdog_info ident = { ++ .options = WDIOF_SETTIMEOUT | WDIOF_KEEPALIVEPING | WDIOF_MAGICCLOSE, ++ .firmware_version = 1, ++ .identity = "TS-72xx Watchdog", ++ }; ++ ++ switch (cmd) { ++ case WDIOC_GETSUPPORT: ++ ret = copy_to_user((struct watchdog_info __user *)arg, &ident, ++ sizeof(ident)) ? -EFAULT : 0; ++ break; ++ ++ case WDIOC_GETSTATUS: ++ case WDIOC_GETBOOTSTATUS: ++ ret = put_user(0, (int __user *)arg); ++ break; ++ ++ case WDIOC_KEEPALIVE: ++ ts72xx_wdt_ping(); ++ ret = 0; ++ break; ++ ++ case WDIOC_SETTIMEOUT: ++ if (get_user(new_margin, (int __user *)arg)) ++ return -EFAULT; ++ ++ ts72xx_parse_timeout(new_margin); ++ ts72xx_wdt_enable(); ++ /* Fall */ ++ ++ case WDIOC_GETTIMEOUT: ++ ret = put_user(timeout, (int __user *)arg); ++ break; ++ } ++ ++ return ret; ++} ++ ++static int ts72xx_wdt_open(struct inode *inode, struct file *file) ++{ ++ if (test_and_set_bit(WDT_IN_USE, &ts72xx_wdt_status)) ++ return -EBUSY; ++ ++ if (nowayout) { ++ __module_get(THIS_MODULE); ++ } ++ ++ ts72xx_wdt_enable(); ++ ts72xx_wdt_ping(); ++ ++ return nonseekable_open(inode, file); ++} ++ ++static int ts72xx_wdt_close(struct inode *inode, struct file *file) ++{ ++ if (test_bit(WDT_OK_TO_CLOSE, &ts72xx_wdt_status)) ++ ts72xx_wdt_disable(); ++ else ++ printk(KERN_CRIT PFX "Device file closed unexpectedly. " ++ "Will not stop the WDT!\n"); ++ ++ clear_bit(WDT_IN_USE, &ts72xx_wdt_status); ++ ++ return 0; ++} ++ ++/* ++ * Kernel Interfaces ++ */ ++ ++static struct file_operations ts72xx_wdt_fops = { ++ .owner = THIS_MODULE, ++ .llseek = no_llseek, ++ .write = ts72xx_wdt_write, ++ .ioctl = ts72xx_wdt_ioctl, ++ .open = ts72xx_wdt_open, ++ .release = ts72xx_wdt_close, ++}; ++ ++static struct miscdevice ts72xx_wdt_miscdev = { ++ .minor = WATCHDOG_MINOR, ++ .name = "watchdog", ++ .fops = &ts72xx_wdt_fops, ++}; ++ ++static void ts72xx_wdt_shutdown(struct platform_device *dev) ++{ ++ ts72xx_wdt_disable(); ++} ++ ++static int __devinit ts72xx_wdt_probe(struct platform_device *dev) ++{ ++ struct resource *r; ++ int ret; ++ ++ if (!machine_is_ts72xx()) ++ return -ENODEV; ++ ++ r = platform_get_resource(dev, IORESOURCE_MEM, 0); ++ ++ if (!r) { ++ ret = -ENODEV; ++ goto err_out; ++ } ++ ++ control_register = ioremap(r->start, r->end - r->start + 1); ++ ++ if (control_register == NULL) { ++ ret = -ENOMEM; ++ goto err_out; ++ } ++ ++ r = platform_get_resource(dev, IORESOURCE_MEM, 1); ++ ++ if (!r) { ++ ret = -ENODEV; ++ goto err_unmap1; ++ } ++ ++ feed_register = ioremap(r->start, r->end - r->start + 1); ++ ++ if (feed_register == NULL) { ++ ret = -ENOMEM; ++ goto err_unmap1; ++ } ++ ++ ret = misc_register(&ts72xx_wdt_miscdev); ++ if (ret) { ++ printk(KERN_ERR PFX "cannot register miscdev on minor=%d " ++ "(err=%d), ep93xx_watchdog already loaded?!\n", WATCHDOG_MINOR, ret); ++ goto err_unmap2; ++ } ++ ++ printk(KERN_INFO PFX "TS-72xx watchdog driver, v%s\n", WATCHDOG_VERSION); ++ ts72xx_parse_timeout(timeout); ++ ++ return 0; ++ ++err_unmap2: ++ iounmap(feed_register); ++err_unmap1: ++ iounmap(control_register); ++err_out: ++ return ret; ++} ++ ++static int __devexit ts72xx_wdt_remove(struct platform_device *dev) ++{ ++ misc_deregister(&ts72xx_wdt_miscdev); ++ iounmap(feed_register); ++ iounmap(control_register); ++ ++ return 0; ++} ++ ++static struct platform_driver ts72xx_wdt_driver = { ++ .probe = ts72xx_wdt_probe, ++ .remove = __devexit_p(ts72xx_wdt_remove), ++ .shutdown = ts72xx_wdt_shutdown, ++ .driver = { ++ .owner = THIS_MODULE, ++ .name = "ts72xx_wdt", ++ }, ++}; ++ ++static int __init ts72xx_wdt_init(void) ++{ ++ return platform_driver_register(&ts72xx_wdt_driver); ++} ++ ++static void __exit ts72xx_wdt_exit(void) ++{ ++ platform_driver_unregister(&ts72xx_wdt_driver); ++} ++ ++module_init(ts72xx_wdt_init); ++module_exit(ts72xx_wdt_exit); ++ ++#ifdef CONFIG_WATCHDOG_NOWAYOUT ++module_param(nowayout, int, 0); ++MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default=CONFIG_WATCHDOG_NOWAYOUT)"); ++#endif ++ ++module_param(timeout, int, 0); ++MODULE_PARM_DESC(timeout,"Watchdog timeout in milliseconds (250..8000, default=" __MODULE_STRING(WATCHDOG_TIMEOUT) ")"); ++ ++MODULE_AUTHOR("Matthieu Crapet <mcrapet@gmail.com>"); ++MODULE_DESCRIPTION("TS-72xx watchdog driver"); ++MODULE_LICENSE("GPL"); ++MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR); +Index: linux-2.6.22/include/asm-arm/arch-ep93xx/ts72xx.h +=================================================================== +--- linux-2.6.22.orig/include/asm-arm/arch-ep93xx/ts72xx.h 2007-08-30 01:33:25.000000000 +0200 ++++ linux-2.6.22/include/asm-arm/arch-ep93xx/ts72xx.h 2007-08-30 01:34:14.000000000 +0200 +@@ -68,6 +68,9 @@ + #define TS72XX_RTC_DATA_PHYS_BASE 0x11700000 + #define TS72XX_RTC_DATA_SIZE 0x00001000 + ++#define TS72XX_WATCHDOG_CONTROL_PHYS_BASE 0x23800000 ++#define TS72XX_WATCHDOG_FEED_PHYS_BASE 0x23c00000 ++ + #ifndef __ASSEMBLY__ + #include <asm/io.h> + diff --git a/packages/linux/linux-ezx-2.6.21/a1200/.mtn2git_empty b/packages/linux/linux-ezx-2.6.21/a1200/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/linux/linux-ezx-2.6.21/a1200/.mtn2git_empty diff --git a/packages/linux/linux-ezx-2.6.21/patches/defconfig-a1200 b/packages/linux/linux-ezx-2.6.21/a1200/defconfig index 36021906b7..ea7475ced2 100755 --- a/packages/linux/linux-ezx-2.6.21/patches/defconfig-a1200 +++ b/packages/linux/linux-ezx-2.6.21/a1200/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: 2.6.21.4 -# Wed Jun 13 17:26:12 2007 +# Sun Sep 9 16:54:53 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -36,7 +36,7 @@ CONFIG_INIT_ENV_ARG_LIMIT=32 # CONFIG_LOCALVERSION="-ezxdev" # CONFIG_LOCALVERSION_AUTO is not set -# CONFIG_SWAP is not set +CONFIG_SWAP=y CONFIG_SYSVIPC=y # CONFIG_IPC_NS is not set CONFIG_SYSVIPC_SYSCTL=y @@ -54,21 +54,20 @@ CONFIG_SYSCTL=y CONFIG_EMBEDDED=y CONFIG_UID16=y # CONFIG_SYSCTL_SYSCALL is not set -CONFIG_KALLSYMS=y -# CONFIG_KALLSYMS_EXTRA_PASS is not set +# CONFIG_KALLSYMS is not set CONFIG_HOTPLUG=y CONFIG_PRINTK=y CONFIG_BUG=y -CONFIG_ELF_CORE=y -CONFIG_BASE_FULL=y +# CONFIG_ELF_CORE is not set +# CONFIG_BASE_FULL is not set CONFIG_FUTEX=y CONFIG_EPOLL=y -# CONFIG_SHMEM is not set +CONFIG_SHMEM=y CONFIG_SLAB=y CONFIG_VM_EVENT_COUNTERS=y CONFIG_RT_MUTEXES=y -CONFIG_TINY_SHMEM=y -CONFIG_BASE_SMALL=0 +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=1 # CONFIG_SLOB is not set # @@ -87,7 +86,7 @@ CONFIG_KMOD=y CONFIG_BLOCK=y # CONFIG_LBD is not set # CONFIG_BLK_DEV_IO_TRACE is not set -# CONFIG_LSF is not set +CONFIG_LSF=y # # IO Schedulers @@ -151,10 +150,13 @@ CONFIG_PXA_EZX=y # CONFIG_PXA_EZX_E2 is not set CONFIG_PXA_EZX_A1200=y # CONFIG_PXA_EZX_E6 is not set -# CONFIG_EZX_BP is not set +CONFIG_EZX_BP=y CONFIG_EZX_PCAP=y -CONFIG_EZX_MCI_TF=y -# CONFIG_EZX_EMU is not set +CONFIG_EZX_EOC=y +CONFIG_EZX_EMU=y +CONFIG_EZX_EMU_USB=y +# CONFIG_EZX_EMU_UART is not set +# CONFIG_EZX_EMU_NOTHING is not set CONFIG_PXA27x=y CONFIG_PXA_SSP=y @@ -195,7 +197,7 @@ CONFIG_PREEMPT=y CONFIG_NO_IDLE_HZ=y CONFIG_HZ=100 CONFIG_AEABI=y -# CONFIG_OABI_COMPAT is not set +CONFIG_OABI_COMPAT=y # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set CONFIG_SELECT_MEMORY_MODEL=y CONFIG_FLATMEM_MANUAL=y @@ -212,11 +214,11 @@ CONFIG_ALIGNMENT_TRAP=y # # Boot options # -CONFIG_ZBOOT_ROM_TEXT=0 -CONFIG_ZBOOT_ROM_BSS=0 -CONFIG_CMDLINE="console=tty1 noinitrd root=/dev/mmcblk0p2 rootfstype=ext3 ip=169.254.1.11:169.254.1.10:169.254.1.10:255.255.255.254:ezx:usb0:off debug mem=32M@0xA0000000" +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_CMDLINE="console=tty1 root=/dev/mmcblk0p1 rootfstype=ext3 rootdelay=5 ip=192.168.0.202:192.168.0.200:192.168.0.200:255.255.255.0 debug mem=32M@0xA0000000 mem=16M@0xAC000000" # CONFIG_XIP_KERNEL is not set -# CONFIG_KEXEC is not set +CONFIG_KEXEC=y # # Floating point emulation @@ -225,6 +227,8 @@ CONFIG_CMDLINE="console=tty1 noinitrd root=/dev/mmcblk0p2 rootfstype=ext3 ip=169 # # At least one emulation must be selected # +# CONFIG_FPE_NWFPE is not set +# CONFIG_FPE_FASTFPE is not set # # Userspace binary formats @@ -254,6 +258,10 @@ CONFIG_NET=y CONFIG_PACKET=y # CONFIG_PACKET_MMAP is not set CONFIG_UNIX=y +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set # CONFIG_NET_KEY is not set CONFIG_INET=y # CONFIG_IP_MULTICAST is not set @@ -263,15 +271,15 @@ CONFIG_IP_PNP=y CONFIG_IP_PNP_DHCP=y # CONFIG_IP_PNP_BOOTP is not set # CONFIG_IP_PNP_RARP is not set -# CONFIG_NET_IPIP is not set -# CONFIG_NET_IPGRE is not set +CONFIG_NET_IPIP=m +CONFIG_NET_IPGRE=m # CONFIG_ARPD is not set CONFIG_SYN_COOKIES=y # CONFIG_INET_AH is not set # CONFIG_INET_ESP is not set # CONFIG_INET_IPCOMP is not set # CONFIG_INET_XFRM_TUNNEL is not set -# CONFIG_INET_TUNNEL is not set +CONFIG_INET_TUNNEL=m # CONFIG_INET_XFRM_MODE_TRANSPORT is not set # CONFIG_INET_XFRM_MODE_TUNNEL is not set # CONFIG_INET_XFRM_MODE_BEET is not set @@ -280,11 +288,155 @@ CONFIG_SYN_COOKIES=y CONFIG_TCP_CONG_CUBIC=y CONFIG_DEFAULT_TCP_CONG="cubic" # CONFIG_TCP_MD5SIG is not set -# CONFIG_IPV6 is not set -# CONFIG_INET6_XFRM_TUNNEL is not set -# CONFIG_INET6_TUNNEL is not set + +# +# IP: Virtual Server Configuration +# +# CONFIG_IP_VS is not set +CONFIG_IPV6=m +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IPV6_ROUTE_INFO is not set +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +CONFIG_INET6_IPCOMP=m +# CONFIG_IPV6_MIP6 is not set +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 is not set +CONFIG_IPV6_SIT=m +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_MULTIPLE_TABLES is not set # CONFIG_NETWORK_SECMARK is not set -# CONFIG_NETFILTER is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_NETLINK=m +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_NETLINK_LOG=m +CONFIG_NF_CONNTRACK_ENABLED=m +CONFIG_NF_CONNTRACK_SUPPORT=y +# CONFIG_IP_NF_CONNTRACK_SUPPORT is not set +CONFIG_NF_CONNTRACK=m +CONFIG_NF_CT_ACCT=y +CONFIG_NF_CONNTRACK_MARK=y +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CT_PROTO_GRE=m +CONFIG_NF_CT_PROTO_SCTP=m +CONFIG_NF_CONNTRACK_AMANDA=m +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_NETBIOS_NS=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_XTABLES=m +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m +# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set +# CONFIG_NETFILTER_XT_TARGET_DSCP is not set +CONFIG_NETFILTER_XT_TARGET_MARK=m +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m +CONFIG_NETFILTER_XT_TARGET_NFLOG=m +# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +CONFIG_NETFILTER_XT_MATCH_COMMENT=m +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +CONFIG_NETFILTER_XT_MATCH_DCCP=m +CONFIG_NETFILTER_XT_MATCH_DSCP=m +CONFIG_NETFILTER_XT_MATCH_ESP=m +CONFIG_NETFILTER_XT_MATCH_HELPER=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_POLICY=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MATCH_QUOTA=m +CONFIG_NETFILTER_XT_MATCH_REALM=m +CONFIG_NETFILTER_XT_MATCH_SCTP=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_HASHLIMIT=m + +# +# IP: Netfilter Configuration +# +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_IPRANGE=m +CONFIG_IP_NF_MATCH_TOS=m +CONFIG_IP_NF_MATCH_RECENT=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_TTL=m +CONFIG_IP_NF_MATCH_OWNER=m +CONFIG_IP_NF_MATCH_ADDRTYPE=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_REDIRECT=m +CONFIG_IP_NF_TARGET_NETMAP=m +CONFIG_IP_NF_TARGET_SAME=m +CONFIG_NF_NAT_SNMP_BASIC=m +CONFIG_NF_NAT_PROTO_GRE=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_TOS=m +CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_TARGET_TTL=m +CONFIG_IP_NF_TARGET_CLUSTERIP=m +CONFIG_IP_NF_RAW=m +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARP_MANGLE=m + +# +# IPv6: Netfilter Configuration (EXPERIMENTAL) +# +CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_IP6_NF_QUEUE=m +CONFIG_IP6_NF_IPTABLES=m +CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_OPTS=m +CONFIG_IP6_NF_MATCH_FRAG=m +CONFIG_IP6_NF_MATCH_HL=m +CONFIG_IP6_NF_MATCH_OWNER=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_MATCH_AH=m +CONFIG_IP6_NF_MATCH_MH=m +CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_TARGET_LOG=m +CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_MANGLE=m +CONFIG_IP6_NF_TARGET_HL=m +CONFIG_IP6_NF_RAW=m # # DCCP Configuration (EXPERIMENTAL) @@ -316,6 +468,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" # QoS and/or fair queueing # # CONFIG_NET_SCHED is not set +CONFIG_NET_CLS_ROUTE=y # # Network testing @@ -323,8 +476,35 @@ CONFIG_DEFAULT_TCP_CONG="cubic" # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set # CONFIG_IRDA is not set -# CONFIG_BT is not set -# CONFIG_IEEE80211 is not set +CONFIG_BT=m +CONFIG_BT_L2CAP=m +CONFIG_BT_SCO=m +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=m +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=m + +# +# Bluetooth device drivers +# +# CONFIG_BT_HCIUSB is not set +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_H4=y +# CONFIG_BT_HCIUART_BCSP is not set +# CONFIG_BT_HCIBCM203X is not set +# CONFIG_BT_HCIBPA10X is not set +# CONFIG_BT_HCIBFUSB is not set +# CONFIG_BT_HCIVHCI is not set +CONFIG_IEEE80211=m +# CONFIG_IEEE80211_DEBUG is not set +CONFIG_IEEE80211_CRYPT_WEP=m +CONFIG_IEEE80211_CRYPT_CCMP=m +# CONFIG_IEEE80211_CRYPT_TKIP is not set +CONFIG_IEEE80211_SOFTMAC=m +# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set +CONFIG_WIRELESS_EXT=y # # Device Drivers @@ -346,7 +526,101 @@ CONFIG_CONNECTOR=m # # Memory Technology Devices (MTD) # -# CONFIG_MTD is not set +CONFIG_MTD=y +# CONFIG_MTD_DEBUG is not set +# CONFIG_MTD_CONCAT is not set +CONFIG_MTD_PARTITIONS=y +# CONFIG_MTD_REDBOOT_PARTS is not set +# CONFIG_MTD_CMDLINE_PARTS is not set +# CONFIG_MTD_AFS_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_CHAR=y +# CONFIG_MTD_BLKDEVS is not set +# CONFIG_MTD_BLOCK is not set +# CONFIG_MTD_BLOCK_RO is not set +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set + +# +# RAM/ROM/Flash chip drivers +# +CONFIG_MTD_CFI=y +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_GEN_PROBE=y +CONFIG_MTD_CFI_ADV_OPTIONS=y +CONFIG_MTD_CFI_NOSWAP=y +# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set +# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set +CONFIG_MTD_CFI_GEOMETRY=y +# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set +CONFIG_MTD_MAP_BANK_WIDTH_2=y +# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set +# 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 is not set +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_OTP is not set +CONFIG_MTD_CFI_INTELEXT=y +# CONFIG_MTD_CFI_AMDSTD is not set +# CONFIG_MTD_CFI_STAA is not set +CONFIG_MTD_CFI_UTIL=y +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set +# CONFIG_MTD_OBSOLETE_CHIPS is not set +CONFIG_MTD_XIP=y + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +CONFIG_MTD_PHYSMAP=y +CONFIG_MTD_PHYSMAP_START=0x0 +CONFIG_MTD_PHYSMAP_LEN=0x0 +CONFIG_MTD_PHYSMAP_BANKWIDTH=2 +# CONFIG_MTD_ARM_INTEGRATOR is not set +# CONFIG_MTD_SHARP_SL is not set +CONFIG_MTD_EZX=y +CONFIG_MTD_EZX_A780=y +# CONFIG_MTD_EZX_A780_ALTERNATE is not set +# CONFIG_MTD_EZX_E2 is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_M25P80 is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +# CONFIG_MTD_DOC2001PLUS is not set + +# +# NAND Flash Device Drivers +# +# CONFIG_MTD_NAND is not set + +# +# OneNAND Flash Device Drivers +# +# CONFIG_MTD_ONENAND is not set # # Parallel port support @@ -363,10 +637,13 @@ CONFIG_CONNECTOR=m # # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=m -# CONFIG_BLK_DEV_CRYPTOLOOP is not set +CONFIG_BLK_DEV_CRYPTOLOOP=m # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_UB is not set -# CONFIG_BLK_DEV_RAM is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 # CONFIG_CDROM_PKTCDVD is not set # CONFIG_ATA_OVER_ETH is not set @@ -412,7 +689,7 @@ CONFIG_NETDEVICES=y CONFIG_DUMMY=y # CONFIG_BONDING is not set # CONFIG_EQUALIZER is not set -# CONFIG_TUN is not set +CONFIG_TUN=m # # PHY device support @@ -438,7 +715,16 @@ CONFIG_DUMMY=y # # Wireless LAN (non-hamradio) # -# CONFIG_NET_RADIO is not set +CONFIG_NET_RADIO=y +CONFIG_NET_WIRELESS_RTNETLINK=y + +# +# Obsolete Wireless cards support (pre-802.11) +# +# CONFIG_STRIP is not set +# CONFIG_USB_ZD1201 is not set +# CONFIG_HOSTAP is not set +# CONFIG_ZD1211RW is not set # # Wan interfaces @@ -451,11 +737,11 @@ CONFIG_PPP_ASYNC=m CONFIG_PPP_SYNC_TTY=m CONFIG_PPP_DEFLATE=m CONFIG_PPP_BSDCOMP=m -# CONFIG_PPP_MPPE is not set -# CONFIG_PPPOE is not set +CONFIG_PPP_MPPE=m +CONFIG_PPPOE=m # CONFIG_SLIP is not set CONFIG_SLHC=m -# CONFIG_SHAPER is not set +CONFIG_SHAPER=m # CONFIG_NETCONSOLE is not set # CONFIG_NETPOLL is not set # CONFIG_NET_POLL_CONTROLLER is not set @@ -559,6 +845,8 @@ CONFIG_HW_RANDOM=y # TPM devices # # CONFIG_TCG_TPM is not set +CONFIG_TS0710_MUX=y +CONFIG_TS0710_MUX_USB=y # # I2C support @@ -655,7 +943,50 @@ CONFIG_LEDS_TRIGGER_HEARTBEAT=y # # Multimedia devices # -# CONFIG_VIDEO_DEV is not set +CONFIG_VIDEO_DEV=m +CONFIG_VIDEO_V4L1=y +CONFIG_VIDEO_V4L1_COMPAT=y +CONFIG_VIDEO_V4L2=y + +# +# Video Capture Adapters +# + +# +# Video Capture Adapters +# +# CONFIG_VIDEO_ADV_DEBUG is not set +CONFIG_VIDEO_HELPER_CHIPS_AUTO=y +# CONFIG_VIDEO_CPIA is not set +# CONFIG_VIDEO_CPIA2 is not set +# CONFIG_VIDEO_SAA5246A is not set +# CONFIG_VIDEO_SAA5249 is not set +# CONFIG_TUNER_3036 is not set + +# +# V4L USB devices +# +# CONFIG_VIDEO_PVRUSB2 is not set +# CONFIG_VIDEO_EM28XX is not set +# CONFIG_VIDEO_USBVISION is not set +# CONFIG_USB_VICAM is not set +# CONFIG_USB_IBMCAM is not set +# CONFIG_USB_KONICAWC is not set +# CONFIG_USB_QUICKCAM_MESSENGER is not set +# CONFIG_USB_ET61X251 is not set +# CONFIG_VIDEO_OVCAMCHIP is not set +# CONFIG_USB_W9968CF is not set +# CONFIG_USB_OV511 is not set +# CONFIG_USB_SE401 is not set +# CONFIG_USB_SN9C102 is not set +# CONFIG_USB_STV680 is not set +# CONFIG_USB_ZC0301 is not set +# CONFIG_USB_PWC is not set + +# +# Radio Adapters +# +# CONFIG_USB_DSBR is not set # # Digital Video Broadcasting Devices @@ -668,8 +999,8 @@ CONFIG_LEDS_TRIGGER_HEARTBEAT=y # CONFIG_BACKLIGHT_LCD_SUPPORT=y CONFIG_BACKLIGHT_CLASS_DEVICE=y -# CONFIG_LCD_CLASS_DEVICE is not set -# CONFIG_BACKLIGHT_EZX is not set +CONFIG_LCD_CLASS_DEVICE=m +CONFIG_BACKLIGHT_EZX=y CONFIG_FB=y # CONFIG_FIRMWARE_EDID is not set # CONFIG_FB_DDC is not set @@ -713,12 +1044,79 @@ CONFIG_FONT_MINI_4x6=y # # Logo configuration # -# CONFIG_LOGO is not set +CONFIG_LOGO=y +CONFIG_LOGO_LINUX_MONO=y +CONFIG_LOGO_LINUX_VGA16=y +CONFIG_LOGO_LINUX_CLUT224=y # # Sound # -# CONFIG_SOUND is not set +CONFIG_SOUND=y + +# +# Advanced Linux Sound Architecture +# +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +# CONFIG_SND_SEQUENCER is not set +CONFIG_SND_OSSEMUL=y +CONFIG_SND_MIXER_OSS=m +CONFIG_SND_PCM_OSS=m +CONFIG_SND_PCM_OSS_PLUGINS=y +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set + +# +# Generic devices +# +CONFIG_SND_AC97_CODEC=m +CONFIG_SND_DUMMY=m +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set + +# +# ALSA ARM devices +# +CONFIG_SND_PXA2XX_PCM=m +CONFIG_SND_PXA2XX_AC97=m + +# +# USB devices +# +# CONFIG_SND_USB_AUDIO is not set + +# +# SoC audio support +# +CONFIG_SND_SOC=y + +# +# SoC Platforms +# + +# +# SoC Audio for the Atmel AT91 +# + +# +# SoC Audio for the Intel PXA2xx +# +CONFIG_SND_PXA2XX_SOC=y +CONFIG_SND_PXA2XX_SOC_SSP=y +CONFIG_SND_PXA2XX_SOC_EZX=y +CONFIG_SND_SOC_PCAP2=y + +# +# Open Sound System +# +# CONFIG_SOUND_PRIME is not set +CONFIG_AC97_BUS=m # # HID Devices @@ -880,7 +1278,34 @@ CONFIG_MMC_PXA=y # Real Time Clock # CONFIG_RTC_LIB=y -# CONFIG_RTC_CLASS is not set +CONFIG_RTC_CLASS=m + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=m +CONFIG_RTC_INTF_PROC=m +CONFIG_RTC_INTF_DEV=m +CONFIG_RTC_INTF_DEV_UIE_EMUL=y + +# +# RTC drivers +# +# CONFIG_RTC_DRV_CMOS is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_M48T86 is not set +CONFIG_RTC_DRV_SA1100=m +# CONFIG_RTC_DRV_TEST is not set +# CONFIG_RTC_DRV_MAX6902 is not set +# CONFIG_RTC_DRV_V3020 is not set # # File systems @@ -906,7 +1331,11 @@ CONFIG_REISERFS_FS_POSIX_ACL=y CONFIG_REISERFS_FS_SECURITY=y # CONFIG_JFS_FS is not set CONFIG_FS_POSIX_ACL=y -# CONFIG_XFS_FS is not set +CONFIG_XFS_FS=m +# CONFIG_XFS_QUOTA is not set +# CONFIG_XFS_SECURITY is not set +# CONFIG_XFS_POSIX_ACL is not set +# CONFIG_XFS_RT is not set # CONFIG_GFS2_FS is not set # CONFIG_OCFS2_FS is not set # CONFIG_MINIX_FS is not set @@ -918,6 +1347,7 @@ CONFIG_DNOTIFY=y CONFIG_AUTOFS_FS=y CONFIG_AUTOFS4_FS=y # CONFIG_FUSE_FS is not set +CONFIG_GENERIC_ACL=y # # CD-ROM/DVD Filesystems @@ -925,7 +1355,8 @@ CONFIG_AUTOFS4_FS=y CONFIG_ISO9660_FS=m CONFIG_JOLIET=y CONFIG_ZISOFS=y -# CONFIG_UDF_FS is not set +CONFIG_UDF_FS=m +CONFIG_UDF_NLS=y # # DOS/FAT/NT Filesystems @@ -943,7 +1374,8 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" CONFIG_PROC_FS=y CONFIG_PROC_SYSCTL=y CONFIG_SYSFS=y -# CONFIG_TMPFS is not set +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y # CONFIG_HUGETLB_PAGE is not set CONFIG_RAMFS=y # CONFIG_CONFIGFS_FS is not set @@ -958,6 +1390,7 @@ CONFIG_RAMFS=y # CONFIG_BEFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_EFS_FS is not set +# CONFIG_JFFS2_FS is not set CONFIG_CRAMFS=m # CONFIG_VXFS_FS is not set # CONFIG_HPFS_FS is not set @@ -968,24 +1401,26 @@ CONFIG_CRAMFS=m # # Network File Systems # -CONFIG_NFS_FS=m +CONFIG_NFS_FS=y CONFIG_NFS_V3=y CONFIG_NFS_V3_ACL=y -# CONFIG_NFS_V4 is not set +CONFIG_NFS_V4=y CONFIG_NFS_DIRECTIO=y CONFIG_NFSD=m CONFIG_NFSD_V2_ACL=y CONFIG_NFSD_V3=y CONFIG_NFSD_V3_ACL=y -# CONFIG_NFSD_V4 is not set +CONFIG_NFSD_V4=y CONFIG_NFSD_TCP=y -CONFIG_LOCKD=m +CONFIG_ROOT_NFS=y +CONFIG_LOCKD=y CONFIG_LOCKD_V4=y CONFIG_EXPORTFS=m -CONFIG_NFS_ACL_SUPPORT=m +CONFIG_NFS_ACL_SUPPORT=y CONFIG_NFS_COMMON=y -CONFIG_SUNRPC=m -# CONFIG_RPCSEC_GSS_KRB5 is not set +CONFIG_SUNRPC=y +CONFIG_SUNRPC_GSS=y +CONFIG_RPCSEC_GSS_KRB5=y # CONFIG_RPCSEC_GSS_SPKM3 is not set CONFIG_SMB_FS=m # CONFIG_SMB_NLS_DEFAULT is not set @@ -1086,7 +1521,48 @@ CONFIG_FRAME_POINTER=y # # Cryptographic options # -# CONFIG_CRYPTO is not set +CONFIG_CRYPTO=y +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_HASH=m +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_HMAC=m +CONFIG_CRYPTO_XCBC=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_SHA1=m +CONFIG_CRYPTO_SHA256=m +CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_WP512=m +CONFIG_CRYPTO_TGR192=m +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_ECB=m +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_LRW=m +CONFIG_CRYPTO_DES=y +CONFIG_CRYPTO_FCRYPT=m +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_TWOFISH_COMMON=m +CONFIG_CRYPTO_SERPENT=m +CONFIG_CRYPTO_AES=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST6=m +CONFIG_CRYPTO_TEA=m +CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_KHAZAD=m +CONFIG_CRYPTO_ANUBIS=m +CONFIG_CRYPTO_DEFLATE=m +CONFIG_CRYPTO_MICHAEL_MIC=m +CONFIG_CRYPTO_CRC32C=m +CONFIG_CRYPTO_CAMELLIA=m +CONFIG_CRYPTO_TEST=m + +# +# Hardware crypto devices +# # # Library routines @@ -1098,6 +1574,10 @@ CONFIG_CRC32=y CONFIG_LIBCRC32C=m CONFIG_ZLIB_INFLATE=m CONFIG_ZLIB_DEFLATE=m +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_KMP=m +CONFIG_TEXTSEARCH_BM=m +CONFIG_TEXTSEARCH_FSM=m CONFIG_PLIST=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y diff --git a/packages/linux/linux-ezx-2.6.21/a780/.mtn2git_empty b/packages/linux/linux-ezx-2.6.21/a780/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/linux/linux-ezx-2.6.21/a780/.mtn2git_empty diff --git a/packages/linux/linux-ezx-2.6.21/patches/defconfig-a780 b/packages/linux/linux-ezx-2.6.21/a780/defconfig index bd794af856..9ea8e88266 100755 --- a/packages/linux/linux-ezx-2.6.21/patches/defconfig-a780 +++ b/packages/linux/linux-ezx-2.6.21/a780/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.21 -# Sat Jun 2 19:52:36 2007 +# Linux kernel version: 2.6.21.4 +# Sun Sep 9 10:37:45 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -36,7 +36,7 @@ CONFIG_INIT_ENV_ARG_LIMIT=32 # CONFIG_LOCALVERSION="-ezxdev" # CONFIG_LOCALVERSION_AUTO is not set -# CONFIG_SWAP is not set +CONFIG_SWAP=y CONFIG_SYSVIPC=y # CONFIG_IPC_NS is not set CONFIG_SYSVIPC_SYSCTL=y @@ -54,21 +54,20 @@ CONFIG_SYSCTL=y CONFIG_EMBEDDED=y CONFIG_UID16=y # CONFIG_SYSCTL_SYSCALL is not set -CONFIG_KALLSYMS=y -# CONFIG_KALLSYMS_EXTRA_PASS is not set +# CONFIG_KALLSYMS is not set CONFIG_HOTPLUG=y CONFIG_PRINTK=y CONFIG_BUG=y -CONFIG_ELF_CORE=y -CONFIG_BASE_FULL=y +# CONFIG_ELF_CORE is not set +# CONFIG_BASE_FULL is not set CONFIG_FUTEX=y CONFIG_EPOLL=y -# CONFIG_SHMEM is not set +CONFIG_SHMEM=y CONFIG_SLAB=y CONFIG_VM_EVENT_COUNTERS=y CONFIG_RT_MUTEXES=y -CONFIG_TINY_SHMEM=y -CONFIG_BASE_SMALL=0 +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=1 # CONFIG_SLOB is not set # @@ -87,7 +86,7 @@ CONFIG_KMOD=y CONFIG_BLOCK=y # CONFIG_LBD is not set # CONFIG_BLK_DEV_IO_TRACE is not set -# CONFIG_LSF is not set +CONFIG_LSF=y # # IO Schedulers @@ -153,7 +152,6 @@ CONFIG_PXA_EZX_A780=y # CONFIG_PXA_EZX_E6 is not set CONFIG_EZX_BP=y CONFIG_EZX_PCAP=y -CONFIG_EZX_MCI_TF=y CONFIG_EZX_EMU=y CONFIG_EZX_EMU_USB=y # CONFIG_EZX_EMU_UART is not set @@ -198,7 +196,7 @@ CONFIG_PREEMPT=y CONFIG_NO_IDLE_HZ=y CONFIG_HZ=100 CONFIG_AEABI=y -# CONFIG_OABI_COMPAT is not set +CONFIG_OABI_COMPAT=y # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set CONFIG_SELECT_MEMORY_MODEL=y CONFIG_FLATMEM_MANUAL=y @@ -215,11 +213,11 @@ CONFIG_ALIGNMENT_TRAP=y # # Boot options # -CONFIG_ZBOOT_ROM_TEXT=0 -CONFIG_ZBOOT_ROM_BSS=0 -CONFIG_CMDLINE="console=tty1 noinitrd root=/dev/mmcblk0p2 rootfstype=ext3 ip=169.254.1.11:169.254.1.10:169.254.1.10:255.255.255.254:ezx:usb0:off debug mem=32M@0xA0000000 mem=16M@0xAC000000" +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_CMDLINE="console=tty1 root=/dev/mmcblk0p1 rootfstype=ext3 rootdelay=5 ip=192.168.0.202:192.168.0.200:192.168.0.200:255.255.255.0 debug mem=32M@0xA0000000 mem=16M@0xAC000000" # CONFIG_XIP_KERNEL is not set -# CONFIG_KEXEC is not set +CONFIG_KEXEC=y # # Floating point emulation @@ -228,6 +226,8 @@ CONFIG_CMDLINE="console=tty1 noinitrd root=/dev/mmcblk0p2 rootfstype=ext3 ip=169 # # At least one emulation must be selected # +# CONFIG_FPE_NWFPE is not set +# CONFIG_FPE_FASTFPE is not set # # Userspace binary formats @@ -257,6 +257,10 @@ CONFIG_NET=y CONFIG_PACKET=y # CONFIG_PACKET_MMAP is not set CONFIG_UNIX=y +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set # CONFIG_NET_KEY is not set CONFIG_INET=y # CONFIG_IP_MULTICAST is not set @@ -266,15 +270,15 @@ CONFIG_IP_PNP=y CONFIG_IP_PNP_DHCP=y # CONFIG_IP_PNP_BOOTP is not set # CONFIG_IP_PNP_RARP is not set -# CONFIG_NET_IPIP is not set -# CONFIG_NET_IPGRE is not set +CONFIG_NET_IPIP=m +CONFIG_NET_IPGRE=m # CONFIG_ARPD is not set CONFIG_SYN_COOKIES=y # CONFIG_INET_AH is not set # CONFIG_INET_ESP is not set # CONFIG_INET_IPCOMP is not set # CONFIG_INET_XFRM_TUNNEL is not set -# CONFIG_INET_TUNNEL is not set +CONFIG_INET_TUNNEL=m # CONFIG_INET_XFRM_MODE_TRANSPORT is not set # CONFIG_INET_XFRM_MODE_TUNNEL is not set # CONFIG_INET_XFRM_MODE_BEET is not set @@ -283,11 +287,155 @@ CONFIG_SYN_COOKIES=y CONFIG_TCP_CONG_CUBIC=y CONFIG_DEFAULT_TCP_CONG="cubic" # CONFIG_TCP_MD5SIG is not set -# CONFIG_IPV6 is not set -# CONFIG_INET6_XFRM_TUNNEL is not set -# CONFIG_INET6_TUNNEL is not set + +# +# IP: Virtual Server Configuration +# +# CONFIG_IP_VS is not set +CONFIG_IPV6=m +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IPV6_ROUTE_INFO is not set +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +CONFIG_INET6_IPCOMP=m +# CONFIG_IPV6_MIP6 is not set +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 is not set +CONFIG_IPV6_SIT=m +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_MULTIPLE_TABLES is not set # CONFIG_NETWORK_SECMARK is not set -# CONFIG_NETFILTER is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_NETLINK=m +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_NETLINK_LOG=m +CONFIG_NF_CONNTRACK_ENABLED=m +CONFIG_NF_CONNTRACK_SUPPORT=y +# CONFIG_IP_NF_CONNTRACK_SUPPORT is not set +CONFIG_NF_CONNTRACK=m +CONFIG_NF_CT_ACCT=y +CONFIG_NF_CONNTRACK_MARK=y +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CT_PROTO_GRE=m +CONFIG_NF_CT_PROTO_SCTP=m +CONFIG_NF_CONNTRACK_AMANDA=m +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_NETBIOS_NS=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_XTABLES=m +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m +# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set +# CONFIG_NETFILTER_XT_TARGET_DSCP is not set +CONFIG_NETFILTER_XT_TARGET_MARK=m +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m +CONFIG_NETFILTER_XT_TARGET_NFLOG=m +# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +CONFIG_NETFILTER_XT_MATCH_COMMENT=m +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +CONFIG_NETFILTER_XT_MATCH_DCCP=m +CONFIG_NETFILTER_XT_MATCH_DSCP=m +CONFIG_NETFILTER_XT_MATCH_ESP=m +CONFIG_NETFILTER_XT_MATCH_HELPER=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_POLICY=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MATCH_QUOTA=m +CONFIG_NETFILTER_XT_MATCH_REALM=m +CONFIG_NETFILTER_XT_MATCH_SCTP=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_HASHLIMIT=m + +# +# IP: Netfilter Configuration +# +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_IPRANGE=m +CONFIG_IP_NF_MATCH_TOS=m +CONFIG_IP_NF_MATCH_RECENT=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_TTL=m +CONFIG_IP_NF_MATCH_OWNER=m +CONFIG_IP_NF_MATCH_ADDRTYPE=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_REDIRECT=m +CONFIG_IP_NF_TARGET_NETMAP=m +CONFIG_IP_NF_TARGET_SAME=m +CONFIG_NF_NAT_SNMP_BASIC=m +CONFIG_NF_NAT_PROTO_GRE=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_TOS=m +CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_TARGET_TTL=m +CONFIG_IP_NF_TARGET_CLUSTERIP=m +CONFIG_IP_NF_RAW=m +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARP_MANGLE=m + +# +# IPv6: Netfilter Configuration (EXPERIMENTAL) +# +CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_IP6_NF_QUEUE=m +CONFIG_IP6_NF_IPTABLES=m +CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_OPTS=m +CONFIG_IP6_NF_MATCH_FRAG=m +CONFIG_IP6_NF_MATCH_HL=m +CONFIG_IP6_NF_MATCH_OWNER=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_MATCH_AH=m +CONFIG_IP6_NF_MATCH_MH=m +CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_TARGET_LOG=m +CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_MANGLE=m +CONFIG_IP6_NF_TARGET_HL=m +CONFIG_IP6_NF_RAW=m # # DCCP Configuration (EXPERIMENTAL) @@ -319,6 +467,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" # QoS and/or fair queueing # # CONFIG_NET_SCHED is not set +CONFIG_NET_CLS_ROUTE=y # # Network testing @@ -326,28 +475,35 @@ CONFIG_DEFAULT_TCP_CONG="cubic" # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set # CONFIG_IRDA is not set -CONFIG_BT=y -CONFIG_BT_L2CAP=y -CONFIG_BT_SCO=y -CONFIG_BT_RFCOMM=y +CONFIG_BT=m +CONFIG_BT_L2CAP=m +CONFIG_BT_SCO=m +CONFIG_BT_RFCOMM=m CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=y +CONFIG_BT_BNEP=m CONFIG_BT_BNEP_MC_FILTER=y CONFIG_BT_BNEP_PROTO_FILTER=y -CONFIG_BT_HIDP=y +CONFIG_BT_HIDP=m # # Bluetooth device drivers # # CONFIG_BT_HCIUSB is not set -CONFIG_BT_HCIUART=y +CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_H4=y # CONFIG_BT_HCIUART_BCSP is not set # CONFIG_BT_HCIBCM203X is not set # CONFIG_BT_HCIBPA10X is not set # CONFIG_BT_HCIBFUSB is not set # CONFIG_BT_HCIVHCI is not set -# CONFIG_IEEE80211 is not set +CONFIG_IEEE80211=m +# CONFIG_IEEE80211_DEBUG is not set +CONFIG_IEEE80211_CRYPT_WEP=m +CONFIG_IEEE80211_CRYPT_CCMP=m +# CONFIG_IEEE80211_CRYPT_TKIP is not set +CONFIG_IEEE80211_SOFTMAC=m +# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set +CONFIG_WIRELESS_EXT=y # # Device Drivers @@ -428,7 +584,7 @@ CONFIG_MTD_XIP=y # CONFIG_MTD_COMPLEX_MAPPINGS is not set CONFIG_MTD_PHYSMAP=y CONFIG_MTD_PHYSMAP_START=0x0 -CONFIG_MTD_PHYSMAP_LEN=0 +CONFIG_MTD_PHYSMAP_LEN=0x0 CONFIG_MTD_PHYSMAP_BANKWIDTH=2 # CONFIG_MTD_ARM_INTEGRATOR is not set # CONFIG_MTD_SHARP_SL is not set @@ -480,10 +636,13 @@ CONFIG_MTD_EZX_A780=y # # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=m -# CONFIG_BLK_DEV_CRYPTOLOOP is not set +CONFIG_BLK_DEV_CRYPTOLOOP=m # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_UB is not set -# CONFIG_BLK_DEV_RAM is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 # CONFIG_CDROM_PKTCDVD is not set # CONFIG_ATA_OVER_ETH is not set @@ -529,7 +688,7 @@ CONFIG_NETDEVICES=y CONFIG_DUMMY=y # CONFIG_BONDING is not set # CONFIG_EQUALIZER is not set -# CONFIG_TUN is not set +CONFIG_TUN=m # # PHY device support @@ -555,7 +714,16 @@ CONFIG_DUMMY=y # # Wireless LAN (non-hamradio) # -# CONFIG_NET_RADIO is not set +CONFIG_NET_RADIO=y +CONFIG_NET_WIRELESS_RTNETLINK=y + +# +# Obsolete Wireless cards support (pre-802.11) +# +# CONFIG_STRIP is not set +# CONFIG_USB_ZD1201 is not set +# CONFIG_HOSTAP is not set +# CONFIG_ZD1211RW is not set # # Wan interfaces @@ -568,11 +736,11 @@ CONFIG_PPP_ASYNC=m CONFIG_PPP_SYNC_TTY=m CONFIG_PPP_DEFLATE=m CONFIG_PPP_BSDCOMP=m -# CONFIG_PPP_MPPE is not set -# CONFIG_PPPOE is not set +CONFIG_PPP_MPPE=m +CONFIG_PPPOE=m # CONFIG_SLIP is not set CONFIG_SLHC=m -# CONFIG_SHAPER is not set +CONFIG_SHAPER=m # CONFIG_NETCONSOLE is not set # CONFIG_NETPOLL is not set # CONFIG_NET_POLL_CONTROLLER is not set @@ -775,7 +943,50 @@ CONFIG_LEDS_TRIGGER_HEARTBEAT=y # # Multimedia devices # -# CONFIG_VIDEO_DEV is not set +CONFIG_VIDEO_DEV=m +CONFIG_VIDEO_V4L1=y +CONFIG_VIDEO_V4L1_COMPAT=y +CONFIG_VIDEO_V4L2=y + +# +# Video Capture Adapters +# + +# +# Video Capture Adapters +# +# CONFIG_VIDEO_ADV_DEBUG is not set +CONFIG_VIDEO_HELPER_CHIPS_AUTO=y +# CONFIG_VIDEO_CPIA is not set +# CONFIG_VIDEO_CPIA2 is not set +# CONFIG_VIDEO_SAA5246A is not set +# CONFIG_VIDEO_SAA5249 is not set +# CONFIG_TUNER_3036 is not set + +# +# V4L USB devices +# +# CONFIG_VIDEO_PVRUSB2 is not set +# CONFIG_VIDEO_EM28XX is not set +# CONFIG_VIDEO_USBVISION is not set +# CONFIG_USB_VICAM is not set +# CONFIG_USB_IBMCAM is not set +# CONFIG_USB_KONICAWC is not set +# CONFIG_USB_QUICKCAM_MESSENGER is not set +# CONFIG_USB_ET61X251 is not set +# CONFIG_VIDEO_OVCAMCHIP is not set +# CONFIG_USB_W9968CF is not set +# CONFIG_USB_OV511 is not set +# CONFIG_USB_SE401 is not set +# CONFIG_USB_SN9C102 is not set +# CONFIG_USB_STV680 is not set +# CONFIG_USB_ZC0301 is not set +# CONFIG_USB_PWC is not set + +# +# Radio Adapters +# +# CONFIG_USB_DSBR is not set # # Digital Video Broadcasting Devices @@ -788,7 +999,7 @@ CONFIG_LEDS_TRIGGER_HEARTBEAT=y # CONFIG_BACKLIGHT_LCD_SUPPORT=y CONFIG_BACKLIGHT_CLASS_DEVICE=y -# CONFIG_LCD_CLASS_DEVICE is not set +CONFIG_LCD_CLASS_DEVICE=m CONFIG_BACKLIGHT_EZX=y CONFIG_FB=y # CONFIG_FIRMWARE_EDID is not set @@ -833,12 +1044,79 @@ CONFIG_FONT_MINI_4x6=y # # Logo configuration # -# CONFIG_LOGO is not set +CONFIG_LOGO=y +CONFIG_LOGO_LINUX_MONO=y +CONFIG_LOGO_LINUX_VGA16=y +CONFIG_LOGO_LINUX_CLUT224=y # # Sound # -# CONFIG_SOUND is not set +CONFIG_SOUND=y + +# +# Advanced Linux Sound Architecture +# +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +# CONFIG_SND_SEQUENCER is not set +CONFIG_SND_OSSEMUL=y +CONFIG_SND_MIXER_OSS=m +CONFIG_SND_PCM_OSS=m +CONFIG_SND_PCM_OSS_PLUGINS=y +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set + +# +# Generic devices +# +CONFIG_SND_AC97_CODEC=m +CONFIG_SND_DUMMY=m +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set + +# +# ALSA ARM devices +# +CONFIG_SND_PXA2XX_PCM=m +CONFIG_SND_PXA2XX_AC97=m + +# +# USB devices +# +# CONFIG_SND_USB_AUDIO is not set + +# +# SoC audio support +# +CONFIG_SND_SOC=y + +# +# SoC Platforms +# + +# +# SoC Audio for the Atmel AT91 +# + +# +# SoC Audio for the Intel PXA2xx +# +CONFIG_SND_PXA2XX_SOC=y +CONFIG_SND_PXA2XX_SOC_SSP=y +CONFIG_SND_PXA2XX_SOC_EZX=y +CONFIG_SND_SOC_PCAP2=y + +# +# Open Sound System +# +# CONFIG_SOUND_PRIME is not set +CONFIG_AC97_BUS=m # # HID Devices @@ -1000,7 +1278,34 @@ CONFIG_MMC_PXA=y # Real Time Clock # CONFIG_RTC_LIB=y -# CONFIG_RTC_CLASS is not set +CONFIG_RTC_CLASS=m + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=m +CONFIG_RTC_INTF_PROC=m +CONFIG_RTC_INTF_DEV=m +CONFIG_RTC_INTF_DEV_UIE_EMUL=y + +# +# RTC drivers +# +# CONFIG_RTC_DRV_CMOS is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_M48T86 is not set +CONFIG_RTC_DRV_SA1100=m +# CONFIG_RTC_DRV_TEST is not set +# CONFIG_RTC_DRV_MAX6902 is not set +# CONFIG_RTC_DRV_V3020 is not set # # File systems @@ -1026,7 +1331,11 @@ CONFIG_REISERFS_FS_POSIX_ACL=y CONFIG_REISERFS_FS_SECURITY=y # CONFIG_JFS_FS is not set CONFIG_FS_POSIX_ACL=y -# CONFIG_XFS_FS is not set +CONFIG_XFS_FS=m +# CONFIG_XFS_QUOTA is not set +# CONFIG_XFS_SECURITY is not set +# CONFIG_XFS_POSIX_ACL is not set +# CONFIG_XFS_RT is not set # CONFIG_GFS2_FS is not set # CONFIG_OCFS2_FS is not set # CONFIG_MINIX_FS is not set @@ -1038,6 +1347,7 @@ CONFIG_DNOTIFY=y CONFIG_AUTOFS_FS=y CONFIG_AUTOFS4_FS=y # CONFIG_FUSE_FS is not set +CONFIG_GENERIC_ACL=y # # CD-ROM/DVD Filesystems @@ -1045,7 +1355,8 @@ CONFIG_AUTOFS4_FS=y CONFIG_ISO9660_FS=m CONFIG_JOLIET=y CONFIG_ZISOFS=y -# CONFIG_UDF_FS is not set +CONFIG_UDF_FS=m +CONFIG_UDF_NLS=y # # DOS/FAT/NT Filesystems @@ -1063,7 +1374,8 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" CONFIG_PROC_FS=y CONFIG_PROC_SYSCTL=y CONFIG_SYSFS=y -# CONFIG_TMPFS is not set +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y # CONFIG_HUGETLB_PAGE is not set CONFIG_RAMFS=y # CONFIG_CONFIGFS_FS is not set @@ -1089,24 +1401,26 @@ CONFIG_CRAMFS=m # # Network File Systems # -CONFIG_NFS_FS=m +CONFIG_NFS_FS=y CONFIG_NFS_V3=y CONFIG_NFS_V3_ACL=y -# CONFIG_NFS_V4 is not set +CONFIG_NFS_V4=y CONFIG_NFS_DIRECTIO=y CONFIG_NFSD=m CONFIG_NFSD_V2_ACL=y CONFIG_NFSD_V3=y CONFIG_NFSD_V3_ACL=y -# CONFIG_NFSD_V4 is not set +CONFIG_NFSD_V4=y CONFIG_NFSD_TCP=y -CONFIG_LOCKD=m +CONFIG_ROOT_NFS=y +CONFIG_LOCKD=y CONFIG_LOCKD_V4=y CONFIG_EXPORTFS=m -CONFIG_NFS_ACL_SUPPORT=m +CONFIG_NFS_ACL_SUPPORT=y CONFIG_NFS_COMMON=y -CONFIG_SUNRPC=m -# CONFIG_RPCSEC_GSS_KRB5 is not set +CONFIG_SUNRPC=y +CONFIG_SUNRPC_GSS=y +CONFIG_RPCSEC_GSS_KRB5=y # CONFIG_RPCSEC_GSS_SPKM3 is not set CONFIG_SMB_FS=m # CONFIG_SMB_NLS_DEFAULT is not set @@ -1207,7 +1521,48 @@ CONFIG_FRAME_POINTER=y # # Cryptographic options # -# CONFIG_CRYPTO is not set +CONFIG_CRYPTO=y +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_HASH=m +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_HMAC=m +CONFIG_CRYPTO_XCBC=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_SHA1=m +CONFIG_CRYPTO_SHA256=m +CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_WP512=m +CONFIG_CRYPTO_TGR192=m +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_ECB=m +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_LRW=m +CONFIG_CRYPTO_DES=y +CONFIG_CRYPTO_FCRYPT=m +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_TWOFISH_COMMON=m +CONFIG_CRYPTO_SERPENT=m +CONFIG_CRYPTO_AES=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST6=m +CONFIG_CRYPTO_TEA=m +CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_KHAZAD=m +CONFIG_CRYPTO_ANUBIS=m +CONFIG_CRYPTO_DEFLATE=m +CONFIG_CRYPTO_MICHAEL_MIC=m +CONFIG_CRYPTO_CRC32C=m +CONFIG_CRYPTO_CAMELLIA=m +CONFIG_CRYPTO_TEST=m + +# +# Hardware crypto devices +# # # Library routines @@ -1219,6 +1574,10 @@ CONFIG_CRC32=y CONFIG_LIBCRC32C=m CONFIG_ZLIB_INFLATE=m CONFIG_ZLIB_DEFLATE=m +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_KMP=m +CONFIG_TEXTSEARCH_BM=m +CONFIG_TEXTSEARCH_FSM=m CONFIG_PLIST=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y diff --git a/packages/linux/linux-ezx-2.6.21/e680/.mtn2git_empty b/packages/linux/linux-ezx-2.6.21/e680/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/linux/linux-ezx-2.6.21/e680/.mtn2git_empty diff --git a/packages/linux/linux-ezx-2.6.21/patches/defconfig-e680 b/packages/linux/linux-ezx-2.6.21/e680/defconfig index d180351886..770df7f34c 100755 --- a/packages/linux/linux-ezx-2.6.21/patches/defconfig-e680 +++ b/packages/linux/linux-ezx-2.6.21/e680/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.21 -# Sat Jun 2 18:29:02 2007 +# Linux kernel version: 2.6.21.4 +# Sun Sep 9 16:51:47 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -36,7 +36,7 @@ CONFIG_INIT_ENV_ARG_LIMIT=32 # CONFIG_LOCALVERSION="-ezxdev" # CONFIG_LOCALVERSION_AUTO is not set -# CONFIG_SWAP is not set +CONFIG_SWAP=y CONFIG_SYSVIPC=y # CONFIG_IPC_NS is not set CONFIG_SYSVIPC_SYSCTL=y @@ -54,21 +54,20 @@ CONFIG_SYSCTL=y CONFIG_EMBEDDED=y CONFIG_UID16=y # CONFIG_SYSCTL_SYSCALL is not set -CONFIG_KALLSYMS=y -# CONFIG_KALLSYMS_EXTRA_PASS is not set +# CONFIG_KALLSYMS is not set CONFIG_HOTPLUG=y CONFIG_PRINTK=y CONFIG_BUG=y -CONFIG_ELF_CORE=y -CONFIG_BASE_FULL=y +# CONFIG_ELF_CORE is not set +# CONFIG_BASE_FULL is not set CONFIG_FUTEX=y CONFIG_EPOLL=y -# CONFIG_SHMEM is not set +CONFIG_SHMEM=y CONFIG_SLAB=y CONFIG_VM_EVENT_COUNTERS=y CONFIG_RT_MUTEXES=y -CONFIG_TINY_SHMEM=y -CONFIG_BASE_SMALL=0 +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=1 # CONFIG_SLOB is not set # @@ -87,7 +86,7 @@ CONFIG_KMOD=y CONFIG_BLOCK=y # CONFIG_LBD is not set # CONFIG_BLK_DEV_IO_TRACE is not set -# CONFIG_LSF is not set +CONFIG_LSF=y # # IO Schedulers @@ -153,7 +152,6 @@ CONFIG_PXA_EZX_E680=y # CONFIG_PXA_EZX_E6 is not set CONFIG_EZX_BP=y CONFIG_EZX_PCAP=y -CONFIG_EZX_MCI_SD=y CONFIG_EZX_EMU=y CONFIG_EZX_EMU_USB=y # CONFIG_EZX_EMU_UART is not set @@ -198,7 +196,7 @@ CONFIG_PREEMPT=y CONFIG_NO_IDLE_HZ=y CONFIG_HZ=100 CONFIG_AEABI=y -# CONFIG_OABI_COMPAT is not set +CONFIG_OABI_COMPAT=y # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set CONFIG_SELECT_MEMORY_MODEL=y CONFIG_FLATMEM_MANUAL=y @@ -215,11 +213,11 @@ CONFIG_ALIGNMENT_TRAP=y # # Boot options # -CONFIG_ZBOOT_ROM_TEXT=0 -CONFIG_ZBOOT_ROM_BSS=0 -CONFIG_CMDLINE="console=tty1 noinitrd root=/dev/mmcblk0p2 rootfstype=ext3 ip=169.254.1.11:169.254.1.10:169.254.1.10:255.255.255.254:ezx:usb0:off debug mem=32M@0xA0000000 mem=16M@0xAC000000" +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_CMDLINE="console=tty1 root=/dev/mmcblk0p1 rootfstype=ext3 rootdelay=5 ip=192.168.0.202:192.168.0.200:192.168.0.200:255.255.255.0 debug mem=32M@0xA0000000 mem=16M@0xAC000000" # CONFIG_XIP_KERNEL is not set -# CONFIG_KEXEC is not set +CONFIG_KEXEC=y # # Floating point emulation @@ -228,6 +226,8 @@ CONFIG_CMDLINE="console=tty1 noinitrd root=/dev/mmcblk0p2 rootfstype=ext3 ip=169 # # At least one emulation must be selected # +# CONFIG_FPE_NWFPE is not set +# CONFIG_FPE_FASTFPE is not set # # Userspace binary formats @@ -257,6 +257,10 @@ CONFIG_NET=y CONFIG_PACKET=y # CONFIG_PACKET_MMAP is not set CONFIG_UNIX=y +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set # CONFIG_NET_KEY is not set CONFIG_INET=y # CONFIG_IP_MULTICAST is not set @@ -266,15 +270,15 @@ CONFIG_IP_PNP=y CONFIG_IP_PNP_DHCP=y # CONFIG_IP_PNP_BOOTP is not set # CONFIG_IP_PNP_RARP is not set -# CONFIG_NET_IPIP is not set -# CONFIG_NET_IPGRE is not set +CONFIG_NET_IPIP=m +CONFIG_NET_IPGRE=m # CONFIG_ARPD is not set CONFIG_SYN_COOKIES=y # CONFIG_INET_AH is not set # CONFIG_INET_ESP is not set # CONFIG_INET_IPCOMP is not set # CONFIG_INET_XFRM_TUNNEL is not set -# CONFIG_INET_TUNNEL is not set +CONFIG_INET_TUNNEL=m # CONFIG_INET_XFRM_MODE_TRANSPORT is not set # CONFIG_INET_XFRM_MODE_TUNNEL is not set # CONFIG_INET_XFRM_MODE_BEET is not set @@ -283,11 +287,155 @@ CONFIG_SYN_COOKIES=y CONFIG_TCP_CONG_CUBIC=y CONFIG_DEFAULT_TCP_CONG="cubic" # CONFIG_TCP_MD5SIG is not set -# CONFIG_IPV6 is not set -# CONFIG_INET6_XFRM_TUNNEL is not set -# CONFIG_INET6_TUNNEL is not set + +# +# IP: Virtual Server Configuration +# +# CONFIG_IP_VS is not set +CONFIG_IPV6=m +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IPV6_ROUTE_INFO is not set +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +CONFIG_INET6_IPCOMP=m +# CONFIG_IPV6_MIP6 is not set +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 is not set +CONFIG_IPV6_SIT=m +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_MULTIPLE_TABLES is not set # CONFIG_NETWORK_SECMARK is not set -# CONFIG_NETFILTER is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_NETLINK=m +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_NETLINK_LOG=m +CONFIG_NF_CONNTRACK_ENABLED=m +CONFIG_NF_CONNTRACK_SUPPORT=y +# CONFIG_IP_NF_CONNTRACK_SUPPORT is not set +CONFIG_NF_CONNTRACK=m +CONFIG_NF_CT_ACCT=y +CONFIG_NF_CONNTRACK_MARK=y +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CT_PROTO_GRE=m +CONFIG_NF_CT_PROTO_SCTP=m +CONFIG_NF_CONNTRACK_AMANDA=m +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_NETBIOS_NS=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_XTABLES=m +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m +# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set +# CONFIG_NETFILTER_XT_TARGET_DSCP is not set +CONFIG_NETFILTER_XT_TARGET_MARK=m +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m +CONFIG_NETFILTER_XT_TARGET_NFLOG=m +# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +CONFIG_NETFILTER_XT_MATCH_COMMENT=m +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +CONFIG_NETFILTER_XT_MATCH_DCCP=m +CONFIG_NETFILTER_XT_MATCH_DSCP=m +CONFIG_NETFILTER_XT_MATCH_ESP=m +CONFIG_NETFILTER_XT_MATCH_HELPER=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_POLICY=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MATCH_QUOTA=m +CONFIG_NETFILTER_XT_MATCH_REALM=m +CONFIG_NETFILTER_XT_MATCH_SCTP=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_HASHLIMIT=m + +# +# IP: Netfilter Configuration +# +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_IPRANGE=m +CONFIG_IP_NF_MATCH_TOS=m +CONFIG_IP_NF_MATCH_RECENT=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_TTL=m +CONFIG_IP_NF_MATCH_OWNER=m +CONFIG_IP_NF_MATCH_ADDRTYPE=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_REDIRECT=m +CONFIG_IP_NF_TARGET_NETMAP=m +CONFIG_IP_NF_TARGET_SAME=m +CONFIG_NF_NAT_SNMP_BASIC=m +CONFIG_NF_NAT_PROTO_GRE=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_TOS=m +CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_TARGET_TTL=m +CONFIG_IP_NF_TARGET_CLUSTERIP=m +CONFIG_IP_NF_RAW=m +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARP_MANGLE=m + +# +# IPv6: Netfilter Configuration (EXPERIMENTAL) +# +CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_IP6_NF_QUEUE=m +CONFIG_IP6_NF_IPTABLES=m +CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_OPTS=m +CONFIG_IP6_NF_MATCH_FRAG=m +CONFIG_IP6_NF_MATCH_HL=m +CONFIG_IP6_NF_MATCH_OWNER=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_MATCH_AH=m +CONFIG_IP6_NF_MATCH_MH=m +CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_TARGET_LOG=m +CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_MANGLE=m +CONFIG_IP6_NF_TARGET_HL=m +CONFIG_IP6_NF_RAW=m # # DCCP Configuration (EXPERIMENTAL) @@ -319,6 +467,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" # QoS and/or fair queueing # # CONFIG_NET_SCHED is not set +CONFIG_NET_CLS_ROUTE=y # # Network testing @@ -326,28 +475,35 @@ CONFIG_DEFAULT_TCP_CONG="cubic" # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set # CONFIG_IRDA is not set -CONFIG_BT=y -CONFIG_BT_L2CAP=y -CONFIG_BT_SCO=y -CONFIG_BT_RFCOMM=y +CONFIG_BT=m +CONFIG_BT_L2CAP=m +CONFIG_BT_SCO=m +CONFIG_BT_RFCOMM=m CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=y +CONFIG_BT_BNEP=m CONFIG_BT_BNEP_MC_FILTER=y CONFIG_BT_BNEP_PROTO_FILTER=y -CONFIG_BT_HIDP=y +CONFIG_BT_HIDP=m # # Bluetooth device drivers # # CONFIG_BT_HCIUSB is not set -CONFIG_BT_HCIUART=y +CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_H4=y # CONFIG_BT_HCIUART_BCSP is not set # CONFIG_BT_HCIBCM203X is not set # CONFIG_BT_HCIBPA10X is not set # CONFIG_BT_HCIBFUSB is not set # CONFIG_BT_HCIVHCI is not set -# CONFIG_IEEE80211 is not set +CONFIG_IEEE80211=m +# CONFIG_IEEE80211_DEBUG is not set +CONFIG_IEEE80211_CRYPT_WEP=m +CONFIG_IEEE80211_CRYPT_CCMP=m +# CONFIG_IEEE80211_CRYPT_TKIP is not set +CONFIG_IEEE80211_SOFTMAC=m +# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set +CONFIG_WIRELESS_EXT=y # # Device Drivers @@ -428,7 +584,7 @@ CONFIG_MTD_XIP=y # CONFIG_MTD_COMPLEX_MAPPINGS is not set CONFIG_MTD_PHYSMAP=y CONFIG_MTD_PHYSMAP_START=0x0 -CONFIG_MTD_PHYSMAP_LEN=0 +CONFIG_MTD_PHYSMAP_LEN=0x0 CONFIG_MTD_PHYSMAP_BANKWIDTH=2 # CONFIG_MTD_ARM_INTEGRATOR is not set # CONFIG_MTD_SHARP_SL is not set @@ -480,10 +636,13 @@ CONFIG_MTD_EZX_A780=y # # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=m -# CONFIG_BLK_DEV_CRYPTOLOOP is not set +CONFIG_BLK_DEV_CRYPTOLOOP=m # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_UB is not set -# CONFIG_BLK_DEV_RAM is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 # CONFIG_CDROM_PKTCDVD is not set # CONFIG_ATA_OVER_ETH is not set @@ -529,7 +688,7 @@ CONFIG_NETDEVICES=y CONFIG_DUMMY=y # CONFIG_BONDING is not set # CONFIG_EQUALIZER is not set -# CONFIG_TUN is not set +CONFIG_TUN=m # # PHY device support @@ -555,7 +714,16 @@ CONFIG_DUMMY=y # # Wireless LAN (non-hamradio) # -# CONFIG_NET_RADIO is not set +CONFIG_NET_RADIO=y +CONFIG_NET_WIRELESS_RTNETLINK=y + +# +# Obsolete Wireless cards support (pre-802.11) +# +# CONFIG_STRIP is not set +# CONFIG_USB_ZD1201 is not set +# CONFIG_HOSTAP is not set +# CONFIG_ZD1211RW is not set # # Wan interfaces @@ -568,11 +736,11 @@ CONFIG_PPP_ASYNC=m CONFIG_PPP_SYNC_TTY=m CONFIG_PPP_DEFLATE=m CONFIG_PPP_BSDCOMP=m -# CONFIG_PPP_MPPE is not set -# CONFIG_PPPOE is not set +CONFIG_PPP_MPPE=m +CONFIG_PPPOE=m # CONFIG_SLIP is not set CONFIG_SLHC=m -# CONFIG_SHAPER is not set +CONFIG_SHAPER=m # CONFIG_NETCONSOLE is not set # CONFIG_NETPOLL is not set # CONFIG_NET_POLL_CONTROLLER is not set @@ -768,14 +936,57 @@ CONFIG_LEDS_CLASS=y # LED Triggers # CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_E680=y +# CONFIG_LEDS_E680 is not set CONFIG_LEDS_TRIGGER_TIMER=y CONFIG_LEDS_TRIGGER_HEARTBEAT=y # # Multimedia devices # -# CONFIG_VIDEO_DEV is not set +CONFIG_VIDEO_DEV=m +CONFIG_VIDEO_V4L1=y +CONFIG_VIDEO_V4L1_COMPAT=y +CONFIG_VIDEO_V4L2=y + +# +# Video Capture Adapters +# + +# +# Video Capture Adapters +# +# CONFIG_VIDEO_ADV_DEBUG is not set +CONFIG_VIDEO_HELPER_CHIPS_AUTO=y +# CONFIG_VIDEO_CPIA is not set +# CONFIG_VIDEO_CPIA2 is not set +# CONFIG_VIDEO_SAA5246A is not set +# CONFIG_VIDEO_SAA5249 is not set +# CONFIG_TUNER_3036 is not set + +# +# V4L USB devices +# +# CONFIG_VIDEO_PVRUSB2 is not set +# CONFIG_VIDEO_EM28XX is not set +# CONFIG_VIDEO_USBVISION is not set +# CONFIG_USB_VICAM is not set +# CONFIG_USB_IBMCAM is not set +# CONFIG_USB_KONICAWC is not set +# CONFIG_USB_QUICKCAM_MESSENGER is not set +# CONFIG_USB_ET61X251 is not set +# CONFIG_VIDEO_OVCAMCHIP is not set +# CONFIG_USB_W9968CF is not set +# CONFIG_USB_OV511 is not set +# CONFIG_USB_SE401 is not set +# CONFIG_USB_SN9C102 is not set +# CONFIG_USB_STV680 is not set +# CONFIG_USB_ZC0301 is not set +# CONFIG_USB_PWC is not set + +# +# Radio Adapters +# +# CONFIG_USB_DSBR is not set # # Digital Video Broadcasting Devices @@ -788,7 +999,7 @@ CONFIG_LEDS_TRIGGER_HEARTBEAT=y # CONFIG_BACKLIGHT_LCD_SUPPORT=y CONFIG_BACKLIGHT_CLASS_DEVICE=y -# CONFIG_LCD_CLASS_DEVICE is not set +CONFIG_LCD_CLASS_DEVICE=m CONFIG_BACKLIGHT_EZX=y CONFIG_FB=y # CONFIG_FIRMWARE_EDID is not set @@ -833,12 +1044,79 @@ CONFIG_FONT_MINI_4x6=y # # Logo configuration # -# CONFIG_LOGO is not set +CONFIG_LOGO=y +CONFIG_LOGO_LINUX_MONO=y +CONFIG_LOGO_LINUX_VGA16=y +CONFIG_LOGO_LINUX_CLUT224=y # # Sound # -# CONFIG_SOUND is not set +CONFIG_SOUND=y + +# +# Advanced Linux Sound Architecture +# +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +# CONFIG_SND_SEQUENCER is not set +CONFIG_SND_OSSEMUL=y +CONFIG_SND_MIXER_OSS=m +CONFIG_SND_PCM_OSS=m +CONFIG_SND_PCM_OSS_PLUGINS=y +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set + +# +# Generic devices +# +CONFIG_SND_AC97_CODEC=m +CONFIG_SND_DUMMY=m +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set + +# +# ALSA ARM devices +# +CONFIG_SND_PXA2XX_PCM=m +CONFIG_SND_PXA2XX_AC97=m + +# +# USB devices +# +# CONFIG_SND_USB_AUDIO is not set + +# +# SoC audio support +# +CONFIG_SND_SOC=y + +# +# SoC Platforms +# + +# +# SoC Audio for the Atmel AT91 +# + +# +# SoC Audio for the Intel PXA2xx +# +CONFIG_SND_PXA2XX_SOC=y +CONFIG_SND_PXA2XX_SOC_SSP=y +CONFIG_SND_PXA2XX_SOC_EZX=y +CONFIG_SND_SOC_PCAP2=y + +# +# Open Sound System +# +# CONFIG_SOUND_PRIME is not set +CONFIG_AC97_BUS=m # # HID Devices @@ -1000,7 +1278,34 @@ CONFIG_MMC_PXA=y # Real Time Clock # CONFIG_RTC_LIB=y -# CONFIG_RTC_CLASS is not set +CONFIG_RTC_CLASS=m + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=m +CONFIG_RTC_INTF_PROC=m +CONFIG_RTC_INTF_DEV=m +CONFIG_RTC_INTF_DEV_UIE_EMUL=y + +# +# RTC drivers +# +# CONFIG_RTC_DRV_CMOS is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_M48T86 is not set +CONFIG_RTC_DRV_SA1100=m +# CONFIG_RTC_DRV_TEST is not set +# CONFIG_RTC_DRV_MAX6902 is not set +# CONFIG_RTC_DRV_V3020 is not set # # File systems @@ -1026,7 +1331,11 @@ CONFIG_REISERFS_FS_POSIX_ACL=y CONFIG_REISERFS_FS_SECURITY=y # CONFIG_JFS_FS is not set CONFIG_FS_POSIX_ACL=y -# CONFIG_XFS_FS is not set +CONFIG_XFS_FS=m +# CONFIG_XFS_QUOTA is not set +# CONFIG_XFS_SECURITY is not set +# CONFIG_XFS_POSIX_ACL is not set +# CONFIG_XFS_RT is not set # CONFIG_GFS2_FS is not set # CONFIG_OCFS2_FS is not set # CONFIG_MINIX_FS is not set @@ -1038,6 +1347,7 @@ CONFIG_DNOTIFY=y CONFIG_AUTOFS_FS=y CONFIG_AUTOFS4_FS=y # CONFIG_FUSE_FS is not set +CONFIG_GENERIC_ACL=y # # CD-ROM/DVD Filesystems @@ -1045,7 +1355,8 @@ CONFIG_AUTOFS4_FS=y CONFIG_ISO9660_FS=m CONFIG_JOLIET=y CONFIG_ZISOFS=y -# CONFIG_UDF_FS is not set +CONFIG_UDF_FS=m +CONFIG_UDF_NLS=y # # DOS/FAT/NT Filesystems @@ -1063,7 +1374,8 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" CONFIG_PROC_FS=y CONFIG_PROC_SYSCTL=y CONFIG_SYSFS=y -# CONFIG_TMPFS is not set +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y # CONFIG_HUGETLB_PAGE is not set CONFIG_RAMFS=y # CONFIG_CONFIGFS_FS is not set @@ -1089,24 +1401,26 @@ CONFIG_CRAMFS=m # # Network File Systems # -CONFIG_NFS_FS=m +CONFIG_NFS_FS=y CONFIG_NFS_V3=y CONFIG_NFS_V3_ACL=y -# CONFIG_NFS_V4 is not set +CONFIG_NFS_V4=y CONFIG_NFS_DIRECTIO=y CONFIG_NFSD=m CONFIG_NFSD_V2_ACL=y CONFIG_NFSD_V3=y CONFIG_NFSD_V3_ACL=y -# CONFIG_NFSD_V4 is not set +CONFIG_NFSD_V4=y CONFIG_NFSD_TCP=y -CONFIG_LOCKD=m +CONFIG_ROOT_NFS=y +CONFIG_LOCKD=y CONFIG_LOCKD_V4=y CONFIG_EXPORTFS=m -CONFIG_NFS_ACL_SUPPORT=m +CONFIG_NFS_ACL_SUPPORT=y CONFIG_NFS_COMMON=y -CONFIG_SUNRPC=m -# CONFIG_RPCSEC_GSS_KRB5 is not set +CONFIG_SUNRPC=y +CONFIG_SUNRPC_GSS=y +CONFIG_RPCSEC_GSS_KRB5=y # CONFIG_RPCSEC_GSS_SPKM3 is not set CONFIG_SMB_FS=m # CONFIG_SMB_NLS_DEFAULT is not set @@ -1207,7 +1521,48 @@ CONFIG_FRAME_POINTER=y # # Cryptographic options # -# CONFIG_CRYPTO is not set +CONFIG_CRYPTO=y +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_HASH=m +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_HMAC=m +CONFIG_CRYPTO_XCBC=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_SHA1=m +CONFIG_CRYPTO_SHA256=m +CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_WP512=m +CONFIG_CRYPTO_TGR192=m +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_ECB=m +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_LRW=m +CONFIG_CRYPTO_DES=y +CONFIG_CRYPTO_FCRYPT=m +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_TWOFISH_COMMON=m +CONFIG_CRYPTO_SERPENT=m +CONFIG_CRYPTO_AES=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST6=m +CONFIG_CRYPTO_TEA=m +CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_KHAZAD=m +CONFIG_CRYPTO_ANUBIS=m +CONFIG_CRYPTO_DEFLATE=m +CONFIG_CRYPTO_MICHAEL_MIC=m +CONFIG_CRYPTO_CRC32C=m +CONFIG_CRYPTO_CAMELLIA=m +CONFIG_CRYPTO_TEST=m + +# +# Hardware crypto devices +# # # Library routines @@ -1219,6 +1574,10 @@ CONFIG_CRC32=y CONFIG_LIBCRC32C=m CONFIG_ZLIB_INFLATE=m CONFIG_ZLIB_DEFLATE=m +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_KMP=m +CONFIG_TEXTSEARCH_BM=m +CONFIG_TEXTSEARCH_FSM=m CONFIG_PLIST=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y diff --git a/packages/linux/linux-ezx-2.6.21/patches/a1200-eoc.patch b/packages/linux/linux-ezx-2.6.21/patches/a1200-eoc.patch new file mode 100644 index 0000000000..577aa66303 --- /dev/null +++ b/packages/linux/linux-ezx-2.6.21/patches/a1200-eoc.patch @@ -0,0 +1,82 @@ +Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c +=================================================================== +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-09-07 22:15:52.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-09-09 13:29:56.000000000 -0300 +@@ -25,6 +25,7 @@ + #include <asm/arch/mmc.h> + + #include "generic.h" ++#include "ezx-eoc.h" + + extern void ezx_lcd_power(int, struct fb_var_screeninfo *); + extern void ezx_backlight_power(int); +@@ -227,11 +228,69 @@ + .resource = pcap_ts_resources, + }; + ++ ++/* EOC */ ++static const unsigned int tab_init_eoc_reg[][2] = ++{ ++ {POWER_IC_REG_EOC_INT_MASK, 0x00000FEF}, ++ {POWER_IC_REG_EOC_POWER_CONTROL_0, 0x00000C00}, ++ {POWER_IC_REG_EOC_POWER_CONTROL_1, 0x0000000C}, ++ {POWER_IC_REG_EOC_CONN_CONTROL, 0x00021044}, ++}; ++ ++static void dump_eoc_registers(void) ++{ ++ int i, val = 0; ++ ++ printk("========DUMP EOC=========\n"); ++ for (i = 0; i < POWER_IC_REG_EOC_NUM; i++) { ++ eoc_reg_read(i, &val); ++ printk("eoc_registers[%d] = 0x%08X\n", i, val); ++ } ++ printk("========END DUMP=========\n"); ++} ++ ++/* ++ * FIXME: The same about the PCAP driver applies here. ++ * This is the initial state only. ++ * Which bits does the change to USB/UART/AUDIO mode? ++ * I think that this is causing the crash on pxa27x-udc ++ * you are setting the 'port connected' bit, and thats why ++ * you are getting interrupts early. ++ * --WM ++ */ ++ ++static int __init a1200_eoc_init(void) ++{ ++ int i; ++ ++ for (i = 0; i < sizeof(tab_init_eoc_reg)/sizeof(unsigned int)/2; i++) ++ { ++ eoc_reg_write(tab_init_eoc_reg[i][0], tab_init_eoc_reg[i][1]); ++ } ++ dump_eoc_registers(); ++ return 0; ++} ++ ++static struct ezx_eoc_platform_data a1200_eoc_platform_data = { ++ .init = a1200_eoc_init, ++}; ++ ++struct platform_device a1200_eoc_device = { ++ .name = "ezx-eoc", ++ .id = -1, ++ .dev = { ++ .platform_data = &a1200_eoc_platform_data, ++ }, ++}; ++ + static struct platform_device *devices[] __initdata = { + &a1200_pcap_device, + &pcap_ts_device, ++ &a1200_eoc_device, + }; + ++ + static void __init a1200_init(void) + { + set_pxa_fb_info(&a1200_fb_info); diff --git a/packages/linux/linux-ezx-2.6.21/patches/a1200-mci.patch b/packages/linux/linux-ezx-2.6.21/patches/a1200-mci.patch index 0d2640a2e7..042254b115 100755 --- a/packages/linux/linux-ezx-2.6.21/patches/a1200-mci.patch +++ b/packages/linux/linux-ezx-2.6.21/patches/a1200-mci.patch @@ -1,20 +1,8 @@ -Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig -=================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-06-02 20:32:31.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-06-02 20:44:29.000000000 -0300 -@@ -97,6 +97,7 @@ - config PXA_EZX_A1200 - bool "Motorola A1200 GSM Phone" - select PXA27x -+ select EZX_MCI_TF - - config PXA_EZX_E6 - bool "Motorola E6 GSM Phone" Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-06-02 20:32:26.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-06-02 20:44:56.000000000 -0300 -@@ -13,11 +13,14 @@ +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-09-07 11:51:55.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-09-07 11:54:52.000000000 -0300 +@@ -13,6 +13,8 @@ #include <linux/init.h> #include <linux/platform_device.h> #include <linux/fb.h> @@ -23,13 +11,14 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c #include <asm/mach-types.h> #include <asm/mach/arch.h> - #include <asm/arch/pxa-regs.h> +@@ -20,12 +22,102 @@ #include <asm/arch/pxafb.h> + #include <asm/arch/ezx.h> + #include <asm/arch/ezx-pcap.h> +#include <asm/arch/mmc.h> #include "generic.h" - #include "ezx.h" -@@ -25,6 +28,95 @@ + extern void ezx_lcd_power(int, struct fb_var_screeninfo *); extern void ezx_backlight_power(int); @@ -125,7 +114,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c static struct pxafb_mode_info mode_a1200 = { .pixclock = 192308, .xres = 240, -@@ -54,6 +146,7 @@ +@@ -118,6 +210,7 @@ static void __init a1200_init(void) { set_pxa_fb_info(&a1200_fb_info); diff --git a/packages/linux/linux-ezx-2.6.21/patches/a1200-pcap.patch b/packages/linux/linux-ezx-2.6.21/patches/a1200-pcap.patch new file mode 100644 index 0000000000..8aa1e46d73 --- /dev/null +++ b/packages/linux/linux-ezx-2.6.21/patches/a1200-pcap.patch @@ -0,0 +1,83 @@ +Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c +=================================================================== +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-09-07 11:32:32.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-09-07 11:51:55.000000000 -0300 +@@ -19,6 +19,7 @@ + #include <asm/arch/pxa-regs.h> + #include <asm/arch/pxafb.h> + #include <asm/arch/ezx.h> ++#include <asm/arch/ezx-pcap.h> + + #include "generic.h" + +@@ -48,7 +49,70 @@ + .pxafb_lcd_power = &ezx_lcd_power, + }; + ++/* PCAP */ ++static int __init a1200_pcap_init(void) ++{ ++ /* ++ * FIXME: this is the PCAP INITIAL STATE. ++ * most of these writes should NOT be done here ++ * * voltage regulators, voltage enablers should be set by the ++ * driver which uses the connected hardware. Otherwise you ++ * drain power unnecessarily. ++ * * interrupt related registers should be set by the irq functions ++ * only. I think that the INT_SEL register selects on which irq ++ * pin the (ap/bp) the irq goes. This should go on ezx-pcap.c, but ++ * only if it actually makes any difference. ++ * * Only power state automatic changes should be done here. ++ * (*LOWPWR, *STBY, LOWPWR*) ++ * * I removed some writes which i consider extremelly wrong. And ++ * which i think will not break anything (they were overwritten ++ * later anyway). ++ * ++ * --WM ++ */ ++ ezx_pcap_write(PCAP_REG_INT_SEL, 0x0); /* wrong */ ++ ezx_pcap_write(PCAP_REG_SWCTRL, 0x2ee6); /* partially wrong */ ++ ezx_pcap_write(PCAP_REG_VREG1, 0x15778e3); /* wrong */ ++ ezx_pcap_write(PCAP_REG_VREG2, 0x810234); /* partially wrong */ ++ ezx_pcap_write(PCAP_REG_AUXVREG, 0x1024bec); /* wrong */ ++ ezx_pcap_write(PCAP_REG_PWR, 0x94108); /* partially wrong */ ++ ezx_pcap_write(PCAP_REG_AUXVREG_MASK, 0x214d48); /* wrong */ ++ ezx_pcap_write(PCAP_REG_BUSCTRL, 0x2a0); /* wrong */ ++ ezx_pcap_write(PCAP_REG_LOWPWR, 0x1d9610c); ++ ezx_pcap_write(PCAP_REG_PERIPH, 0x0); /* wrong */ ++ ezx_pcap_write(PCAP_REG_GP, 0x107); /* probably unnecessary */ ++ ++ return 0; ++} ++ ++static struct pcap_platform_data a1200_pcap_platform_data = { ++ .port = 1, ++ .cs = GPIO_SPI_CE, ++ .flags = PCAP_CS_AH | PCAP_MCI_TF, ++ .clk = 1, ++ .init = a1200_pcap_init, ++}; ++ ++static struct resource a1200_pcap_resources[] = { ++ [0] = { ++ .start = IRQ_GPIO1, ++ .end = IRQ_GPIO1, ++ .flags = IORESOURCE_IRQ, ++ }, ++}; ++ ++struct platform_device a1200_pcap_device = { ++ .name = "ezx-pcap", ++ .id = -1, ++ .num_resources = ARRAY_SIZE(a1200_pcap_resources), ++ .resource = a1200_pcap_resources, ++ .dev = { ++ .platform_data = &a1200_pcap_platform_data, ++ }, ++}; ++ + static struct platform_device *devices[] __initdata = { ++ &a1200_pcap_device, + }; + + static void __init a1200_init(void) diff --git a/packages/linux/linux-ezx-2.6.21/patches/a1200-ts.patch b/packages/linux/linux-ezx-2.6.21/patches/a1200-ts.patch index a7ca6362b0..a8c8f2ee29 100755 --- a/packages/linux/linux-ezx-2.6.21/patches/a1200-ts.patch +++ b/packages/linux/linux-ezx-2.6.21/patches/a1200-ts.patch @@ -1,16 +1,16 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-06-02 20:32:32.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-06-02 20:33:41.000000000 -0300 -@@ -117,6 +117,27 @@ - .exit = a1200_mci_exit, +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-09-07 11:54:52.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-09-07 11:55:10.000000000 -0300 +@@ -203,8 +203,33 @@ + }, }; +/* PCAP_TS */ +struct resource pcap_ts_resources[] = { + [0] = { -+ .start = EZX_IRQ_ADCDONE2, -+ .end = EZX_IRQ_ADCDONE2, ++ .start = EZX_IRQ_ADCDONE, ++ .end = EZX_IRQ_ADCDONE, + .flags = IORESOURCE_IRQ, + }, + [1] = { @@ -23,17 +23,15 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c +struct platform_device pcap_ts_device = { + .name = "pcap-ts", + .id = -1, ++ .dev = { ++ .parent = &a1200_pcap_device.dev, ++ }, + .num_resources = ARRAY_SIZE(pcap_ts_resources), + .resource = pcap_ts_resources, +}; + - static struct pxafb_mode_info mode_a1200 = { - .pixclock = 192308, - .xres = 240, -@@ -141,6 +162,7 @@ - }; - static struct platform_device *devices[] __initdata = { + &a1200_pcap_device, + &pcap_ts_device, }; diff --git a/packages/linux/linux-ezx-2.6.21/patches/a780-emu.patch b/packages/linux/linux-ezx-2.6.21/patches/a780-emu.patch new file mode 100644 index 0000000000..f6121c6e7f --- /dev/null +++ b/packages/linux/linux-ezx-2.6.21/patches/a780-emu.patch @@ -0,0 +1,38 @@ +Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c +=================================================================== +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a780.c 2007-08-31 23:02:13.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-08-31 23:03:16.000000000 -0300 +@@ -211,8 +211,33 @@ + }, + }; + ++/* EMU */ ++static struct resource a780_emu_resources[] = { ++ [0] = { ++ .start = EZX_IRQ_USB4V, ++ .end = EZX_IRQ_USB4V, ++ .flags = IORESOURCE_IRQ, ++ }, ++ [1] = { ++ .start = EZX_IRQ_USB1V, ++ .end = EZX_IRQ_USB1V, ++ .flags = IORESOURCE_IRQ, ++ }, ++}; ++ ++struct platform_device a780_emu_device = { ++ .name = "ezx-emu", ++ .id = -1, ++ .dev = { ++ .parent = &a780_pcap_device.dev, ++ }, ++ .num_resources = ARRAY_SIZE(a780_emu_resources), ++ .resource = a780_emu_resources, ++}; ++ + static struct platform_device *devices[] __initdata = { + &a780_pcap_device, ++ &a780_emu_device, + }; + + static void __init a780_init(void) diff --git a/packages/linux/linux-ezx-2.6.21/patches/a780-flip.patch b/packages/linux/linux-ezx-2.6.21/patches/a780-flip.patch index b93b1b14e4..88f15041db 100755 --- a/packages/linux/linux-ezx-2.6.21/patches/a780-flip.patch +++ b/packages/linux/linux-ezx-2.6.21/patches/a780-flip.patch @@ -1,7 +1,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a780.c 2007-06-08 18:38:47.000000000 +0200 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-06-08 18:38:50.000000000 +0200 +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a780.c 2007-08-31 23:58:17.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-08-31 23:59:03.000000000 -0300 @@ -17,6 +17,7 @@ #include <linux/mmc/host.h> #include <linux/irq.h> @@ -10,8 +10,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c #include <asm/mach-types.h> #include <asm/mach/arch.h> -@@ -214,8 +215,31 @@ - }, +@@ -311,10 +312,33 @@ + .resource = pcap_ts_resources, }; +static struct gpio_keys_button a780flip_buttons[] = { @@ -37,6 +37,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c + + static struct platform_device *devices[] __initdata = { + &a780_pcap_device, + &a780_emu_device, &pcap_ts_device, + &a780flip_device, }; diff --git a/packages/linux/linux-ezx-2.6.21/patches/a780-kbd.patch b/packages/linux/linux-ezx-2.6.21/patches/a780-kbd.patch index 902889abe6..d7d114cfed 100755 --- a/packages/linux/linux-ezx-2.6.21/patches/a780-kbd.patch +++ b/packages/linux/linux-ezx-2.6.21/patches/a780-kbd.patch @@ -1,8 +1,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a780.c 2007-05-24 00:54:38.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-05-24 00:56:22.000000000 -0300 -@@ -16,18 +16,21 @@ +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a780.c 2007-08-31 23:03:16.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-08-31 23:05:18.000000000 -0300 +@@ -16,6 +16,7 @@ #include <linux/fb.h> #include <linux/mmc/host.h> #include <linux/irq.h> @@ -10,13 +10,13 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c #include <asm/mach-types.h> #include <asm/mach/arch.h> - #include <asm/arch/pxa-regs.h> - #include <asm/arch/pxafb.h> +@@ -24,11 +25,13 @@ + #include <asm/arch/ezx.h> + #include <asm/arch/ezx-pcap.h> #include <asm/arch/mmc.h> +#include <asm/arch/kbd.h> #include "generic.h" - #include "ezx.h" extern void ezx_lcd_power(int, struct fb_var_screeninfo *); extern void ezx_backlight_power(int); @@ -24,8 +24,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c #ifdef CONFIG_EZX_PCAP extern int ezx_pcap_mmcsd_power(int); -@@ -141,6 +144,55 @@ - .pxafb_lcd_power = &ezx_lcd_power, +@@ -235,6 +238,55 @@ + .resource = a780_emu_resources, }; +static unsigned char a780_keycode[] = { @@ -78,9 +78,9 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c +}; + static struct platform_device *devices[] __initdata = { - }; - -@@ -159,6 +211,7 @@ + &a780_pcap_device, + &a780_emu_device, +@@ -255,6 +307,7 @@ set_pxa_fb_info(&a780_fb_info); pxa_set_mci_info(&a780_mci_platform_data); diff --git a/packages/linux/linux-ezx-2.6.21/patches/a780-leds.patch b/packages/linux/linux-ezx-2.6.21/patches/a780-leds.patch index 5a9a9383f7..e8336d8855 100755 --- a/packages/linux/linux-ezx-2.6.21/patches/a780-leds.patch +++ b/packages/linux/linux-ezx-2.6.21/patches/a780-leds.patch @@ -5,8 +5,8 @@ Index: linux-2.6.21/drivers/leds/Kconfig =================================================================== ---- linux-2.6.21.orig/drivers/leds/Kconfig 2007-06-08 18:33:45.000000000 +0200 -+++ linux-2.6.21/drivers/leds/Kconfig 2007-06-08 18:39:04.000000000 +0200 +--- linux-2.6.21.orig/drivers/leds/Kconfig 2007-08-31 22:27:41.000000000 -0300 ++++ linux-2.6.21/drivers/leds/Kconfig 2007-08-31 23:59:27.000000000 -0300 @@ -104,6 +104,13 @@ These triggers allow kernel events to drive the LEDs and can be configured via sysfs. If unsure, say Y. @@ -23,8 +23,8 @@ Index: linux-2.6.21/drivers/leds/Kconfig depends on LEDS_TRIGGERS Index: linux-2.6.21/drivers/leds/Makefile =================================================================== ---- linux-2.6.21.orig/drivers/leds/Makefile 2007-06-08 18:33:45.000000000 +0200 -+++ linux-2.6.21/drivers/leds/Makefile 2007-06-08 18:39:04.000000000 +0200 +--- linux-2.6.21.orig/drivers/leds/Makefile 2007-08-31 22:27:41.000000000 -0300 ++++ linux-2.6.21/drivers/leds/Makefile 2007-08-31 23:59:27.000000000 -0300 @@ -16,6 +16,7 @@ obj-$(CONFIG_LEDS_WRAP) += leds-wrap.o obj-$(CONFIG_LEDS_H1940) += leds-h1940.o @@ -36,7 +36,7 @@ Index: linux-2.6.21/drivers/leds/Makefile Index: linux-2.6.21/drivers/leds/leds-a780.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/drivers/leds/leds-a780.c 2007-06-08 18:39:04.000000000 +0200 ++++ linux-2.6.21/drivers/leds/leds-a780.c 2007-08-31 23:59:27.000000000 -0300 @@ -0,0 +1,122 @@ +/* + * EZX Platform LED Driver for the Motorola A780 GSM Phone @@ -62,22 +62,22 @@ Index: linux-2.6.21/drivers/leds/leds-a780.c +{ + if ( value > 31 ) value = 31; + printk( KERN_DEBUG "a780led_main_set: %d\n", value ); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL_CTRL0, value & 0x01); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL_CTRL1, value & 0x02); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL_CTRL2, value & 0x04); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL_CTRL3, value & 0x08); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL_CTRL4, value & 0x10); ++ ezx_pcap_bit_set(PCAP_BIT_PERIPH_BL_CTRL0, value & 0x01); ++ ezx_pcap_bit_set(PCAP_BIT_PERIPH_BL_CTRL1, value & 0x02); ++ ezx_pcap_bit_set(PCAP_BIT_PERIPH_BL_CTRL2, value & 0x04); ++ ezx_pcap_bit_set(PCAP_BIT_PERIPH_BL_CTRL3, value & 0x08); ++ ezx_pcap_bit_set(PCAP_BIT_PERIPH_BL_CTRL4, value & 0x10); +} + +static void a780led_aux_set(struct led_classdev *led_cdev, enum led_brightness value) +{ + if ( value > 31 ) value = 31; + printk( KERN_DEBUG "a780led_aux_set: %d\n", value ); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL2_CTRL0, value & 0x01); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL2_CTRL1, value & 0x02); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL2_CTRL2, value & 0x04); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL2_CTRL3, value & 0x08); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL2_CTRL4, value & 0x10); ++ ezx_pcap_bit_set(PCAP_BIT_PERIPH_BL2_CTRL0, value & 0x01); ++ ezx_pcap_bit_set(PCAP_BIT_PERIPH_BL2_CTRL1, value & 0x02); ++ ezx_pcap_bit_set(PCAP_BIT_PERIPH_BL2_CTRL2, value & 0x04); ++ ezx_pcap_bit_set(PCAP_BIT_PERIPH_BL2_CTRL3, value & 0x08); ++ ezx_pcap_bit_set(PCAP_BIT_PERIPH_BL2_CTRL4, value & 0x10); +} + +static struct led_classdev a780_main_led = { @@ -162,18 +162,23 @@ Index: linux-2.6.21/drivers/leds/leds-a780.c +MODULE_LICENSE("GPL"); Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a780.c 2007-06-08 18:38:50.000000000 +0200 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-06-08 18:39:04.000000000 +0200 -@@ -236,10 +236,15 @@ +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a780.c 2007-08-31 23:59:03.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-08-31 23:59:27.000000000 -0300 +@@ -333,12 +333,20 @@ }, }; +static struct platform_device a780led_device = { + .name = "a780-led", + .id = -1, ++ .dev = { ++ .parent = &a780_pcap_device.dev, ++ }, +}; static struct platform_device *devices[] __initdata = { + &a780_pcap_device, + &a780_emu_device, &pcap_ts_device, &a780flip_device, + &a780led_device, diff --git a/packages/linux/linux-ezx-2.6.21/patches/a780-mci.patch b/packages/linux/linux-ezx-2.6.21/patches/a780-mci.patch index 4877bfffa5..1238c1cf71 100755 --- a/packages/linux/linux-ezx-2.6.21/patches/a780-mci.patch +++ b/packages/linux/linux-ezx-2.6.21/patches/a780-mci.patch @@ -1,8 +1,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a780.c 2007-05-24 00:44:14.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-05-24 00:47:01.000000000 -0300 -@@ -14,11 +14,14 @@ +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a780.c 2007-08-31 23:01:54.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-08-31 23:02:13.000000000 -0300 +@@ -14,6 +14,8 @@ #include <linux/init.h> #include <linux/platform_device.h> #include <linux/fb.h> @@ -11,13 +11,14 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c #include <asm/mach-types.h> #include <asm/mach/arch.h> - #include <asm/arch/pxa-regs.h> +@@ -21,12 +23,102 @@ #include <asm/arch/pxafb.h> + #include <asm/arch/ezx.h> + #include <asm/arch/ezx-pcap.h> +#include <asm/arch/mmc.h> #include "generic.h" - #include "ezx.h" -@@ -26,6 +29,95 @@ + extern void ezx_lcd_power(int, struct fb_var_screeninfo *); extern void ezx_backlight_power(int); @@ -113,7 +114,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c static struct pxafb_mode_info mode_a780 = { .pixclock = 150000, .xres = 240, -@@ -66,6 +158,7 @@ +@@ -137,6 +229,7 @@ PSLR = 0x05800f00; set_pxa_fb_info(&a780_fb_info); @@ -121,15 +122,3 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c /* clear EMU MUX1/MUX2 (low) to close the audio path to EMU */ pxa_gpio_mode(GPIO_EMU_MUX1|GPIO_OUT); -Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig -=================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-05-24 00:47:13.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-05-24 00:48:11.000000000 -0300 -@@ -87,6 +87,7 @@ - config PXA_EZX_A780 - bool "Motorola A780 GSM Phone" - select PXA27x -+ select EZX_MCI_TF - - config PXA_EZX_E2 - bool "Motorola E2 GSM Phone" diff --git a/packages/linux/linux-ezx-2.6.21/patches/a780-pcap.patch b/packages/linux/linux-ezx-2.6.21/patches/a780-pcap.patch new file mode 100644 index 0000000000..afb5d9c005 --- /dev/null +++ b/packages/linux/linux-ezx-2.6.21/patches/a780-pcap.patch @@ -0,0 +1,90 @@ +Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c +=================================================================== +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a780.c 2007-08-31 22:33:03.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-08-31 23:01:17.000000000 -0300 +@@ -20,6 +20,7 @@ + #include <asm/arch/pxa-regs.h> + #include <asm/arch/pxafb.h> + #include <asm/arch/ezx.h> ++#include <asm/arch/ezx-pcap.h> + + #include "generic.h" + +@@ -49,7 +50,77 @@ + .pxafb_lcd_power = &ezx_lcd_power, + }; + ++/* PCAP */ ++static int __init a780_pcap_init(void) ++{ ++ /* initialize PCAP registers */ ++ /* set SW1 sleep to keep SW1 1.3v in sync mode */ ++ ezx_pcap_bit_set(PCAP_BIT_LOWPWR_SW1_MODE10, 0); ++ ezx_pcap_bit_set(PCAP_BIT_LOWPWR_SW1_MODE11, 0); ++ ++ /* SW1 active in sync mode */ ++ ezx_pcap_bit_set(PCAP_BIT_LOWPWR_SW1_MODE00, 1); ++ ezx_pcap_bit_set(PCAP_BIT_LOWPWR_SW1_MODE01, 0); ++ ++ /* at SW1 -core voltage to 1.30V */ ++ ezx_pcap_bit_set(PCAP_BIT_LOWPWR_SW10_DVS, 1); ++ ezx_pcap_bit_set(PCAP_BIT_LOWPWR_SW11_DVS, 1); ++ ezx_pcap_bit_set(PCAP_BIT_LOWPWR_SW12_DVS, 1); ++ ezx_pcap_bit_set(PCAP_BIT_LOWPWR_SW13_DVS, 0); ++ ++ /* when STANDY2 PIN ACTIVE (high) set V3-- sram V8 -- pll off */ ++ ezx_pcap_bit_set(PCAP_BIT_VREG2_V3_STBY, 1); ++ ezx_pcap_bit_set(PCAP_BIT_VREG2_V3_LOWPWR, 0); ++ ezx_pcap_bit_set(PCAP_BIT_VREG2_V8_STBY, 1); ++ ezx_pcap_bit_set(PCAP_BIT_VREG2_V8_LOWPWR, 0); ++ ++ /* ++ * when STANDY2 PIN ACTIVE (high) set V4-- lcd only for e680 V6 --- ++ * camera for e680 ++ */ ++ ezx_pcap_bit_set(PCAP_BIT_VREG2_V4_STBY, 1); ++ ezx_pcap_bit_set(PCAP_BIT_VREG2_V4_LOWPWR, 1); ++ ezx_pcap_bit_set(PCAP_BIT_VREG2_V6_STBY, 1); ++ ezx_pcap_bit_set(PCAP_BIT_VREG2_V6_LOWPWR, 0); ++ ++ /* set Vc to low power mode when AP sleep */ ++// SSP_PCAP_bit_set(PCAP_BIT_LOWPWR_CTRL_VC_STBY); ++ ++ /* set VAUX2 to low power mode when AP sleep */ ++ ezx_pcap_bit_set(PCAP_BIT_LOWPWR_VAUX2_STBY, 1); ++ ezx_pcap_bit_set(PCAP_BIT_LOWPWR_VAUX2_LOWPWR, 1); ++ ++ return 0; ++} ++ ++static struct pcap_platform_data a780_pcap_platform_data = { ++ .port = 1, ++ .cs = GPIO_SPI_CE, ++ .flags = PCAP_MCI_TF, ++ .clk = 1, ++ .init = a780_pcap_init, ++}; ++ ++static struct resource a780_pcap_resources[] = { ++ [0] = { ++ .start = IRQ_GPIO1, ++ .end = IRQ_GPIO1, ++ .flags = IORESOURCE_IRQ, ++ }, ++}; ++ ++struct platform_device a780_pcap_device = { ++ .name = "ezx-pcap", ++ .id = -1, ++ .num_resources = ARRAY_SIZE(a780_pcap_resources), ++ .resource = a780_pcap_resources, ++ .dev = { ++ .platform_data = &a780_pcap_platform_data, ++ }, ++}; ++ + static struct platform_device *devices[] __initdata = { ++ &a780_pcap_device, + }; + + static void __init a780_init(void) diff --git a/packages/linux/linux-ezx-2.6.21/patches/a780-ts.patch b/packages/linux/linux-ezx-2.6.21/patches/a780-ts.patch index a4a476ac59..e7ca3c106a 100755 --- a/packages/linux/linux-ezx-2.6.21/patches/a780-ts.patch +++ b/packages/linux/linux-ezx-2.6.21/patches/a780-ts.patch @@ -1,9 +1,9 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a780.c 2007-06-02 20:32:48.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-06-02 20:33:10.000000000 -0300 -@@ -121,6 +121,27 @@ - .exit = a780_mci_exit, +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a780.c 2007-08-31 23:05:18.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-08-31 23:06:53.000000000 -0300 +@@ -287,9 +287,34 @@ + }, }; +/* PCAP_TS */ @@ -23,17 +23,16 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c +struct platform_device pcap_ts_device = { + .name = "pcap-ts", + .id = -1, ++ .dev = { ++ .parent = &a780_pcap_device.dev, ++ }, + .num_resources = ARRAY_SIZE(pcap_ts_resources), + .resource = pcap_ts_resources, +}; + - static struct pxafb_mode_info mode_a780 = { - .pixclock = 150000, - .xres = 240, -@@ -194,6 +215,7 @@ - }; - static struct platform_device *devices[] __initdata = { + &a780_pcap_device, + &a780_emu_device, + &pcap_ts_device, }; diff --git a/packages/linux/linux-ezx-2.6.21/patches/a780-vibrator.patch b/packages/linux/linux-ezx-2.6.21/patches/a780-vibrator.patch index 7436c40f5f..aa903feea7 100755 --- a/packages/linux/linux-ezx-2.6.21/patches/a780-vibrator.patch +++ b/packages/linux/linux-ezx-2.6.21/patches/a780-vibrator.patch @@ -1,74 +1,26 @@ Index: linux-2.6.21/drivers/leds/leds-a780.c =================================================================== ---- linux-2.6.21.orig/drivers/leds/leds-a780.c 2007-05-08 15:09:26.000000000 -0300 -+++ linux-2.6.21/drivers/leds/leds-a780.c 2007-05-08 15:19:26.000000000 -0300 -@@ -18,10 +18,13 @@ - #include <linux/leds.h> - #include <asm/arch/ezx-pcap.h> - -+extern void ezx_pcap_vibrator_level(u_int32_t); -+ - static void a780led_main_set(struct led_classdev *led_cdev, enum led_brightness value) - { - if ( value > 31 ) value = 31; - printk( KERN_DEBUG "a780led_main_set: %d\n", value ); -+#warning FIXME: use read/write operations - ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL_CTRL0, value & 0x01); - ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL_CTRL1, value & 0x02); - ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL_CTRL2, value & 0x04); -@@ -33,6 +36,7 @@ - { - if ( value > 31 ) value = 31; - printk( KERN_DEBUG "a780led_aux_set: %d\n", value ); -+#warning FIXME: use read/write operations - ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL2_CTRL0, value & 0x01); - ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL2_CTRL1, value & 0x02); - ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL2_CTRL2, value & 0x04); -@@ -40,6 +44,43 @@ - ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL2_CTRL4, value & 0x10); +--- linux-2.6.21.orig/drivers/leds/leds-a780.c 2007-09-01 00:15:03.000000000 -0300 ++++ linux-2.6.21/drivers/leds/leds-a780.c 2007-09-01 00:23:39.000000000 -0300 +@@ -40,6 +40,17 @@ + ezx_pcap_bit_set(PCAP_BIT_PERIPH_BL2_CTRL4, value & 0x10); } +static void a780vibrator_set(struct led_classdev *led_cdev, enum led_brightness value) +{ -+ if ( value > 4 ) value = 4; ++ if (value > 4) value = 4; + printk( KERN_DEBUG "a780vibrator_set: %d\n", value ); -+ -+ switch(value) -+ { -+ case 0: -+ /* turn off vibrator */ -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUX_VREG_V_VIB_EN, 0); -+ break; -+ -+ case 1: -+ ezx_pcap_vibrator_level(PCAP_VIBRATOR_VOLTAGE_LEVEL0); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUX_VREG_V_VIB_EN, 1); -+ break; -+ -+ case 2: -+ ezx_pcap_vibrator_level(PCAP_VIBRATOR_VOLTAGE_LEVEL1); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUX_VREG_V_VIB_EN, 1); -+ break; -+ -+ case 3: -+ ezx_pcap_vibrator_level(PCAP_VIBRATOR_VOLTAGE_LEVEL2); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUX_VREG_V_VIB_EN, 1); -+ break; -+ -+ case 4: -+ ezx_pcap_vibrator_level(PCAP_VIBRATOR_VOLTAGE_LEVEL3); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUX_VREG_V_VIB_EN, 1); -+ break; -+ -+ default: -+ break; -+ } ++ ezx_pcap_vibrator_level(value-1); ++ if (value == 0) ++ ezx_pcap_bit_set(PCAP_BIT_AUXVREG_V_VIB_EN, 0); ++ else ++ ezx_pcap_bit_set(PCAP_BIT_AUXVREG_V_VIB_EN, 1); +} + static struct led_classdev a780_main_led = { .name = "a780:main", .default_trigger = "none", -@@ -52,11 +93,18 @@ +@@ -52,11 +63,18 @@ .brightness_set = a780led_aux_set, }; @@ -87,7 +39,7 @@ Index: linux-2.6.21/drivers/leds/leds-a780.c return 0; } -@@ -64,6 +112,7 @@ +@@ -64,6 +82,7 @@ { led_classdev_resume(&a780_main_led); led_classdev_resume(&a780_aux_led); @@ -95,7 +47,7 @@ Index: linux-2.6.21/drivers/leds/leds-a780.c return 0; } #endif -@@ -77,8 +126,16 @@ +@@ -77,8 +96,16 @@ return ret; ret = led_classdev_register(&pdev->dev, &a780_aux_led); @@ -113,7 +65,7 @@ Index: linux-2.6.21/drivers/leds/leds-a780.c return ret; } -@@ -87,6 +144,7 @@ +@@ -87,6 +114,7 @@ { led_classdev_unregister(&a780_main_led); led_classdev_unregister(&a780_aux_led); @@ -121,19 +73,18 @@ Index: linux-2.6.21/drivers/leds/leds-a780.c return 0; } -@@ -111,6 +169,8 @@ +@@ -111,6 +139,7 @@ { a780led_main_set( &a780_main_led, 0 ); a780led_aux_set( &a780_aux_led, 0 ); + a780vibrator_set( &a780_vibrator, 0 ); -+ platform_driver_unregister(&a780led_driver); } Index: linux-2.6.21/drivers/leds/Kconfig =================================================================== ---- linux-2.6.21.orig/drivers/leds/Kconfig 2007-05-08 15:09:26.000000000 -0300 -+++ linux-2.6.21/drivers/leds/Kconfig 2007-05-08 15:09:26.000000000 -0300 +--- linux-2.6.21.orig/drivers/leds/Kconfig 2007-09-01 00:15:03.000000000 -0300 ++++ linux-2.6.21/drivers/leds/Kconfig 2007-09-01 00:15:08.000000000 -0300 @@ -105,11 +105,11 @@ be configured via sysfs. If unsure, say Y. diff --git a/packages/linux/linux-ezx-2.6.21/patches/asoc-fix-loopback.patch b/packages/linux/linux-ezx-2.6.21/patches/asoc-fix-loopback.patch new file mode 100644 index 0000000000..feea138984 --- /dev/null +++ b/packages/linux/linux-ezx-2.6.21/patches/asoc-fix-loopback.patch @@ -0,0 +1,14 @@ +Index: linux-2.6.21/sound/soc/pxa/pxa2xx-pcm.c +=================================================================== +--- linux-2.6.21.orig/sound/soc/pxa/pxa2xx-pcm.c 2007-09-02 22:30:56.000000000 -0300 ++++ linux-2.6.21/sound/soc/pxa/pxa2xx-pcm.c 2007-09-02 22:36:26.000000000 -0300 +@@ -153,7 +153,8 @@ + static int pxa2xx_pcm_prepare(struct snd_pcm_substream *substream) + { + struct pxa2xx_runtime_data *prtd = substream->runtime->private_data; +- ++ /* no dma if on loopback */ ++ if (!prtd->params) return 0; + DCSR(prtd->dma_ch) &= ~DCSR_RUN; + DCSR(prtd->dma_ch) = 0; + DCMD(prtd->dma_ch) = 0; diff --git a/packages/linux/linux-ezx-2.6.21/patches/asoc-pxa-ssp.patch b/packages/linux/linux-ezx-2.6.21/patches/asoc-pxa-ssp.patch index 1fc8283ca2..dd5b71a512 100755 --- a/packages/linux/linux-ezx-2.6.21/patches/asoc-pxa-ssp.patch +++ b/packages/linux/linux-ezx-2.6.21/patches/asoc-pxa-ssp.patch @@ -1,7 +1,7 @@ Index: linux-2.6.21/sound/soc/pxa/pxa2xx-ssp.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/sound/soc/pxa/pxa2xx-ssp.c 2007-05-14 21:14:38.000000000 -0300 ++++ linux-2.6.21/sound/soc/pxa/pxa2xx-ssp.c 2007-09-02 22:50:31.000000000 -0300 @@ -0,0 +1,671 @@ +/* + * pxa2xx-ssp.c -- ALSA Soc Audio Layer @@ -43,7 +43,7 @@ Index: linux-2.6.21/sound/soc/pxa/pxa2xx-ssp.c +#include "pxa2xx-pcm.h" +#include "pxa2xx-ssp.h" + -+#define PXA_SSP_DEBUG 1 ++#define PXA_SSP_DEBUG 0 + +/* + * The following should be defined in pxa-regs.h @@ -677,7 +677,7 @@ Index: linux-2.6.21/sound/soc/pxa/pxa2xx-ssp.c Index: linux-2.6.21/sound/soc/pxa/pxa2xx-ssp.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/sound/soc/pxa/pxa2xx-ssp.h 2007-05-14 21:14:38.000000000 -0300 ++++ linux-2.6.21/sound/soc/pxa/pxa2xx-ssp.h 2007-09-02 22:48:59.000000000 -0300 @@ -0,0 +1,42 @@ +/* + * linux/sound/arm/pxa2xx-ssp.h @@ -723,8 +723,8 @@ Index: linux-2.6.21/sound/soc/pxa/pxa2xx-ssp.h +#endif Index: linux-2.6.21/sound/soc/pxa/Kconfig =================================================================== ---- linux-2.6.21.orig/sound/soc/pxa/Kconfig 2007-05-14 21:16:22.000000000 -0300 -+++ linux-2.6.21/sound/soc/pxa/Kconfig 2007-05-14 21:17:01.000000000 -0300 +--- linux-2.6.21.orig/sound/soc/pxa/Kconfig 2007-09-02 22:48:51.000000000 -0300 ++++ linux-2.6.21/sound/soc/pxa/Kconfig 2007-09-02 22:50:18.000000000 -0300 @@ -20,6 +20,10 @@ config SND_PXA2XX_SOC_I2S tristate @@ -738,8 +738,8 @@ Index: linux-2.6.21/sound/soc/pxa/Kconfig depends on SND_PXA2XX_SOC && PXA_SHARP_C7xx Index: linux-2.6.21/sound/soc/pxa/Makefile =================================================================== ---- linux-2.6.21.orig/sound/soc/pxa/Makefile 2007-05-14 21:14:52.000000000 -0300 -+++ linux-2.6.21/sound/soc/pxa/Makefile 2007-05-14 21:16:10.000000000 -0300 +--- linux-2.6.21.orig/sound/soc/pxa/Makefile 2007-09-02 22:48:51.000000000 -0300 ++++ linux-2.6.21/sound/soc/pxa/Makefile 2007-09-02 22:50:18.000000000 -0300 @@ -2,10 +2,12 @@ snd-soc-pxa2xx-objs := pxa2xx-pcm.o snd-soc-pxa2xx-ac97-objs := pxa2xx-ac97.o diff --git a/packages/linux/linux-ezx-2.6.21/patches/defconfig-e2 b/packages/linux/linux-ezx-2.6.21/patches/defconfig-e2 deleted file mode 100755 index be512457d9..0000000000 --- a/packages/linux/linux-ezx-2.6.21/patches/defconfig-e2 +++ /dev/null @@ -1,1092 +0,0 @@ -# -# Automatically generated make config: don't edit -# Linux kernel version: 2.6.21.4 -# Wed Jun 13 17:29:50 2007 -# -CONFIG_ARM=y -CONFIG_SYS_SUPPORTS_APM_EMULATION=y -CONFIG_GENERIC_GPIO=y -CONFIG_GENERIC_TIME=y -CONFIG_MMU=y -# CONFIG_NO_IOPORT is not set -CONFIG_GENERIC_HARDIRQS=y -CONFIG_TRACE_IRQFLAGS_SUPPORT=y -CONFIG_HARDIRQS_SW_RESEND=y -CONFIG_GENERIC_IRQ_PROBE=y -CONFIG_RWSEM_GENERIC_SPINLOCK=y -# CONFIG_ARCH_HAS_ILOG2_U32 is not set -# CONFIG_ARCH_HAS_ILOG2_U64 is not set -CONFIG_GENERIC_HWEIGHT=y -CONFIG_GENERIC_CALIBRATE_DELAY=y -CONFIG_ZONE_DMA=y -CONFIG_ARCH_MTD_XIP=y -CONFIG_VECTORS_BASE=0xffff0000 -CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" - -# -# Code maturity level options -# -CONFIG_EXPERIMENTAL=y -CONFIG_BROKEN_ON_SMP=y -CONFIG_LOCK_KERNEL=y -CONFIG_INIT_ENV_ARG_LIMIT=32 - -# -# General setup -# -CONFIG_LOCALVERSION="-ezxdev" -# CONFIG_LOCALVERSION_AUTO is not set -# CONFIG_SWAP is not set -CONFIG_SYSVIPC=y -# CONFIG_IPC_NS is not set -CONFIG_SYSVIPC_SYSCTL=y -# CONFIG_POSIX_MQUEUE is not set -# CONFIG_BSD_PROCESS_ACCT is not set -# CONFIG_TASKSTATS is not set -# CONFIG_UTS_NS is not set -# CONFIG_AUDIT is not set -# CONFIG_IKCONFIG is not set -# CONFIG_SYSFS_DEPRECATED is not set -# CONFIG_RELAY is not set -# CONFIG_BLK_DEV_INITRD is not set -CONFIG_CC_OPTIMIZE_FOR_SIZE=y -CONFIG_SYSCTL=y -CONFIG_EMBEDDED=y -CONFIG_UID16=y -# CONFIG_SYSCTL_SYSCALL is not set -CONFIG_KALLSYMS=y -# CONFIG_KALLSYMS_EXTRA_PASS is not set -CONFIG_HOTPLUG=y -CONFIG_PRINTK=y -CONFIG_BUG=y -CONFIG_ELF_CORE=y -CONFIG_BASE_FULL=y -CONFIG_FUTEX=y -CONFIG_EPOLL=y -# CONFIG_SHMEM is not set -CONFIG_SLAB=y -CONFIG_VM_EVENT_COUNTERS=y -CONFIG_RT_MUTEXES=y -CONFIG_TINY_SHMEM=y -CONFIG_BASE_SMALL=0 -# CONFIG_SLOB is not set - -# -# Loadable module support -# -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -CONFIG_MODULE_FORCE_UNLOAD=y -CONFIG_MODVERSIONS=y -# CONFIG_MODULE_SRCVERSION_ALL is not set -CONFIG_KMOD=y - -# -# Block layer -# -CONFIG_BLOCK=y -# CONFIG_LBD is not set -# CONFIG_BLK_DEV_IO_TRACE is not set -# CONFIG_LSF is not set - -# -# IO Schedulers -# -CONFIG_IOSCHED_NOOP=y -# CONFIG_IOSCHED_AS is not set -CONFIG_IOSCHED_DEADLINE=y -# CONFIG_IOSCHED_CFQ is not set -# CONFIG_DEFAULT_AS is not set -CONFIG_DEFAULT_DEADLINE=y -# CONFIG_DEFAULT_CFQ is not set -# CONFIG_DEFAULT_NOOP is not set -CONFIG_DEFAULT_IOSCHED="deadline" - -# -# System Type -# -# CONFIG_ARCH_AAEC2000 is not set -# CONFIG_ARCH_INTEGRATOR is not set -# CONFIG_ARCH_REALVIEW is not set -# CONFIG_ARCH_VERSATILE is not set -# CONFIG_ARCH_AT91 is not set -# CONFIG_ARCH_CLPS7500 is not set -# CONFIG_ARCH_CLPS711X is not set -# CONFIG_ARCH_CO285 is not set -# CONFIG_ARCH_EBSA110 is not set -# CONFIG_ARCH_EP93XX is not set -# CONFIG_ARCH_FOOTBRIDGE is not set -# CONFIG_ARCH_NETX is not set -# CONFIG_ARCH_H720X is not set -# CONFIG_ARCH_IMX is not set -# CONFIG_ARCH_IOP32X is not set -# CONFIG_ARCH_IOP33X is not set -# CONFIG_ARCH_IOP13XX is not set -# CONFIG_ARCH_IXP4XX is not set -# CONFIG_ARCH_IXP2000 is not set -# CONFIG_ARCH_IXP23XX is not set -# CONFIG_ARCH_L7200 is not set -# CONFIG_ARCH_NS9XXX is not set -# CONFIG_ARCH_PNX4008 is not set -CONFIG_ARCH_PXA=y -# CONFIG_ARCH_RPC is not set -# CONFIG_ARCH_SA1100 is not set -# CONFIG_ARCH_S3C2410 is not set -# CONFIG_ARCH_SHARK is not set -# CONFIG_ARCH_LH7A40X is not set -# CONFIG_ARCH_OMAP is not set - -# -# Intel PXA2xx Implementations -# -# CONFIG_ARCH_LUBBOCK is not set -# CONFIG_MACH_LOGICPD_PXA270 is not set -# CONFIG_MACH_MAINSTONE is not set -# CONFIG_ARCH_PXA_IDP is not set -# CONFIG_PXA_SHARPSL is not set -# CONFIG_MACH_TRIZEPS4 is not set -CONFIG_PXA_EZX=y -# CONFIG_PXA_EZX_E680 is not set -# CONFIG_PXA_EZX_A780 is not set -CONFIG_PXA_EZX_E2=y -# CONFIG_PXA_EZX_A1200 is not set -# CONFIG_PXA_EZX_E6 is not set -# CONFIG_EZX_BP is not set -CONFIG_EZX_PCAP=y -# CONFIG_EZX_EMU is not set -CONFIG_PXA27x=y -CONFIG_PXA_SSP=y - -# -# Processor Type -# -CONFIG_CPU_32=y -CONFIG_CPU_XSCALE=y -CONFIG_CPU_32v5=y -CONFIG_CPU_ABRT_EV5T=y -CONFIG_CPU_CACHE_VIVT=y -CONFIG_CPU_TLB_V4WBI=y -CONFIG_CPU_CP15=y -CONFIG_CPU_CP15_MMU=y - -# -# Processor Features -# -CONFIG_ARM_THUMB=y -# CONFIG_CPU_DCACHE_DISABLE is not set -# CONFIG_OUTER_CACHE is not set -CONFIG_IWMMXT=y -CONFIG_XSCALE_PMU=y - -# -# Bus support -# - -# -# PCCARD (PCMCIA/CardBus) support -# -# CONFIG_PCCARD is not set - -# -# Kernel Features -# -CONFIG_PREEMPT=y -CONFIG_NO_IDLE_HZ=y -CONFIG_HZ=100 -CONFIG_AEABI=y -# CONFIG_OABI_COMPAT is not set -# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set -CONFIG_SELECT_MEMORY_MODEL=y -CONFIG_FLATMEM_MANUAL=y -# CONFIG_DISCONTIGMEM_MANUAL is not set -# CONFIG_SPARSEMEM_MANUAL is not set -CONFIG_FLATMEM=y -CONFIG_FLAT_NODE_MEM_MAP=y -# CONFIG_SPARSEMEM_STATIC is not set -CONFIG_SPLIT_PTLOCK_CPUS=4096 -# CONFIG_RESOURCES_64BIT is not set -CONFIG_ZONE_DMA_FLAG=1 -CONFIG_ALIGNMENT_TRAP=y - -# -# Boot options -# -CONFIG_ZBOOT_ROM_TEXT=0 -CONFIG_ZBOOT_ROM_BSS=0 -CONFIG_CMDLINE="console=tty1 noinitrd root=/dev/mmcblk0p2 rootfstype=ext3 ip=169.254.1.11:169.254.1.10:169.254.1.10:255.255.255.254:ezx:usb0:off debug mem=32M@0xA0000000" -# CONFIG_XIP_KERNEL is not set -# CONFIG_KEXEC is not set - -# -# Floating point emulation -# - -# -# At least one emulation must be selected -# - -# -# Userspace binary formats -# -CONFIG_BINFMT_ELF=y -CONFIG_BINFMT_AOUT=m -CONFIG_BINFMT_MISC=m - -# -# Power management options -# -CONFIG_PM=y -# CONFIG_PM_LEGACY is not set -# CONFIG_PM_DEBUG is not set -# CONFIG_PM_SYSFS_DEPRECATED is not set -CONFIG_APM_EMULATION=y - -# -# Networking -# -CONFIG_NET=y - -# -# Networking options -# -# CONFIG_NETDEBUG is not set -CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set -CONFIG_UNIX=y -# CONFIG_NET_KEY is not set -CONFIG_INET=y -# CONFIG_IP_MULTICAST is not set -# CONFIG_IP_ADVANCED_ROUTER is not set -CONFIG_IP_FIB_HASH=y -CONFIG_IP_PNP=y -CONFIG_IP_PNP_DHCP=y -# CONFIG_IP_PNP_BOOTP is not set -# CONFIG_IP_PNP_RARP is not set -# CONFIG_NET_IPIP is not set -# CONFIG_NET_IPGRE is not set -# CONFIG_ARPD is not set -CONFIG_SYN_COOKIES=y -# CONFIG_INET_AH is not set -# CONFIG_INET_ESP is not set -# CONFIG_INET_IPCOMP is not set -# CONFIG_INET_XFRM_TUNNEL is not set -# CONFIG_INET_TUNNEL is not set -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET_XFRM_MODE_TUNNEL is not set -# CONFIG_INET_XFRM_MODE_BEET is not set -# CONFIG_INET_DIAG is not set -# CONFIG_TCP_CONG_ADVANCED is not set -CONFIG_TCP_CONG_CUBIC=y -CONFIG_DEFAULT_TCP_CONG="cubic" -# CONFIG_TCP_MD5SIG is not set -# CONFIG_IPV6 is not set -# CONFIG_INET6_XFRM_TUNNEL is not set -# CONFIG_INET6_TUNNEL is not set -# CONFIG_NETWORK_SECMARK is not set -# CONFIG_NETFILTER is not set - -# -# DCCP Configuration (EXPERIMENTAL) -# -# CONFIG_IP_DCCP is not set - -# -# SCTP Configuration (EXPERIMENTAL) -# -# CONFIG_IP_SCTP is not set - -# -# TIPC Configuration (EXPERIMENTAL) -# -# CONFIG_TIPC is not set -# CONFIG_ATM is not set -# CONFIG_BRIDGE is not set -# CONFIG_VLAN_8021Q is not set -# CONFIG_DECNET is not set -# CONFIG_LLC2 is not set -# CONFIG_IPX is not set -# CONFIG_ATALK is not set -# CONFIG_X25 is not set -# CONFIG_LAPB is not set -# CONFIG_ECONET is not set -# CONFIG_WAN_ROUTER is not set - -# -# QoS and/or fair queueing -# -# CONFIG_NET_SCHED is not set - -# -# Network testing -# -# CONFIG_NET_PKTGEN is not set -# CONFIG_HAMRADIO is not set -# CONFIG_IRDA is not set -# CONFIG_BT is not set -# CONFIG_IEEE80211 is not set - -# -# Device Drivers -# - -# -# Generic Driver Options -# -CONFIG_STANDALONE=y -CONFIG_PREVENT_FIRMWARE_BUILD=y -CONFIG_FW_LOADER=m -# CONFIG_SYS_HYPERVISOR is not set - -# -# Connector - unified userspace <-> kernelspace linker -# -CONFIG_CONNECTOR=m - -# -# Memory Technology Devices (MTD) -# -# CONFIG_MTD is not set - -# -# Parallel port support -# -# CONFIG_PARPORT is not set - -# -# Plug and Play support -# -# CONFIG_PNPACPI is not set - -# -# Block devices -# -# CONFIG_BLK_DEV_COW_COMMON is not set -CONFIG_BLK_DEV_LOOP=m -# CONFIG_BLK_DEV_CRYPTOLOOP is not set -# CONFIG_BLK_DEV_NBD is not set -# CONFIG_BLK_DEV_UB is not set -# CONFIG_BLK_DEV_RAM is not set -# CONFIG_CDROM_PKTCDVD is not set -# CONFIG_ATA_OVER_ETH is not set - -# -# ATA/ATAPI/MFM/RLL support -# -# CONFIG_IDE is not set - -# -# SCSI device support -# -# CONFIG_RAID_ATTRS is not set -# CONFIG_SCSI is not set -# CONFIG_SCSI_NETLINK is not set - -# -# Serial ATA (prod) and Parallel ATA (experimental) drivers -# -# CONFIG_ATA is not set - -# -# Multi-device support (RAID and LVM) -# -# CONFIG_MD is not set - -# -# Fusion MPT device support -# -# CONFIG_FUSION is not set - -# -# IEEE 1394 (FireWire) support -# - -# -# I2O device support -# - -# -# Network device support -# -CONFIG_NETDEVICES=y -CONFIG_DUMMY=y -# CONFIG_BONDING is not set -# CONFIG_EQUALIZER is not set -# CONFIG_TUN is not set - -# -# PHY device support -# - -# -# Ethernet (10 or 100Mbit) -# -# CONFIG_NET_ETHERNET is not set - -# -# Ethernet (1000 Mbit) -# - -# -# Ethernet (10000 Mbit) -# - -# -# Token Ring devices -# - -# -# Wireless LAN (non-hamradio) -# -# CONFIG_NET_RADIO is not set - -# -# Wan interfaces -# -# CONFIG_WAN is not set -CONFIG_PPP=m -CONFIG_PPP_MULTILINK=y -CONFIG_PPP_FILTER=y -CONFIG_PPP_ASYNC=m -CONFIG_PPP_SYNC_TTY=m -CONFIG_PPP_DEFLATE=m -CONFIG_PPP_BSDCOMP=m -# CONFIG_PPP_MPPE is not set -# CONFIG_PPPOE is not set -# CONFIG_SLIP is not set -CONFIG_SLHC=m -# CONFIG_SHAPER is not set -# CONFIG_NETCONSOLE is not set -# CONFIG_NETPOLL is not set -# CONFIG_NET_POLL_CONTROLLER is not set - -# -# ISDN subsystem -# -# CONFIG_ISDN is not set - -# -# Input device support -# -CONFIG_INPUT=y -# CONFIG_INPUT_FF_MEMLESS is not set - -# -# Userland interfaces -# -# CONFIG_INPUT_MOUSEDEV is not set -# CONFIG_INPUT_JOYDEV is not set -CONFIG_INPUT_TSDEV=y -CONFIG_INPUT_TSDEV_SCREEN_X=240 -CONFIG_INPUT_TSDEV_SCREEN_Y=320 -CONFIG_INPUT_EVDEV=y -# CONFIG_INPUT_EVBUG is not set - -# -# Input Device Drivers -# -CONFIG_INPUT_KEYBOARD=y -# CONFIG_KEYBOARD_ATKBD is not set -# CONFIG_KEYBOARD_SUNKBD is not set -# CONFIG_KEYBOARD_LKKBD is not set -# CONFIG_KEYBOARD_XTKBD is not set -# CONFIG_KEYBOARD_NEWTON is not set -# CONFIG_KEYBOARD_STOWAWAY is not set -CONFIG_KEYBOARD_GPIO=y -CONFIG_KEYBOARD_PXA=y -# CONFIG_INPUT_MOUSE is not set -# CONFIG_INPUT_JOYSTICK is not set -# CONFIG_INPUT_TOUCHSCREEN is not set -# CONFIG_INPUT_MISC is not set - -# -# Hardware I/O ports -# -# CONFIG_SERIO is not set -# CONFIG_GAMEPORT is not set - -# -# Character devices -# -CONFIG_VT=y -CONFIG_VT_CONSOLE=y -CONFIG_HW_CONSOLE=y -# CONFIG_VT_HW_CONSOLE_BINDING is not set -# CONFIG_SERIAL_NONSTANDARD is not set - -# -# Serial drivers -# -# CONFIG_SERIAL_8250 is not set - -# -# Non-8250 serial port support -# -CONFIG_SERIAL_PXA=y -CONFIG_SERIAL_PXA_CONSOLE=y -CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_CORE_CONSOLE=y -CONFIG_UNIX98_PTYS=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=8 - -# -# IPMI -# -# CONFIG_IPMI_HANDLER is not set - -# -# Watchdog Cards -# -# CONFIG_WATCHDOG is not set -CONFIG_HW_RANDOM=y -# CONFIG_NVRAM is not set -# CONFIG_DTLK is not set -# CONFIG_R3964 is not set -# CONFIG_RAW_DRIVER is not set - -# -# TPM devices -# -# CONFIG_TCG_TPM is not set - -# -# I2C support -# -CONFIG_I2C=m -CONFIG_I2C_CHARDEV=m - -# -# I2C Algorithms -# -# CONFIG_I2C_ALGOBIT is not set -# CONFIG_I2C_ALGOPCF is not set -# CONFIG_I2C_ALGOPCA is not set - -# -# I2C Hardware Bus support -# -CONFIG_I2C_PXA=m -# CONFIG_I2C_PXA_SLAVE is not set -# CONFIG_I2C_OCORES is not set -# CONFIG_I2C_PARPORT_LIGHT is not set -# CONFIG_I2C_STUB is not set -# CONFIG_I2C_PCA_ISA is not set - -# -# Miscellaneous I2C Chip support -# -# CONFIG_SENSORS_DS1337 is not set -# CONFIG_SENSORS_DS1374 is not set -# CONFIG_SENSORS_EEPROM is not set -# CONFIG_SENSORS_PCF8574 is not set -# CONFIG_SENSORS_PCA9539 is not set -# CONFIG_SENSORS_PCF8591 is not set -# CONFIG_SENSORS_MAX6875 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_I2C_DEBUG_CHIP is not set - -# -# SPI support -# -CONFIG_SPI=y -CONFIG_SPI_MASTER=y - -# -# SPI Master Controller Drivers -# -# CONFIG_SPI_BITBANG is not set -CONFIG_SPI_PXA2XX=m - -# -# SPI Protocol Masters -# -# CONFIG_SPI_AT25 is not set - -# -# Dallas's 1-wire bus -# -# CONFIG_W1 is not set - -# -# Hardware Monitoring support -# -# CONFIG_HWMON is not set -# CONFIG_HWMON_VID is not set - -# -# Misc devices -# - -# -# Multifunction device drivers -# -# CONFIG_MFD_SM501 is not set - -# -# LED devices -# -CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=y - -# -# LED drivers -# - -# -# LED Triggers -# -CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_TRIGGER_TIMER=y -CONFIG_LEDS_TRIGGER_HEARTBEAT=y - -# -# Multimedia devices -# -# CONFIG_VIDEO_DEV is not set - -# -# Digital Video Broadcasting Devices -# -# CONFIG_DVB is not set -# CONFIG_USB_DABUSB is not set - -# -# Graphics support -# -CONFIG_BACKLIGHT_LCD_SUPPORT=y -CONFIG_BACKLIGHT_CLASS_DEVICE=y -# CONFIG_LCD_CLASS_DEVICE is not set -# CONFIG_BACKLIGHT_EZX is not set -CONFIG_FB=y -# CONFIG_FIRMWARE_EDID is not set -# CONFIG_FB_DDC is not set -CONFIG_FB_CFB_FILLRECT=y -CONFIG_FB_CFB_COPYAREA=y -CONFIG_FB_CFB_IMAGEBLIT=y -# CONFIG_FB_SVGALIB is not set -# CONFIG_FB_MACMODES is not set -# CONFIG_FB_BACKLIGHT is not set -# CONFIG_FB_MODE_HELPERS is not set -# CONFIG_FB_TILEBLITTING is not set - -# -# Frame buffer hardware drivers -# -# CONFIG_FB_S1D13XXX is not set -CONFIG_FB_PXA=y -CONFIG_FB_PXA_PARAMETERS=y -# CONFIG_FB_MBX is not set -# CONFIG_FB_VIRTUAL is not set - -# -# Console display driver support -# -# CONFIG_VGA_CONSOLE is not set -CONFIG_DUMMY_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE=y -# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set -CONFIG_FONTS=y -# CONFIG_FONT_8x8 is not set -# CONFIG_FONT_8x16 is not set -# 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=y -# CONFIG_FONT_SUN8x16 is not set -# CONFIG_FONT_SUN12x22 is not set -# CONFIG_FONT_10x18 is not set - -# -# Logo configuration -# -# CONFIG_LOGO is not set - -# -# Sound -# -# CONFIG_SOUND is not set - -# -# HID Devices -# -CONFIG_HID=y -# CONFIG_HID_DEBUG is not set - -# -# USB support -# -CONFIG_USB_ARCH_HAS_HCD=y -CONFIG_USB_ARCH_HAS_OHCI=y -# CONFIG_USB_ARCH_HAS_EHCI is not set -CONFIG_USB=y -# CONFIG_USB_DEBUG is not set - -# -# Miscellaneous USB options -# -# CONFIG_USB_DEVICEFS is not set -# CONFIG_USB_DYNAMIC_MINORS is not set -# CONFIG_USB_SUSPEND is not set -# CONFIG_USB_OTG is not set - -# -# USB Host Controller Drivers -# -# CONFIG_USB_ISP116X_HCD is not set -CONFIG_USB_OHCI_HCD=y -# 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_SL811_HCD is not set - -# -# USB Device Class drivers -# -# CONFIG_USB_ACM is not set -# CONFIG_USB_PRINTER is not set - -# -# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' -# - -# -# may also be needed; see USB_STORAGE Help for more information -# -# CONFIG_USB_LIBUSUAL is not set - -# -# USB Input Devices -# -# CONFIG_USB_HID is not set - -# -# USB HID Boot Protocol drivers -# -# CONFIG_USB_KBD is not set -# CONFIG_USB_MOUSE is not set -# CONFIG_USB_AIPTEK is not set -# CONFIG_USB_WACOM is not set -# CONFIG_USB_ACECAD is not set -# CONFIG_USB_KBTAB is not set -# CONFIG_USB_POWERMATE is not set -# CONFIG_USB_TOUCHSCREEN is not set -# CONFIG_USB_YEALINK is not set -# CONFIG_USB_XPAD is not set -# CONFIG_USB_ATI_REMOTE is not set -# CONFIG_USB_ATI_REMOTE2 is not set -# CONFIG_USB_KEYSPAN_REMOTE is not set -# CONFIG_USB_APPLETOUCH is not set -# CONFIG_USB_GTCO is not set - -# -# USB Imaging devices -# -# CONFIG_USB_MDC800 is not set - -# -# USB Network Adapters -# -# CONFIG_USB_CATC is not set -# CONFIG_USB_KAWETH is not set -# CONFIG_USB_PEGASUS is not set -# CONFIG_USB_RTL8150 is not set -# CONFIG_USB_USBNET_MII is not set -# CONFIG_USB_USBNET is not set -# CONFIG_USB_MON is not set - -# -# USB port drivers -# - -# -# USB Serial Converter support -# -# CONFIG_USB_SERIAL is not set - -# -# USB Miscellaneous drivers -# -# CONFIG_USB_EMI62 is not set -# CONFIG_USB_EMI26 is not set -# CONFIG_USB_ADUTUX is not set -# CONFIG_USB_AUERSWALD is not set -# CONFIG_USB_RIO500 is not set -# CONFIG_USB_LEGOTOWER is not set -# CONFIG_USB_LCD is not set -# CONFIG_USB_BERRY_CHARGE is not set -# CONFIG_USB_LED is not set -# CONFIG_USB_CYPRESS_CY7C63 is not set -# CONFIG_USB_CYTHERM is not set -# CONFIG_USB_PHIDGET is not set -# CONFIG_USB_IDMOUSE is not set -# CONFIG_USB_FTDI_ELAN is not set -# CONFIG_USB_APPLEDISPLAY is not set -# CONFIG_USB_LD is not set -# CONFIG_USB_TRANCEVIBRATOR is not set -# CONFIG_USB_IOWARRIOR is not set - -# -# USB DSL modem support -# - -# -# USB Gadget Support -# -CONFIG_USB_GADGET=y -# CONFIG_USB_GADGET_DEBUG_FILES is not set -CONFIG_USB_GADGET_SELECTED=y -# CONFIG_USB_GADGET_NET2280 is not set -# CONFIG_USB_GADGET_PXA2XX is not set -CONFIG_USB_GADGET_PXA27X=y -CONFIG_USB_PXA27X=y -# CONFIG_USB_PXA2XX_SMALL is not set -# CONFIG_USB_GADGET_GOKU is not set -# CONFIG_USB_GADGET_LH7A40X is not set -# CONFIG_USB_GADGET_OMAP is not set -# CONFIG_USB_GADGET_AT91 is not set -# CONFIG_USB_GADGET_DUMMY_HCD is not set -# CONFIG_USB_GADGET_DUALSPEED is not set -# CONFIG_USB_ZERO is not set -CONFIG_USB_ETH=y -# CONFIG_USB_ETH_RNDIS is not set -# CONFIG_USB_GADGETFS is not set -# CONFIG_USB_FILE_STORAGE is not set -# CONFIG_USB_G_SERIAL is not set -# CONFIG_USB_MIDI_GADGET is not set - -# -# MMC/SD Card support -# -CONFIG_MMC=y -# CONFIG_MMC_DEBUG is not set -CONFIG_MMC_BLOCK=y -CONFIG_MMC_PXA=y - -# -# Real Time Clock -# -CONFIG_RTC_LIB=y -# CONFIG_RTC_CLASS is not set - -# -# File systems -# -CONFIG_EXT2_FS=m -CONFIG_EXT2_FS_XATTR=y -CONFIG_EXT2_FS_POSIX_ACL=y -CONFIG_EXT2_FS_SECURITY=y -# CONFIG_EXT2_FS_XIP is not set -CONFIG_EXT3_FS=y -CONFIG_EXT3_FS_XATTR=y -CONFIG_EXT3_FS_POSIX_ACL=y -CONFIG_EXT3_FS_SECURITY=y -# CONFIG_EXT4DEV_FS is not set -CONFIG_JBD=y -# CONFIG_JBD_DEBUG is not set -CONFIG_FS_MBCACHE=y -CONFIG_REISERFS_FS=m -# CONFIG_REISERFS_CHECK is not set -# CONFIG_REISERFS_PROC_INFO is not set -CONFIG_REISERFS_FS_XATTR=y -CONFIG_REISERFS_FS_POSIX_ACL=y -CONFIG_REISERFS_FS_SECURITY=y -# CONFIG_JFS_FS is not set -CONFIG_FS_POSIX_ACL=y -# CONFIG_XFS_FS is not set -# CONFIG_GFS2_FS is not set -# CONFIG_OCFS2_FS is not set -# CONFIG_MINIX_FS is not set -# CONFIG_ROMFS_FS is not set -CONFIG_INOTIFY=y -CONFIG_INOTIFY_USER=y -# CONFIG_QUOTA is not set -CONFIG_DNOTIFY=y -CONFIG_AUTOFS_FS=y -CONFIG_AUTOFS4_FS=y -# CONFIG_FUSE_FS is not set - -# -# CD-ROM/DVD Filesystems -# -CONFIG_ISO9660_FS=m -CONFIG_JOLIET=y -CONFIG_ZISOFS=y -# CONFIG_UDF_FS is not set - -# -# 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 is not set - -# -# Pseudo filesystems -# -CONFIG_PROC_FS=y -CONFIG_PROC_SYSCTL=y -CONFIG_SYSFS=y -# CONFIG_TMPFS is not set -# CONFIG_HUGETLB_PAGE is not set -CONFIG_RAMFS=y -# CONFIG_CONFIGFS_FS is not set - -# -# Miscellaneous filesystems -# -# CONFIG_ADFS_FS is not set -# CONFIG_AFFS_FS is not set -# CONFIG_HFS_FS is not set -# CONFIG_HFSPLUS_FS is not set -# CONFIG_BEFS_FS is not set -# CONFIG_BFS_FS is not set -# CONFIG_EFS_FS is not set -CONFIG_CRAMFS=m -# CONFIG_VXFS_FS is not set -# CONFIG_HPFS_FS is not set -# CONFIG_QNX4FS_FS is not set -# CONFIG_SYSV_FS is not set -# CONFIG_UFS_FS is not set - -# -# Network File Systems -# -CONFIG_NFS_FS=m -CONFIG_NFS_V3=y -CONFIG_NFS_V3_ACL=y -# CONFIG_NFS_V4 is not set -CONFIG_NFS_DIRECTIO=y -CONFIG_NFSD=m -CONFIG_NFSD_V2_ACL=y -CONFIG_NFSD_V3=y -CONFIG_NFSD_V3_ACL=y -# CONFIG_NFSD_V4 is not set -CONFIG_NFSD_TCP=y -CONFIG_LOCKD=m -CONFIG_LOCKD_V4=y -CONFIG_EXPORTFS=m -CONFIG_NFS_ACL_SUPPORT=m -CONFIG_NFS_COMMON=y -CONFIG_SUNRPC=m -# CONFIG_RPCSEC_GSS_KRB5 is not set -# CONFIG_RPCSEC_GSS_SPKM3 is not set -CONFIG_SMB_FS=m -# CONFIG_SMB_NLS_DEFAULT is not set -CONFIG_CIFS=m -CONFIG_CIFS_STATS=y -# CONFIG_CIFS_STATS2 is not set -CONFIG_CIFS_WEAK_PW_HASH=y -CONFIG_CIFS_XATTR=y -CONFIG_CIFS_POSIX=y -# CONFIG_CIFS_DEBUG2 is not set -# CONFIG_CIFS_EXPERIMENTAL is not set -# CONFIG_NCP_FS is not set -# CONFIG_CODA_FS is not set -# CONFIG_AFS_FS is not set -# CONFIG_9P_FS is not set - -# -# Partition Types -# -# CONFIG_PARTITION_ADVANCED is not set -CONFIG_MSDOS_PARTITION=y - -# -# Native Language Support -# -CONFIG_NLS=y -CONFIG_NLS_DEFAULT="iso8859-1" -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=m -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 - -# -# Distributed Lock Manager -# -# CONFIG_DLM is not set - -# -# Profiling support -# -# CONFIG_PROFILING is not set - -# -# Kernel hacking -# -# CONFIG_PRINTK_TIME is not set -# CONFIG_ENABLE_MUST_CHECK is not set -# CONFIG_MAGIC_SYSRQ is not set -# CONFIG_UNUSED_SYMBOLS is not set -# CONFIG_DEBUG_FS is not set -# CONFIG_HEADERS_CHECK is not set -# CONFIG_DEBUG_KERNEL is not set -CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_DEBUG_BUGVERBOSE is not set -CONFIG_FRAME_POINTER=y -# CONFIG_DEBUG_USER is not set - -# -# Security options -# -# CONFIG_KEYS is not set -# CONFIG_SECURITY is not set - -# -# Cryptographic options -# -# CONFIG_CRYPTO is not set - -# -# Library routines -# -CONFIG_BITREVERSE=y -CONFIG_CRC_CCITT=m -CONFIG_CRC16=m -CONFIG_CRC32=y -CONFIG_LIBCRC32C=m -CONFIG_ZLIB_INFLATE=m -CONFIG_ZLIB_DEFLATE=m -CONFIG_PLIST=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y diff --git a/packages/linux/linux-ezx-2.6.21/patches/e680-emu.patch b/packages/linux/linux-ezx-2.6.21/patches/e680-emu.patch new file mode 100644 index 0000000000..3645aef040 --- /dev/null +++ b/packages/linux/linux-ezx-2.6.21/patches/e680-emu.patch @@ -0,0 +1,38 @@ +Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c +=================================================================== +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e680.c 2007-09-06 00:47:32.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-09-06 00:48:06.000000000 -0300 +@@ -214,8 +214,33 @@ + }, + }; + ++/* EMU */ ++static struct resource e680_emu_resources[] = { ++ [0] = { ++ .start = EZX_IRQ_USB4V, ++ .end = EZX_IRQ_USB4V, ++ .flags = IORESOURCE_IRQ, ++ }, ++ [1] = { ++ .start = EZX_IRQ_USB1V, ++ .end = EZX_IRQ_USB1V, ++ .flags = IORESOURCE_IRQ, ++ }, ++}; ++ ++struct platform_device e680_emu_device = { ++ .name = "ezx-emu", ++ .id = -1, ++ .dev = { ++ .parent = &e680_pcap_device.dev, ++ }, ++ .num_resources = ARRAY_SIZE(e680_emu_resources), ++ .resource = e680_emu_resources, ++}; ++ + static struct platform_device *devices[] __initdata = { + &e680_pcap_device, ++ &e680_emu_device, + }; + + static void __init e680_init(void) diff --git a/packages/linux/linux-ezx-2.6.21/patches/e680-kbd.patch b/packages/linux/linux-ezx-2.6.21/patches/e680-kbd.patch index 2a2d9c7a72..ffd8bbb754 100755 --- a/packages/linux/linux-ezx-2.6.21/patches/e680-kbd.patch +++ b/packages/linux/linux-ezx-2.6.21/patches/e680-kbd.patch @@ -1,8 +1,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e680.c 2007-05-24 00:54:39.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-05-24 00:56:30.000000000 -0300 -@@ -15,18 +15,21 @@ +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e680.c 2007-09-07 11:07:33.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-09-07 11:10:47.000000000 -0300 +@@ -15,6 +15,7 @@ #include <linux/fb.h> #include <linux/mmc/host.h> #include <linux/irq.h> @@ -10,13 +10,13 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c #include <asm/mach-types.h> #include <asm/mach/arch.h> - #include <asm/arch/pxa-regs.h> - #include <asm/arch/pxafb.h> +@@ -23,11 +24,13 @@ + #include <asm/arch/ezx.h> + #include <asm/arch/ezx-pcap.h> #include <asm/arch/mmc.h> +#include <asm/arch/kbd.h> #include "generic.h" - #include "ezx.h" extern void ezx_lcd_power(int, struct fb_var_screeninfo *); extern void ezx_backlight_power(int); @@ -24,8 +24,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c #ifdef CONFIG_EZX_PCAP extern int ezx_pcap_mmcsd_power(int); -@@ -144,6 +147,58 @@ - .pxafb_lcd_power = &ezx_lcd_power, +@@ -238,6 +241,58 @@ + .resource = e680_emu_resources, }; +static unsigned char e680_keycode[] = { @@ -81,9 +81,9 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c +}; + static struct platform_device *devices[] __initdata = { - }; - -@@ -162,6 +217,7 @@ + &e680_pcap_device, + &e680_emu_device, +@@ -258,6 +313,7 @@ set_pxa_fb_info(&e680_fb_info); pxa_set_mci_info(&e680_mci_platform_data); diff --git a/packages/linux/linux-ezx-2.6.21/patches/e680-leds.patch b/packages/linux/linux-ezx-2.6.21/patches/e680-leds.patch index 82dc93b611..72ba219a44 100755 --- a/packages/linux/linux-ezx-2.6.21/patches/e680-leds.patch +++ b/packages/linux/linux-ezx-2.6.21/patches/e680-leds.patch @@ -5,8 +5,8 @@ Index: linux-2.6.21/drivers/leds/Kconfig =================================================================== ---- linux-2.6.21.orig/drivers/leds/Kconfig 2007-06-08 18:39:04.000000000 +0200 -+++ linux-2.6.21/drivers/leds/Kconfig 2007-06-08 18:39:12.000000000 +0200 +--- linux-2.6.21.orig/drivers/leds/Kconfig 2007-09-06 00:49:29.000000000 -0300 ++++ linux-2.6.21/drivers/leds/Kconfig 2007-09-06 00:51:36.000000000 -0300 @@ -111,6 +111,13 @@ This option enables support for the LEDs on the Motorola A780 GSM Phone. @@ -23,8 +23,8 @@ Index: linux-2.6.21/drivers/leds/Kconfig depends on LEDS_TRIGGERS Index: linux-2.6.21/drivers/leds/Makefile =================================================================== ---- linux-2.6.21.orig/drivers/leds/Makefile 2007-06-08 18:39:04.000000000 +0200 -+++ linux-2.6.21/drivers/leds/Makefile 2007-06-08 18:39:12.000000000 +0200 +--- linux-2.6.21.orig/drivers/leds/Makefile 2007-09-06 00:49:29.000000000 -0300 ++++ linux-2.6.21/drivers/leds/Makefile 2007-09-06 00:49:30.000000000 -0300 @@ -17,6 +17,7 @@ obj-$(CONFIG_LEDS_H1940) += leds-h1940.o obj-$(CONFIG_LEDS_COBALT) += leds-cobalt.o @@ -36,8 +36,8 @@ Index: linux-2.6.21/drivers/leds/Makefile Index: linux-2.6.21/drivers/leds/leds-e680.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/drivers/leds/leds-e680.c 2007-06-08 18:39:12.000000000 +0200 -@@ -0,0 +1,309 @@ ++++ linux-2.6.21/drivers/leds/leds-e680.c 2007-09-06 00:51:22.000000000 -0300 +@@ -0,0 +1,235 @@ +/* + * EZX Platform LED Driver for the Motorola E680(i) GSM Phone + * @@ -73,147 +73,100 @@ Index: linux-2.6.21/drivers/leds/leds-e680.c +extern int ezx_pcap_read(u_int8_t, u_int32_t *); +extern int ezx_pcap_write(u_int8_t, u_int32_t); + -+static enum led_brightness old_red; -+static enum led_brightness old_green; -+static enum led_brightness old_blue; -+ +typedef struct { -+ unsigned char ind_GPIO_red; /*Indicator Red control GPIO 46: 0 active, 1 disactive*/ -+ unsigned char ind_GPIO_green; /*Indicator Green control GPIO 47: 0 active, 1 disactive*/ -+ unsigned char pcap_LEDR_en; /*pcap LEDR_EN bit value: 1 =Red LED(&Green) sink circuit enabled*/ -+ unsigned char pcap_LEDG_en; /*pcap LEDG_EN bit value:1 =Green(->Blue)LED sink circuit enabled*/ -+ unsigned char pcap_LEDR_CTRL; /* 4bits Sets the timing for the red(&Green) LED sink circuit*/ -+ unsigned char pcap_LEDG_CTRL; /* 4bits Sets the timing for the GREEN (->Blue) LED sink circuit*/ -+ unsigned char pcap_LEDR_I; /* 2 bits 00 3mA,01 4mA, 10 5mA, 11 9mA, sets the pulsed current level for LEDR*/ -+ unsigned char pcap_LEDG_I; /* 2 bits 00 3mA,01 4mA, 10 5mA, 11 9mA, sets the pulsed current level for LEDG*/ -+ unsigned char pcap_SKIP_on; /*1=The ON timing sequence defined by LEDx_CTRL is executed on every other cycle*/ ++ u_int8_t ind_GPIO_red; /*Indicator Red control GPIO 46: 0 active, 1 inactive */ ++ u_int8_t ind_GPIO_green; /*Indicator Green control GPIO 47: 0 inactive, 1 active */ ++ u_int8_t pcap_LEDR_en; /*pcap LEDR_EN bit value: 1 =Red LED(&Green) sink circuit enabled*/ ++ u_int8_t pcap_LEDG_en; /*pcap LEDG_EN bit value:1 =Green(->Blue)LED sink circuit enabled*/ ++ u_int8_t pcap_LEDR_CTRL; /* 4bits Sets the timing for the red(&Green) LED sink circuit*/ ++ u_int8_t pcap_LEDG_CTRL; /* 4bits Sets the timing for the GREEN (->Blue) LED sink circuit*/ ++ u_int8_t pcap_LEDR_I; /* 2 bits 00 3mA,01 4mA, 10 5mA, 11 9mA, sets the pulsed current level for LEDR*/ ++ u_int8_t pcap_LEDG_I; /* 2 bits 00 3mA,01 4mA, 10 5mA, 11 9mA, sets the pulsed current level for LEDG*/ ++// u_int8_t pcap_SKIP_on; /*1=The ON timing sequence defined by LEDx_CTRL is executed on every other cycle*/ +} PCAP2_LED_REGISTER_VALUE; + +const PCAP2_LED_REGISTER_VALUE led_register_value[]= +{ -+ /* on/off pulsepower timing intensity */ -+ {0x1,0x1, 0x0,0x0, 0x0,0x0, 0x0,0x0,0x0}, /* OFF */ -+ {0x0,0x1, 0x1,0x0, 0xc,0x0, 0x1,0x0,0x0}, /* RED */ -+ {0x1,0x0, 0x1,0x0, 0xc,0x0, 0x1,0x0,0x0}, /* GREEN */ -+ {0x0,0x0, 0x1,0x0, 0xc,0x0, 0x1,0x0,0x0}, /* ORANGE = RED + GREEN */ -+ {0x1,0x1, 0x0,0x1, 0x0,0xc, 0x0,0x0,0x0}, /* BLUE */ -+ {0x0,0x1, 0x1,0x1, 0xc,0xc, 0x1,0x0,0x0}, /* LIGHT_RED = RED + BLUE */ -+ {0x1,0x0, 0x1,0x1, 0xc,0xc, 0x1,0x0,0x0}, /* LIGHT_GREEN = GREEN + BLUE */ -+ {0x0,0x0, 0x1,0x1, 0xc,0xc, 0x1,0x0,0x0}, /* WHITE = RED + GREEN + BLUE */ ++ {0x1,0x0, 0x0,0x0, 0x0,0x0, 0x1,0x0}, /* 0 OFF */ ++ ++ {0x0,0x0, 0x1,0x0, 0xf,0x0, 0x1,0x0}, /* 1 RED */ ++ {0x1,0x1, 0x1,0x0, 0xf,0x0, 0x1,0x0}, /* 2 GREEN */ ++ {0x0,0x1, 0x1,0x0, 0xf,0x0, 0x1,0x0}, /* 3 ORANGE */ ++ {0x1,0x0, 0x0,0x1, 0x0,0xf, 0x0,0x0}, /* 4 BLUE */ ++ {0x0,0x0, 0x1,0x1, 0xf,0xf, 0x1,0x0}, /* 5 MAGENTA */ ++ {0x1,0x1, 0x1,0x1, 0xf,0xf, 0x1,0x0}, /* 6 CYAN */ ++ {0x0,0x1, 0x1,0x1, 0xf,0xf, 0x1,0x0}, /* 7 WHITE */ +}; + -+static void e680led_led_set( enum led_brightness red, enum led_brightness green, enum led_brightness blue ) ++static void e680led_set(struct led_classdev *led_cdev, enum led_brightness value) +{ -+ unsigned int tempValue = 0; -+ unsigned int value = 0; -+ unsigned int stateIndex = 0; -+ unsigned char gpio_red, gpio_green, ledr_en, ledg_en, ledr_ctrl, ledg_ctrl, ledr_i, ledg_i,skip; -+ -+ printk( KERN_DEBUG "e680led_led_set: red=%d, green=%d, blue=%d", red, green, blue ); -+ stateIndex = ( ( blue << 2 ) | ( green << 1 ) | ( red ) ) & 0x7; -+ printk( KERN_DEBUG "LED stateIndex is %d", stateIndex ); -+ gpio_red = led_register_value[stateIndex].ind_GPIO_red & 0x1; -+ gpio_green = led_register_value[stateIndex].ind_GPIO_green & 0x1; -+ ledr_en = led_register_value[stateIndex].pcap_LEDR_en & 0x1; -+ ledg_en = led_register_value[stateIndex].pcap_LEDG_en & 0x1; -+ ledr_ctrl = led_register_value[stateIndex].pcap_LEDR_CTRL & 0xf; -+ ledg_ctrl = led_register_value[stateIndex].pcap_LEDG_CTRL & 0xf; -+ ledr_i = led_register_value[stateIndex].pcap_LEDR_I & 0x3; -+ ledg_i = led_register_value[stateIndex].pcap_LEDG_I & 0x3; -+ skip = led_register_value[stateIndex].pcap_SKIP_on & 0x1; -+ -+ /* disable LEDs */ -+ if( ezx_pcap_read(SSP_PCAP_ADJ_PERIPH_REGISTER,&tempValue) != SSP_PCAP_SUCCESS ) -+ { -+ printk( KERN_WARNING "LED PCAP Read Failed\n" ); -+ return; ++ unsigned int tempValue; ++ unsigned char gpio_red, gpio_green, ledr_en, ledg_en, ledr_ctrl, ++ ledg_ctrl, ledr_i, ledg_i, skip, t, color; ++ unsigned char t_mask[2] = { 0xc, 0xc }; ++ ++ skip = 0; ++ if (value & 128) { ++ value &= (~128); ++ skip = 1; + } -+ tempValue &= (~SSP_PCAP_LED_MASK); -+ if( ezx_pcap_write(SSP_PCAP_ADJ_PERIPH_REGISTER,tempValue) != SSP_PCAP_SUCCESS ) -+ { -+ printk( KERN_WARNING "LED PCAP Write Failed (Clear Data)\n" ); -+ return; ++ ++ /* 7 colors - simple on */ ++ if (value <= 7) ++ color = value; ++ /* 4 colors - 11 timed on */ ++ else if (value <= 51) { ++ value -= 7; ++ color = ((value-1)%4)+1; ++ t = ((value-1)/4)+1; ++ t_mask[0] = t; ++ t_mask[1] = t; ++ } ++ /* 3 colors - 22 change color */ ++ else if (value <= 84) { ++ value -= 51; ++ color = ((value-1)%3)+5; ++ t = ((value-1)/3)+1; ++ t_mask[1] = t; ++ } ++ else if (value <= 117) { ++ value -= 84; ++ color = ((value-1)%3)+5; ++ t = ((value-1)/3)+1; ++ t_mask[0] = t; + } ++ /* 3 colors - alternate with blue */ ++ else if (value <= 120) { ++ color = value-113; ++ t_mask[0] = 0xa; ++ t_mask[1] = 0xb; ++ } ++ /* invalid value */ ++ else ++ color = 1; + -+ /* configure GPIOs as output */ -+ pxa_gpio_mode(IND_CNTL_R_BUL | GPIO_OUT); -+ pxa_gpio_mode(IND_CNTL_G_BUL | GPIO_OUT); ++ gpio_red = led_register_value[color].ind_GPIO_red; ++ gpio_green = led_register_value[color].ind_GPIO_green; ++ ledr_en = led_register_value[color].pcap_LEDR_en; ++ ledg_en = led_register_value[color].pcap_LEDG_en; ++ ledr_ctrl = led_register_value[color].pcap_LEDR_CTRL & t_mask[0]; ++ ledg_ctrl = led_register_value[color].pcap_LEDG_CTRL & t_mask[1]; ++ ledr_i = led_register_value[color].pcap_LEDR_I; ++ ledg_i = led_register_value[color].pcap_LEDG_I; + -+ //FIXME: Simplify this logic -+ if ( (gpio_green && gpio_red) ) -+ { -+ /*Disable Red & Green signal*/ -+ pxa_gpio_set_value(IND_CNTL_R_BUL, 1); /*IND_CNTL_R_BUL Low active*/ -+ PGSR(IND_CNTL_R_BUL) = PGSR(IND_CNTL_R_BUL) | GPIO_bit(IND_CNTL_R_BUL); -+ -+ pxa_gpio_set_value(IND_CNTL_G_BUL, 0); /*IND_CNTL_G_BUL High active*/ -+ PGSR(IND_CNTL_G_BUL) = PGSR(IND_CNTL_G_BUL) & (~GPIO_bit(IND_CNTL_G_BUL)); -+ -+ printk( KERN_DEBUG "LED GPIO Green & Red Disable\n"); -+ } else if ( gpio_green && !gpio_red ) -+ { -+ /*Green Disable, Red Enable*/ -+ pxa_gpio_set_value(IND_CNTL_R_BUL, 0); -+ PGSR(IND_CNTL_R_BUL) = PGSR(IND_CNTL_R_BUL) & (~GPIO_bit(IND_CNTL_R_BUL)); -+ -+ pxa_gpio_set_value(IND_CNTL_G_BUL, 0); -+ PGSR(IND_CNTL_G_BUL) = PGSR(IND_CNTL_G_BUL) & (~GPIO_bit(IND_CNTL_G_BUL)); -+ -+ printk( KERN_DEBUG "LED GPIO Green Disable, Red Enable\n"); -+ } else if (gpio_red && !gpio_green ) -+ { -+ /*Red Disable, Green Enable*/ -+ pxa_gpio_set_value(IND_CNTL_R_BUL, 1); -+ PGSR(IND_CNTL_R_BUL) = PGSR(IND_CNTL_R_BUL) | GPIO_bit(IND_CNTL_R_BUL); -+ -+ pxa_gpio_set_value(IND_CNTL_G_BUL, 1); -+ PGSR(IND_CNTL_G_BUL) = PGSR(IND_CNTL_G_BUL) | GPIO_bit(IND_CNTL_G_BUL); -+ printk( KERN_DEBUG "LED GPIO Red Disable, Green Enable"); -+ }else -+ { -+ /*Red & Green enable*/ -+ pxa_gpio_set_value(IND_CNTL_R_BUL, 0); -+ PGSR(IND_CNTL_R_BUL) = PGSR(IND_CNTL_R_BUL) & (~GPIO_bit(IND_CNTL_R_BUL)); -+ -+ pxa_gpio_set_value(IND_CNTL_G_BUL, 1); -+ PGSR(IND_CNTL_G_BUL) = PGSR(IND_CNTL_G_BUL) | GPIO_bit(IND_CNTL_G_BUL); -+ printk( KERN_DEBUG "LED GPIO Red & Green Enable\n"); -+ } ++ ezx_pcap_read(PCAP_REG_PERIPH,&tempValue); + -+ /* Write PCAP LED Peripheral Control Register*/ -+ value = ( ledr_en | (ledg_en <<1) | (ledr_ctrl <<2) | (ledg_ctrl <<6) | -+ (ledr_i << 10) | (ledg_i <<12) | (skip <<14) ) & 0x7fff; -+ tempValue |= (value <<SSP_PCAP_LED_SHIFT); -+ -+ if ( ezx_pcap_write(SSP_PCAP_ADJ_PERIPH_REGISTER,tempValue) == SSP_PCAP_SUCCESS ) -+ { -+ printk( KERN_DEBUG "LED PCAP Write Success (0x%x :0x%x)\n",tempValue,value); -+ old_red = red; -+ old_green = green; -+ old_blue = blue; -+ return; -+ } else { -+ printk( KERN_DEBUG "LED PCAP Write Failed (State Change)\n"); -+ return; -+ } -+} ++ tempValue &= (~SSP_PCAP_LED_MASK); + -+static void e680led_red_set(struct led_classdev *led_cdev, enum led_brightness value) -+{ -+ printk( KERN_DEBUG "e680led_red_set: %d\n", value ); -+ e680led_led_set( 1 && value, old_green, old_blue ); -+} ++ pxa_gpio_set_value(IND_CNTL_R_BUL, gpio_red); ++ pxa_gpio_set_value(IND_CNTL_G_BUL, gpio_green); + -+static void e680led_green_set(struct led_classdev *led_cdev, enum led_brightness value) -+{ -+ printk( KERN_DEBUG "e680led_green_set: %d\n", value ); -+ e680led_led_set( old_red, 1 && value, old_blue ); -+} ++ /* Write PCAP LED Peripheral Control Register*/ ++ tempValue = ((ledr_en | (ledg_en << 1) | (ledr_ctrl << 2) | ++ (ledg_ctrl << 6) | (ledr_i << 10) | (ledg_i << 12) | ++ (skip << 14)) & 0x7fff) << SSP_PCAP_LED_SHIFT; + -+static void e680led_blue_set(struct led_classdev *led_cdev, enum led_brightness value) -+{ -+ printk( KERN_DEBUG "e680led_blue_set: %d\n", value ); -+ e680led_led_set( old_red, old_green, 1 && value ); ++ ezx_pcap_write(PCAP_REG_PERIPH,tempValue); +} + +static void e680led_keypad_set(struct led_classdev *led_cdev, enum led_brightness value) @@ -238,25 +191,13 @@ Index: linux-2.6.21/drivers/leds/leds-e680.c +#endif +} + -+static struct led_classdev e680_red_led = { -+ .name = "e680:red", -+ .default_trigger = "none", -+ .brightness_set = e680led_red_set, -+}; -+ -+static struct led_classdev e680_green_led = { -+ .name = "e680:green", ++static struct led_classdev e680_led = { ++ .name = "e680:led", + .default_trigger = "none", -+ .brightness_set = e680led_green_set, ++ .brightness_set = e680led_set, +}; + -+static struct led_classdev e680_blue_led = { -+ .name = "e680:blue", -+ .default_trigger = "none", -+ .brightness_set = e680led_blue_set, -+}; -+ -+static struct led_classdev e680_keypad_led = { ++static struct led_classdev e680_keypad = { + .name = "e680:keypad", + .default_trigger = "none", + .brightness_set = e680led_keypad_set, @@ -265,19 +206,15 @@ Index: linux-2.6.21/drivers/leds/leds-e680.c +#ifdef CONFIG_PM +static int e680led_suspend(struct platform_device *dev, pm_message_t state) +{ -+ led_classdev_suspend(&e680_red_led); -+ led_classdev_suspend(&e680_green_led); -+ led_classdev_suspend(&e680_blue_led); -+ led_classdev_suspend(&e680_keypad_led); ++ led_classdev_suspend(&e680_led); ++ led_classdev_suspend(&e680_keypad); + return 0; +} + +static int e680led_resume(struct platform_device *dev) +{ -+ led_classdev_resume(&e680_red_led); -+ led_classdev_resume(&e680_green_led); -+ led_classdev_resume(&e680_blue_led); -+ led_classdev_resume(&e680_keypad_led); ++ led_classdev_resume(&e680_led); ++ led_classdev_resume(&e680_keypad); + return 0; +} +#endif @@ -286,35 +223,25 @@ Index: linux-2.6.21/drivers/leds/leds-e680.c +{ + int ret; + -+ ret = led_classdev_register(&pdev->dev, &e680_red_led); -+ if (ret < 0) -+ return ret; ++ /* configure GPIOs as output */ ++ pxa_gpio_mode(IND_CNTL_R_BUL | GPIO_OUT); ++ pxa_gpio_mode(IND_CNTL_G_BUL | GPIO_OUT); + -+ ret = led_classdev_register(&pdev->dev, &e680_green_led); ++ ret = led_classdev_register(&pdev->dev, &e680_led); + if (ret < 0) -+ led_classdev_unregister(&e680_red_led); -+ -+ ret = led_classdev_register(&pdev->dev, &e680_blue_led); -+ if (ret < 0) { -+ led_classdev_unregister(&e680_red_led); -+ led_classdev_unregister(&e680_green_led); -+ } ++ return ret; + -+ ret = led_classdev_register(&pdev->dev, &e680_keypad_led); ++ ret = led_classdev_register(&pdev->dev, &e680_keypad); + if (ret < 0) { -+ led_classdev_unregister(&e680_red_led); -+ led_classdev_unregister(&e680_green_led); -+ led_classdev_unregister(&e680_blue_led); ++ led_classdev_unregister(&e680_led); + } + return ret; +} + +static int e680led_remove(struct platform_device *pdev) +{ -+ led_classdev_unregister(&e680_red_led); -+ led_classdev_unregister(&e680_green_led); -+ led_classdev_unregister(&e680_blue_led); -+ led_classdev_unregister(&e680_keypad_led); ++ led_classdev_unregister(&e680_led); ++ led_classdev_unregister(&e680_keypad); + return 0; +} + @@ -337,7 +264,6 @@ Index: linux-2.6.21/drivers/leds/leds-e680.c + +static void __exit e680led_exit(void) +{ -+ e680led_led_set( 0, 0, 0 ); + platform_driver_unregister(&e680led_driver); +} + @@ -349,18 +275,23 @@ Index: linux-2.6.21/drivers/leds/leds-e680.c +MODULE_LICENSE("GPL"); Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e680.c 2007-06-08 18:38:59.000000000 +0200 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-06-08 18:39:12.000000000 +0200 -@@ -242,9 +242,15 @@ +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e680.c 2007-09-06 00:49:23.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-09-06 00:49:30.000000000 -0300 +@@ -339,11 +339,20 @@ }, }; +static struct platform_device e680led_device = { + .name = "e680-led", + .id = -1, ++ .dev = { ++ .parent = &e680_pcap_device.dev, ++ }, +}; + static struct platform_device *devices[] __initdata = { + &e680_pcap_device, + &e680_emu_device, &pcap_ts_device, &e680locksw_device, + &e680led_device, diff --git a/packages/linux/linux-ezx-2.6.21/patches/e680-locksw.patch b/packages/linux/linux-ezx-2.6.21/patches/e680-locksw.patch index 36b52a916a..e669a51957 100755 --- a/packages/linux/linux-ezx-2.6.21/patches/e680-locksw.patch +++ b/packages/linux/linux-ezx-2.6.21/patches/e680-locksw.patch @@ -1,7 +1,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e680.c 2007-06-08 18:38:48.000000000 +0200 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-06-08 18:38:59.000000000 +0200 +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e680.c 2007-09-06 00:48:32.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-09-06 00:49:23.000000000 -0300 @@ -16,6 +16,7 @@ #include <linux/mmc/host.h> #include <linux/irq.h> @@ -10,8 +10,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c #include <asm/mach-types.h> #include <asm/mach/arch.h> -@@ -220,8 +221,30 @@ - }, +@@ -317,10 +318,32 @@ + .resource = pcap_ts_resources, }; +static struct gpio_keys_button e680locksw_buttons[] = { @@ -36,6 +36,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c +}; + static struct platform_device *devices[] __initdata = { + &e680_pcap_device, + &e680_emu_device, &pcap_ts_device, + &e680locksw_device, }; diff --git a/packages/linux/linux-ezx-2.6.21/patches/e680-mci.patch b/packages/linux/linux-ezx-2.6.21/patches/e680-mci.patch index b5bb2931f1..7f0826163d 100755 --- a/packages/linux/linux-ezx-2.6.21/patches/e680-mci.patch +++ b/packages/linux/linux-ezx-2.6.21/patches/e680-mci.patch @@ -1,8 +1,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e680.c 2007-05-24 00:43:08.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-05-24 00:48:20.000000000 -0300 -@@ -13,11 +13,14 @@ +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e680.c 2007-09-07 11:32:30.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-09-07 11:54:44.000000000 -0300 +@@ -13,6 +13,8 @@ #include <linux/init.h> #include <linux/platform_device.h> #include <linux/fb.h> @@ -11,13 +11,14 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c #include <asm/mach-types.h> #include <asm/mach/arch.h> - #include <asm/arch/pxa-regs.h> +@@ -20,12 +22,106 @@ #include <asm/arch/pxafb.h> + #include <asm/arch/ezx.h> + #include <asm/arch/ezx-pcap.h> +#include <asm/arch/mmc.h> #include "generic.h" - #include "ezx.h" -@@ -25,6 +28,99 @@ + extern void ezx_lcd_power(int, struct fb_var_screeninfo *); extern void ezx_backlight_power(int); @@ -117,7 +118,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c static struct pxafb_mode_info mode_e680 = { .pixclock = 150000, .xres = 240, -@@ -65,6 +161,7 @@ +@@ -136,6 +232,7 @@ PSLR = 0x05800f00; set_pxa_fb_info(&e680_fb_info); @@ -125,15 +126,3 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c /* clear EMU MUX1/MUX2 (low) to close the audio path to EMU */ pxa_gpio_mode(GPIO_EMU_MUX1|GPIO_OUT); -Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig -=================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-05-24 00:48:28.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-05-24 00:48:55.000000000 -0300 -@@ -83,6 +83,7 @@ - config PXA_EZX_E680 - bool "Motorola E680 GSM Phone" - select PXA27x -+ select EZX_MCI_SD - - config PXA_EZX_A780 - bool "Motorola A780 GSM Phone" diff --git a/packages/linux/linux-ezx-2.6.21/patches/e680-pcap.patch b/packages/linux/linux-ezx-2.6.21/patches/e680-pcap.patch new file mode 100644 index 0000000000..12ce023749 --- /dev/null +++ b/packages/linux/linux-ezx-2.6.21/patches/e680-pcap.patch @@ -0,0 +1,90 @@ +Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c +=================================================================== +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e680.c 2007-09-06 00:41:38.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-09-06 00:44:56.000000000 -0300 +@@ -19,6 +19,7 @@ + #include <asm/arch/pxa-regs.h> + #include <asm/arch/pxafb.h> + #include <asm/arch/ezx.h> ++#include <asm/arch/ezx-pcap.h> + + #include "generic.h" + +@@ -48,7 +49,77 @@ + .pxafb_lcd_power = &ezx_lcd_power, + }; + ++/* PCAP */ ++static int __init e680_pcap_init(void) ++{ ++ /* initialize PCAP registers */ ++ /* set SW1 sleep to keep SW1 1.3v in sync mode */ ++ ezx_pcap_bit_set(PCAP_BIT_LOWPWR_SW1_MODE10, 0); ++ ezx_pcap_bit_set(PCAP_BIT_LOWPWR_SW1_MODE11, 0); ++ ++ /* SW1 active in sync mode */ ++ ezx_pcap_bit_set(PCAP_BIT_LOWPWR_SW1_MODE00, 1); ++ ezx_pcap_bit_set(PCAP_BIT_LOWPWR_SW1_MODE01, 0); ++ ++ /* at SW1 -core voltage to 1.30V */ ++ ezx_pcap_bit_set(PCAP_BIT_LOWPWR_SW10_DVS, 1); ++ ezx_pcap_bit_set(PCAP_BIT_LOWPWR_SW11_DVS, 1); ++ ezx_pcap_bit_set(PCAP_BIT_LOWPWR_SW12_DVS, 1); ++ ezx_pcap_bit_set(PCAP_BIT_LOWPWR_SW13_DVS, 0); ++ ++ /* when STANDY2 PIN ACTIVE (high) set V3-- sram V8 -- pll off */ ++ ezx_pcap_bit_set(PCAP_BIT_VREG2_V3_STBY, 1); ++ ezx_pcap_bit_set(PCAP_BIT_VREG2_V3_LOWPWR, 0); ++ ezx_pcap_bit_set(PCAP_BIT_VREG2_V8_STBY, 1); ++ ezx_pcap_bit_set(PCAP_BIT_VREG2_V8_LOWPWR, 0); ++ ++ /* ++ * when STANDY2 PIN ACTIVE (high) set V4-- lcd only for e680 V6 --- ++ * camera for e680 ++ */ ++ ezx_pcap_bit_set(PCAP_BIT_VREG2_V4_STBY, 1); ++ ezx_pcap_bit_set(PCAP_BIT_VREG2_V4_LOWPWR, 1); ++ ezx_pcap_bit_set(PCAP_BIT_VREG2_V6_STBY, 1); ++ ezx_pcap_bit_set(PCAP_BIT_VREG2_V6_LOWPWR, 0); ++ ++ /* set Vc to low power mode when AP sleep */ ++// SSP_PCAP_bit_set( PCAP_BIT_LOWPWR_CTRL_VC_STBY); ++ ++ /* set VAUX2 to low power mode when AP sleep */ ++ ezx_pcap_bit_set(PCAP_BIT_LOWPWR_VAUX2_STBY, 1); ++ ezx_pcap_bit_set(PCAP_BIT_LOWPWR_VAUX2_LOWPWR, 1); ++ ++ return 0; ++} ++ ++static struct pcap_platform_data e680_pcap_platform_data = { ++ .port = 1, ++ .cs = GPIO_SPI_CE, ++ .flags = PCAP_MCI_SD, ++ .clk = 1, ++ .init = e680_pcap_init, ++}; ++ ++static struct resource e680_pcap_resources[] = { ++ [0] = { ++ .start = IRQ_GPIO1, ++ .end = IRQ_GPIO1, ++ .flags = IORESOURCE_IRQ, ++ }, ++}; ++ ++struct platform_device e680_pcap_device = { ++ .name = "ezx-pcap", ++ .id = -1, ++ .num_resources = ARRAY_SIZE(e680_pcap_resources), ++ .resource = e680_pcap_resources, ++ .dev = { ++ .platform_data = &e680_pcap_platform_data, ++ }, ++}; ++ + static struct platform_device *devices[] __initdata = { ++ &e680_pcap_device, + }; + + static void __init e680_init(void) diff --git a/packages/linux/linux-ezx-2.6.21/patches/e680-ts.patch b/packages/linux/linux-ezx-2.6.21/patches/e680-ts.patch index 52f9ce34b5..109623c68c 100755 --- a/packages/linux/linux-ezx-2.6.21/patches/e680-ts.patch +++ b/packages/linux/linux-ezx-2.6.21/patches/e680-ts.patch @@ -1,9 +1,9 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e680.c 2007-06-02 20:32:49.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-06-02 20:33:26.000000000 -0300 -@@ -124,6 +124,27 @@ - .exit = e680_mci_exit, +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e680.c 2007-09-07 11:10:47.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-09-07 11:11:01.000000000 -0300 +@@ -293,9 +293,34 @@ + }, }; +/* PCAP_TS */ @@ -23,17 +23,16 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c +struct platform_device pcap_ts_device = { + .name = "pcap-ts", + .id = -1, ++ .dev = { ++ .parent = &e680_pcap_device.dev, ++ }, + .num_resources = ARRAY_SIZE(pcap_ts_resources), + .resource = pcap_ts_resources, +}; + - static struct pxafb_mode_info mode_e680 = { - .pixclock = 150000, - .xres = 240, -@@ -200,6 +221,7 @@ - }; - static struct platform_device *devices[] __initdata = { + &e680_pcap_device, + &e680_emu_device, + &pcap_ts_device, }; diff --git a/packages/linux/linux-ezx-2.6.21/patches/ezx-asoc.patch b/packages/linux/linux-ezx-2.6.21/patches/ezx-asoc.patch new file mode 100644 index 0000000000..1dda2e544c --- /dev/null +++ b/packages/linux/linux-ezx-2.6.21/patches/ezx-asoc.patch @@ -0,0 +1,1302 @@ +Index: linux-2.6.21/sound/soc/codecs/pcap2.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.21/sound/soc/codecs/pcap2.c 2007-09-07 14:28:32.000000000 -0300 +@@ -0,0 +1,796 @@ ++/* ++ * pcap2.c - PCAP2 ASIC Audio driver ++ * ++ * Copyright (C) 2007 Daniel Ribeiro <drwyrm@gmail.com> ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ */ ++ ++#include <linux/module.h> ++#include <linux/delay.h> ++#include <linux/moduleparam.h> ++#include <linux/init.h> ++#include <linux/delay.h> ++#include <linux/pm.h> ++#include <linux/platform_device.h> ++#include <sound/driver.h> ++#include <sound/core.h> ++#include <sound/pcm.h> ++#include <sound/pcm_params.h> ++#include <sound/soc.h> ++#include <sound/soc-dapm.h> ++#include <sound/initval.h> ++#include <asm/arch/pxa-regs.h> ++#include <asm/arch/ezx-pcap.h> ++#include <asm/arch/ezx.h> ++#include <asm/arch/hardware.h> ++ ++#include "pcap2.h" ++ ++#define AUDIO_NAME "pcap2-codec" ++#define PCAP2_VERSION "0.1" ++ ++extern int ezx_pcap_write(u_int8_t, u_int32_t); ++extern int ezx_pcap_read(u_int8_t, u_int32_t *); ++static struct snd_soc_device *pcap2_codec_socdev; ++ ++/* ++ * Debug ++ */ ++ ++//#define PCAP2_DEBUG ++ ++#ifdef PCAP2_DEBUG ++#define dbg(format, arg...) \ ++ printk(KERN_DEBUG AUDIO_NAME ": " format "\n" , ## arg) ++#else ++#define dbg(format, arg...) ++#endif ++ ++#define err(format, arg...) \ ++ printk(KERN_ERR AUDIO_NAME ": " format "\n" , ## arg) ++#define info(format, arg...) \ ++ printk(KERN_INFO AUDIO_NAME ": " format "\n" , ## arg) ++#define warn(format, arg...) \ ++ printk(KERN_WARNING AUDIO_NAME ": " format "\n" , ## arg) ++ ++#define dump_registers() pcap2_codec_read(NULL, 13); \ ++ pcap2_codec_read(NULL, 12); \ ++ pcap2_codec_read(NULL, 11); \ ++ pcap2_codec_read(NULL, 26); ++ ++ ++ ++ ++/* ++ * ASoC limits register value to 16 bits and pcap uses 32 bit registers ++ * to work around this, we get 16 bits from low, mid or high positions. ++ * ASoC limits register number to 8 bits we use 0x1f for register ++ * number and 0xe0 for register offset. -WM ++ */ ++static int pcap2_codec_write(struct snd_soc_codec *codec, unsigned int reg, ++ unsigned int value) ++{ ++ unsigned int tmp; ++ ++ ezx_pcap_read((reg & 0x1f), &tmp); ++ ++ if (reg & SL) { ++ tmp &= 0xffff0000; ++ tmp |= (value & 0xffff); ++ } ++ else if (reg & SM) { ++ tmp &= 0xff0000ff; ++ tmp |= ((value << 8) & 0x00ffff00); ++ } ++ else if (reg & SH) { ++ tmp &= 0xffff; ++ tmp |= ((value << 16) & 0xffff0000); ++ } ++ else ++ tmp = value; ++ ++ dbg("codec_write reg=%x, rval=%08x, fval=%08x", reg, tmp, value); ++ ezx_pcap_write((reg & 0x1f), tmp); ++ return 0; ++ ++} ++ ++static unsigned int pcap2_codec_read(struct snd_soc_codec *codec, unsigned int reg) ++{ ++ unsigned int tmp, ret; ++ ++ ezx_pcap_read((reg & 0x1f), &tmp); ++ ret = tmp; ++ if (reg & SL) ++ ret = (tmp & 0xffff); ++ else if (reg & SM) ++ ret = ((tmp >> 8) & 0xffff); ++ else if (reg & SH) ++ ret = ((tmp >> 16) & 0xffff); ++ ++ dbg("codec_read reg=%x, rval=%08x, fval=%08x", reg, tmp, ret); ++ return(ret); ++ ++} ++ ++static const char *pcap2_output_select[] = {"2ch", "2->1ch", "2->1ch -3db", "2->1ch -6db"}; ++ ++static const struct soc_enum pcap2_enum[] = { ++SOC_ENUM_SINGLE((PCAP2_OUTPUT_AMP|SH), 3, 4, pcap2_output_select), ++}; ++ ++static const struct snd_kcontrol_new pcap2_input_mixer_controls[] = { ++SOC_DAPM_SINGLE("A3 Switch", (PCAP2_INPUT_AMP|SL), 6, 1, 0), ++SOC_DAPM_SINGLE("A5 Switch", (PCAP2_INPUT_AMP|SL), 8, 1, 0), ++}; ++ ++static const struct snd_kcontrol_new pcap2_output_mixer_controls[] = { ++SOC_DAPM_SINGLE("A1 Switch", (PCAP2_OUTPUT_AMP|SL), 0, 1, 0), ++SOC_DAPM_SINGLE("A2 Switch", (PCAP2_OUTPUT_AMP|SL), 1, 1, 0), ++SOC_DAPM_SINGLE("AR Switch", (PCAP2_OUTPUT_AMP|SL), 5, 1, 0), ++SOC_DAPM_SINGLE("AL Switch", (PCAP2_OUTPUT_AMP|SL), 6, 1, 0), ++}; ++ ++/* pcap2 codec non DAPM controls */ ++static const struct snd_kcontrol_new pcap2_codec_snd_controls[] = { ++SOC_SINGLE("Output gain", (PCAP2_OUTPUT_AMP|SM), 5, 15, 0), ++SOC_SINGLE("Input gain", (PCAP2_INPUT_AMP|SL), 0, 31, 0), ++}; ++ ++static const struct snd_kcontrol_new pcap2_codec_dm_mux_control[] = { ++ SOC_DAPM_ENUM("Output Mode", pcap2_enum[0]), ++}; ++ ++/* add non dapm controls */ ++static int pcap2_codec_add_controls(struct snd_soc_codec *codec) ++{ ++ int err, i; ++ ++ for (i = 0; i < ARRAY_SIZE(pcap2_codec_snd_controls); i++) { ++ if ((err = snd_ctl_add(codec->card, ++ snd_soc_cnew(&pcap2_codec_snd_controls[i],codec, NULL))) < 0) ++ return err; ++ } ++ ++ return 0; ++} ++ ++/* pcap2 codec DAPM controls */ ++static const struct snd_soc_dapm_widget pcap2_codec_dapm_widgets[] = { ++ SND_SOC_DAPM_DAC("ST_DAC", "ST_DAC playback", SND_SOC_NOPM, 0, 0), ++ SND_SOC_DAPM_DAC("CDC_DAC", "CDC_DAC playback", SND_SOC_NOPM, 0, 0), ++ SND_SOC_DAPM_ADC("CDC_ADC", "CDC_DAC capture", SND_SOC_NOPM, 0, 0), ++ SND_SOC_DAPM_PGA("PGA_ST", (PCAP2_OUTPUT_AMP|SL), 9, 0, NULL, 0), ++ SND_SOC_DAPM_PGA("PGA_CDC", (PCAP2_OUTPUT_AMP|SL), 8, 0, NULL, 0), ++ SND_SOC_DAPM_PGA("PGA_R", (PCAP2_OUTPUT_AMP|SL), 11, 0, NULL, 0), ++ SND_SOC_DAPM_PGA("PGA_L", (PCAP2_OUTPUT_AMP|SL), 12, 0, NULL, 0), ++ SND_SOC_DAPM_MUX("Downmixer", SND_SOC_NOPM, 0, 0, pcap2_codec_dm_mux_control), ++ SND_SOC_DAPM_PGA("PGA_A1CTRL", (PCAP2_OUTPUT_AMP|SH), 1, 1, NULL, 0), ++ SND_SOC_DAPM_MIXER("Output Mixer", SND_SOC_NOPM, 0, 0, &pcap2_output_mixer_controls[0], ARRAY_SIZE(pcap2_output_mixer_controls)), ++ SND_SOC_DAPM_OUTPUT("A1"), /* Earpiece */ ++ SND_SOC_DAPM_OUTPUT("A2"), /* LoudSpeaker */ ++ SND_SOC_DAPM_OUTPUT("AR"), /* headset right */ ++ SND_SOC_DAPM_OUTPUT("AL"), /* headset left */ ++ ++ SND_SOC_DAPM_MICBIAS("BIAS1", (PCAP2_INPUT_AMP|SL), 10, 0), ++ SND_SOC_DAPM_MICBIAS("BIAS2", (PCAP2_INPUT_AMP|SL), 11, 0), ++ SND_SOC_DAPM_MIXER("Input Mixer", SND_SOC_NOPM, 0, 0, &pcap2_input_mixer_controls[0], ARRAY_SIZE(pcap2_input_mixer_controls)), ++ SND_SOC_DAPM_INPUT("A3"), /* Headset Mic */ ++ SND_SOC_DAPM_INPUT("A5"), /* Builtin Mic */ ++}; ++ ++static const char *audio_map[][3] = { ++ { "A1", NULL, "Output Mixer" }, ++ { "A2", NULL, "Output Mixer" }, ++ { "AR", NULL, "Output Mixer" }, ++ { "AL", NULL, "Output Mixer" }, ++ ++ { "Output Mixer", "A1 Switch", "PGA_A1CTRL" }, ++ { "Output Mixer", "A2 Switch", "Downmixer" }, ++ { "Output Mixer", "AR Switch", "PGA_R" }, ++ { "Output Mixer", "AL Switch", "PGA_L" }, ++ ++ { "PGA_A1CTRL", NULL, "Downmixer" }, ++ ++ { "Downmixer", "2->1ch", "PGA_L" }, ++ { "Downmixer", "2->1ch", "PGA_R" }, ++ { "Downmixer", "2->1ch -3db", "PGA_L" }, ++ { "Downmixer", "2->1ch -3db", "PGA_R" }, ++ { "Downmixer", "2->1ch -6db", "PGA_L" }, ++ { "Downmixer", "2->1ch -6db", "PGA_R" }, ++ { "Downmixer", "2ch", "PGA_R" }, ++ ++ { "PGA_R", NULL, "PGA_ST" }, ++ { "PGA_L", NULL, "PGA_ST" }, ++ { "PGA_R", NULL, "PGA_CDC" }, ++ ++ { "PGA_ST", NULL, "ST_DAC" }, ++ { "PGA_CDC", NULL, "CDC_DAC" }, ++ ++ /* input path */ ++ { "BIAS1", NULL, "A3" }, ++ { "BIAS2", NULL, "A5" }, ++ ++ { "Input Mixer", "A3 Switch", "BIAS1" }, ++ { "Input Mixer", "A5 Switch", "BIAS2" }, ++ ++ { "PGA_R", NULL, "Input Mixer" }, ++ ++ { "PGA_CDC", NULL, "PGA_R" }, ++ { "CDC_ADC", NULL, "PGA_CDC" }, ++ ++ /* terminator */ ++ {NULL, NULL, NULL}, ++}; ++ ++static int pcap2_codec_add_widgets(struct snd_soc_codec *codec) ++{ ++ int i; ++ ++ for(i = 0; i < ARRAY_SIZE(pcap2_codec_dapm_widgets); i++) { ++ snd_soc_dapm_new_control(codec, &pcap2_codec_dapm_widgets[i]); ++ } ++ ++ /* set up audio path interconnects */ ++ for(i = 0; audio_map[i][0] != NULL; i++) { ++ snd_soc_dapm_connect_input(codec, audio_map[i][0], ++ audio_map[i][1], audio_map[i][2]); ++ } ++ ++ snd_soc_dapm_new_widgets(codec); ++ return 0; ++} ++ ++static int pcap2_codec_dapm_event(struct snd_soc_codec *codec, int event) ++{ ++ unsigned int input = pcap2_codec_read(codec, PCAP2_INPUT_AMP); ++ ++ input &= ~PCAP2_INPUT_AMP_LOWPWR; ++ ++ switch (event) { ++ case SNDRV_CTL_POWER_D0: ++ case SNDRV_CTL_POWER_D1: ++ case SNDRV_CTL_POWER_D2: ++ case SNDRV_CTL_POWER_D3hot: /* Off, with power */ ++ dbg("dapm: ON\n"); ++ break; ++ case SNDRV_CTL_POWER_D3cold: /* Off, without power */ ++ input |= PCAP2_INPUT_AMP_LOWPWR; ++ dbg("dapm: OFF\n"); ++ break; ++ } ++ codec->dapm_state = event; ++ pcap2_codec_write(codec, PCAP2_INPUT_AMP, input); ++ return 0; ++} ++ ++static int pcap2_hw_params(struct snd_pcm_substream *substream, ++ struct snd_pcm_hw_params *params) ++{ ++ struct snd_soc_pcm_runtime *rtd = substream->private_data; ++ struct snd_soc_codec_dai *codec_dai = rtd->dai->codec_dai; ++ struct snd_soc_codec *codec = codec_dai->codec; ++ unsigned int tmp; ++ ++ if (codec_dai->id == PCAP2_STEREO_DAI) { ++ tmp = pcap2_codec_read(codec, PCAP2_ST_DAC); ++ ++ tmp &= ~PCAP2_ST_DAC_RATE_MASK; ++ switch(params_rate(params)) { ++ case 8000: ++ break; ++ case 11025: ++ tmp |= PCAP2_ST_DAC_RATE_11025; ++ break; ++ case 12000: ++ tmp |= PCAP2_ST_DAC_RATE_12000; ++ break; ++ case 16000: ++ tmp |= PCAP2_ST_DAC_RATE_16000; ++ break; ++ case 22050: ++ tmp |= PCAP2_ST_DAC_RATE_22050; ++ break; ++ case 24000: ++ tmp |= PCAP2_ST_DAC_RATE_24000; ++ break; ++ case 32000: ++ tmp |= PCAP2_ST_DAC_RATE_32000; ++ break; ++ case 44100: ++ tmp |= PCAP2_ST_DAC_RATE_44100; ++ break; ++ case 48000: ++ tmp |= PCAP2_ST_DAC_RATE_48000; ++ break; ++ default: ++ return -EINVAL; ++ } ++ tmp |= PCAP2_ST_DAC_RESET_DF; ++ pcap2_codec_write(codec, PCAP2_ST_DAC, tmp); ++ } ++ else { ++ tmp = pcap2_codec_read(codec, PCAP2_CODEC); ++ ++ tmp &= ~PCAP2_CODEC_RATE_MASK; ++ switch(params_rate(params)) { ++ case 8000: ++ break; ++ case 16000: ++ tmp |= PCAP2_CODEC_RATE_16000; ++ break; ++ default: ++ return -EINVAL; ++ } ++ tmp |= PCAP2_CODEC_RESET_DF; ++ pcap2_codec_write(codec, PCAP2_CODEC, tmp); ++ } ++ ++ return 0; ++} ++ ++static int pcap2_hw_free(struct snd_pcm_substream *substream) ++{ ++ struct snd_soc_pcm_runtime *rtd = substream->private_data; ++ struct snd_soc_codec_dai *codec_dai = rtd->dai->codec_dai; ++ struct snd_soc_codec *codec = codec_dai->codec; ++ struct snd_soc_dapm_widget *w; ++ unsigned int tmp; ++ ++ if (codec_dai->id == PCAP2_STEREO_DAI) { ++ snd_soc_dapm_set_endpoint(codec, "ST_DAC", 0); ++ tmp = pcap2_codec_read(codec, PCAP2_ST_DAC); ++ tmp &= ~(PCAP2_ST_DAC_EN | PCAP2_ST_DAC_CLK_EN); ++ pcap2_codec_write(codec, PCAP2_ST_DAC, tmp); ++ } ++ else { ++ if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) ++ snd_soc_dapm_set_endpoint(codec, "CDC_DAC", 0); ++ else ++ snd_soc_dapm_set_endpoint(codec, "CDC_ADC", 0); ++ list_for_each_entry(w, &codec->dapm_widgets, list) { ++ if ((!strcmp(w->name, "CDC_DAC") || !strcmp(w->name, "CDC_ADC")) && w->connected) ++ goto in_use; ++ } ++ tmp = pcap2_codec_read(codec, PCAP2_CODEC); ++ tmp &= ~(PCAP2_CODEC_EN | PCAP2_CODEC_CLK_EN); ++ pcap2_codec_write(codec, PCAP2_CODEC, tmp); ++ } ++in_use: ++ snd_soc_dapm_sync_endpoints(codec); ++ ++ return 0; ++} ++ ++static int pcap2_set_dai_sysclk(struct snd_soc_codec_dai *codec_dai, ++ int clk_id, unsigned int freq, int dir) ++{ ++ struct snd_soc_codec *codec = codec_dai->codec; ++ ++ unsigned int tmp; ++ if (codec_dai->id == PCAP2_STEREO_DAI) { ++ /* ST_DAC */ ++ ++ tmp = pcap2_codec_read(codec, PCAP2_ST_DAC); ++ ++ tmp &= ~PCAP2_ST_DAC_CLKSEL_MASK; ++ switch (clk_id) { ++ case PCAP2_CLK_AP: ++ tmp |= PCAP2_ST_DAC_CLKSEL_AP; ++ break; ++ case PCAP2_CLK_BP: ++ break; ++ default: ++ return -ENODEV; ++ } ++ ++ tmp &= ~PCAP2_ST_DAC_CLK_MASK; ++ switch (freq) { ++ case 13000000: ++ break; ++/* case 15M36: ++ tmp |= PCAP2_ST_DAC_CLK_15M36; ++ break; ++ case 16M8: ++ tmp |= PCAP2_ST_DAC_CLK_16M8; ++ break; ++ case 19M44: ++ tmp |= PCAP2_ST_DAC_CLK_19M44; ++ break; ++*/ case 26000000: ++ tmp |= PCAP2_ST_DAC_CLK_26M; ++ break; ++/* case EXT_MCLK: ++ tmp |= PCAP2_ST_DAC_CLK_MCLK; ++ break; ++ case FSYNC: ++ tmp |= PCAP2_ST_DAC_CLK_FSYNC; ++ break; ++ case BITCLK: ++ tmp |= PCAP2_ST_DAC_CLK_BITCLK; ++ break; ++*/ default: ++ return -EINVAL; ++ } ++ pcap2_codec_write(codec, PCAP2_ST_DAC, tmp); ++ } ++ else { ++ /* MONO_DAC */ ++ tmp = pcap2_codec_read(codec, PCAP2_CODEC); ++ ++ tmp &= ~PCAP2_CODEC_CLKSEL_MASK; ++ switch (clk_id) { ++ case PCAP2_CLK_AP: ++ tmp |= PCAP2_CODEC_CLKSEL_AP; ++ break; ++ case PCAP2_CLK_BP: ++ break; ++ default: ++ return -ENODEV; ++ } ++ ++ tmp &= ~PCAP2_CODEC_CLK_MASK; ++ switch (freq) { ++ case 13000000: ++ break; ++/* case 15M36: ++ tmp |= PCAP2_CODEC_CLK_15M36; ++ break; ++ case 16M8: ++ tmp |= PCAP2_CODEC_CLK_16M8; ++ break; ++ case 19M44: ++ tmp |= PCAP2_CODEC_CLK_19M44; ++ break; ++*/ case 26000000: ++ tmp |= PCAP2_CODEC_CLK_26M; ++ break; ++ default: ++ return -EINVAL; ++ } ++ pcap2_codec_write(codec, PCAP2_CODEC, tmp); ++ } ++ return 0; ++} ++ ++static int pcap2_set_dai_fmt(struct snd_soc_codec_dai *codec_dai, ++ unsigned int fmt) ++{ ++ struct snd_soc_codec *codec = codec_dai->codec; ++ unsigned int tmp = 0; ++ ++ if (codec_dai->id == PCAP2_STEREO_DAI) { ++ /* ST_DAC */ ++ ++ /* disable CODEC */ ++ pcap2_codec_write(codec, PCAP2_CODEC, 0); ++ ++ switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) { ++ case SND_SOC_DAIFMT_CBM_CFM: ++ break; ++ case SND_SOC_DAIFMT_CBS_CFS: ++ tmp |= 0x1; ++ break; ++ default: ++ return -EINVAL; ++ } ++ ++ switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) { ++ case SND_SOC_DAIFMT_I2S: ++ tmp |= 0x4000; ++ break; ++/* case SND_SOC_NET: ++ tmp |= 0x2000; ++ break; ++*/ case SND_SOC_DAIFMT_DSP_B: ++ break; ++ default: ++ return -EINVAL; ++ } ++ ++ switch (fmt & SND_SOC_DAIFMT_INV_MASK) { ++ case SND_SOC_DAIFMT_IB_IF: ++ break; ++ case SND_SOC_DAIFMT_NB_NF: ++ tmp |= 0x60000; ++ break; ++ case SND_SOC_DAIFMT_IB_NF: ++ tmp |= 0x40000; ++ break; ++ case SND_SOC_DAIFMT_NB_IF: ++ tmp |= 0x20000; ++ break; ++ } ++ /* set dai to AP */ ++ tmp |= 0x1000; ++ ++ /* set BCLK */ ++ tmp |= 0x18000; ++ ++ pcap2_codec_write(codec, PCAP2_ST_DAC, tmp); ++ } ++ else { ++ /* MONO_DAC */ ++ ++ /* disable ST_DAC */ ++ pcap2_codec_write(codec, PCAP2_ST_DAC, 0); ++ ++ switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) { ++ case SND_SOC_DAIFMT_CBM_CFM: ++ break; ++ case SND_SOC_DAIFMT_CBS_CFS: ++ tmp |= 0x2; ++ break; ++ default: ++ return -EINVAL; ++ } ++ ++ switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) { ++ case SND_SOC_DAIFMT_DSP_B: ++ break; ++ default: ++ return -EINVAL; ++ } ++ ++ switch (fmt & SND_SOC_DAIFMT_INV_MASK) { ++ case SND_SOC_DAIFMT_IB_IF: ++ break; ++ case SND_SOC_DAIFMT_NB_NF: ++ tmp |= 0x600; ++ break; ++ case SND_SOC_DAIFMT_IB_NF: ++ tmp |= 0x400; ++ break; ++ case SND_SOC_DAIFMT_NB_IF: ++ tmp |= 0x200; ++ break; ++ } ++ if (codec_dai->id == PCAP2_MONO_DAI) ++ /* set dai to AP */ ++ tmp |= 0x8000; ++ ++ tmp |= 0x5; /* IHF / OHF */ ++ ++ pcap2_codec_write(codec, PCAP2_CODEC, tmp); ++ } ++ return 0; ++} ++ ++static int pcap2_prepare(struct snd_pcm_substream *substream) ++{ ++ ++ struct snd_soc_pcm_runtime *rtd = substream->private_data; ++ struct snd_soc_codec_dai *codec_dai = rtd->dai->codec_dai; ++ struct snd_soc_codec *codec = codec_dai->codec; ++ unsigned int tmp; ++ /* FIXME enable clock only if codec is master */ ++ if (codec_dai->id == PCAP2_STEREO_DAI) { ++ snd_soc_dapm_set_endpoint(codec, "ST_DAC", 1); ++ snd_soc_dapm_set_endpoint(codec, "CDC_DAC", 0); ++ snd_soc_dapm_set_endpoint(codec, "CDC_ADC", 0); ++ tmp = pcap2_codec_read(codec, PCAP2_ST_DAC); ++ tmp |= (PCAP2_ST_DAC_EN | PCAP2_ST_DAC_CLK_EN); ++ pcap2_codec_write(codec, PCAP2_ST_DAC, tmp); ++ } ++ else { ++ if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) ++ snd_soc_dapm_set_endpoint(codec, "CDC_DAC", 1); ++ else ++ snd_soc_dapm_set_endpoint(codec, "CDC_ADC", 1); ++ snd_soc_dapm_set_endpoint(codec, "ST_DAC", 0); ++ tmp = pcap2_codec_read(codec, PCAP2_CODEC); ++ tmp |= (PCAP2_CODEC_EN | PCAP2_CODEC_CLK_EN); ++ pcap2_codec_write(codec, PCAP2_CODEC, tmp); ++ } ++ snd_soc_dapm_sync_endpoints(codec); ++ mdelay(1); ++#ifdef PCAP2_DEBUG ++ dump_registers(); ++#endif ++ return 0; ++} ++ ++/* ++ * Define codec DAI. ++ */ ++struct snd_soc_codec_dai pcap2_dai[] = { ++{ ++ .name = "PCAP2 MONO", ++ .id = 0, ++ .playback = { ++ .stream_name = "CDC_DAC playback", ++ .channels_min = 1, ++ .channels_max = 1, ++ .rates = (SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000), ++ .formats = SNDRV_PCM_FMTBIT_S16_LE, ++ }, ++ .capture = { ++ .stream_name = "CDC_DAC capture", ++ .channels_min = 1, ++ .channels_max = 1, ++ .rates = (SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000), ++ .formats = SNDRV_PCM_FMTBIT_S16_LE, ++ }, ++ .ops = { ++ .prepare = pcap2_prepare, ++ .hw_params = pcap2_hw_params, ++ .hw_free = pcap2_hw_free, ++ }, ++ .dai_ops = { ++// .digital_mute = pcap2_mute, ++ .set_fmt = pcap2_set_dai_fmt, ++ .set_sysclk = pcap2_set_dai_sysclk, ++ }, ++}, ++{ ++ .name = "PCAP2 STEREO", ++ .id = 1, ++ .playback = { ++ .stream_name = "ST_DAC playback", ++ .channels_min = 1, ++ .channels_max = 2, ++ .rates = (SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_11025 | ++ SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_22050 | ++ SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 | ++ SNDRV_PCM_RATE_48000), ++ .formats = SNDRV_PCM_FMTBIT_S16_LE, ++ }, ++ .capture = { /* FIXME: PCAP support this?? */ ++ .stream_name = "ST_DAC capture", ++ .channels_min = 1, ++ .channels_max = 1, ++ .rates = (SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_11025 | ++ SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_22050 | ++ SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 | ++ SNDRV_PCM_RATE_48000), ++ .formats = SNDRV_PCM_FMTBIT_S16_LE, ++ }, ++ .ops = { ++ .prepare = pcap2_prepare, ++ .hw_params = pcap2_hw_params, ++ .hw_free = pcap2_hw_free, ++ }, ++ .dai_ops = { ++// .digital_mute = pcap2_mute, ++ .set_fmt = pcap2_set_dai_fmt, ++ .set_sysclk = pcap2_set_dai_sysclk, ++ }, ++}, ++{ ++ .name = "PCAP2 BP", ++ .id = 2, ++ .playback = { ++ .stream_name = "BP playback", ++ .channels_min = 1, ++ .channels_max = 1, ++ .rates = SNDRV_PCM_RATE_8000, ++ .formats = SNDRV_PCM_FMTBIT_S16_LE, ++ }, ++ .ops = { ++ .prepare = pcap2_prepare, ++ .hw_params = pcap2_hw_params, ++ .hw_free = pcap2_hw_free, ++ }, ++ .dai_ops = { ++// .digital_mute = pcap2_mute, ++ .set_fmt = pcap2_set_dai_fmt, ++ .set_sysclk = pcap2_set_dai_sysclk, ++ }, ++}, ++}; ++EXPORT_SYMBOL_GPL(pcap2_dai); ++ ++static int pcap2_codec_suspend(struct platform_device *pdev, pm_message_t state) ++{ ++ struct snd_soc_device *socdev = platform_get_drvdata(pdev); ++ struct snd_soc_codec *codec = socdev->codec; ++ ++ dbg("pcap2_codec_suspend"); ++ pcap2_codec_dapm_event(codec, SNDRV_CTL_POWER_D3cold); ++ return 0; ++} ++ ++static int pcap2_codec_resume(struct platform_device *pdev) ++{ ++ struct snd_soc_device *socdev = platform_get_drvdata(pdev); ++ struct snd_soc_codec *codec = socdev->codec; ++ ++ dbg("pcap2_codec_resume"); ++ pcap2_codec_dapm_event(codec, SNDRV_CTL_POWER_D3hot); ++ pcap2_codec_dapm_event(codec, codec->suspend_dapm_state); ++ return 0; ++} ++ ++/* ++ * initialise the PCAP2 driver ++ * register the mixer and dsp interfaces with the kernel ++ */ ++static int pcap2_codec_init(struct snd_soc_device *socdev) ++{ ++ struct snd_soc_codec *codec = socdev->codec; ++ int ret = 0; ++ ++ dbg("pcap2_codec_init"); ++ codec->name = "PCAP2 Audio"; ++ codec->owner = THIS_MODULE; ++ codec->read = pcap2_codec_read; ++ codec->write = pcap2_codec_write; ++ codec->dapm_event = pcap2_codec_dapm_event; ++ codec->dai = pcap2_dai; ++ codec->num_dai = ARRAY_SIZE(pcap2_dai); ++ ++ /* register pcms */ ++ ret = snd_soc_new_pcms(socdev, SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1); ++ if (ret < 0) { ++ return ret; ++ } ++ /* power on device */ ++ pcap2_codec_dapm_event(codec, SNDRV_CTL_POWER_D3hot); ++ /* set the update bits */ ++ ++ pcap2_codec_add_controls(codec); ++ pcap2_codec_add_widgets(codec); ++ ret = snd_soc_register_card(socdev); ++ if (ret < 0) { ++ snd_soc_free_pcms(socdev); ++ snd_soc_dapm_free(socdev); ++ } ++ ++ return ret; ++} ++ ++static int pcap2_codec_probe(struct platform_device *pdev) ++{ ++ struct snd_soc_device *socdev = platform_get_drvdata(pdev); ++ struct pcap2_codec_setup_data *setup; ++ struct snd_soc_codec *codec; ++ int ret = 0; ++ info("PCAP2 Audio Codec %s", PCAP2_VERSION); ++ ++ setup = socdev->codec_data; ++ codec = kzalloc(sizeof(struct snd_soc_codec), GFP_KERNEL); ++ if (codec == NULL) ++ return -ENOMEM; ++ ++ socdev->codec = codec; ++ mutex_init(&codec->mutex); ++ INIT_LIST_HEAD(&codec->dapm_widgets); ++ INIT_LIST_HEAD(&codec->dapm_paths); ++ ++ pcap2_codec_socdev = socdev; ++ ++ ret = pcap2_codec_init(socdev); ++ return ret; ++} ++ ++/* power down chip and remove */ ++static int pcap2_codec_remove(struct platform_device *pdev) ++{ ++ struct snd_soc_device *socdev = platform_get_drvdata(pdev); ++ struct snd_soc_codec *codec = socdev->codec; ++ if (codec->control_data) ++ pcap2_codec_dapm_event(codec, SNDRV_CTL_POWER_D3cold); ++ snd_soc_free_pcms(socdev); ++ snd_soc_dapm_free(socdev); ++ ++ kfree(codec); ++ ++ return 0; ++} ++ ++/* codec device ops */ ++struct snd_soc_codec_device soc_codec_dev_pcap2 = { ++ .probe = pcap2_codec_probe, ++ .remove = pcap2_codec_remove, ++ .suspend = pcap2_codec_suspend, ++ .resume = pcap2_codec_resume, ++}; ++ ++EXPORT_SYMBOL_GPL(soc_codec_dev_pcap2); ++ ++MODULE_DESCRIPTION("ASoC PCAP2 codec"); ++MODULE_AUTHOR("Daniel Ribeiro"); ++MODULE_LICENSE("GPL"); +Index: linux-2.6.21/sound/soc/codecs/pcap2.h +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.21/sound/soc/codecs/pcap2.h 2007-09-07 12:13:49.000000000 -0300 +@@ -0,0 +1,81 @@ ++/* ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ */ ++ ++#ifndef _PCAP2_H ++#define _PCAP2_H ++ ++/* 16 bit reads/writes on pcap registers (ugly workaround) */ ++#define SL (1 << 5) /* lower 16 bits */ ++#define SM (1 << 6) /* mid 16 bits */ ++#define SH (1 << 7) /* higher 16 bits */ ++ ++/* PCAP2 register space */ ++#define PCAP2_CODEC 0x0b ++#define PCAP2_OUTPUT_AMP 0x0c ++#define PCAP2_ST_DAC 0x0d ++#define PCAP2_INPUT_AMP 0x1a ++ ++#define PCAP2_MONO_DAI 0 ++#define PCAP2_STEREO_DAI 1 ++#define PCAP2_BP_DAI 2 ++ ++#define PCAP2_CLK_BP 0 ++#define PCAP2_CLK_AP 1 ++ ++#define PCAP2_CODEC_EN 0x2000 ++#define PCAP2_CODEC_CLK_EN 0x1000 ++#define PCAP2_CODEC_RESET_DF 0x800 ++#define PCAP2_CODEC_RATE_MASK 0x4000 ++#define PCAP2_CODEC_RATE_8000 0x0 ++#define PCAP2_CODEC_RATE_16000 0x4000 ++#define PCAP2_CODEC_CLKSEL_MASK 0x10000 ++#define PCAP2_CODEC_CLKSEL_AP 0x10000 ++#define PCAP2_CODEC_CLKSEL_BP 0x0 ++#define PCAP2_CODEC_CLK_MASK 0x1c0 ++#define PCAP2_CODEC_CLK_13M 0x0 ++#define PCAP2_CODEC_CLK_15M36 0x40 ++#define PCAP2_CODEC_CLK_16M8 0x80 ++#define PCAP2_CODEC_CLK_19M44 0xc0 ++#define PCAP2_CODEC_CLK_26M 0x100 ++ ++#define PCAP2_ST_DAC_EN 0x80 ++#define PCAP2_ST_DAC_CLK_EN 0x20 ++#define PCAP2_ST_DAC_RESET_DF 0x40 ++#define PCAP2_ST_DAC_RATE_MASK 0xf00 ++#define PCAP2_ST_DAC_RATE_8000 0x0 ++#define PCAP2_ST_DAC_RATE_11025 0x100 ++#define PCAP2_ST_DAC_RATE_12000 0x200 ++#define PCAP2_ST_DAC_RATE_16000 0x300 ++#define PCAP2_ST_DAC_RATE_22050 0x400 ++#define PCAP2_ST_DAC_RATE_24000 0x500 ++#define PCAP2_ST_DAC_RATE_32000 0x600 ++#define PCAP2_ST_DAC_RATE_44100 0x700 ++#define PCAP2_ST_DAC_RATE_48000 0x800 ++#define PCAP2_ST_DAC_CLKSEL_MASK 0x80000 ++#define PCAP2_ST_DAC_CLKSEL_AP 0x80000 ++#define PCAP2_ST_DAC_CLKSEL_BP 0x0 ++#define PCAP2_ST_DAC_CLK_MASK 0x1c ++#define PCAP2_ST_DAC_CLK_13M 0x0 ++#define PCAP2_ST_DAC_CLK_15M36 0x4 ++#define PCAP2_ST_DAC_CLK_16M8 0x8 ++#define PCAP2_ST_DAC_CLK_19M44 0xc ++#define PCAP2_ST_DAC_CLK_26M 0x10 ++#define PCAP2_ST_DAC_CLK_MCLK 0x14 ++#define PCAP2_ST_DAC_CLK_FSYNC 0x18 ++#define PCAP2_ST_DAC_CLK_BITCLK 0x1c ++ ++#define PCAP2_INPUT_AMP_LOWPWR 0x80000 ++#define PCAP2_INPUT_AMP_V2EN2 0x200000 ++ ++#define PCAP2_OUTPUT_AMP_PGAR_EN 0x800 ++#define PCAP2_OUTPUT_AMP_PGAL_EN 0x1000 ++#define PCAP2_OUTPUT_AMP_CDC_SW 0x100 ++#define PCAP2_OUTPUT_AMP_ST_DAC_SW 0x200 ++ ++extern struct snd_soc_codec_dai pcap2_dai[]; ++extern struct snd_soc_codec_device soc_codec_dev_pcap2; ++ ++#endif +Index: linux-2.6.21/sound/soc/pxa/Kconfig +=================================================================== +--- linux-2.6.21.orig/sound/soc/pxa/Kconfig 2007-09-07 12:13:43.000000000 -0300 ++++ linux-2.6.21/sound/soc/pxa/Kconfig 2007-09-07 12:13:49.000000000 -0300 +@@ -60,4 +60,13 @@ + Say Y if you want to add support for SoC audio on Sharp + Zaurus SL-C6000x models (Tosa). + ++config SND_PXA2XX_SOC_EZX ++ tristate "SoC Audio support for EZX" ++ depends on SND_PXA2XX_SOC && PXA_EZX ++ select SND_PXA2XX_SOC_SSP ++ select SND_SOC_PCAP2 ++ help ++ Say Y if you want to add support for SoC audio on ++ Motorola EZX Phones (a780/e680). ++ + endmenu +Index: linux-2.6.21/sound/soc/pxa/ezx.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.21/sound/soc/pxa/ezx.c 2007-09-07 13:12:24.000000000 -0300 +@@ -0,0 +1,349 @@ ++/* ++ * ezx.c - Machine specific code for EZX phones ++ * ++ * Copyright (C) 2007 Daniel Ribeiro <drwyrm@gmail.com> ++ * ++ * 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. ++ * ++ */ ++ ++#include <linux/module.h> ++#include <linux/moduleparam.h> ++#include <linux/timer.h> ++#include <linux/interrupt.h> ++#include <linux/platform_device.h> ++#include <sound/driver.h> ++#include <sound/core.h> ++#include <sound/pcm.h> ++#include <sound/soc.h> ++#include <sound/soc-dapm.h> ++ ++#include <asm/mach-types.h> ++#include <asm/arch/pxa-regs.h> ++#include <asm/arch/hardware.h> ++ ++#include <asm/arch/ezx-pcap.h> ++ ++#include "../codecs/pcap2.h" ++#include "pxa2xx-pcm.h" ++#include "pxa2xx-ssp.h" ++ ++#define GPIO_HW_ATTENUATE_A780 96 ++ ++static struct snd_soc_codec *control_codec; ++ ++static void ezx_ext_control(struct snd_soc_codec *codec) ++{ ++ if (ezx_pcap_read_bit(pbit(PCAP_REG_PSTAT, PCAP_IRQ_A1))) ++ snd_soc_dapm_set_endpoint(codec, "Headset", 1); ++ else ++ snd_soc_dapm_set_endpoint(codec, "Headset", 0); ++ if (ezx_pcap_read_bit(pbit(PCAP_REG_PSTAT, PCAP_IRQ_MB2))) ++ snd_soc_dapm_set_endpoint(codec, "External Mic", 1); ++ else ++ snd_soc_dapm_set_endpoint(codec, "External Mic", 0); ++ ++ snd_soc_dapm_sync_endpoints(codec); ++} ++ ++static irqreturn_t jack_irq(int irq, void *data) ++{ ++ ezx_ext_control(control_codec); ++ return IRQ_HANDLED; ++} ++ ++ ++/* ++ * Alsa operations ++ * Only implement the required operations for your platform. ++ * These operations are specific to the machine only. ++ */ ++ ++ /* ++ * Called by ALSA when a PCM substream is opened, private data can be allocated. ++ */ ++static int ezx_machine_startup(struct snd_pcm_substream *substream) ++{ ++ struct snd_soc_pcm_runtime *rtd = substream->private_data; ++ struct snd_soc_codec *codec = rtd->socdev->codec; ++ ++ /* check the jack status at stream startup */ ++ ezx_ext_control(codec); ++ return 0; ++} ++ ++/* ++ * Called by ALSA when the hardware params are set by application. This ++ * function can also be called multiple times and can allocate buffers ++ * (using snd_pcm_lib_* ). It's non-atomic. ++ */ ++static int ezx_machine_hw_params(struct snd_pcm_substream *substream, ++ struct snd_pcm_hw_params *params) ++{ ++ struct snd_soc_pcm_runtime *rtd = substream->private_data; ++ struct snd_soc_codec_dai *codec_dai = rtd->dai->codec_dai; ++ struct snd_soc_cpu_dai *cpu_dai = rtd->dai->cpu_dai; ++ int ret; ++ ++ /* set codec DAI configuration */ ++ if (codec_dai->id == PCAP2_STEREO_DAI) ++ ret = codec_dai->dai_ops.set_fmt(codec_dai, SND_SOC_DAIFMT_DSP_B | ++ SND_SOC_DAIFMT_IB_NF | SND_SOC_DAIFMT_CBM_CFM); ++ else ++ ret = codec_dai->dai_ops.set_fmt(codec_dai, SND_SOC_DAIFMT_DSP_B | ++ SND_SOC_DAIFMT_IB_IF | SND_SOC_DAIFMT_CBM_CFM); ++ if(ret < 0) ++ return ret; ++ ++ /* Turn on clock output on CLK_PIO */ ++ OSCC |= 0x8; ++ ++ /* set clock source */ ++ ret = codec_dai->dai_ops.set_sysclk(codec_dai, PCAP2_CLK_AP, ++ 13000000, SND_SOC_CLOCK_IN); ++ if(ret < 0) ++ return ret; ++ ++ /* set cpu DAI configuration */ ++ ret = cpu_dai->dai_ops.set_fmt(cpu_dai, SND_SOC_DAIFMT_DSP_B | ++ SND_SOC_DAIFMT_IB_IF | SND_SOC_DAIFMT_CBM_CFM); ++ if (ret < 0) ++ return ret; ++ ++ ret = cpu_dai->dai_ops.set_tristate(cpu_dai, 0); ++ if (ret < 0) ++ return ret; ++ ++ ret = cpu_dai->dai_ops.set_sysclk(cpu_dai,PXA2XX_SSP_CLK_EXT, ++ 0, SND_SOC_CLOCK_IN); ++ if (ret < 0) ++ return ret; ++ ++ return 0; ++} ++ ++/* ++ * Free's resources allocated by hw_params, can be called multiple times ++ */ ++static int ezx_machine_hw_free(struct snd_pcm_substream *substream) ++{ ++ OSCC &= ~0x8; /* turn off clock output on CLK_PIO */ ++ ++ return 0; ++} ++ ++static int ezx_machine_prepare(struct snd_pcm_substream *substream) ++{ ++ struct snd_soc_pcm_runtime *rtd = substream->private_data; ++ struct snd_soc_codec_dai *codec_dai = rtd->dai->codec_dai; ++ struct snd_soc_cpu_dai *cpu_dai = rtd->dai->cpu_dai; ++ ++ if (codec_dai->id == PCAP2_STEREO_DAI) { ++ /* override pxa2xx-ssp sample size for stereo/network mode */ ++ SSCR0_P(cpu_dai->id+1) &= ~(SSCR0_DSS | SSCR0_EDSS); ++ SSCR0_P(cpu_dai->id+1) |= (SSCR0_EDSS | SSCR0_DataSize(16)); ++ } ++ return 0; ++} ++ ++/* machine Alsa PCM operations */ ++static struct snd_soc_ops ezx_ops = { ++ .startup = ezx_machine_startup, ++ .prepare = ezx_machine_prepare, ++ .hw_free = ezx_machine_hw_free, ++ .hw_params = ezx_machine_hw_params, ++}; ++ ++static int bp_hw_params(struct snd_pcm_substream *substream, ++ struct snd_pcm_hw_params *params) ++{ ++ struct snd_soc_pcm_runtime *rtd = substream->private_data; ++ struct snd_soc_codec_dai *codec_dai = rtd->dai->codec_dai; ++// struct snd_soc_cpu_dai *cpu_dai = rtd->dai->cpu_dai; ++ int ret = 0; ++ /* set codec DAI configuration */ ++ ret = codec_dai->dai_ops.set_fmt(codec_dai, SND_SOC_DAIFMT_DSP_B | ++ SND_SOC_DAIFMT_IB_IF | SND_SOC_DAIFMT_CBM_CFM); ++ if(ret < 0) ++ return ret; ++ ++ /* set clock source */ ++ ret = codec_dai->dai_ops.set_sysclk(codec_dai, PCAP2_CLK_BP, ++ 13000000, SND_SOC_CLOCK_IN); ++ ++ return ret; ++} ++ ++ ++ ++/* machine dapm widgets */ ++static const struct snd_soc_dapm_widget ezx_dapm_widgets[] = { ++ SND_SOC_DAPM_HP("Headset", NULL), ++ SND_SOC_DAPM_SPK("Earpiece", NULL), ++ SND_SOC_DAPM_SPK("Loudspeaker", NULL), ++ SND_SOC_DAPM_MIC("Built-in Mic", NULL), ++ SND_SOC_DAPM_MIC("External Mic", NULL), ++}; ++ ++/* machine audio map (connections to the codec pins) */ ++static const char *audio_map[][3] = { ++ { "Headset", NULL, "AR" }, ++ { "Headset", NULL, "AL" }, ++ { "Earpiece", NULL, "A1" }, ++ { "Loudspeaker", NULL, "A2" }, ++ ++ { "Built-in Mic", NULL, "A5" }, ++ { "External Mic", NULL, "A3" }, ++ ++ {NULL, NULL, NULL}, ++}; ++ ++/* ++ * Initialise the machine audio subsystem. ++ */ ++static int ezx_machine_init(struct snd_soc_codec *codec) ++{ ++ int i; ++ /* mark unused codec pins as NC */ ++// snd_soc_dapm_set_endpoint(codec, "FIXME", 0); ++ control_codec = codec; ++ ++ /* Add ezx specific controls */ ++// for (i = 0; i < ARRAY_SIZE(ezx_controls); i++) { ++// if ((err = snd_ctl_add(codec->card, snd_soc_cnew(&ezx_controls[i], codec, NULL))) < 0) ++// return err; ++// } ++ ++ /* Add ezx specific widgets */ ++ for(i = 0; i < ARRAY_SIZE(ezx_dapm_widgets); i++) { ++ snd_soc_dapm_new_control(codec, &ezx_dapm_widgets[i]); ++ } ++ /* Set up ezx specific audio path interconnects */ ++ for(i = 0; audio_map[i][0] != NULL; i++) { ++ snd_soc_dapm_connect_input(codec, audio_map[i][0], audio_map[i][1], audio_map[i][2]); ++ } ++ ++ /* synchronise subsystem */ ++ snd_soc_dapm_sync_endpoints(codec); ++ return 0; ++} ++ ++static struct snd_soc_cpu_dai bp_dai = ++{ ++ .name = "Baseband", ++ .id = 0, ++ .type = SND_SOC_DAI_PCM, ++ .playback = { ++ .channels_min = 1, ++ .channels_max = 1, ++ .rates = SNDRV_PCM_RATE_8000, ++ .formats = SNDRV_PCM_FMTBIT_S16_LE, ++ }, ++ .capture = { ++ .channels_min = 1, ++ .channels_max = 1, ++ .rates = SNDRV_PCM_RATE_8000, ++ .formats = SNDRV_PCM_FMTBIT_S16_LE, ++ }, ++ .ops = { ++// .startup = bp_startup, ++// .shutdown = bp_shutdown, ++ .hw_params = bp_hw_params, ++// .hw_free = bp_hw_free, ++ }, ++}; ++ ++/* template digital audio interface glue - connects codec <--> CPU */ ++static struct snd_soc_dai_link ezx_dai[] = { ++{ ++ .name = "PCAP2 STEREO", ++ .stream_name = "stereo playback", ++ .cpu_dai = &pxa_ssp_dai[PXA2XX_DAI_SSP3], ++ .codec_dai = &pcap2_dai[PCAP2_STEREO_DAI], ++ .init = ezx_machine_init, ++ .ops = &ezx_ops, ++}, ++{ ++ .name = "PCAP2 MONO", ++ .stream_name = "mono playback", ++ .cpu_dai = &pxa_ssp_dai[PXA2XX_DAI_SSP3], ++ .codec_dai = &pcap2_dai[PCAP2_MONO_DAI], ++// .init = ezx_machine_init, /* the stereo call already registered our controls */ ++ .ops = &ezx_ops, ++}, ++{ ++ .name = "PCAP2 BP", ++ .stream_name = "BP Audio", ++ .cpu_dai = &bp_dai, ++ .codec_dai = &pcap2_dai[PCAP2_BP_DAI], ++}, ++}; ++ ++/* template audio machine driver */ ++static struct snd_soc_machine snd_soc_machine_ezx = { ++ .name = "Motorola EZX", ++// .probe ++// .remove ++// .suspend_pre ++// .resume_post ++ .dai_link = ezx_dai, ++ .num_links = ARRAY_SIZE(ezx_dai), ++}; ++ ++/* template audio subsystem */ ++static struct snd_soc_device ezx_snd_devdata = { ++ .machine = &snd_soc_machine_ezx, ++ .platform = &pxa2xx_soc_platform, ++ .codec_dev = &soc_codec_dev_pcap2, ++}; ++ ++static struct platform_device *ezx_snd_device; ++ ++static int __init ezx_init(void) ++{ ++ int ret; ++ ezx_snd_device = platform_device_alloc("soc-audio", -1); ++ if (!ezx_snd_device) ++ return -ENOMEM; ++ ++ platform_set_drvdata(ezx_snd_device, &ezx_snd_devdata); ++ ezx_snd_devdata.dev = &ezx_snd_device->dev; ++ ret = platform_device_add(ezx_snd_device); ++ ++ if (ret) ++ platform_device_put(ezx_snd_device); ++ /* configure gpio for ssp3 */ ++ pxa_gpio_mode(GPIO83_SFRM3_MD); /* SFRM */ ++ pxa_gpio_mode(GPIO81_STXD3_MD); /* TXD */ ++ pxa_gpio_mode(GPIO52_SCLK3_MD); /* SCLK */ ++ pxa_gpio_mode(GPIO89_SRXD3_MD); /* RXD */ ++ ++ /* configure gpio for ssp2 */ ++ pxa_gpio_mode(37 | GPIO_IN); /* SFRM */ ++ pxa_gpio_mode(38 | GPIO_IN); /* TXD */ ++ pxa_gpio_mode(22 | GPIO_IN); /* SCLK */ ++ pxa_gpio_mode(88 | GPIO_IN); /* RXD */ ++ ++ pxa_gpio_mode(GPIO_HW_ATTENUATE_A780 | GPIO_OUT); ++ pxa_gpio_set_value(GPIO_HW_ATTENUATE_A780, 1); ++ ++ /* request jack irq */ ++ request_irq(EZX_IRQ_HEADJACK, &jack_irq, SA_INTERRUPT, "headphone jack", NULL); ++ request_irq(EZX_IRQ_MIC, &jack_irq, SA_INTERRUPT, "mic jack", NULL); ++ ++ return ret; ++} ++ ++static void __exit ezx_exit(void) ++{ ++ free_irq(EZX_IRQ_HEADJACK, NULL); ++ free_irq(EZX_IRQ_MIC, NULL); ++ platform_device_unregister(ezx_snd_device); ++} ++ ++module_init(ezx_init); ++module_exit(ezx_exit); ++ +Index: linux-2.6.21/sound/soc/codecs/Makefile +=================================================================== +--- linux-2.6.21.orig/sound/soc/codecs/Makefile 2007-09-07 12:13:43.000000000 -0300 ++++ linux-2.6.21/sound/soc/codecs/Makefile 2007-09-07 12:13:49.000000000 -0300 +@@ -2,8 +2,10 @@ + snd-soc-wm8731-objs := wm8731.o + snd-soc-wm8750-objs := wm8750.o + snd-soc-wm9712-objs := wm9712.o ++snd-soc-pcap2-objs := pcap2.o + + obj-$(CONFIG_SND_SOC_AC97_CODEC) += snd-soc-ac97.o + obj-$(CONFIG_SND_SOC_WM8731) += snd-soc-wm8731.o + obj-$(CONFIG_SND_SOC_WM8750) += snd-soc-wm8750.o + obj-$(CONFIG_SND_SOC_WM9712) += snd-soc-wm9712.o ++obj-$(CONFIG_SND_SOC_PCAP2) += snd-soc-pcap2.o +Index: linux-2.6.21/sound/soc/codecs/Kconfig +=================================================================== +--- linux-2.6.21.orig/sound/soc/codecs/Kconfig 2007-09-07 12:13:43.000000000 -0300 ++++ linux-2.6.21/sound/soc/codecs/Kconfig 2007-09-07 12:13:49.000000000 -0300 +@@ -13,3 +13,7 @@ + config SND_SOC_WM9712 + tristate + depends on SND_SOC ++ ++config SND_SOC_PCAP2 ++ tristate ++ depends on SND_SOC && EZX_PCAP +Index: linux-2.6.21/sound/soc/pxa/Makefile +=================================================================== +--- linux-2.6.21.orig/sound/soc/pxa/Makefile 2007-09-07 12:13:43.000000000 -0300 ++++ linux-2.6.21/sound/soc/pxa/Makefile 2007-09-07 12:13:49.000000000 -0300 +@@ -14,9 +14,10 @@ + snd-soc-poodle-objs := poodle.o + snd-soc-tosa-objs := tosa.o + snd-soc-spitz-objs := spitz.o ++snd-soc-ezx-objs := ezx.o + + obj-$(CONFIG_SND_PXA2XX_SOC_CORGI) += snd-soc-corgi.o + obj-$(CONFIG_SND_PXA2XX_SOC_POODLE) += snd-soc-poodle.o + obj-$(CONFIG_SND_PXA2XX_SOC_TOSA) += snd-soc-tosa.o + obj-$(CONFIG_SND_PXA2XX_SOC_SPITZ) += snd-soc-spitz.o +- ++obj-$(CONFIG_SND_PXA2XX_SOC_EZX) += snd-soc-ezx.o diff --git a/packages/linux/linux-ezx-2.6.21/patches/ezx-backlight.patch b/packages/linux/linux-ezx-2.6.21/patches/ezx-backlight.patch index 7054ef549b..c0284e3a1f 100755 --- a/packages/linux/linux-ezx-2.6.21/patches/ezx-backlight.patch +++ b/packages/linux/linux-ezx-2.6.21/patches/ezx-backlight.patch @@ -5,8 +5,8 @@ Index: linux-2.6.21/drivers/video/backlight/Kconfig =================================================================== ---- linux-2.6.21.orig/drivers/video/backlight/Kconfig 2007-06-02 20:03:06.000000000 -0300 -+++ linux-2.6.21/drivers/video/backlight/Kconfig 2007-06-02 20:26:49.000000000 -0300 +--- linux-2.6.21.orig/drivers/video/backlight/Kconfig 2007-08-01 19:38:48.000000000 -0300 ++++ linux-2.6.21/drivers/video/backlight/Kconfig 2007-08-01 20:00:56.000000000 -0300 @@ -63,3 +63,12 @@ help If you have a Frontpath ProGear say Y to enable the @@ -22,8 +22,8 @@ Index: linux-2.6.21/drivers/video/backlight/Kconfig + Index: linux-2.6.21/drivers/video/backlight/Makefile =================================================================== ---- linux-2.6.21.orig/drivers/video/backlight/Makefile 2007-06-02 20:03:06.000000000 -0300 -+++ linux-2.6.21/drivers/video/backlight/Makefile 2007-06-02 20:26:49.000000000 -0300 +--- linux-2.6.21.orig/drivers/video/backlight/Makefile 2007-08-01 19:38:48.000000000 -0300 ++++ linux-2.6.21/drivers/video/backlight/Makefile 2007-08-01 20:00:56.000000000 -0300 @@ -6,3 +6,4 @@ obj-$(CONFIG_BACKLIGHT_HP680) += hp680_bl.o obj-$(CONFIG_BACKLIGHT_LOCOMO) += locomolcd.o @@ -32,7 +32,7 @@ Index: linux-2.6.21/drivers/video/backlight/Makefile Index: linux-2.6.21/drivers/video/backlight/ezx_bl.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/drivers/video/backlight/ezx_bl.c 2007-06-02 20:26:49.000000000 -0300 ++++ linux-2.6.21/drivers/video/backlight/ezx_bl.c 2007-08-01 20:00:56.000000000 -0300 @@ -0,0 +1,142 @@ +/* + * Backlight Driver for Motorola A780 and E680(i) GSM Phones. @@ -178,9 +178,9 @@ Index: linux-2.6.21/drivers/video/backlight/ezx_bl.c +MODULE_LICENSE("GPL"); Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx.c 2007-06-02 20:19:44.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-06-02 20:26:49.000000000 -0300 -@@ -67,6 +67,12 @@ +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx.c 2007-08-01 19:39:02.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-08-01 20:00:56.000000000 -0300 +@@ -65,6 +65,12 @@ #endif EXPORT_SYMBOL(ezx_backlight_power); @@ -190,13 +190,13 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c + .id = -1, +}; + - /* SSP */ - struct platform_device ezxssp_device = { - .name = "ezx-ssp", -@@ -179,6 +185,7 @@ + /* OHCI Controller */ + static int ezx_ohci_init(struct device *dev) + { +@@ -121,6 +127,7 @@ + + static struct platform_device *devices[] __initdata = { &ezxbp_device, - &ezxpcap_device, - &ezxemu_device, + &ezxbacklight_device, }; diff --git a/packages/linux/linux-ezx-2.6.21/patches/ezx-bp.patch b/packages/linux/linux-ezx-2.6.21/patches/ezx-bp.patch index a0b3b61b12..8e8abcb738 100755 --- a/packages/linux/linux-ezx-2.6.21/patches/ezx-bp.patch +++ b/packages/linux/linux-ezx-2.6.21/patches/ezx-bp.patch @@ -1,8 +1,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx.c 2007-06-02 14:46:25.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-06-02 20:03:12.000000000 -0300 -@@ -100,9 +100,41 @@ +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx.c 2007-06-29 01:07:18.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-08-16 15:52:21.000000000 -0300 +@@ -86,8 +86,40 @@ .init = ezx_ohci_init, }; @@ -39,15 +39,14 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c + static struct platform_device *devices[] __initdata = { - &ezxssp_device, + &ezxbp_device, }; static int __init ezx_init(void) Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-06-02 14:48:52.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-06-02 20:03:11.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-06-29 01:07:18.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-08-16 15:52:20.000000000 -0300 @@ -102,6 +102,9 @@ endchoice @@ -61,8 +60,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig Index: linux-2.6.21/arch/arm/mach-pxa/ezx-bp.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx-bp.c 2007-06-02 18:26:22.000000000 -0300 -@@ -0,0 +1,249 @@ ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-bp.c 2007-08-16 15:52:43.000000000 -0300 +@@ -0,0 +1,262 @@ +/* + * BP handshake code for Motorola EZX phones + * @@ -110,7 +109,16 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-bp.c +{ + if (pxa_gpio_get_value(GPIO_BB_WDI2) == 0) { + DEBUGP("BP request poweroff!\n"); -+// pm_power_off(); ++ /* ++ * It is correct to power off here, the following line is ++ * commented out because e680 lowers WDI2 when BP is in ++ * flash mode, otherwise WDI2 is used to detect low ++ * battery. You can safely uncomment this line if you are ++ * using this kernel with BP in normal mode. ++ */ ++#ifndef CONFIG_PXA_EZX_E680 ++ pm_power_off(); ++#endif + } +} + @@ -186,6 +194,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-bp.c + if (!bp_handshake_passed()) { + handshake(); + if (bp_handshake_passed()) { ++ /* FIXME: (test) try to not disable irq_wdi2 and drain battery */ + disable_irq(bp->irq_wdi2); + + /* set bp_rdy handle for usb ipc */ @@ -202,7 +211,10 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-bp.c +static irqreturn_t bp_wdi2_handler(int irq, void *dev_id) +{ + DEBUGP("BP request poweroff!\n"); -+// pm_power_off(); ++ /* same case as check_power_off() */ ++#ifndef CONFIG_PXA_EZX_E680 ++ pm_power_off(); ++#endif + return IRQ_HANDLED; +} + @@ -314,8 +326,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-bp.c + Index: linux-2.6.21/arch/arm/mach-pxa/Makefile =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-06-02 14:49:50.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-06-02 20:03:11.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-06-29 01:07:18.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-08-16 15:52:20.000000000 -0300 @@ -24,6 +24,7 @@ obj-$(CONFIG_PXA_EZX_E2) += ezx-e2.o obj-$(CONFIG_PXA_EZX_A1200) += ezx-a1200.o diff --git a/packages/linux/linux-ezx-2.6.21/patches/ezx-core.patch b/packages/linux/linux-ezx-2.6.21/patches/ezx-core.patch index c0e9435723..653e814fb4 100755 --- a/packages/linux/linux-ezx-2.6.21/patches/ezx-core.patch +++ b/packages/linux/linux-ezx-2.6.21/patches/ezx-core.patch @@ -1,7 +1,7 @@ Index: linux-2.6.21/arch/arm/boot/compressed/head-xscale.S =================================================================== ---- linux-2.6.21.orig/arch/arm/boot/compressed/head-xscale.S 2007-06-02 14:46:22.000000000 -0300 -+++ linux-2.6.21/arch/arm/boot/compressed/head-xscale.S 2007-06-02 14:46:25.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/boot/compressed/head-xscale.S 2007-06-28 16:51:44.000000000 -0300 ++++ linux-2.6.21/arch/arm/boot/compressed/head-xscale.S 2007-06-28 16:51:50.000000000 -0300 @@ -53,3 +53,6 @@ str r1, [r0, #0x18] #endif @@ -11,8 +11,8 @@ Index: linux-2.6.21/arch/arm/boot/compressed/head-xscale.S +#endif Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-06-02 14:46:22.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-06-02 14:48:52.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-06-28 16:51:44.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-06-28 20:54:54.000000000 -0300 @@ -37,6 +37,10 @@ bool "Keith und Koep Trizeps4 DIMM-Module" select PXA27x @@ -68,13 +68,13 @@ Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig endif Index: linux-2.6.21/arch/arm/mach-pxa/Makefile =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-06-02 14:46:22.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-06-02 14:49:50.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-06-28 16:51:44.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-06-28 20:54:54.000000000 -0300 @@ -18,6 +18,12 @@ obj-$(CONFIG_MACH_AKITA) += akita-ioexp.o obj-$(CONFIG_MACH_POODLE) += poodle.o corgi_ssp.o obj-$(CONFIG_MACH_TOSA) += tosa.o -+obj-$(CONFIG_PXA_EZX) += ezx.o ezx_ssp.o ++obj-$(CONFIG_PXA_EZX) += ezx.o +obj-$(CONFIG_PXA_EZX_A780) += ezx-a780.o +obj-$(CONFIG_PXA_EZX_E680) += ezx-e680.o +obj-$(CONFIG_PXA_EZX_E2) += ezx-e2.o @@ -86,8 +86,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/Makefile Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-06-02 14:46:25.000000000 -0300 -@@ -0,0 +1,135 @@ ++++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-06-28 20:54:54.000000000 -0300 +@@ -0,0 +1,118 @@ +/* + * ezx.c - Common code for EZX platform. + * @@ -108,11 +108,9 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c +#include <asm/arch/pxafb.h> +#include <asm/arch/pxa-regs.h> +#include <asm/arch/ohci.h> ++#include <asm/arch/ezx.h> + +#include "generic.h" -+#include "ezx.h" -+ -+extern int ezx_ssp_set_machinfo(struct ezxssp_machinfo *); + +/* EZX PXA Framebuffer */ +void ezx_lcd_power(int on, struct fb_var_screeninfo *var) @@ -156,18 +154,6 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c +#endif +EXPORT_SYMBOL(ezx_backlight_power); + -+/* SSP */ -+struct platform_device ezxssp_device = { -+ .name = "ezx-ssp", -+ .id = -1, -+}; -+ -+struct ezxssp_machinfo ezx_ssp_machinfo = { -+ .port = 1, -+ .cs_pcap = GPIO_SPI_CE, -+ .clk_pcap = 1, -+}; -+ +/* OHCI Controller */ +static int ezx_ohci_init(struct device *dev) +{ @@ -192,15 +178,12 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c + + +static struct platform_device *devices[] __initdata = { -+ &ezxssp_device, +}; + +static int __init ezx_init(void) +{ + CKEN = CKEN9_OSTIMER | CKEN22_MEMC; + -+ ezx_ssp_set_machinfo(&ezx_ssp_machinfo); -+ + pxa_gpio_mode(GPIO_ICL_FFRXD_MD); + pxa_gpio_mode(GPIO_ICL_FFTXD_MD); + pxa_gpio_mode(GPIO_ICL_FFCTS_MD); @@ -226,7 +209,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c Index: linux-2.6.21/include/asm-arm/arch-pxa/ezx.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/include/asm-arm/arch-pxa/ezx.h 2007-06-02 14:46:25.000000000 -0300 ++++ linux-2.6.21/include/asm-arm/arch-pxa/ezx.h 2007-06-28 16:51:50.000000000 -0300 @@ -0,0 +1,225 @@ +/* + * linux/include/asm-arm/arch-pxa/ezx.h @@ -455,8 +438,8 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/ezx.h + Index: linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h =================================================================== ---- linux-2.6.21.orig/include/asm-arm/arch-pxa/pxa-regs.h 2007-06-02 14:46:22.000000000 -0300 -+++ linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h 2007-06-02 14:46:25.000000000 -0300 +--- linux-2.6.21.orig/include/asm-arm/arch-pxa/pxa-regs.h 2007-06-28 16:51:44.000000000 -0300 ++++ linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h 2007-06-28 18:18:49.000000000 -0300 @@ -849,6 +849,8 @@ #define UP2OCR_HXOE (1 << 17) /* Host Port 2 Transceiver Output Enable */ #define UP2OCR_SEOS (1 << 24) /* Single-Ended Output Select */ @@ -572,8 +555,8 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h #define PGSR2 __REG(0x40F00028) /* Power Manager GPIO Sleep State Register for GP[84-64] */ Index: linux-2.6.21/arch/arm/boot/compressed/head.S =================================================================== ---- linux-2.6.21.orig/arch/arm/boot/compressed/head.S 2007-06-02 14:46:22.000000000 -0300 -+++ linux-2.6.21/arch/arm/boot/compressed/head.S 2007-06-02 14:46:25.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/boot/compressed/head.S 2007-06-28 16:51:44.000000000 -0300 ++++ linux-2.6.21/arch/arm/boot/compressed/head.S 2007-06-28 16:51:50.000000000 -0300 @@ -117,6 +117,9 @@ mov r0, r0 .endr @@ -586,8 +569,8 @@ Index: linux-2.6.21/arch/arm/boot/compressed/head.S .word start @ absolute load/run zImage address Index: linux-2.6.21/include/asm-arm/arch-pxa/uncompress.h =================================================================== ---- linux-2.6.21.orig/include/asm-arm/arch-pxa/uncompress.h 2007-06-02 14:46:22.000000000 -0300 -+++ linux-2.6.21/include/asm-arm/arch-pxa/uncompress.h 2007-06-02 14:46:25.000000000 -0300 +--- linux-2.6.21.orig/include/asm-arm/arch-pxa/uncompress.h 2007-06-28 16:51:44.000000000 -0300 ++++ linux-2.6.21/include/asm-arm/arch-pxa/uncompress.h 2007-06-28 16:51:50.000000000 -0300 @@ -14,14 +14,14 @@ #define STUART ((volatile unsigned long *)0x40700000) #define HWUART ((volatile unsigned long *)0x41600000) @@ -606,155 +589,10 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/uncompress.h } /* -Index: linux-2.6.21/arch/arm/mach-pxa/ezx_ssp.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx_ssp.c 2007-06-02 14:46:25.000000000 -0300 -@@ -0,0 +1,126 @@ -+/* -+ * SSP control code for Motorola EZX phones -+ * -+ * Copyright (c) 2007 Daniel Ribeiro <drwyrm@gmail.com> -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 as -+ * published by the Free Software Foundation. -+ * -+ */ -+ -+#include <linux/module.h> -+#include <linux/init.h> -+#include <linux/kernel.h> -+#include <linux/sched.h> -+#include <linux/slab.h> -+#include <linux/delay.h> -+#include <linux/platform_device.h> -+#include <asm/hardware.h> -+#include <asm/mach-types.h> -+ -+#include <asm/arch/ssp.h> -+#include <asm/arch/pxa-regs.h> -+ -+#include "ezx.h" -+ -+static DEFINE_SPINLOCK(ezx_ssp_lock); -+static struct ssp_dev ezx_ssp_dev; -+static struct ssp_state ezx_ssp_state; -+static struct ezxssp_machinfo *ssp_machinfo; -+ -+/* PCAP */ -+unsigned long ezx_ssp_pcap_putget(ulong data) -+{ -+ unsigned long flag; -+ u32 ret = 0; -+ -+ spin_lock_irqsave(&ezx_ssp_lock, flag); -+ if (ssp_machinfo->cs_pcap >= 0) -+ GPCR(ssp_machinfo->cs_pcap) = GPIO_bit(ssp_machinfo->cs_pcap); -+ -+ ssp_write_word(&ezx_ssp_dev,data); -+ ssp_read_word(&ezx_ssp_dev, &ret); -+ -+ if (ssp_machinfo->cs_pcap >= 0) -+ GPSR(ssp_machinfo->cs_pcap) = GPIO_bit(ssp_machinfo->cs_pcap); -+ spin_unlock_irqrestore(&ezx_ssp_lock, flag); -+ -+ return ret; -+} -+EXPORT_SYMBOL(ezx_ssp_pcap_putget); -+ -+void __init ezx_ssp_set_machinfo(struct ezxssp_machinfo *machinfo) -+{ -+ ssp_machinfo = machinfo; -+} -+ -+static int __init ezx_ssp_probe(struct platform_device *dev) -+{ -+ int ret; -+ /* PCAP init */ -+ pxa_gpio_mode(29|GPIO_ALT_FN_3_OUT); -+ pxa_gpio_mode(GPIO24_SFRM_MD); -+ pxa_gpio_mode(GPIO25_STXD_MD); -+ pxa_gpio_mode(GPIO26_SRXD_MD); -+ -+ /* Chip Select - Disable All */ -+ if (ssp_machinfo->cs_pcap >= 0) -+ pxa_gpio_mode(ssp_machinfo->cs_pcap | GPIO_OUT | GPIO_DFLT_HIGH); -+ -+ ret = ssp_init(&ezx_ssp_dev, ssp_machinfo->port, 0); -+ -+ if (ret) -+ printk(KERN_ERR "Unable to register SSP handler!\n"); -+ else { -+ ssp_disable(&ezx_ssp_dev); -+ ssp_config(&ezx_ssp_dev, -+ (SSCR0_Motorola | SSCR0_DataSize(16) | SSCR0_EDSS), -+ (SSCR1_TxTresh(1) | SSCR1_RxTresh(1)), -+ 0, SSCR0_SerClkDiv(ssp_machinfo->clk_pcap)); -+ ssp_enable(&ezx_ssp_dev); -+ } -+ -+ return ret; -+} -+ -+static int ezx_ssp_remove(struct platform_device *dev) -+{ -+ ssp_exit(&ezx_ssp_dev); -+ return 0; -+} -+ -+static int ezx_ssp_suspend(struct platform_device *dev, pm_message_t state) -+{ -+ ssp_flush(&ezx_ssp_dev); -+ ssp_save_state(&ezx_ssp_dev,&ezx_ssp_state); -+ -+ return 0; -+} -+ -+static int ezx_ssp_resume(struct platform_device *dev) -+{ -+ if (ssp_machinfo->cs_pcap >= 0) -+ GPSR(ssp_machinfo->cs_pcap) = GPIO_bit(ssp_machinfo->cs_pcap); -+ ssp_restore_state(&ezx_ssp_dev,&ezx_ssp_state); -+ ssp_enable(&ezx_ssp_dev); -+ -+ return 0; -+} -+ -+static struct platform_driver ezxssp_driver = { -+ .probe = ezx_ssp_probe, -+ .remove = ezx_ssp_remove, -+ .suspend = ezx_ssp_suspend, -+ .resume = ezx_ssp_resume, -+ .driver = { -+ .name = "ezx-ssp", -+ }, -+}; -+ -+int __init ezx_ssp_init(void) -+{ -+ return platform_driver_register(&ezxssp_driver); -+} -+ -+arch_initcall(ezx_ssp_init); -Index: linux-2.6.21/arch/arm/mach-pxa/ezx.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx.h 2007-06-02 14:46:25.000000000 -0300 -@@ -0,0 +1,9 @@ -+#include <asm/arch/ezx.h> -+ -+/* SSP */ -+struct ezxssp_machinfo { -+ int port; -+ int cs_pcap; -+ int clk_pcap; -+}; -+ Index: linux-2.6.21/arch/arm/mm/init.c =================================================================== ---- linux-2.6.21.orig/arch/arm/mm/init.c 2007-06-02 14:46:22.000000000 -0300 -+++ linux-2.6.21/arch/arm/mm/init.c 2007-06-02 14:46:25.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mm/init.c 2007-06-28 16:51:44.000000000 -0300 ++++ linux-2.6.21/arch/arm/mm/init.c 2007-06-28 16:51:50.000000000 -0300 @@ -241,6 +241,10 @@ */ reserve_bootmem_node(pgdat, boot_pfn << PAGE_SHIFT, @@ -769,7 +607,7 @@ Index: linux-2.6.21/arch/arm/mm/init.c Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-06-02 14:46:25.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-06-28 20:53:01.000000000 -0300 @@ -0,0 +1,88 @@ +/* + * ezx-a780.c - Code specific to A780 GSM Phone. @@ -792,9 +630,9 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c +#include <asm/mach/arch.h> +#include <asm/arch/pxa-regs.h> +#include <asm/arch/pxafb.h> ++#include <asm/arch/ezx.h> + +#include "generic.h" -+#include "ezx.h" + +extern void ezx_lcd_power(int, struct fb_var_screeninfo *); +extern void ezx_backlight_power(int); @@ -862,7 +700,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e2.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx-e2.c 2007-06-02 14:46:25.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e2.c 2007-06-28 20:54:24.000000000 -0300 @@ -0,0 +1,70 @@ +/* + * ezx-e2.c - Code specific to E2 GSM Phone. @@ -884,9 +722,9 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e2.c +#include <asm/mach/arch.h> +#include <asm/arch/pxa-regs.h> +#include <asm/arch/pxafb.h> ++#include <asm/arch/ezx.h> + +#include "generic.h" -+#include "ezx.h" + +extern void ezx_lcd_power(int, struct fb_var_screeninfo *); +extern void ezx_backlight_power(int); @@ -937,7 +775,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e2.c Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-06-02 14:46:25.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-06-28 20:53:29.000000000 -0300 @@ -0,0 +1,87 @@ +/* + * ezx-e680.c - Code specific to E680 GSM Phone. @@ -959,9 +797,9 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c +#include <asm/mach/arch.h> +#include <asm/arch/pxa-regs.h> +#include <asm/arch/pxafb.h> ++#include <asm/arch/ezx.h> + +#include "generic.h" -+#include "ezx.h" + +extern void ezx_lcd_power(int, struct fb_var_screeninfo *); +extern void ezx_backlight_power(int); @@ -1029,7 +867,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-06-02 14:46:25.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-06-28 20:53:48.000000000 -0300 @@ -0,0 +1,70 @@ +/* + * ezx-a1200.c - Code specific to A1200 GSM Phone. @@ -1051,9 +889,9 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c +#include <asm/mach/arch.h> +#include <asm/arch/pxa-regs.h> +#include <asm/arch/pxafb.h> ++#include <asm/arch/ezx.h> + +#include "generic.h" -+#include "ezx.h" + +extern void ezx_lcd_power(int, struct fb_var_screeninfo *); +extern void ezx_backlight_power(int); @@ -1104,7 +942,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c 2007-06-02 14:48:08.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c 2007-06-28 20:54:07.000000000 -0300 @@ -0,0 +1,70 @@ +/* + * ezx-e6.c - Code specific to E6 GSM Phone. @@ -1126,9 +964,9 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c +#include <asm/mach/arch.h> +#include <asm/arch/pxa-regs.h> +#include <asm/arch/pxafb.h> ++#include <asm/arch/ezx.h> + +#include "generic.h" -+#include "ezx.h" + +extern void ezx_lcd_power(int, struct fb_var_screeninfo *); +extern void ezx_backlight_power(int); diff --git a/packages/linux/linux-ezx-2.6.21/patches/ezx-emu.patch b/packages/linux/linux-ezx-2.6.21/patches/ezx-emu.patch index 94581d4531..01ab60d9ec 100755 --- a/packages/linux/linux-ezx-2.6.21/patches/ezx-emu.patch +++ b/packages/linux/linux-ezx-2.6.21/patches/ezx-emu.patch @@ -1,8 +1,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-emu.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx-emu.c 2007-06-02 20:32:34.000000000 -0300 -@@ -0,0 +1,215 @@ ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-emu.c 2007-09-07 15:27:23.000000000 -0300 +@@ -0,0 +1,219 @@ +/* + * EMU Driver for Motorola EZX phones + * @@ -27,6 +27,9 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-emu.c +static struct pxa2xx_udc_mach_info ezx_udc_info; +extern int ezx_pcap_bit_set(u_int32_t, u_int8_t); +extern int ezx_pcap_read_bit(u_int32_t); ++static int emu_irq_usb4v; ++static int emu_irq_usb1v; ++ + +#if defined CONFIG_EZX_EMU_USB +#define emu_switch_to_default() emu_switch_to_usb() @@ -38,6 +41,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-emu.c + +void emu_switch_to_usb(void) +{ ++ printk(KERN_NOTICE "EMU: Switching to USB\n"); + pxa_gpio_mode(GPIO34_USB_P2_2_MD); + pxa_gpio_mode(GPIO35_USB_P2_1_MD); + pxa_gpio_mode(GPIO36_USB_P2_4_MD); @@ -45,18 +49,19 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-emu.c + pxa_gpio_mode(GPIO40_USB_P2_5_MD); + pxa_gpio_mode(GPIO53_USB_P2_3_MD); + UP2OCR = 0x02000000; -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_BUSCTRL_RS232ENB, 1); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_BUSCTRL_FSENB, 0); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_BUSCTRL_VUSB_EN, 1); ++ ezx_pcap_bit_set(PCAP_BIT_BUSCTRL_RS232ENB, 1); ++ ezx_pcap_bit_set(PCAP_BIT_BUSCTRL_FSENB, 0); ++ ezx_pcap_bit_set(PCAP_BIT_BUSCTRL_VUSB_EN, 1); + clr_GPIO(GPIO_EMU_MUX1); + clr_GPIO(GPIO_EMU_MUX2); +} + +void emu_switch_to_uart(void) +{ -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_BUSCTRL_VUSB_EN,0); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_BUSCTRL_RS232ENB, 0); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_BUSCTRL_RS232_DIR, 1); ++ printk(KERN_NOTICE "EMU: Switching to UART\n"); ++ ezx_pcap_bit_set(PCAP_BIT_BUSCTRL_VUSB_EN,0); ++ ezx_pcap_bit_set(PCAP_BIT_BUSCTRL_RS232ENB, 0); ++ ezx_pcap_bit_set(PCAP_BIT_BUSCTRL_RS232_DIR, 1); + set_GPIO(GPIO39_FFTXD); + pxa_gpio_mode(GPIO34_TXENB | GPIO_OUT); + set_GPIO(GPIO34_TXENB); @@ -73,6 +78,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-emu.c + +void emu_switch_to_audio(int stereo) +{ ++ printk(KERN_NOTICE "EMU: Switching to audio(%s)\n", (stereo ? "stereo" : "mono")); + clr_GPIO(GPIO39_VPOUT); + if (stereo) { + pxa_gpio_mode(GPIO34_TXENB | GPIO_IN); @@ -96,8 +102,9 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-emu.c + +void emu_switch_to_nothing(void) +{ -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_BUSCTRL_VUSB_EN, 0); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_BUSCTRL_RS232ENB, 1); ++ printk(KERN_NOTICE "EMU: Switching to disconnected\n"); ++ ezx_pcap_bit_set(PCAP_BIT_BUSCTRL_VUSB_EN, 0); ++ ezx_pcap_bit_set(PCAP_BIT_BUSCTRL_RS232ENB, 1); + pxa_gpio_mode(GPIO34_TXENB | GPIO_OUT); + set_GPIO(GPIO34_TXENB); + pxa_gpio_mode(GPIO35_XRXD | GPIO_IN); @@ -112,11 +119,11 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-emu.c +{ + switch (irq) { + case EZX_IRQ_USB4V: -+ if(ezx_pcap_read_bit(SSP_PCAP_ADJ_BIT_PSTAT_USBDET_4V)) ++ if(ezx_pcap_read_bit(pbit(PCAP_REG_PSTAT, PCAP_IRQ_USB4V))) + emu_switch_to_default(); + break; + case EZX_IRQ_USB1V: -+ if(!ezx_pcap_read_bit(SSP_PCAP_ADJ_BIT_PSTAT_USBDET_1V)) ++ if(!ezx_pcap_read_bit(pbit(PCAP_REG_PSTAT, PCAP_IRQ_USB1V))) + emu_switch_to_nothing(); + break; + } @@ -130,12 +137,23 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-emu.c + pxa_gpio_mode(GPIO_EMU_MUX1 | GPIO_OUT); + pxa_gpio_mode(GPIO_EMU_MUX2 | GPIO_OUT); + -+ request_irq(EZX_IRQ_USB4V, &emu_irq, SA_INTERRUPT, "usb 4v", NULL); -+ request_irq(EZX_IRQ_USB1V, &emu_irq, SA_INTERRUPT, "usb 1v", NULL); ++ emu_irq_usb4v = platform_get_irq(dev, 0); ++ if(emu_irq_usb4v < 0) { ++ printk(KERN_ERR "Unable to get IRQ for USB4V!\n"); ++ return emu_irq_usb4v; ++ } ++ emu_irq_usb1v = platform_get_irq(dev, 1); ++ if(emu_irq_usb1v < 0) { ++ printk(KERN_ERR "Unable to get IRQ for USB1V!\n"); ++ return emu_irq_usb1v; ++ } ++ ++ request_irq(emu_irq_usb4v, &emu_irq, SA_INTERRUPT, "usb 4v", NULL); ++ request_irq(emu_irq_usb1v, &emu_irq, SA_INTERRUPT, "usb 1v", NULL); + + pxa_set_udc_info(&ezx_udc_info); + -+ if(ezx_pcap_read_bit(SSP_PCAP_ADJ_BIT_PSTAT_USBDET_4V)) ++ if(ezx_pcap_read_bit(pbit(PCAP_REG_PSTAT, PCAP_IRQ_USB4V))) + emu_switch_to_default(); + else + emu_switch_to_nothing(); @@ -145,21 +163,9 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-emu.c + +static int ezx_emu_remove(struct platform_device *dev) +{ -+ free_irq(EZX_IRQ_USB4V, NULL); -+ free_irq(EZX_IRQ_USB1V, NULL); -+ -+ return 0; -+} -+ -+static int ezx_emu_suspend(struct platform_device *dev, pm_message_t state) -+{ -+ emu_switch_to_nothing(); -+ return 0; -+} ++ free_irq(emu_irq_usb4v, NULL); ++ free_irq(emu_irq_usb1v, NULL); + -+static int ezx_emu_resume(struct platform_device *dev) -+{ -+ emu_switch_to_default(); + return 0; +} + @@ -170,12 +176,12 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-emu.c + switch (cmd) { + case PXA2XX_UDC_CMD_DISCONNECT: + printk(KERN_NOTICE "USB cmd disconnect\n"); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_BUSCTRL_USB_PU,0); ++ ezx_pcap_bit_set(PCAP_BIT_BUSCTRL_USB_PU,0); + udc_connected_status = 0; + break; + case PXA2XX_UDC_CMD_CONNECT: + printk(KERN_NOTICE "USB cmd connect\n"); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_BUSCTRL_USB_PU,1); ++ ezx_pcap_bit_set(PCAP_BIT_BUSCTRL_USB_PU,1); + udc_connected_status = 1; + break; + } @@ -194,8 +200,6 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-emu.c +static struct platform_driver ezxemu_driver = { + .probe = ezx_emu_probe, + .remove = ezx_emu_remove, -+ .suspend = ezx_emu_suspend, -+ .resume = ezx_emu_resume, + .driver = { + .name = "ezx-emu", + .owner = THIS_MODULE, @@ -220,19 +224,11 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-emu.c +MODULE_LICENSE("GPL"); Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-06-02 20:32:32.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-06-02 20:32:34.000000000 -0300 -@@ -73,6 +73,7 @@ - - endchoice - -+ - endif - - if PXA_EZX -@@ -117,6 +118,28 @@ - config EZX_MCI_TF - bool +--- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-09-07 11:32:26.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-09-07 15:34:08.000000000 -0300 +@@ -108,6 +108,28 @@ + config EZX_PCAP + bool "PCAP Support" +config EZX_EMU + bool "Motorola Enchanced Mini Usb" @@ -259,50 +255,10 @@ Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig endif endmenu -Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c -=================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx.c 2007-06-02 20:32:28.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-06-02 20:32:34.000000000 -0300 -@@ -150,11 +150,35 @@ - .resource = ezxpcap_resources, - }; - -+/* EMU */ -+static struct resource ezxemu_resources[] = { -+ [0] = { -+ .start = EZX_IRQ_USB4V, -+ .end = EZX_IRQ_USB4V, -+ .flags = IORESOURCE_IRQ, -+ }, -+ [1] = { -+ .start = EZX_IRQ_USB1V, -+ .end = EZX_IRQ_USB1V, -+ .flags = IORESOURCE_IRQ, -+ }, -+}; -+ -+struct platform_device ezxemu_device = { -+ .name = "ezx-emu", -+ .id = -1, -+ .dev = { -+ .parent = &ezxpcap_device.dev, -+ }, -+ .num_resources = ARRAY_SIZE(ezxemu_resources), -+ .resource = ezxemu_resources, -+}; - - static struct platform_device *devices[] __initdata = { - &ezxssp_device, - &ezxbp_device, - &ezxpcap_device, -+ &ezxemu_device, - }; - - /* PM */ Index: linux-2.6.21/arch/arm/mach-pxa/Makefile =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-06-02 20:32:28.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-06-02 20:32:34.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-09-07 11:32:26.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-09-07 15:34:08.000000000 -0300 @@ -26,6 +26,7 @@ obj-$(CONFIG_PXA_EZX_E6) += ezx-e6.o obj-$(CONFIG_EZX_BP) += ezx-bp.o diff --git a/packages/linux/linux-ezx-2.6.21/patches/ezx-eoc.patch b/packages/linux/linux-ezx-2.6.21/patches/ezx-eoc.patch new file mode 100644 index 0000000000..f21894e904 --- /dev/null +++ b/packages/linux/linux-ezx-2.6.21/patches/ezx-eoc.patch @@ -0,0 +1,342 @@ +Index: linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.c 2007-09-09 13:33:19.000000000 -0300 +@@ -0,0 +1,270 @@ ++/* ++ * EZX EOC Driver for Motorola EZX phones ++ * ++ * Copyright (C) 2007 Alex Zhang <celeber2@gmail.com> ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ */ ++ ++#include <linux/kernel.h> ++#include <linux/init.h> ++#include <linux/i2c.h> ++#include <linux/platform_device.h> ++ ++#include <asm/arch/hardware.h> ++#include <asm/arch/pxa-regs.h> ++#include <asm/arch/ezx.h> ++ ++#include "ezx-eoc.h" ++ ++#if 1 ++#define EOC_DBG printk ++#else ++#define EOC_DBG(x, args...) ++#endif ++ ++#define EOC_REG_ADDR_SIZE 1 ++#define EOC_REG_DATA_SIZE 3 ++ ++struct ezx_eoc_platform_data *pdata; ++static int eoc_func = EOC_FUNC_USB_NET; ++static const char eoc_i2c_driver_name[] = "ezx-eoc"; ++ ++/* Addresses to scan */ ++static unsigned short normal_i2c[] = { ++ 0x17, /* Address for version 2.0 and above */ ++ // 0x7C, /* Address for versions prior too 2.0 */ ++ I2C_CLIENT_END ++}; ++ ++/* I2C Magic */ ++I2C_CLIENT_INSMOD; ++ ++static int ezx_eoc_attach_adapter(struct i2c_adapter *adapter); ++static int ezx_eoc_detect(struct i2c_adapter *adapter, int address, int kind); ++static int ezx_eoc_detach_client(struct i2c_client *client); ++ ++static struct i2c_client *eoc_i2c_client = NULL; ++ ++static struct i2c_driver eoc_i2c_driver = { ++ .driver = { ++ .name = (char *)eoc_i2c_driver_name, ++ }, ++ .id = I2C_DRIVERID_EEPROM, ++ .attach_adapter = ezx_eoc_attach_adapter, ++ .detach_client = ezx_eoc_detach_client, ++}; ++ ++int eoc_reg_read(int reg, unsigned int *reg_value) ++{ ++ unsigned char reg_num = reg; ++ unsigned char value[EOC_REG_DATA_SIZE]; ++ int retval; ++ ++ struct i2c_msg msgs[2] = ++ { ++ { 0, 0, EOC_REG_ADDR_SIZE, ®_num }, ++ { 0, I2C_M_RD, EOC_REG_DATA_SIZE, value } ++ }; ++ ++ /* check if we have initialized */ /*not necessary --WM ++ if (eoc_i2c_client == NULL) ++ { ++ EOC_DBG("eoc_reg_read: not initialized\n"); ++ return -EINVAL; ++ } ++*/ ++ msgs[0].addr = msgs[1].addr = eoc_i2c_client->addr; ++ ++ /* transfer message to client */ ++ retval = i2c_transfer(eoc_i2c_client->adapter, msgs, 2); ++ if (retval >= 0) ++ { ++ *reg_value = (value[2] << 0); ++ *reg_value |= (value[1] << 8); ++ *reg_value |= (value[0] << 16); ++ } ++ return retval; ++} ++EXPORT_SYMBOL_GPL(eoc_reg_read); ++ ++int eoc_reg_write(int reg, unsigned int reg_value) ++{ ++ unsigned char value[EOC_REG_ADDR_SIZE + EOC_REG_DATA_SIZE]; ++ int retval; ++ ++ /* check if we have initialized */ /*not necessary --WM ++ if (eoc_i2c_client == NULL) ++ { ++ EOC_DBG("eoc_reg_write: not initialized\n"); ++ return -EINVAL; ++ } ++*/ ++ /* Copy the data into a buffer into the correct format */ ++ value[0] = reg; ++ value[1] = (reg_value >> 16) & 0xFF; ++ value[2] = (reg_value >> 8) & 0xFF; ++ value[3] = (reg_value >> 0) & 0xFF; ++ ++ /* Write the data to the EOC */ ++ retval = i2c_master_send (eoc_i2c_client, value, EOC_REG_ADDR_SIZE + EOC_REG_DATA_SIZE); ++ ++ return retval; ++} ++EXPORT_SYMBOL_GPL(eoc_reg_write); ++ ++static void eoc_switch_to_usb(void) ++{ ++ pxa_gpio_mode(GPIO34_USB_P2_2_MD); ++ pxa_gpio_mode(GPIO35_USB_P2_1_MD); ++ pxa_gpio_mode(GPIO36_USB_P2_4_MD); ++ pxa_gpio_mode(GPIO39_USB_P2_6_MD); ++ pxa_gpio_mode(GPIO40_USB_P2_5_MD); ++ pxa_gpio_mode(GPIO53_USB_P2_3_MD); ++ EOC_DBG("ALEX;*********************************************emu_switch_to_usb;\n"); ++} ++ ++static void eoc_switch_to_nothing(void) ++{ ++ pxa_gpio_mode(GPIO34_TXENB | GPIO_OUT); ++ set_GPIO(GPIO34_TXENB); ++ pxa_gpio_mode(GPIO35_XRXD | GPIO_IN); ++ pxa_gpio_mode(GPIO36_VMOUT | GPIO_IN); ++ pxa_gpio_mode(GPIO39_VPOUT | GPIO_IN); ++ pxa_gpio_mode(GPIO40_VPIN | GPIO_IN); ++ pxa_gpio_mode(GPIO53_VMIN | GPIO_IN); ++} ++ ++static void eoc_switch_to_default(void) ++{ ++ switch (eoc_func) { ++ case EOC_FUNC_USB_NET: ++ eoc_switch_to_usb(); ++ break; ++ case EOC_FUNC_NOTHING: ++ eoc_switch_to_nothing(); ++ break; ++ } ++} ++ ++ ++static int ezx_eoc_attach_adapter(struct i2c_adapter *adapter) ++{ ++ return i2c_probe(adapter, &addr_data, ezx_eoc_detect); ++} ++ ++/* This function is called by i2c_probe */ ++static int ezx_eoc_detect(struct i2c_adapter *adapter, int address, int kind) ++{ ++ struct i2c_client *new_client; ++ int err = 0; ++ ++ if (!(new_client = kmalloc(sizeof(struct i2c_client), GFP_KERNEL))) ++ return -ENOMEM; ++ ++ new_client->addr = address; ++ new_client->adapter = adapter; ++ new_client->driver = &eoc_i2c_driver; ++ new_client->flags = 0; ++ strlcpy(new_client->name, eoc_i2c_driver_name, I2C_NAME_SIZE); ++ ++ if ((err = i2c_attach_client(new_client))) { ++ kfree(new_client); ++ return err; ++ } ++ ++ eoc_i2c_client = new_client; ++ ++ if (pdata && pdata->init) { ++ pdata->init(); ++ } ++ else ++ return -EINVAL; ++ ++ eoc_switch_to_default(); ++ ++ return 0; ++} ++ ++static int ezx_eoc_detach_client(struct i2c_client *client) ++{ ++ int err; ++ ++ err = i2c_detach_client(client); ++ if (err) ++ return err; ++ ++ return 0; ++} ++ ++static int __init ezx_eoc_probe(struct platform_device *dev) ++{ ++ int ret; ++ ++ pdata = dev->dev.platform_data; ++ ++ ret = i2c_add_driver(&eoc_i2c_driver); ++ if (ret != 0) ++ return -EINVAL; ++ ++ /* ++ * I think we should save platform_data and call init and eoc_switch ++ * from ezx_eoc_detect, after client is setup. ++ * And there is no need for all the "check if initialised" checks if ++ * you assure that you only call read/write after the client is set. ++ * Probably, this was causing the crash on i2c-core too. ++ * --WM ++ */ ++ ++ /* FIXME: should set udc_info here -WM */ ++ return 0; ++} ++ ++static int ezx_eoc_remove(struct platform_device *dev) ++{ ++ return i2c_del_driver(&eoc_i2c_driver); ++} ++ ++static int ezx_eoc_suspend(struct platform_device *dev, pm_message_t state) ++{ ++ eoc_switch_to_nothing(); ++ return 0; ++} ++ ++static int ezx_eoc_resume(struct platform_device *dev) ++{ ++ eoc_switch_to_default(); ++ return 0; ++} ++ ++static struct platform_driver ezx_eoc_driver = { ++ .probe = ezx_eoc_probe, ++ .remove = ezx_eoc_remove, ++ .suspend = ezx_eoc_suspend, ++ .resume = ezx_eoc_resume, ++ .driver = { ++ .name = "ezx-eoc", ++ .owner = THIS_MODULE, ++ }, ++}; ++ ++int __init ezx_eoc_init(void) ++{ ++ return platform_driver_register(&ezx_eoc_driver); ++} ++ ++void ezx_eoc_exit(void) ++{ ++ return platform_driver_unregister(&ezx_eoc_driver); ++} ++ ++MODULE_AUTHOR("Alex Zhang <celeber2@gmail.com>"); ++MODULE_DESCRIPTION("EZX EOC I2C driver"); ++MODULE_LICENSE("GPL"); ++ ++/* doesnt module_init work?? -WM */ ++/*late_initcall(ezx_eoc_init);*/ ++module_init(ezx_eoc_init); ++module_exit(ezx_eoc_exit); +Index: linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.h +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.h 2007-09-07 22:15:52.000000000 -0300 +@@ -0,0 +1,33 @@ ++/* ++ * linux/arch/arm/mach-pxa/ezx-eoc.h ++ * ++ * Copyright (C) Alex Zhang <celeber2@gmail.com> ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ */ ++ ++#ifndef __EZX_EOC_H__ ++#define __EZX_EOC_H__ ++ ++enum { ++ POWER_IC_REG_EOC_INT_STATUS, ++ POWER_IC_REG_EOC_INT_MASK, ++ POWER_IC_REG_EOC_INT_SENSE, ++ POWER_IC_REG_EOC_POWER_CONTROL_0, ++ POWER_IC_REG_EOC_POWER_CONTROL_1, ++ POWER_IC_REG_EOC_CONN_CONTROL, ++ POWER_IC_REG_EOC_NUM ++}; ++ ++enum { ++ EOC_FUNC_NOTHING, ++ EOC_FUNC_USB_NET, ++}; ++ ++struct ezx_eoc_platform_data { ++ int (*init)(void); ++}; ++ ++#endif /* __EZX_EOC_H__ */ +Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig +=================================================================== +--- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-09-07 22:15:52.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-09-07 22:15:52.000000000 -0300 +@@ -108,6 +108,12 @@ + config EZX_PCAP + bool "PCAP Support" + ++config EZX_EOC ++ tristate "EOC i2c driver of Motorola EZX phones" ++ depends on I2C && EXPERIMENTAL && PXA_EZX_A1200 ++ help ++ EOC i2c driver of Motorola EZX phones ++ + config EZX_EMU + bool "Motorola Enchanced Mini Usb" + depends on EZX_PCAP +Index: linux-2.6.21/arch/arm/mach-pxa/Makefile +=================================================================== +--- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-09-07 22:15:52.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-09-07 22:15:52.000000000 -0300 +@@ -27,6 +27,7 @@ + obj-$(CONFIG_EZX_BP) += ezx-bp.o + obj-$(CONFIG_EZX_PCAP) += ezx-pcap.o + obj-$(CONFIG_EZX_EMU) += ezx-emu.o ++obj-$(CONFIG_EZX_EOC) += ezx-eoc.o + + # Support for blinky lights + led-y := leds.o diff --git a/packages/linux/linux-ezx-2.6.21/patches/ezx-mtd-map.patch b/packages/linux/linux-ezx-2.6.21/patches/ezx-mtd-map.patch index 7ef42f0ffc..c291f1aadf 100755 --- a/packages/linux/linux-ezx-2.6.21/patches/ezx-mtd-map.patch +++ b/packages/linux/linux-ezx-2.6.21/patches/ezx-mtd-map.patch @@ -1,8 +1,8 @@ Index: linux-2.6.21/drivers/mtd/maps/Kconfig =================================================================== ---- linux-2.6.21.orig/drivers/mtd/maps/Kconfig 2007-04-26 00:08:32.000000000 -0300 -+++ linux-2.6.21/drivers/mtd/maps/Kconfig 2007-04-26 20:49:33.000000000 -0300 -@@ -595,6 +595,28 @@ +--- linux-2.6.21.orig/drivers/mtd/maps/Kconfig 2007-08-31 22:27:53.000000000 -0300 ++++ linux-2.6.21/drivers/mtd/maps/Kconfig 2007-08-31 23:04:18.000000000 -0300 +@@ -595,6 +595,34 @@ help This enables access to the flash chip on the Sharp SL Series of PDAs. @@ -21,9 +21,15 @@ Index: linux-2.6.21/drivers/mtd/maps/Kconfig +config MTD_EZX_A780_ALTERNATE + bool "A780/E680 Alternate Mapping for BLOB2" + ++config MTD_EZX_A1200 ++ bool "A1200 Original Mapping" ++ +config MTD_EZX_E2 + bool "E2 Original Mapping" + ++config MTD_EZX_E6 ++ bool "E6 Original Mapping" ++ +endchoice + +endif @@ -33,8 +39,8 @@ Index: linux-2.6.21/drivers/mtd/maps/Kconfig depends on MTD Index: linux-2.6.21/drivers/mtd/maps/Makefile =================================================================== ---- linux-2.6.21.orig/drivers/mtd/maps/Makefile 2007-04-26 00:08:32.000000000 -0300 -+++ linux-2.6.21/drivers/mtd/maps/Makefile 2007-04-26 20:30:30.000000000 -0300 +--- linux-2.6.21.orig/drivers/mtd/maps/Makefile 2007-08-31 22:27:53.000000000 -0300 ++++ linux-2.6.21/drivers/mtd/maps/Makefile 2007-08-31 23:04:18.000000000 -0300 @@ -72,3 +72,4 @@ obj-$(CONFIG_MTD_OMAP_NOR) += omap_nor.o obj-$(CONFIG_MTD_MTX1) += mtx-1_flash.o @@ -43,7 +49,7 @@ Index: linux-2.6.21/drivers/mtd/maps/Makefile Index: linux-2.6.21/drivers/mtd/maps/ezx-flash.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/drivers/mtd/maps/ezx-flash.c 2007-04-26 20:30:30.000000000 -0300 ++++ linux-2.6.21/drivers/mtd/maps/ezx-flash.c 2007-08-21 17:03:43.000000000 -0300 @@ -0,0 +1,227 @@ +/* + * $Id: $ @@ -122,7 +128,7 @@ Index: linux-2.6.21/drivers/mtd/maps/ezx-flash.c + .size = 0x00020000, + .offset = 0x00020000, + } , { -+ .name = "Kernel 1", ++ .name = "Moto Kernel", + .size = 0x000e0000, // 896KB + .offset = 0x00040000, + } , { @@ -130,11 +136,11 @@ Index: linux-2.6.21/drivers/mtd/maps/ezx-flash.c + .size = 0x01760000, + .offset = 0x00120000, + } , { -+ .name = "Kernel 2", ++ .name = "OpenEZX Kernel", + .size = 0x00180000, // 1.5MB + .offset = 0x01880000, + } , { -+ .name = "VFM_Filesystem", ++ .name = "ezxlocal", + .size = 0x005a0000, + .offset = 0x01a00000, + } , { diff --git a/packages/linux/linux-ezx-2.6.21/patches/ezx-pcap.patch b/packages/linux/linux-ezx-2.6.21/patches/ezx-pcap.patch index 6af6317a6e..604f8eb59b 100755 --- a/packages/linux/linux-ezx-2.6.21/patches/ezx-pcap.patch +++ b/packages/linux/linux-ezx-2.6.21/patches/ezx-pcap.patch @@ -1,8 +1,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c 2007-06-07 21:39:37.000000000 -0300 -@@ -0,0 +1,472 @@ ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c 2007-08-31 22:48:16.000000000 -0300 +@@ -0,0 +1,513 @@ +/* Driver for Motorola PCAP2 as present in EZX phones + * + * This is both a SPI device driver for PCAP itself, as well as @@ -24,31 +24,60 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c +#include <asm/hardware.h> +#include <asm/mach-types.h> + ++#include <asm/arch/ezx.h> +#include <asm/arch/ssp.h> +#include <asm/arch/pxa-regs.h> +#include <asm/arch/ezx-pcap.h> +#include <asm/arch/irqs.h> +#include <asm/mach/irq.h> + -+#include "ezx.h" -+ +#if 0 +#define DEBUGP(x, args...) printk(x, ## args) +#else +#define DEBUGP(x, args...) +#endif + -+extern unsigned long ezx_ssp_pcap_putget(ulong); ++static DEFINE_SPINLOCK(ezx_ssp_lock); ++static struct ssp_dev ezx_ssp_dev; ++static struct ssp_state ezx_ssp_state; ++static struct pcap_platform_data *pcap_data; ++static int pcap_irq; ++ ++static unsigned long ezx_ssp_pcap_putget(ulong data) ++{ ++ unsigned long flag; ++ u32 ret = 0; ++ ++ spin_lock_irqsave(&ezx_ssp_lock, flag); ++ if (pcap_data->cs >= 0) { ++ if (pcap_data->flags & PCAP_CS_AH) ++ GPSR(pcap_data->cs) = GPIO_bit(pcap_data->cs); ++ else ++ GPCR(pcap_data->cs) = GPIO_bit(pcap_data->cs); ++ } ++ ++ ssp_write_word(&ezx_ssp_dev,data); ++ ssp_read_word(&ezx_ssp_dev, &ret); ++ ++ if (pcap_data->cs >= 0) { ++ if(pcap_data->flags & PCAP_CS_AH) ++ GPCR(pcap_data->cs) = GPIO_bit(pcap_data->cs); ++ else ++ GPSR(pcap_data->cs) = GPIO_bit(pcap_data->cs); ++ } ++ ++ spin_unlock_irqrestore(&ezx_ssp_lock, flag); ++ ++ return ret; ++} + +int ezx_pcap_write(u_int8_t reg_num, u_int32_t value) +{ -+ value &= SSP_PCAP_REGISTER_VALUE_MASK; -+ value |= SSP_PCAP_REGISTER_WRITE_OP_BIT -+ | (reg_num<<SSP_PCAP_REGISTER_ADDRESS_SHIFT); ++ value &= PCAP_REGISTER_VALUE_MASK; ++ value |= PCAP_REGISTER_WRITE_OP_BIT ++ | (reg_num<<PCAP_REGISTER_ADDRESS_SHIFT); + -+ local_irq_disable(); + ezx_ssp_pcap_putget(value); -+ local_irq_enable(); + + DEBUGP("pcap write r%x: 0x%08x\n", reg_num, value); + return 0; @@ -57,12 +86,10 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c + +int ezx_pcap_read(u_int8_t reg_num, u_int32_t *value) +{ -+ u_int32_t frame = SSP_PCAP_REGISTER_READ_OP_BIT -+ | (reg_num<<SSP_PCAP_REGISTER_ADDRESS_SHIFT); ++ u_int32_t frame = PCAP_REGISTER_READ_OP_BIT ++ | (reg_num<<PCAP_REGISTER_ADDRESS_SHIFT); + -+ local_irq_disable(); + *value = ezx_ssp_pcap_putget(frame); -+ local_irq_enable(); + + DEBUGP("pcap read r%x: 0x%08x\n", reg_num, *value); + return 0; @@ -73,9 +100,9 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c +{ + int ret; + u_int32_t tmp; -+ u_int32_t bit = (sspPcapBit & SSP_PCAP_REGISTER_VALUE_MASK); -+ u_int8_t reg_num = (sspPcapBit & SSP_PCAP_REGISTER_ADDRESS_MASK) -+ >> SSP_PCAP_REGISTER_ADDRESS_SHIFT; ++ u_int32_t bit = (sspPcapBit & PCAP_REGISTER_VALUE_MASK); ++ u_int8_t reg_num = (sspPcapBit & PCAP_REGISTER_ADDRESS_MASK) ++ >> PCAP_REGISTER_ADDRESS_SHIFT; + + ret = ezx_pcap_read(reg_num, &tmp); + if (ret < 0) @@ -94,14 +121,14 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c +{ + int ret; + u_int32_t tmp; -+ u_int8_t reg_num = (bit & SSP_PCAP_REGISTER_ADDRESS_MASK) -+ >> SSP_PCAP_REGISTER_ADDRESS_SHIFT; ++ u_int8_t reg_num = (bit & PCAP_REGISTER_ADDRESS_MASK) ++ >> PCAP_REGISTER_ADDRESS_SHIFT; + + ret = ezx_pcap_read(reg_num, &tmp); + if (ret < 0) + return ret; + -+ return tmp & (bit & SSP_PCAP_REGISTER_VALUE_MASK); ++ return tmp & (bit & PCAP_REGISTER_VALUE_MASK); +} +EXPORT_SYMBOL_GPL(ezx_pcap_read_bit); + @@ -111,11 +138,13 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c +static struct proc_dir_entry *proc_pcap; + +char *pcap_registers[] = { -+ "ISR\t", "MSR\t", "PSTAT\t", NULL, NULL, NULL, "VREG2\t", "VREG\t", -+ "BATT_DAC", "ADC1\t", "ADC2\t", "AUD_CODEC", "AUD_RX_AMPS", -+ "AUD_ST_DAC", NULL, NULL, NULL, NULL, NULL, NULL, "BUSCTRL\t", -+ "PERIPH\t", NULL, NULL, "LOWPWR\t", NULL, "AUD_TX_AMPS", "GP\t", -+ NULL, NULL, NULL, NULL, NULL ++ "ISR\t", "MSR\t", "PSTAT\t", "INT_SEL\t", "SWCTRL\t", "VREG1\t", ++ "VREG2\t", "VREG\t", "BATT_DAC", "ADC1\t", "ADC2\t", "AUD_CODEC", ++ "RX_AUD_AMPS", "ST_DAC\t", "RTC_TOD\t", "RTC_TODA", "RTC_DAY\t", ++ "RTC_DAYA", "MTRTMR\t", "PWRCTRL\t", "BUSCTRL\t", "PERIPH\t", ++ "AUXVREG_MASK", "VENDOR_REV", "LOWPWR_CTRL", "PERIPH_MASK", ++ "TX_AUD_AMPS", "GP\t", ++ NULL, NULL, NULL, NULL +}; + +static int pcap_read_proc(char *page, char **start, off_t off, int count, @@ -151,82 +180,32 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c +{ + u_int32_t tmp; + -+ ezx_pcap_read(SSP_PCAP_ADJ_AUX_VREG_REGISTER, &tmp); ++ ezx_pcap_read(PCAP_REG_AUXVREG, &tmp); + -+ tmp &= (~SSP_PCAP_VIBRATOR_VOLTAGE_LEVEL_MASK); -+ tmp |= value; ++ tmp &= ~PCAP_AUXVREG_V_VIB_MASK; ++ tmp |= ((value << PCAP_AUXVREG_V_VIB_SHIFT) & PCAP_AUXVREG_V_VIB_MASK); + -+ ezx_pcap_write(SSP_PCAP_ADJ_AUX_VREG_REGISTER, tmp); ++ ezx_pcap_write(PCAP_REG_AUXVREG, tmp); +} +EXPORT_SYMBOL_GPL(ezx_pcap_vibrator_level); + -+static int __init pcap_init(void) -+{ -+ /* initialize registers */ -+#warning FIXME: pcap_init still chip level -+ /* implement a per board pcap init reg array? */ -+ -+ ezx_pcap_write(SSP_PCAP_ADJ_MSR_REGISTER, PCAP_MASK_ALL_INTERRUPT); -+ ezx_pcap_write(SSP_PCAP_ADJ_ISR_REGISTER, PCAP_CLEAR_INTERRUPT_REGISTER); -+ -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_A1CTRL, 1); -+// ezx_pcap_vibrator_level(PCAP_VIBRATOR_VOLTAGE_LEVEL3); -+ -+ /* set SW1 sleep to keep SW1 1.3v in sync mode */ -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW1_MODE10, 0); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW1_MODE11, 0); -+ /* SW1 active in sync mode */ -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW1_MODE00, 1); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW1_MODE01, 0); -+ /* at SW1 -core voltage to 1.30V */ -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW10_DVS, 1); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW11_DVS, 1); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW12_DVS, 1); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW13_DVS, 0); -+ -+ /* when STANDY2 PIN ACTIVE (high) set V3-- sram V8 -- pll off */ -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V3_STBY, 1); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V3_LOWPWR, 0); -+ -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V8_STBY, 1); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V8_LOWPWR, 0); -+ -+ /* when STANDY2 PIN ACTIVE (high) set V4-- lcd only for e680 V6 --- -+ * camera for e680 */ -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V4_STBY, 1); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V4_LOWPWR, 1); -+ -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V6_STBY, 1); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V6_LOWPWR, 0); -+ -+ /* set Vc to low power mode when AP sleep */ -+ //SSP_PCAP_bit_set( SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_VC_STBY); -+ -+ /* set VAUX2 to voltage 2.775V and low power mode when AP sleep */ -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX2_1, 1); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX2_0, 0); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_VAUX2_STBY, 1); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_VAUX2_LOWPWR, 1); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX2_EN, 1); -+ -+// PGSR(GPIO34_TXENB) |= GPIO_bit(GPIO34_TXENB); -+ -+ return 0; -+} +/* MMC/SD specific functions */ + +void ezx_pcap_mmcsd_voltage(u_int32_t bits) +{ + unsigned int tmp; -+ ezx_pcap_read(SSP_PCAP_ADJ_AUX_VREG_REGISTER, &tmp); -+#if defined(CONFIG_EZX_MCI_SD) -+ tmp &= 0xffffff9f; /* zero all vaux2 bits */ -+ tmp |= (bits & 0x3) << 5; -+#elif defined(CONFIG_EZX_MCI_TF) -+ tmp &= 0xfffff0ff; /* zero all vaux3 bits */ -+ tmp |= (bits & 0xf) << 8; -+#endif -+ ezx_pcap_write(SSP_PCAP_ADJ_AUX_VREG_REGISTER, tmp); ++ ezx_pcap_read(PCAP_REG_AUXVREG, &tmp); ++ if (pcap_data->flags & PCAP_MCI_SD) { ++ tmp &= ~PCAP_AUXVREG_VAUX2_MASK; ++ tmp |= ((bits << PCAP_AUXVREG_VAUX2_SHIFT) & ++ PCAP_AUXVREG_VAUX2_MASK); ++ } ++ else if (pcap_data->flags & PCAP_MCI_TF) { ++ tmp &= ~PCAP_AUXVREG_VAUX3_MASK; ++ tmp |= ((bits << PCAP_AUXVREG_VAUX3_SHIFT) & ++ PCAP_AUXVREG_VAUX3_MASK); ++ } ++ ezx_pcap_write(PCAP_REG_AUXVREG, tmp); +} +EXPORT_SYMBOL(ezx_pcap_mmcsd_voltage); + @@ -234,11 +213,13 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c +{ + if (on > 0) on = 1; + else on = 0; -+#if defined(CONFIG_EZX_MCI_SD) -+ return ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX2_EN, on); -+#elif defined(CONFIG_EZX_MCI_TF) -+ return ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX3_EN, on); -+#endif ++ ++ if (pcap_data->flags & PCAP_MCI_SD) ++ return ezx_pcap_bit_set(PCAP_BIT_AUXVREG_VAUX2_EN, on); ++ else if (pcap_data->flags & PCAP_MCI_TF) ++ return ezx_pcap_bit_set(PCAP_BIT_AUXVREG_VAUX3_EN, on); ++ else ++ return -ENODEV; +} +EXPORT_SYMBOL_GPL(ezx_pcap_mmcsd_power); + @@ -248,67 +229,85 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c +static unsigned int pcap2irq[] = { + [0] = EZX_IRQ_ADCDONE, + [1] = EZX_IRQ_TS, -+ [2] = 0, /* 1HZ */ -+ [3] = 0, /* WH */ -+ [4] = 0, /* WL */ -+ [5] = 0, /* TODA */ ++ [2] = EZX_IRQ_1HZ, /* 1HZ */ ++ [3] = EZX_IRQ_WH, /* WH */ ++ [4] = EZX_IRQ_WL, /* WL */ ++ [5] = EZX_IRQ_TODA, /* TODA */ + [6] = EZX_IRQ_USB4V, -+ [7] = 0, /* ONOFF */ -+ [8] = 0, /* ONOFF2 */ ++ [7] = EZX_IRQ_ONOFF, /* ONOFF */ ++ [8] = EZX_IRQ_ONOFF2, /* ONOFF2 */ + [9] = EZX_IRQ_USB1V, -+ [10] = 0, /* MOBPORT */ ++ [10] = EZX_IRQ_MOBPORT, /* MOBPORT */ + [11] = EZX_IRQ_MIC, + [12] = EZX_IRQ_HEADJACK, -+ [13] = 0, /* ST */ -+ [14] = 0, /* PC */ -+ [15] = 0, /* WARM */ -+ [16] = 0, /* EOL */ -+ [17] = 0, /* CLK */ -+ [18] = 0, /* SYSRST */ ++ [13] = EZX_IRQ_ST, /* ST */ ++ [14] = EZX_IRQ_PC, /* PC */ ++ [15] = EZX_IRQ_WARM, /* WARM */ ++ [16] = EZX_IRQ_EOL, /* EOL */ ++ [17] = EZX_IRQ_CLK, /* CLK */ ++ [18] = EZX_IRQ_SYSRST, /* SYSRST */ + [19] = 0, + [20] = EZX_IRQ_ADCDONE2, -+ [21] = 0, /* SOFTRESET */ -+ [22] = 0, /* MNEXB */ ++ [21] = EZX_IRQ_SOFTRESET, /* SOFTRESET */ ++ [22] = EZX_IRQ_MNEXB, /* MNEXB */ +}; + +/* Array indexed by IRQ NUMBER, returns PCAP absolute value */ +static unsigned int irq2pcap[] = { -+ [EZX_IRQ_USB4V] = SSP_PCAP_ADJ_BIT_ISR_USB4VI, -+ [EZX_IRQ_USB1V] = SSP_PCAP_ADJ_BIT_ISR_USB1VI, -+ [EZX_IRQ_HEADJACK] = SSP_PCAP_ADJ_BIT_ISR_A1I, -+ [EZX_IRQ_MIC] = SSP_PCAP_ADJ_BIT_ISR_MB2I, -+ [EZX_IRQ_ADCDONE] = SSP_PCAP_ADJ_BIT_ISR_ADCDONEI, -+ [EZX_IRQ_TS] = SSP_PCAP_ADJ_BIT_ISR_TSI, -+ [EZX_IRQ_ADCDONE2] = SSP_PCAP_ADJ_BIT_ISR_ADCDONE2I, ++ [EZX_IRQ_MNEXB] = PCAP_IRQ_MNEXB, ++ [EZX_IRQ_SOFTRESET] = PCAP_IRQ_SOFTRESET, ++ [EZX_IRQ_SYSRST] = PCAP_IRQ_SYSRST, ++ [EZX_IRQ_CLK] = PCAP_IRQ_CLK, ++ [EZX_IRQ_EOL] = PCAP_IRQ_EOL, ++ [EZX_IRQ_WARM] = PCAP_IRQ_WARM, ++ [EZX_IRQ_PC] = PCAP_IRQ_PC, ++ [EZX_IRQ_ST] = PCAP_IRQ_ST, ++ [EZX_IRQ_MOBPORT] = PCAP_IRQ_MOBPORT, ++ [EZX_IRQ_ONOFF2] = PCAP_IRQ_ONOFF2, ++ [EZX_IRQ_ONOFF] = PCAP_IRQ_ONOFF, ++ [EZX_IRQ_TODA] = PCAP_IRQ_TODA, ++ [EZX_IRQ_WL] = PCAP_IRQ_WL, ++ [EZX_IRQ_WH] = PCAP_IRQ_WH, ++ [EZX_IRQ_1HZ] = PCAP_IRQ_1HZ, ++ [EZX_IRQ_USB4V] = PCAP_IRQ_USB4V, ++ [EZX_IRQ_USB1V] = PCAP_IRQ_USB1V, ++ [EZX_IRQ_HEADJACK] = PCAP_IRQ_A1, ++ [EZX_IRQ_MIC] = PCAP_IRQ_MB2, ++ [EZX_IRQ_TS] = PCAP_IRQ_TS, ++ [EZX_IRQ_ADCDONE] = PCAP_IRQ_ADCDONE, ++ [EZX_IRQ_ADCDONE2] = PCAP_IRQ_ADCDONE2, +}; + +static void pcap_ack_irq(unsigned int irq) +{ + DEBUGP("pcap_ack_irq: %u\n", irq); -+ ezx_pcap_write(SSP_PCAP_ADJ_ISR_REGISTER, irq2pcap[irq]); ++ ezx_pcap_write(PCAP_REG_ISR, irq2pcap[irq]); +} + +static void pcap_mask_irq(unsigned int irq) +{ + u_int32_t reg; ++ unsigned long flag; + ++ spin_lock_irqsave(&ezx_ssp_lock, flag); + DEBUGP("pcap_mask_irq: %u\n", irq); -+ -+ /* this needs to be atomic... but we're not on SMP so it is */ -+ ezx_pcap_read(SSP_PCAP_ADJ_MSR_REGISTER, ®); ++ ezx_pcap_read(PCAP_REG_MSR, ®); + reg |= irq2pcap[irq]; -+ ezx_pcap_write(SSP_PCAP_ADJ_MSR_REGISTER, reg); ++ ezx_pcap_write(PCAP_REG_MSR, reg); ++ spin_unlock_irqrestore(&ezx_ssp_lock, flag); +} + +static void pcap_unmask_irq(unsigned int irq) +{ + u_int32_t tmp; -+ DEBUGP("pcap_unmask_irq: %u\n", irq); ++ unsigned long flag; + -+ /* this needs to be atomic... but we're not on SMP so it is */ -+ ezx_pcap_read(SSP_PCAP_ADJ_MSR_REGISTER, &tmp); ++ spin_lock_irqsave(&ezx_ssp_lock, flag); ++ DEBUGP("pcap_unmask_irq: %u\n", irq); ++ ezx_pcap_read(PCAP_REG_MSR, &tmp); + tmp &= ~irq2pcap[irq]; -+ ezx_pcap_write(SSP_PCAP_ADJ_MSR_REGISTER, tmp); ++ ezx_pcap_write(PCAP_REG_MSR, tmp); ++ spin_unlock_irqrestore(&ezx_ssp_lock, flag); +} + +static struct irq_chip pcap_chip = { @@ -320,66 +319,49 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c +/* handler for interrupt received from PCAP via GPIO */ +static void pcap_irq_demux_handler(unsigned int irq, struct irq_desc *desc) +{ ++ const unsigned int cpu = smp_processor_id(); + int i; -+ const unsigned int cpu = smp_processor_id(); -+ u_int32_t reg, mask; ++ u_int32_t isr, msr; + + spin_lock(&desc->lock); -+ -+ DEBUGP("pcap_irq_demux_handler(%u,,) entered\n", irq); -+ -+ desc->status &= ~(IRQ_REPLAY | IRQ_WAITING); -+ -+ if (unlikely(desc->status & IRQ_INPROGRESS)) { -+ DEBUGP("irq busy, masking it off\n"); -+ desc->status |= (IRQ_PENDING | IRQ_MASKED); ++ desc->status &= ~(IRQ_REPLAY | IRQ_WAITING); ++ if (unlikely(desc->status & (IRQ_INPROGRESS | IRQ_DISABLED))) { ++ desc->status |= (IRQ_PENDING | IRQ_MASKED); + desc->chip->mask(irq); + desc->chip->ack(irq); + goto out_unlock; + } -+ -+ kstat_cpu(cpu).irqs[irq]++; ++ kstat_cpu(cpu).irqs[irq]++; + desc->chip->ack(irq); + desc->status |= IRQ_INPROGRESS; -+ -+ do { -+ if (unlikely((desc->status & -+ (IRQ_PENDING | IRQ_MASKED | IRQ_DISABLED)) == -+ (IRQ_PENDING | IRQ_MASKED))) { -+ DEBUGP("dealing with pending IRQ, unmasking\n"); -+ desc->chip->unmask(irq); ++ do { ++ if (unlikely((desc->status & ++ (IRQ_PENDING | IRQ_MASKED | IRQ_DISABLED)) == ++ (IRQ_PENDING | IRQ_MASKED))) { ++ desc->chip->unmask(irq); + desc->status &= ~IRQ_MASKED; -+ } -+ ++ } + desc->status &= ~IRQ_PENDING; + -+ ezx_pcap_read(SSP_PCAP_ADJ_ISR_REGISTER, ®); -+ ezx_pcap_read(SSP_PCAP_ADJ_MSR_REGISTER, &mask); -+ DEBUGP("pcap_irq_demux_handler: ISR=0x%08x MSR=0x%08x\n", reg, mask); -+ -+ for (i = ARRAY_SIZE(pcap2irq)-1; i >= 0; i--) { -+ unsigned int pirq = pcap2irq[i]; -+ if (pirq == 0) -+ continue; -+ -+ if ((reg & (1 << i)) && !(mask & (1 << i))) { -+ struct irq_desc *subdesc; -+ DEBUGP("found irq %u\n", pirq); -+ subdesc = irq_desc + pirq; -+ -+ kstat_cpu(cpu).irqs[pirq]++; -+ subdesc->chip->ack(pirq); -+ -+ spin_unlock(&desc->lock); -+ handle_IRQ_event(pirq, subdesc->action); -+ spin_lock(&desc->lock); -+ } -+ } -+ -+ } while ((desc->status & (IRQ_PENDING | IRQ_DISABLED)) == IRQ_PENDING); ++ ezx_pcap_read(PCAP_REG_ISR, &isr); ++ ezx_pcap_read(PCAP_REG_MSR, &msr); ++ for (i = ARRAY_SIZE(pcap2irq)-1; i >= 0; i--) { ++ unsigned int pirq = pcap2irq[i]; ++ struct irq_desc *subdesc; ++ if (pirq == 0 || !(isr & irq2pcap[pirq])) ++ continue; ++ subdesc = irq_desc + pirq; ++ if (msr & irq2pcap[pirq]) ++ continue; ++ DEBUGP("found irq %u\n", pirq); ++ spin_unlock(&desc->lock); ++ desc_handle_irq(pirq, subdesc); ++ spin_lock(&desc->lock); ++ } + -+ desc->status &= ~IRQ_INPROGRESS; ++ } while ((desc->status & (IRQ_PENDING | IRQ_DISABLED)) == IRQ_PENDING); + ++ desc->status &= ~IRQ_INPROGRESS; +out_unlock: + spin_unlock(&desc->lock); +} @@ -389,49 +371,108 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c + int irq; + DEBUGP("exz_pcap_remove entered\n"); + -+ set_irq_chained_handler(IRQ_GPIO1, NULL); ++ set_irq_chained_handler(pcap_irq, NULL); + -+ for (irq = EZX_IRQ(0); irq <= EZX_IRQ(6); irq++) { ++ for (irq = EZX_IRQ(0); irq <= EZX_IRQ(21); irq++) { + set_irq_chip(irq, NULL); + set_irq_handler(irq, NULL); + set_irq_flags(irq, 0); + } + ++ ssp_exit(&ezx_ssp_dev); ++ + return 0; +} + +static int __init ezx_pcap_probe(struct platform_device *pdev) +{ -+ unsigned int irq; ++ unsigned int ret, irq; + DEBUGP("ezx_pcap_probe entered\n"); + -+ pcap_init(); ++ pcap_data = pdev->dev.platform_data; ++ ++ /* configure ssp port */ ++ pxa_gpio_mode(29|GPIO_ALT_FN_3_OUT); ++ pxa_gpio_mode(GPIO24_SFRM_MD); ++ pxa_gpio_mode(GPIO25_STXD_MD); ++ pxa_gpio_mode(GPIO26_SRXD_MD); ++ ++ if (pcap_data->cs >= 0) { ++ if (pcap_data->flags & PCAP_CS_AH) ++ pxa_gpio_mode(pcap_data->cs | GPIO_OUT); ++ else ++ pxa_gpio_mode(pcap_data->cs | GPIO_OUT ++ | GPIO_DFLT_HIGH); ++ } ++ pcap_irq = platform_get_irq(pdev, 0); ++ if(pcap_irq < 0) { ++ printk(KERN_ERR "Unable to get IRQ for pcap!\n"); ++ return pcap_irq; ++ } ++ ++ ret = ssp_init(&ezx_ssp_dev, pcap_data->port, 0); ++ if (ret) { ++ printk(KERN_ERR "Unable to register SSP handler!\n"); ++ return ret; ++ } ++ ++ ssp_disable(&ezx_ssp_dev); ++ ssp_config(&ezx_ssp_dev, ++ (SSCR0_Motorola | SSCR0_DataSize(16) | SSCR0_EDSS), ++ (SSCR1_TxTresh(1) | SSCR1_RxTresh(1)), ++ 0, SSCR0_SerClkDiv(pcap_data->clk)); ++ ssp_enable(&ezx_ssp_dev); ++ ++ /* mask/ack all PCAP interrupts */ ++ ezx_pcap_write(PCAP_REG_MSR, PCAP_MASK_ALL_INTERRUPT); ++ ezx_pcap_write(PCAP_REG_ISR, PCAP_CLEAR_INTERRUPT_REGISTER); ++ ++ if (pcap_data->init) ++ pcap_data->init(); + -+ set_irq_type(IRQ_GPIO1, IRQT_RISING); + /* set up interrupt demultiplexing code for PCAP2 irqs */ -+ for (irq = EZX_IRQ(0); irq <= EZX_IRQ(6); irq++) { ++ set_irq_type(pcap_irq, IRQT_RISING); ++ for (irq = EZX_IRQ(0); irq <= EZX_IRQ(21); irq++) { + set_irq_chip(irq, &pcap_chip); -+ set_irq_handler(irq, handle_edge_irq); ++ set_irq_handler(irq, handle_level_irq); + set_irq_flags(irq, IRQF_VALID); + } -+ set_irq_chained_handler(IRQ_GPIO1, pcap_irq_demux_handler); ++ set_irq_chained_handler(pcap_irq, pcap_irq_demux_handler); ++ set_irq_wake(pcap_irq, 1); + + printk("ezx-pcap: ssp driver registered\n"); -+ -+ return 0; ++ return ret; +} + +static int ezx_pcap_suspend(struct platform_device *dev, pm_message_t state) +{ + DEBUGP("pcap suspend!\n"); ++ ssp_flush(&ezx_ssp_dev); ++ ssp_save_state(&ezx_ssp_dev, &ezx_ssp_state); ++ if (pcap_data->cs >= 0) ++ pxa_gpio_mode(pcap_data->cs | GPIO_IN); + return 0; +} + +static int ezx_pcap_resume(struct platform_device *dev) +{ + DEBUGP("pcap resume!\n"); -+ /* ack all irqs */ -+ ezx_pcap_write(SSP_PCAP_ADJ_ISR_REGISTER, PCAP_CLEAR_INTERRUPT_REGISTER); ++ ++ if (pcap_data->cs >= 0) { ++ if (pcap_data->flags & PCAP_CS_AH) { ++ pxa_gpio_mode(pcap_data->cs | GPIO_OUT); ++ GPCR(pcap_data->cs) = GPIO_bit(pcap_data->cs); ++ } ++ else { ++ pxa_gpio_mode(pcap_data->cs | GPIO_OUT | GPIO_DFLT_HIGH); ++ GPSR(pcap_data->cs) = GPIO_bit(pcap_data->cs); ++ } ++ } ++ ssp_restore_state(&ezx_ssp_dev,&ezx_ssp_state); ++ ssp_enable(&ezx_ssp_dev); ++ ++ ezx_pcap_write(PCAP_REG_ISR, PCAP_CLEAR_INTERRUPT_REGISTER); ++ + return 0; +} + @@ -478,677 +519,268 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c Index: linux-2.6.21/include/asm-arm/arch-pxa/ezx-pcap.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/include/asm-arm/arch-pxa/ezx-pcap.h 2007-06-03 11:14:40.000000000 -0300 -@@ -0,0 +1,665 @@ -+/* (c) Copyright Motorola Beijing 2002 all rights reserved. -+ -+ Project Name : EZX -+ Project No. : -+ Title : -+ File Name : -+ Description : -+ -+ ************** REVISION HISTORY ********************************************** -+ Date Author Reference -+ ======== ========== ========================== -+ 2002-07-01 weiqiang lin create -+*/ -+#ifndef SSP_PCAP_H -+#define SSP_PCAP_H -+ -+#define SSP_vibrate_start_command() SSP_PCAP_bit_set(SSP_PCAP_ADJ_BIT_AUX_VREG_V_VIB_EN); \ -+ SSP_PCAP_bit_set(SSP_PCAP_ADJ_BIT_AUX_VREG_V_VIB_EN) -+ -+#define SSP_vibrate_stop_command() SSP_PCAP_bit_clean(SSP_PCAP_ADJ_BIT_AUX_VREG_V_VIB_EN); \ -+ SSP_PCAP_bit_clean(SSP_PCAP_ADJ_BIT_AUX_VREG_V_VIB_EN) -+ -+#define SSP_PCAP_REGISTER_VALUE_LENGTH 16 -+ -+#define SSP_PCAP_REGISTER_WRITE_OP_BIT 0x80000000 -+#define SSP_PCAP_REGISTER_READ_OP_BIT 0x00000000 -+ -+#define SSP_PCAP_REGISTER_VALUE_UP_WORD_MASK 0xffff0000 -+#define SSP_PCAP_REGISTER_VALUE_DOWN_WORD_MASK 0x0000ffff -+ -+#define SSP_PCAP_REGISTER_VALUE_MASK 0x01ffffff -+#define SSP_PCAP_REGISTER_VALUE_MASK 0x01ffffff -+#define SSP_PCAP_REGISTER_ADDRESS_MASK 0x7c000000 -+#define SSP_PCAP_REGISTER_ADDRESS_SHIFT 26 -+#define SSP_PCAP_REGISTER_NUMBER 32 -+ -+#define SSP_PCAP_ADC_START_VALUE_SET_MASK 0xfffffc00 -+#define SSP_PCAP_ADC_START_VALUE 0x000001dd -+ -+ -+#define SSP_PCAP_PHONE_CDC_CLOCK_MASK 0x000001c0 -+#define SSP_PCAP_STEREO_SAMPLE_RATE_MASK 0x00000f00 -+#define SSP_PCAP_STEREO_BCLK_TIME_SLOT_MASK 0x00018000 -+#define SSP_PCAP_STEREO_CLOCK_MASK 0x0000001c -+#define SSP_PCAP_DIGITAL_AUDIO_MODE_MASK 0x00006000 -+#define SSP_PCAP_TOUCH_PANEL_POSITION_DETECT_MODE_MASK 0x000e0000 -+#define SSP_PCAP_MONO_PGA_MASK 0x00180000 -+ -+#define SSP_PCAP_VIBRATOR_VOLTAGE_LEVEL_MASK 0x00300000 -+ -+#define SSP_PCAP_AUDIO_IN_GAIN_MASK 0x0000001f -+#define SSP_PCAP_AUDIO_IN_GAIN_SHIFT 0 -+#define SSP_PCAP_AUDIO_OUT_GAIN_MASK 0x0001e000 -+#define SSP_PCAP_AUDIO_OUT_GAIN_SHIFT 13 -+ -+ -+#define SSP_PCAP_ADD1_VALUE_MASK 0x000003ff -+#define SSP_PCAP_ADD1_VALUE_SHIFT 0 -+#define SSP_PCAP_ADD2_VALUE_MASK 0x000ffc00 -+#define SSP_PCAP_ADD2_VALUE_SHIFT 10 -+ -+ -+#define PCAP_AUDIO_IN_GAIN_MAX_VALUE 31 -+#define PCAP_AUDIO_OUT_GAIN_MAX_VALUE 15 -+ -+#define PCAP_CLEAR_INTERRUPT_REGISTER 0x00141fdf -+#define PCAP_MASK_ALL_INTERRUPT 0x0013ffff -+ -+#define SSP_PCAP_TS_KEEPER_TIMER 100 /* 1 second */ -+#define START_ADC_DELAY_TIMER 1991 /* 540 us */ ++++ linux-2.6.21/include/asm-arm/arch-pxa/ezx-pcap.h 2007-09-04 23:34:19.000000000 -0300 +@@ -0,0 +1,247 @@ ++/* ++ * Copyright 2007 Daniel Ribeiro <drwyrm@gmail.com> ++ */ + -+#define SSP_SEND_PM_ALART_INTERVAL 1000 *HZ/1000 /* 1 second */ -+#define SSP_SEND_MSG_USB_ACCESSORY_INFO_DEBOUNCE 200 *HZ/1000 /* 200ms */ ++#ifndef EZX_PCAP_H ++#define EZX_PCAP_H + -+struct ssp_interrupt_info -+{ -+ u32 type; -+ u32 status; -+ void* privdata; ++struct pcap_platform_data { ++ int port; /* SSP port */ ++ int cs; /* CS gpio */ ++ int clk; ++ int flags; /* driver flags */ ++ int (*init)(void); /* board specific driver init */ +}; + -+#ifndef U8 -+#define U8 unsigned char -+#endif -+ -+#ifndef U32 -+#define U32 unsigned long -+#endif -+ -+#ifndef U16 -+#define U16 unsigned short -+#endif -+ -+#ifndef P_U16 -+#define P_U16 U16* -+#endif -+ -+#ifndef P_U32 -+#define P_U32 U32* -+#endif -+ -+#define SSP_SELECT_BUFFER (volatile unsigned long *)(0xf4000000) -+ -+#define SSP_SR_RNE 0x00000008 -+#define SSP_PCAP_BASE 0x00001000 -+/************************ STRUCTURES, ENUMS, AND TYPEDEFS **************************/ -+typedef enum accessoryStatus -+{ -+ ACCESSORY_DEVICE_STATUS_DETACHED = 0, -+ ACCESSORY_DEVICE_STATUS_ATTACHED , -+ ACCESSORY_DEVICE_STATUS_UNKNOW =0x000000ff -+}ACCESSORY_DEVICE_STATUS; -+ -+typedef enum accessoryType -+{ -+ ACCESSORY_DEVICE_NONE = 0, -+ ACCESSORY_DEVICE_SERIAL_PORT , -+ ACCESSORY_DEVICE_USB_PORT , -+ ACCESSORY_DEVICE_UNKNOW =0x000000ff -+}ACCESSORY_TYPE; -+ -+typedef enum pcapReturnStatus -+{ -+ SSP_PCAP_SUCCESS = 0, -+ SSP_PCAP_ERROR_REGISTER = SSP_PCAP_BASE+1, -+ SSP_PCAP_ERROR_VALUE = SSP_PCAP_BASE+2, -+ -+ SSP_PCAP_NOT_RUN = SSP_PCAP_BASE+0xff -+}SSP_PCAP_STATUS; -+ -+typedef enum pcapPortType -+{ -+ SSP_PCAP_SERIAL_PORT = 0x00000000, -+ SSP_PCAP_LOW_USB_PORT = 0x00000001, -+ SSP_PCAP_HIGH_USB_PORT = 0x00000002, -+ SSP_PCAP_UNKNOW_PORT = 0x000000ff -+}SSP_PCAP_PORT_TYPE; -+ -+typedef enum pcapInitDriverType -+{ -+ SSP_PCAP_TS_OPEN = 0x00000000, -+ SSP_PCAP_AUDIO_OPEN = 0x00000001, -+ SSP_PCAP_UNKNOW_DRIVER_OPEN = 0x000000ff -+}SSP_PCAP_INIT_DRIVER_TYPE; -+ -+ -+typedef enum pcapReturnBitStatus -+{ -+ SSP_PCAP_BIT_ZERO = 0x00000000, -+ SSP_PCAP_BIT_ONE = 0x00000001, -+ SSP_PCAP_BIT_ERROR = 0xff000000 -+}SSP_PCAP_BIT_STATUS; -+ -+typedef enum pcapCDCClkType -+{ -+ PCAP_CDC_CLK_IN_13M0 = 0x00000000, -+ PCAP_CDC_CLK_IN_15M36 = 0x00000040, -+ PCAP_CDC_CLK_IN_16M8 = 0x00000080, -+ PCAP_CDC_CLK_IN_19M44 = 0x000000c0, -+ PCAP_CDC_CLK_IN_26M0 = 0x00000100 -+}PHONE_CDC_CLOCK_TYPE; -+ -+typedef enum pcapST_SR -+{ -+ PCAP_ST_SAMPLE_RATE_8K = 0x00000000, -+ PCAP_ST_SAMPLE_RATE_11K = 0x00000100, -+ PCAP_ST_SAMPLE_RATE_12K = 0x00000200, -+ PCAP_ST_SAMPLE_RATE_16K = 0x00000300, -+ PCAP_ST_SAMPLE_RATE_22K = 0x00000400, -+ PCAP_ST_SAMPLE_RATE_24K = 0x00000500, -+ PCAP_ST_SAMPLE_RATE_32K = 0x00000600, -+ PCAP_ST_SAMPLE_RATE_44K = 0x00000700, -+ PCAP_ST_SAMPLE_RATE_48K = 0x00000800 -+}ST_SAMPLE_RATE_TYPE; -+ -+typedef enum pcapST_BCLK -+{ -+ PCAP_ST_BCLK_SLOT_16 = 0x00000000, -+ PCAP_ST_BCLK_SLOT_8 = 0x00008000, -+ PCAP_ST_BCLK_SLOT_4 = 0x00010000, -+ PCAP_ST_BCLK_SLOT_2 = 0x00018000, -+}ST_BCLK_TIME_SLOT_TYPE; -+ -+typedef enum pcapST_CLK -+{ -+ PCAP_ST_CLK_PLL_CLK_IN_13M0 = 0x00000000, -+ PCAP_ST_CLK_PLL_CLK_IN_15M36 = 0x00000004, -+ PCAP_ST_CLK_PLL_CLK_IN_16M8 = 0x00000008, -+ PCAP_ST_CLK_PLL_CLK_IN_19M44 = 0x0000000c, -+ PCAP_ST_CLK_PLL_CLK_IN_26M0 = 0x00000010, -+ PCAP_ST_CLK_PLL_CLK_IN_EXT_MCLK = 0x00000014, -+ PCAP_ST_CLK_PLL_CLK_IN_FSYNC = 0x00000018, -+ PCAP_ST_CLK_PLL_CLK_IN_BITCLK = 0x0000001c -+}ST_CLK_TYPE; -+ -+typedef enum pcapDigitalAudioInterfaceMode -+{ -+ PCAP_DIGITAL_AUDIO_INTERFACE_NORMAL = 0x00000000, -+ PCAP_DIGITAL_AUDIO_INTERFACE_NETWORK = 0x00002000, -+ PCAP_DIGITAL_AUDIO_INTERFACE_I2S = 0x00004000 -+}DIG_AUD_MODE_TYPE; -+ -+typedef enum pcapMono -+{ -+ PCAP_MONO_PGA_R_L_STEREO = 0x00000000, -+ PCAP_MONO_PGA_RL = 0x00080000, -+ PCAP_MONO_PGA_RL_3DB = 0x00100000, -+ PCAP_MONO_PGA_RL_6DB = 0x00180000 -+}MONO_TYPE; -+ -+typedef enum pcapVibratorVoltageLevel -+{ -+ PCAP_VIBRATOR_VOLTAGE_LEVEL0 = 0x00000000, -+ PCAP_VIBRATOR_VOLTAGE_LEVEL1 = 0x00100000, -+ PCAP_VIBRATOR_VOLTAGE_LEVEL2 = 0x00200000, -+ PCAP_VIBRATOR_VOLTAGE_LEVEL3 = 0x00300000 -+}VibratorVoltageLevel_TYPE; -+ -+typedef enum pcapTouchScreenMode -+{ -+ PCAP_TS_POSITION_X_MEASUREMENT = 0x00000000, -+ PCAP_TS_POSITION_XY_MEASUREMENT = 0x00020000, -+ PCAP_TS_PRESSURE_MEASUREMENT = 0x00040000, -+ PCAP_TS_PLATE_X_MEASUREMENT = 0x00060000, -+ PCAP_TS_PLATE_Y_MEASUREMENT = 0x00080000, -+ PCAP_TS_STANDBY_MODE = 0x000a0000, -+ PCAP_TS_NONTS_MODE = 0x000c0000 -+}TOUCH_SCREEN_DETECT_TYPE; -+ -+typedef enum pcapADJRegister -+{ -+ SSP_PCAP_ADJ_ISR_REGISTER = 0x00, -+ SSP_PCAP_ADJ_MSR_REGISTER = 0x01, -+ SSP_PCAP_ADJ_PSTAT_REGISTER = 0x02, -+ SSP_PCAP_ADJ_VREG2_REGISTER = 0x06, -+ SSP_PCAP_ADJ_AUX_VREG_REGISTER = 0x07, -+ SSP_PCAP_ADJ_BATT_DAC_REGISTER = 0x08, -+ SSP_PCAP_ADJ_ADC1_REGISTER = 0x09, -+ SSP_PCAP_ADJ_ADC2_REGISTER = 0x0a, -+ SSP_PCAP_ADJ_AUD_CODEC_REGISTER = 0x0b, -+ SSP_PCAP_ADJ_AUD_RX_AMPS_REGISTER = 0x0c, -+ SSP_PCAP_ADJ_ST_DAC_REGISTER = 0x0d, -+ SSP_PCAP_ADJ_BUSCTRL_REGISTER = 0x14, -+ SSP_PCAP_ADJ_PERIPH_REGISTER = 0x15, -+ SSP_PCAP_ADJ_LOWPWR_CTRL_REGISTER = 0x18, -+ SSP_PCAP_ADJ_TX_AUD_AMPS_REGISTER = 0x1a, -+ SSP_PCAP_ADJ_GP_REG_REGISTER = 0x1b -+}SSP_PCAP_SECONDARY_PROCESSOR_REGISTER; -+ -+typedef enum pcapADJBit_SetType -+{ -+ SSP_PCAP_ADJ_BIT_ISR_ADCDONEI = 0x00000001, -+ SSP_PCAP_ADJ_BIT_ISR_TSI = 0x00000002, -+ SSP_PCAP_ADJ_BIT_ISR_1HZI = 0x00000004, -+ SSP_PCAP_ADJ_BIT_ISR_WHI = 0x00000008, -+ SSP_PCAP_ADJ_BIT_ISR_WLI = 0x00000010, -+ SSP_PCAP_ADJ_BIT_ISR_TODAI = 0x00000020, -+ SSP_PCAP_ADJ_BIT_ISR_USB4VI = 0x00000040, -+ SSP_PCAP_ADJ_BIT_ISR_ONOFFI = 0x00000080, -+ SSP_PCAP_ADJ_BIT_ISR_ONOFF2I = 0x00000100, -+ SSP_PCAP_ADJ_BIT_ISR_USB1VI = 0x00000200, -+ SSP_PCAP_ADJ_BIT_ISR_MOBPORTI = 0x00000400, -+ SSP_PCAP_ADJ_BIT_ISR_MB2I = 0x00000800, -+ SSP_PCAP_ADJ_BIT_ISR_A1I = 0x00001000, -+ SSP_PCAP_ADJ_BIT_ISR_STI = 0x00002000, -+ SSP_PCAP_ADJ_BIT_ISR_PCI = 0x00004000, -+ SSP_PCAP_ADJ_BIT_ISR_WARMI = 0x00008000, -+ SSP_PCAP_ADJ_BIT_ISR_EOLI = 0x00010000, -+ SSP_PCAP_ADJ_BIT_ISR_CLKI = 0x00020000, -+ SSP_PCAP_ADJ_BIT_ISR_SYS_RSTI = 0x00040000, -+ SSP_PCAP_ADJ_BIT_ISR_ADCDONE2I = 0x00100000, -+ SSP_PCAP_ADJ_BIT_ISR_SOFT_RESETI = 0x00200000, -+ SSP_PCAP_ADJ_BIT_ISR_MNEXBI = 0x00400000, -+ -+ SSP_PCAP_ADJ_BIT_MSR_ADCDONEM = 0x04000001, -+ SSP_PCAP_ADJ_BIT_MSR_TSM = 0x04000002, -+ SSP_PCAP_ADJ_BIT_MSR_1HZM = 0x04000004, -+ SSP_PCAP_ADJ_BIT_MSR_WHM = 0x04000008, -+ SSP_PCAP_ADJ_BIT_MSR_WLM = 0x04000010, -+ SSP_PCAP_ADJ_BIT_MSR_TODAM = 0x04000020, -+ SSP_PCAP_ADJ_BIT_MSR_USB4VM = 0x04000040, -+ SSP_PCAP_ADJ_BIT_MSR_ONOFFM = 0x04000080, -+ SSP_PCAP_ADJ_BIT_MSR_ONOFF2M = 0x04000100, -+ SSP_PCAP_ADJ_BIT_MSR_USB1VM = 0x04000200, -+ SSP_PCAP_ADJ_BIT_MSR_MOBPORTM = 0x04000400, -+ SSP_PCAP_ADJ_BIT_MSR_MB2M = 0x04000800, -+ SSP_PCAP_ADJ_BIT_MSR_A1M = 0x04001000, -+ SSP_PCAP_ADJ_BIT_MSR_STM = 0x04002000, -+ SSP_PCAP_ADJ_BIT_MSR_PCM = 0x04004000, -+ SSP_PCAP_ADJ_BIT_MSR_WARMM = 0x04008000, -+ SSP_PCAP_ADJ_BIT_MSR_EOLM = 0x04010000, -+ SSP_PCAP_ADJ_BIT_MSR_CLKM = 0x04020000, -+ SSP_PCAP_ADJ_BIT_MSR_SYS_RSTM = 0x04040000, -+ SSP_PCAP_ADJ_BIT_MSR_ADCDONE2M = 0x04100000, -+ SSP_PCAP_ADJ_BIT_MSR_SOFT_RESETM = 0x04200000, -+ SSP_PCAP_ADJ_BIT_MSR_MNEXBM = 0x04400000, -+ -+ SSP_PCAP_ADJ_BIT_PSTAT_USBDET_4V = 0x08000040, -+ SSP_PCAP_ADJ_BIT_PSTAT_ONOFFSNS = 0x08000080, -+ SSP_PCAP_ADJ_BIT_PSTAT_ONOFFSNS2 = 0x08000100, -+ SSP_PCAP_ADJ_BIT_PSTAT_USBDET_1V = 0x08000200, -+ SSP_PCAP_ADJ_BIT_PSTAT_MOBSENSB = 0x08000400, -+ SSP_PCAP_ADJ_BIT_PSTAT_MB2SNS = 0x08000800, -+ SSP_PCAP_ADJ_BIT_PSTAT_A1SNS = 0x08001000, -+ SSP_PCAP_ADJ_BIT_PSTAT_MSTB = 0x08002000, -+ SSP_PCAP_ADJ_BIT_PSTAT_EOL_STAT = 0x08010000, -+ SSP_PCAP_ADJ_BIT_PSTAT_CLK_STAT = 0x08020000, -+ SSP_PCAP_ADJ_BIT_PSTAT_SYS_RST = 0x08040000, -+ SSP_PCAP_ADJ_BIT_PSTAT_BATTFBSNS = 0x08080000, -+ SSP_PCAP_ADJ_BIT_PSTAT_BATT_DET_IN_SNS = 0x08200000, -+ SSP_PCAP_ADJ_BIT_PSTAT_MNEXBSNS = 0x08400000, -+ SSP_PCAP_ADJ_BIT_PSTAT_WARM_SYS_RST = 0x08800000, -+ -+ SSP_PCAP_ADJ_BIT_VREG2_V1_STBY = 0x18000001, -+ SSP_PCAP_ADJ_BIT_VREG2_V2_STBY = 0x18000002, -+ SSP_PCAP_ADJ_BIT_VREG2_V3_STBY = 0x18000004, -+ SSP_PCAP_ADJ_BIT_VREG2_V4_STBY = 0x18000008, -+ SSP_PCAP_ADJ_BIT_VREG2_V5_STBY = 0x18000010, -+ SSP_PCAP_ADJ_BIT_VREG2_V6_STBY = 0x18000020, -+ SSP_PCAP_ADJ_BIT_VREG2_V7_STBY = 0x18000040, -+ SSP_PCAP_ADJ_BIT_VREG2_V8_STBY = 0x18000080, -+ SSP_PCAP_ADJ_BIT_VREG2_V9_STBY = 0x18000100, -+ SSP_PCAP_ADJ_BIT_VREG2_V10_STBY = 0x18000200, -+ SSP_PCAP_ADJ_BIT_VREG2_V1_LOWPWR = 0x18000400, -+ SSP_PCAP_ADJ_BIT_VREG2_V2_LOWPWR = 0x18000800, -+ SSP_PCAP_ADJ_BIT_VREG2_V3_LOWPWR = 0x18001000, -+ SSP_PCAP_ADJ_BIT_VREG2_V4_LOWPWR = 0x18002000, -+ SSP_PCAP_ADJ_BIT_VREG2_V5_LOWPWR = 0x18004000, -+ SSP_PCAP_ADJ_BIT_VREG2_V6_LOWPWR = 0x18008000, -+ SSP_PCAP_ADJ_BIT_VREG2_V7_LOWPWR = 0x18010000, -+ SSP_PCAP_ADJ_BIT_VREG2_V8_LOWPWR = 0x18020000, -+ SSP_PCAP_ADJ_BIT_VREG2_V9_LOWPWR = 0x18040000, -+ SSP_PCAP_ADJ_BIT_VREG2_V10_LOWPWR = 0x18080000, -+ -+ SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX1_EN = 0x1c000002, -+ SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX1_0 = 0x1c000004, -+ SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX1_1 = 0x1c000008, -+ SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX2_EN = 0x1c000010, -+ SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX2_0 = 0x1c000020, -+ SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX2_1 = 0x1c000040, -+ SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX3_EN = 0x1c000080, -+ SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX3_0 = 0x1c000100, -+ SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX3_1 = 0x1c000200, -+ SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX3_2 = 0x1c000400, -+ SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX3_3 = 0x1c000800, -+ SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX4_EN = 0x1c001000, -+ SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX4_0 = 0x1c002000, -+ SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX4_1 = 0x1c004000, -+ SSP_PCAP_ADJ_BIT_AUX_VREG_VSIM2_EN = 0x1c010000, -+ SSP_PCAP_ADJ_BIT_AUX_VREG_VSIM_EN = 0x1c020000, -+ SSP_PCAP_ADJ_BIT_AUX_VREG_VSIM_0 = 0x1c040000, -+ SSP_PCAP_ADJ_BIT_AUX_VREG_V_VIB_EN = 0x1c080000, -+ SSP_PCAP_ADJ_BIT_AUX_VREG_V_VIB_0 = 0x1c100000, -+ SSP_PCAP_ADJ_BIT_AUX_VREG_V_VIB_1 = 0x1c200000, -+ SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX1_STBY = 0x1c400000, -+ SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX1_LOWPWR = 0x1c800000, -+ SSP_PCAP_ADJ_BIT_AUX_VREG_SW3_STBY = 0x1d000000, -+ -+ SSP_PCAP_ADJ_BIT_BATT_DAC_DAC0 = 0x20000001, -+ SSP_PCAP_ADJ_BIT_BATT_DAC_DAC1 = 0x20000002, -+ SSP_PCAP_ADJ_BIT_BATT_DAC_DAC2 = 0x20000004, -+ SSP_PCAP_ADJ_BIT_BATT_DAC_DAC3 = 0x20000008, -+ SSP_PCAP_ADJ_BIT_BATT_DAC_DAC4 = 0x20000010, -+ SSP_PCAP_ADJ_BIT_BATT_DAC_DAC5 = 0x20000020, -+ SSP_PCAP_ADJ_BIT_BATT_DAC_DAC6 = 0x20000040, -+ SSP_PCAP_ADJ_BIT_BATT_DAC_DAC7 = 0x20000080, -+ SSP_PCAP_ADJ_BIT_BATT_DAC_B_FDBK = 0x20000100, -+ SSP_PCAP_ADJ_BIT_BATT_DAC_EXT_ISENSE = 0x20000200, -+ SSP_PCAP_ADJ_BIT_BATT_DAC_V_COIN0 = 0x20000400, -+ SSP_PCAP_ADJ_BIT_BATT_DAC_V_COIN1 = 0x20000800, -+ SSP_PCAP_ADJ_BIT_BATT_DAC_V_COIN2 = 0x20001000, -+ SSP_PCAP_ADJ_BIT_BATT_DAC_V_COIN3 = 0x20002000, -+ SSP_PCAP_ADJ_BIT_BATT_DAC_I_COIN = 0x20004000, -+ SSP_PCAP_ADJ_BIT_BATT_DAC_COIN_CH_EN = 0x20008000, -+ SSP_PCAP_ADJ_BIT_BATT_DAC_EOL_SEL0 = 0x20020000, -+ SSP_PCAP_ADJ_BIT_BATT_DAC_EOL_SEL1 = 0x20040000, -+ SSP_PCAP_ADJ_BIT_BATT_DAC_EOL_SEL2 = 0x20080000, -+ SSP_PCAP_ADJ_BIT_BATT_DAC_EOL_CMP_EN = 0x20100000, -+ SSP_PCAP_ADJ_BIT_BATT_DAC_BATT_DET_EN = 0x20200000, -+ SSP_PCAP_ADJ_BIT_BATT_DAC_THERMBIAS_CTRL = 0x20400000, -+ -+ SSP_PCAP_ADJ_BIT_ADC1_ADEN = 0x24000001, -+ SSP_PCAP_ADJ_BIT_ADC1_RAND = 0x24000002, -+ SSP_PCAP_ADJ_BIT_ADC1_AD_SEL1 = 0x24000004, -+ SSP_PCAP_ADJ_BIT_ADC1_AD_SEL2 = 0x24000008, -+ SSP_PCAP_ADJ_BIT_ADC1_ADA10 = 0x24000010, -+ SSP_PCAP_ADJ_BIT_ADC1_ADA11 = 0x24000020, -+ SSP_PCAP_ADJ_BIT_ADC1_ADA12 = 0x24000040, -+ SSP_PCAP_ADJ_BIT_ADC1_ADA20 = 0x24000080, -+ SSP_PCAP_ADJ_BIT_ADC1_ADA21 = 0x24000100, -+ SSP_PCAP_ADJ_BIT_ADC1_ADA22 = 0x24000200, -+ SSP_PCAP_ADJ_BIT_ADC1_ATO0 = 0x24000400, -+ SSP_PCAP_ADJ_BIT_ADC1_ATO1 = 0x24000800, -+ SSP_PCAP_ADJ_BIT_ADC1_ATO2 = 0x24001000, -+ SSP_PCAP_ADJ_BIT_ADC1_ATO3 = 0x24002000, -+ SSP_PCAP_ADJ_BIT_ADC1_ATOX = 0x24004000, -+ SSP_PCAP_ADJ_BIT_ADC1_MTR1 = 0x24008000, -+ SSP_PCAP_ADJ_BIT_ADC1_MTR2 = 0x24010000, -+ SSP_PCAP_ADJ_BIT_ADC1_TS_M0 = 0x24020000, -+ SSP_PCAP_ADJ_BIT_ADC1_TS_M1 = 0x24040000, -+ SSP_PCAP_ADJ_BIT_ADC1_TS_M2 = 0x24080000, -+ SSP_PCAP_ADJ_BIT_ADC1_TS_REF_LOWPWR = 0x24100000, -+ SSP_PCAP_ADJ_BIT_ADC1_TS_REFENB = 0x24200000, -+ SSP_PCAP_ADJ_BIT_ADC1_BATT_I_POLARITY = 0x24400000, -+ SSP_PCAP_ADJ_BIT_ADC1_BATT_I_ADC = 0x24800000, -+ -+ SSP_PCAP_ADJ_BIT_ADC2_ADD10 = 0x28000001, -+ SSP_PCAP_ADJ_BIT_ADC2_ADD11 = 0x28000002, -+ SSP_PCAP_ADJ_BIT_ADC2_ADD12 = 0x28000004, -+ SSP_PCAP_ADJ_BIT_ADC2_ADD13 = 0x28000008, -+ SSP_PCAP_ADJ_BIT_ADC2_ADD14 = 0x28000010, -+ SSP_PCAP_ADJ_BIT_ADC2_ADD15 = 0x28000020, -+ SSP_PCAP_ADJ_BIT_ADC2_ADD16 = 0x28000040, -+ SSP_PCAP_ADJ_BIT_ADC2_ADD17 = 0x28000080, -+ SSP_PCAP_ADJ_BIT_ADC2_ADD18 = 0x28000100, -+ SSP_PCAP_ADJ_BIT_ADC2_ADD19 = 0x28000200, -+ SSP_PCAP_ADJ_BIT_ADC2_ADD20 = 0x28000400, -+ SSP_PCAP_ADJ_BIT_ADC2_ADD21 = 0x28000800, -+ SSP_PCAP_ADJ_BIT_ADC2_ADD22 = 0x28001000, -+ SSP_PCAP_ADJ_BIT_ADC2_ADD23 = 0x28002000, -+ SSP_PCAP_ADJ_BIT_ADC2_ADD24 = 0x28004000, -+ SSP_PCAP_ADJ_BIT_ADC2_ADD25 = 0x28008000, -+ SSP_PCAP_ADJ_BIT_ADC2_ADD26 = 0x28010000, -+ SSP_PCAP_ADJ_BIT_ADC2_ADD27 = 0x28020000, -+ SSP_PCAP_ADJ_BIT_ADC2_ADD28 = 0x28040000, -+ SSP_PCAP_ADJ_BIT_ADC2_ADD29 = 0x28080000, -+ SSP_PCAP_ADJ_BIT_ADC2_ADINC1 = 0x28100000, -+ SSP_PCAP_ADJ_BIT_ADC2_ADINC2 = 0x28200000, -+ SSP_PCAP_ADJ_BIT_ADC2_ASC = 0x28400000, -+ -+ SSP_PCAP_ADJ_BIT_AUD_CODEC_AUDIHPF = 0x2c000001, -+ SSP_PCAP_ADJ_BIT_AUD_CODEC_SMB = 0x2c000002, -+ SSP_PCAP_ADJ_BIT_AUD_CODEC_AUDOHPF = 0x2c000004, -+ SSP_PCAP_ADJ_BIT_AUD_CODEC_CD_TS = 0x2c000008, -+ SSP_PCAP_ADJ_BIT_AUD_CODEC_DLM = 0x2c000010, -+ SSP_PCAP_ADJ_BIT_AUD_CODEC_ADITH = 0x2c000020, -+ SSP_PCAP_ADJ_BIT_AUD_CODEC_CDC_CLK0 = 0x2c000040, -+ SSP_PCAP_ADJ_BIT_AUD_CODEC_CDC_CLK1 = 0x2c000080, -+ SSP_PCAP_ADJ_BIT_AUD_CODEC_CDC_CLK2 = 0x2c000100, -+ SSP_PCAP_ADJ_BIT_AUD_CODEC_CLK_INV = 0x2c000200, -+ SSP_PCAP_ADJ_BIT_AUD_CODEC_FS_INV = 0x2c000400, -+ SSP_PCAP_ADJ_BIT_AUD_CODEC_DF_RESET = 0x2c000800, -+ SSP_PCAP_ADJ_BIT_AUD_CODEC_CDC_EN = 0x2c001000, -+ SSP_PCAP_ADJ_BIT_AUD_CODEC_CDC_CLK_EN = 0x2c002000, -+ SSP_PCAP_ADJ_BIT_AUD_CODEC_FS_8K_16K = 0x2c004000, -+ SSP_PCAP_ADJ_BIT_AUD_CODEC_DIG_AUD_IN = 0x2c008000, -+ SSP_PCAP_ADJ_BIT_AUD_CODEC_CLK_IN_SEL = 0x2c010000, -+ SSP_PCAP_ADJ_BIT_AUD_CODEC_MIC2_MUX = 0x2c020000, -+ SSP_PCAP_ADJ_BIT_AUD_CODEC_MIC2IG0 = 0x2c040000, -+ SSP_PCAP_ADJ_BIT_AUD_CODEC_MIC2IG1 = 0x2c080000, -+ SSP_PCAP_ADJ_BIT_AUD_CODEC_MIC2IG2 = 0x2c100000, -+ SSP_PCAP_ADJ_BIT_AUD_CODEC_MIC2IG3 = 0x2c200000, -+ SSP_PCAP_ADJ_BIT_AUD_CODEC_MIC2IG4 = 0x2c400000, -+ SSP_PCAP_ADJ_BIT_AUD_CODEC_MIC2IG_PRI_ADJ = 0x2c800000, -+ SSP_PCAP_ADJ_BIT_AUD_CODEC_CDC_PRI_ADJ = 0x2c200000, -+ -+ SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_A1_EN = 0x30000001, -+ SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_A2_EN = 0x30000002, -+ SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_A4_EN = 0x30000010, -+ SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_ARIGHT_EN = 0x30000020, -+ SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_ALEFT_EN = 0x30000040, -+ SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_CD_BYP = 0x30000080, -+ SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_CDC_SW = 0x30000100, -+ SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_ST_DAC_SW = 0x30000200, -+ SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_PGA_IN_SW = 0x30000400, -+ SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_PGA_R_EN = 0x30000800, -+ SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_PGA_L_EN = 0x30001000, -+ SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_AUDOG0 = 0x30002000, -+ SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_AUDOG1 = 0x30004000, -+ SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_AUDOG2 = 0x30008000, -+ SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_AUDOG3 = 0x30010000, -+ SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_A1CTRL = 0x30020000, -+ SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_MONO0 = 0x30080000, -+ SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_MONO1 = 0x30100000, -+ SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_AUDOG_PRI_ADJ = 0x30200000, -+ SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_MONO_PRI_ADJ = 0x30400000, -+ SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_RX_PRI_ADJ0 = 0x30800000, -+ SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_RX_PRI_ADJ1 = 0x31000000, -+ -+ SSP_PCAP_ADJ_BIT_ST_DAC_SMB_ST_DAC = 0x34000001, -+ SSP_PCAP_ADJ_BIT_ST_DAC_STDET_EN = 0x34000002, -+ SSP_PCAP_ADJ_BIT_ST_DAC_ST_CLK0 = 0x34000004, -+ SSP_PCAP_ADJ_BIT_ST_DAC_ST_CLK1 = 0x34000008, -+ SSP_PCAP_ADJ_BIT_ST_DAC_ST_CLK2 = 0x34000010, -+ SSP_PCAP_ADJ_BIT_ST_DAC_ST_CLK_EN = 0x34000020, -+ SSP_PCAP_ADJ_BIT_ST_DAC_DF_RESET_ST_DAC = 0x34000040, -+ SSP_PCAP_ADJ_BIT_ST_DAC_ST_DAC_EN = 0x34000080, -+ SSP_PCAP_ADJ_BIT_ST_DAC_SR0 = 0x34000100, -+ SSP_PCAP_ADJ_BIT_ST_DAC_SR1 = 0x34000200, -+ SSP_PCAP_ADJ_BIT_ST_DAC_SR2 = 0x34000400, -+ SSP_PCAP_ADJ_BIT_ST_DAC_SR3 = 0x34000800, -+ SSP_PCAP_ADJ_BIT_ST_DAC_DIG_AUD_IN_ST_DAC = 0x34001000, -+ SSP_PCAP_ADJ_BIT_ST_DAC_DIG_AUD_FS0 = 0x34002000, -+ SSP_PCAP_ADJ_BIT_ST_DAC_DIG_AUD_FS1 = 0x34004000, -+ SSP_PCAP_ADJ_BIT_ST_DAC_BCLK0 = 0x34008000, -+ SSP_PCAP_ADJ_BIT_ST_DAC_BCLK1 = 0x34010000, -+ SSP_PCAP_ADJ_BIT_ST_DAC_ST_CLK_INV = 0x34020000, -+ SSP_PCAP_ADJ_BIT_ST_DAC_ST_FS_INV = 0x34040000, -+ SSP_PCAP_ADJ_BIT_ST_DAC_ST_DAC_CLK_IN_SEL = 0x34080000, -+ SSP_PCAP_ADJ_BIT_ST_DAC_ST_DAC_PRI_ADJ = 0x35000000, -+ -+ SSP_PCAP_ADJ_BIT_BUSCTRL_FSENB = 0x50000001, -+ SSP_PCAP_ADJ_BIT_BUSCTRL_USB_SUSPEND = 0x50000002, -+ SSP_PCAP_ADJ_BIT_BUSCTRL_USB_PU = 0x50000004, -+ SSP_PCAP_ADJ_BIT_BUSCTRL_USB_PD = 0x50000008, -+ SSP_PCAP_ADJ_BIT_BUSCTRL_VUSB_EN = 0x50000010, -+ SSP_PCAP_ADJ_BIT_BUSCTRL_USB_PS = 0x50000020, -+ SSP_PCAP_ADJ_BIT_BUSCTRL_VUSB_MSTR_EN = 0x50000040, -+ SSP_PCAP_ADJ_BIT_BUSCTRL_VBUS_PD_ENB = 0x50000080, -+ SSP_PCAP_ADJ_BIT_BUSCTRL_CURRLIM = 0x50000100, -+ SSP_PCAP_ADJ_BIT_BUSCTRL_RS232ENB = 0x50000200, -+ SSP_PCAP_ADJ_BIT_BUSCTRL_RS232_DIR = 0x50000400, -+ SSP_PCAP_ADJ_BIT_BUSCTRL_SE0_CONN = 0x50000800, -+ SSP_PCAP_ADJ_BIT_BUSCTRL_USB_PDM = 0x50001000, -+ SSP_PCAP_ADJ_BIT_BUSCTRL_BUS_PRI_ADJ = 0x51000000, -+ -+ SSP_PCAP_ADJ_BIT_PERIPH_BL_CTRL0 = 0x54000001, -+ SSP_PCAP_ADJ_BIT_PERIPH_BL_CTRL1 = 0x54000002, -+ SSP_PCAP_ADJ_BIT_PERIPH_BL_CTRL2 = 0x54000004, -+ SSP_PCAP_ADJ_BIT_PERIPH_BL_CTRL3 = 0x54000008, -+ SSP_PCAP_ADJ_BIT_PERIPH_BL_CTRL4 = 0x54000010, -+ SSP_PCAP_ADJ_BIT_PERIPH_LEDR_EN = 0x54000020, -+ SSP_PCAP_ADJ_BIT_PERIPH_LEDG_EN = 0x54000040, -+ SSP_PCAP_ADJ_BIT_PERIPH_LEDR_CTRL0 = 0x54000080, -+ SSP_PCAP_ADJ_BIT_PERIPH_LEDR_CTRL1 = 0x54000100, -+ SSP_PCAP_ADJ_BIT_PERIPH_LEDR_CTRL2 = 0x54000200, -+ SSP_PCAP_ADJ_BIT_PERIPH_LEDR_CTRL3 = 0x54000400, -+ SSP_PCAP_ADJ_BIT_PERIPH_LEDG_CTRL0 = 0x54000800, -+ SSP_PCAP_ADJ_BIT_PERIPH_LEDG_CTRL1 = 0x54001000, -+ SSP_PCAP_ADJ_BIT_PERIPH_LEDG_CTRL2 = 0x54002000, -+ SSP_PCAP_ADJ_BIT_PERIPH_LEDG_CTRL3 = 0x54004000, -+ SSP_PCAP_ADJ_BIT_PERIPH_LEDR_I0 = 0x54008000, -+ SSP_PCAP_ADJ_BIT_PERIPH_LEDR_I1 = 0x54010000, -+ SSP_PCAP_ADJ_BIT_PERIPH_LEDG_I0 = 0x54020000, -+ SSP_PCAP_ADJ_BIT_PERIPH_LEDG_I1 = 0x54040000, -+ SSP_PCAP_ADJ_BIT_PERIPH_SKIP = 0x54080000, -+ SSP_PCAP_ADJ_BIT_PERIPH_BL2_CTRL0 = 0x54100000, -+ SSP_PCAP_ADJ_BIT_PERIPH_BL2_CTRL1 = 0x54200000, -+ SSP_PCAP_ADJ_BIT_PERIPH_BL2_CTRL2 = 0x54400000, -+ SSP_PCAP_ADJ_BIT_PERIPH_BL2_CTRL3 = 0x54800000, -+ SSP_PCAP_ADJ_BIT_PERIPH_BL2_CTRL4 = 0x55000000, -+ -+ SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_VAUX2_STBY = 0x60000001, -+ SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_VAUX2_LOWPWR = 0x60000002, -+ SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_VAUX3_STBY = 0x60000004, -+ SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_VAUX3_LOWPWR = 0x60000008, -+ SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_VAUX4_STBY = 0x60000010, -+ SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_VAUX4_LOWPWR = 0x60000020, -+ SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_VSIM_LOWPWR = 0x60000040, -+ SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_VSIM2_LOWPWR = 0x60000080, -+ SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW1_MODE00 = 0x60000100, -+ SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW1_MODE01 = 0x60000200, -+ SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW1_MODE10 = 0x60000400, -+ SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW1_MODE11 = 0x60000800, -+ SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW10_DVS = 0x60001000, -+ SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW11_DVS = 0x60002000, -+ SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW12_DVS = 0x60004000, -+ SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW13_DVS = 0x60008000, -+ SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW2_MODE00 = 0x60010000, -+ SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW2_MODE01 = 0x60020000, -+ SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW2_MODE10 = 0x60040000, -+ SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW2_MODE11 = 0x60080000, -+ SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW20_DVS = 0x60100000, -+ SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW21_DVS = 0x60200000, -+ SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW22_DVS = 0x60400000, -+ SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW23_DVS = 0x60800000, -+ SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_VC_STBY = 0x61000000, -+ -+ SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_AUDIG0 = 0x68000001, -+ SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_AUDIG1 = 0x68000002, -+ SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_AUDIG2 = 0x68000004, -+ SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_AUDIG3 = 0x68000008, -+ SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_AUDIG4 = 0x68000010, -+ SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_A3_EN = 0x68000020, -+ SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_A3_MUX = 0x68000040, -+ SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_A5_EN = 0x68000080, -+ SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_A5_MUX = 0x68000100, -+ SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_EXT_MIC_MUX = 0x68000200, -+ SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_MB_ON2 = 0x68000400, -+ SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_MB_ON1 = 0x68000800, -+ SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_A1ID_TX = 0x68001000, -+ SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_A1_CONFIG = 0x68002000, -+ SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_AHS_CONFIG = 0x68004000, -+ SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_A2_CONFIG = 0x68008000, -+ SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_AUDIO_LOWPWR = 0x68080000, -+ SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_AUDIO_STBY = 0x68100000, -+ SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_V2_EN_2 = 0x68200000, -+ SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_AUDIG_PRI_ADJ = 0x68400000, -+ SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_TX_PRI_ADJ0 = 0x68800000, -+ SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_TX_PRI_ADJ1 = 0x69000000, -+ -+ SSP_PCAP_ADJ_BIT_SYS_RST_CLR = 0x6c000001, -+ SSP_PCAP_ADJ_BIT_SYS_RST_MODE0 = 0x6c000002, -+ SSP_PCAP_ADJ_BIT_SYS_RST_MODE1 = 0x6c000004, -+ SSP_PCAP_ADJ_BIT_SYS_VFLASH_0 = 0x6c000008, -+ SSP_PCAP_ADJ_BIT_SYS_VFLASH_1 = 0x6c000010, -+ SSP_PCAP_ADJ_BIT_SYS_MID_SELECT = 0x6c000020, -+ SSP_PCAP_ADJ_BIT_SYS_MID_FET = 0x6c000040, -+ SSP_PCAP_ADJ_BIT_SYS_MAIN_LOW = 0x6c000080, -+ SSP_PCAP_ADJ_BIT_SYS_BATTFB_DIS = 0x6c000100, -+ SSP_PCAP_ADJ_BIT_SYS_GP_REG9 = 0x6c000200, -+ SSP_PCAP_ADJ_BIT_SYS_GP_REG10 = 0x6c000400, -+ SSP_PCAP_ADJ_BIT_SYS_GP_REG11 = 0x6c000800, -+ SSP_PCAP_ADJ_BIT_SYS_GP_REG12 = 0x6c001000, -+ SSP_PCAP_ADJ_BIT_SYS_GP_REG13 = 0x6c002000, -+ SSP_PCAP_ADJ_BIT_SYS_GP_REG14 = 0x6c004000, -+ SSP_PCAP_ADJ_BIT_SYS_GP_REG15 = 0x6c008000, -+ SSP_PCAP_ADJ_BIT_SYS_GP_REG16 = 0x6c010000, -+ SSP_PCAP_ADJ_BIT_SYS_GP_REG17 = 0x6c020000, -+ SSP_PCAP_ADJ_BIT_SYS_GP_REG18 = 0x6c040000, -+ SSP_PCAP_ADJ_BIT_SYS_GP_REG19 = 0x6c080000, -+ SSP_PCAP_ADJ_BIT_SYS_GP_REG20 = 0x6c100000, -+ SSP_PCAP_ADJ_BIT_SYS_GP_REG21 = 0x6c200000, -+ SSP_PCAP_ADJ_BIT_SYS_GP_REG22 = 0x6c400000, -+ SSP_PCAP_ADJ_BIT_SYS_GP_REG23 = 0x6c800000, -+ SSP_PCAP_ADJ_BIT_SYS_GP_REG24 = 0x6d000000 -+ -+}SSP_PCAP_SECONDARY_PROCESSOR_REGISTER_BIT_TYPE; -+ -+/************************ FUNCTION PROTOTYPES **************************************/ -+extern void ssp_pcap_init(void); -+extern void ssp_pcap_release(void); -+ -+extern void ssp_pcap_open(SSP_PCAP_INIT_DRIVER_TYPE portType); -+extern void ssp_pcap_close(void); -+ -+extern void ssp_pcap_intoSleep_callBack(void); -+extern void ssp_pcap_wakeUp_callBack(void); -+ -+ -+extern SSP_PCAP_STATUS SSP_PCAP_write_data_to_PCAP(SSP_PCAP_SECONDARY_PROCESSOR_REGISTER ssp_pcap_register,U32 ssp_pcap_register_value); -+extern SSP_PCAP_STATUS SSP_PCAP_read_data_from_PCAP(SSP_PCAP_SECONDARY_PROCESSOR_REGISTER ssp_pcap_register,P_U32 p_ssp_pcap_register_value); -+ -+extern SSP_PCAP_STATUS SSP_PCAP_bit_set(SSP_PCAP_SECONDARY_PROCESSOR_REGISTER_BIT_TYPE ssp_pcap_bit ) ; -+extern SSP_PCAP_STATUS SSP_PCAP_bit_clean(SSP_PCAP_SECONDARY_PROCESSOR_REGISTER_BIT_TYPE ssp_pcap_bit ) ; -+extern SSP_PCAP_BIT_STATUS SSP_PCAP_get_bit_from_buffer(SSP_PCAP_SECONDARY_PROCESSOR_REGISTER_BIT_TYPE ssp_pcap_bit ) ; -+extern SSP_PCAP_BIT_STATUS SSP_PCAP_get_bit_from_PCAP(SSP_PCAP_SECONDARY_PROCESSOR_REGISTER_BIT_TYPE ssp_pcap_bit ) ; -+extern U32 SSP_PCAP_get_register_value_from_buffer(SSP_PCAP_SECONDARY_PROCESSOR_REGISTER ssp_pcap_register ) ; -+ -+extern SSP_PCAP_STATUS SSP_PCAP_TSI_mode_set(TOUCH_SCREEN_DETECT_TYPE mode_Type ); -+extern SSP_PCAP_STATUS SSP_PCAP_TSI_start_XY_read(void); -+extern SSP_PCAP_STATUS SSP_PCAP_TSI_get_XY_value(P_U16 p_x,P_U16 p_y); -+extern SSP_PCAP_STATUS SSP_PCAP_CDC_CLK_set(PHONE_CDC_CLOCK_TYPE clkType); -+ -+extern SSP_PCAP_STATUS SSP_PCAP_CDC_SR_set(ST_SAMPLE_RATE_TYPE srType); -+extern SSP_PCAP_STATUS SSP_PCAP_BCLK_set(ST_BCLK_TIME_SLOT_TYPE bclkType); -+extern SSP_PCAP_STATUS SSP_PCAP_STCLK_set(ST_CLK_TYPE stClkType); -+extern SSP_PCAP_STATUS SSP_PCAP_DIG_AUD_FS_set(DIG_AUD_MODE_TYPE fsType); -+extern SSP_PCAP_STATUS SSP_PCAP_AUDIG_set(U32 audioInGain); -+extern SSP_PCAP_STATUS SSP_PCAP_MONO_set(MONO_TYPE monoType); -+extern SSP_PCAP_STATUS SSP_PCAP_AUDOG_set(U32 audioOutGain); -+ -+extern SSP_PCAP_STATUS SSP_PCAP_V_VIB_level_set(VibratorVoltageLevel_TYPE VIBLevelType); -+extern SSP_PCAP_STATUS SSP_PCAP_configure_USB_UART_transeiver(SSP_PCAP_PORT_TYPE portType); -+extern SSP_PCAP_BIT_STATUS SSP_PCAP_get_audio_in_status(void); -+ -+/* for log */ -+extern void pcap_log_add_pure_data(u8* pData,u32 len); -+extern void pcap_log_add_data(u8* pData,u32 len); -+ -+/* screen lock on/off handler */ -+extern void ssp_pcap_screenlock_lock(u32 data); -+extern void ssp_pcap_screenlock_unlock(u32 data); -+ ++/* driver configuration */ ++#define PCAP_CS_AH (1 << 0) /* CS pin is active high */ ++#define PCAP_MCI_SD (1 << 1) /* SD card slot */ ++#define PCAP_MCI_TF (1 << 2) /* TF card slot */ ++ ++#define PCAP_REGISTER_WRITE_OP_BIT 0x80000000 ++#define PCAP_REGISTER_READ_OP_BIT 0x00000000 ++ ++#define PCAP_REGISTER_VALUE_MASK 0x01ffffff ++#define PCAP_REGISTER_ADDRESS_MASK 0x7c000000 ++#define PCAP_REGISTER_ADDRESS_SHIFT 26 ++#define PCAP_REGISTER_NUMBER 32 ++#define PCAP_CLEAR_INTERRUPT_REGISTER 0x01ffffff ++#define PCAP_MASK_ALL_INTERRUPT 0x01ffffff ++ ++ ++#define pbit(reg, bit) ((reg << PCAP_REGISTER_ADDRESS_SHIFT) | bit) ++ ++/* registers acessible by both pcap ports */ ++#define PCAP_REG_ISR 0x0 /* Interrupt Status */ ++#define PCAP_REG_MSR 0x1 /* Interrupt Mask */ ++#define PCAP_REG_PSTAT 0x2 /* Processor Status */ ++#define PCAP_REG_VREG2 0x6 /* Regulator Bank 2 Control */ ++#define PCAP_REG_AUXVREG 0x7 /* Auxiliary Regulator Control */ ++#define PCAP_REG_BATT 0x8 /* Battery Control */ ++#define PCAP_REG_ADC1 0x9 /* AD Control */ ++#define PCAP_REG_ADC2 0xa /* AD Result */ ++#define PCAP_REG_CODEC 0xb /* Audio Codec Control */ ++#define PCAP_REG_RX_AMPS 0xc /* RX Audio Amplifiers Control */ ++#define PCAP_REG_ST_DAC 0xd /* Stereo DAC Control */ ++#define PCAP_REG_BUSCTRL 0x14 /* Connectivity Control */ ++#define PCAP_REG_PERIPH 0x15 /* Peripheral Control */ ++#define PCAP_REG_LOWPWR 0x18 /* Regulator Low Power Control */ ++#define PCAP_REG_TX_AMPS 0x1a /* TX Audio Amplifiers Control */ ++#define PCAP_REG_GP 0x1b /* General Purpose */ ++ ++/* registers acessible by pcap port 1 only (a1200, e2 & e6) */ ++#define PCAP_REG_INT_SEL 0x3 /* Interrupt Select */ ++#define PCAP_REG_SWCTRL 0x4 /* Switching Regulator Control */ ++#define PCAP_REG_VREG1 0x5 /* Regulator Bank 1 Control */ ++#define PCAP_REG_RTC_TOD 0xe /* RTC Time of Day */ ++#define PCAP_REG_RTC_TODA 0xf /* RTC Time of Day Alarm */ ++#define PCAP_REG_RTC_DAY 0x10 /* RTC Day */ ++#define PCAP_REG_RTC_DAYA 0x11 /* RTC Day Alarm */ ++#define PCAP_REG_MTRTMR 0x12 /* AD Monitor Timer */ ++#define PCAP_REG_PWR 0x13 /* Power Control */ ++#define PCAP_REG_AUXVREG_MASK 0x16 /* Auxiliary Regulator Mask */ ++#define PCAP_REG_VENDOR_REV 0x17 ++#define PCAP_REG_PERIPH_MASK 0x19 /* Peripheral Mask */ ++ ++/* interrupts - registers 0, 1, 2, 3 */ ++#define PCAP_IRQ_ADCDONE (1 << 0) /* AD Conversion Done Port 1 */ ++#define PCAP_IRQ_TS (1 << 1) /* Touch Screen */ ++#define PCAP_IRQ_1HZ (1 << 2) /* 1HZ Timer */ ++#define PCAP_IRQ_WH (1 << 3) ++#define PCAP_IRQ_WL (1 << 4) ++#define PCAP_IRQ_TODA (1 << 5) ++#define PCAP_IRQ_USB4V (1 << 6) ++#define PCAP_IRQ_ONOFF (1 << 7) ++#define PCAP_IRQ_ONOFF2 (1 << 8) ++#define PCAP_IRQ_USB1V (1 << 9) ++#define PCAP_IRQ_MOBPORT (1 << 10) ++#define PCAP_IRQ_MB2 (1 << 11) /* Mic */ ++#define PCAP_IRQ_A1 (1 << 12) /* Audio jack */ ++#define PCAP_IRQ_ST (1 << 13) ++#define PCAP_IRQ_PC (1 << 14) ++#define PCAP_IRQ_WARM (1 << 15) ++#define PCAP_IRQ_EOL (1 << 16) ++#define PCAP_IRQ_CLK (1 << 17) ++#define PCAP_IRQ_SYSRST (1 << 18) ++#define PCAP_IRQ_ADCDONE2 (1 << 20) /* AD Conversion Done Port 2 */ ++#define PCAP_IRQ_SOFTRESET (1 << 21) ++#define PCAP_IRQ_MNEXB (1 << 22) ++ ++#define PCAP_BIT_VREG2_V1_STBY pbit(PCAP_REG_VREG2, (1 << 0)) ++#define PCAP_BIT_VREG2_V2_STBY pbit(PCAP_REG_VREG2, (1 << 1)) ++#define PCAP_BIT_VREG2_V3_STBY pbit(PCAP_REG_VREG2, (1 << 2)) ++#define PCAP_BIT_VREG2_V4_STBY pbit(PCAP_REG_VREG2, (1 << 3)) ++#define PCAP_BIT_VREG2_V5_STBY pbit(PCAP_REG_VREG2, (1 << 4)) ++#define PCAP_BIT_VREG2_V6_STBY pbit(PCAP_REG_VREG2, (1 << 5)) ++#define PCAP_BIT_VREG2_V7_STBY pbit(PCAP_REG_VREG2, (1 << 6)) ++#define PCAP_BIT_VREG2_V8_STBY pbit(PCAP_REG_VREG2, (1 << 7)) ++#define PCAP_BIT_VREG2_V9_STBY pbit(PCAP_REG_VREG2, (1 << 8)) ++#define PCAP_BIT_VREG2_V10_STBY pbit(PCAP_REG_VREG2, (1 << 9)) ++#define PCAP_BIT_VREG2_V1_LOWPWR pbit(PCAP_REG_VREG2, (1 << 10)) ++#define PCAP_BIT_VREG2_V2_LOWPWR pbit(PCAP_REG_VREG2, (1 << 11)) ++#define PCAP_BIT_VREG2_V3_LOWPWR pbit(PCAP_REG_VREG2, (1 << 12)) ++#define PCAP_BIT_VREG2_V4_LOWPWR pbit(PCAP_REG_VREG2, (1 << 13)) ++#define PCAP_BIT_VREG2_V5_LOWPWR pbit(PCAP_REG_VREG2, (1 << 14)) ++#define PCAP_BIT_VREG2_V6_LOWPWR pbit(PCAP_REG_VREG2, (1 << 15)) ++#define PCAP_BIT_VREG2_V7_LOWPWR pbit(PCAP_REG_VREG2, (1 << 16)) ++#define PCAP_BIT_VREG2_V8_LOWPWR pbit(PCAP_REG_VREG2, (1 << 17)) ++#define PCAP_BIT_VREG2_V9_LOWPWR pbit(PCAP_REG_VREG2, (1 << 18)) ++#define PCAP_BIT_VREG2_V10_LOWPWR pbit(PCAP_REG_VREG2, (1 << 19)) ++ ++#define PCAP_BIT_AUXVREG_VAUX1_EN pbit(PCAP_REG_AUXVREG, (1 << 1)) ++#define PCAP_AUXVREG_VAUX1_MASK 0x0000000c ++#define PCAP_AUXVREG_VAUX1_SHIFT 2 ++#define PCAP_BIT_AUXVREG_VAUX2_EN pbit(PCAP_REG_AUXVREG, (1 << 4)) ++#define PCAP_AUXVREG_VAUX2_MASK 0x00000060 ++#define PCAP_AUXVREG_VAUX2_SHIFT 5 ++#define PCAP_BIT_AUXVREG_VAUX3_EN pbit(PCAP_REG_AUXVREG, (1 << 7)) ++#define PCAP_AUXVREG_VAUX3_MASK 0x00000f00 ++#define PCAP_AUXVREG_VAUX3_SHIFT 8 ++#define PCAP_BIT_AUXVREG_VAUX4_EN pbit(PCAP_REG_AUXVREG, (1 << 12)) ++#define PCAP_AUXVREG_VAUX4_MASK 0x00006000 ++#define PCAP_AUXVREG_VAUX4_SHIFT 13 ++#define PCAP_BIT_AUXVREG_VSIM2_EN pbit(PCAP_REG_AUXVREG, (1 << 16)) ++#define PCAP_BIT_AUXVREG_VSIM_EN pbit(PCAP_REG_AUXVREG, (1 << 17)) ++#define PCAP_BIT_AUXVREG_VSIM_0 pbit(PCAP_REG_AUXVREG, (1 << 18)) ++#define PCAP_BIT_AUXVREG_V_VIB_EN pbit(PCAP_REG_AUXVREG, (1 << 19)) ++#define PCAP_AUXVREG_V_VIB_MASK 0x00300000 ++#define PCAP_AUXVREG_V_VIB_SHIFT 20 ++#define PCAP_BIT_AUXVREG_VAUX1_STBY pbit(PCAP_REG_AUXVREG, (1 << 22)) ++#define PCAP_BIT_AUXVREG_VAUX1_LOWPWR pbit(PCAP_REG_AUXVREG, (1 << 23)) ++#define PCAP_BIT_AUXVREG_SW3_STBY pbit(PCAP_REG_AUXVREG, (1 << 24)) ++ ++#define PCAP_BATT_DAC_MASK 0x000000ff ++#define PCAP_BATT_DAC_SHIFT 0 ++#define PCAP_BIT_BATT_B_FDBK pbit(PCAP_REG_BATT, (1 << 8)) ++#define PCAP_BIT_BATT_EXT_ISENSE pbit(PCAP_REG_BATT, (1 << 9)) ++#define PCAP_BATT_V_COIN_MASK 0x00003c00 ++#define PCAP_BATT_V_COIN_SHIFT 10 ++#define PCAP_BIT_BATT_I_COIN pbit(PCAP_REG_BATT, (1 << 14)) ++#define PCAP_BIT_BATT_COIN_CH_EN pbit(PCAP_REG_BATT, (1 << 15)) ++#define PCAP_BATT_EOL_SEL_MASK 0x000e0000 ++#define PCAP_BATT_EOL_SEL_SHIFT 17 ++#define PCAP_BIT_BATT_EOL_CMP_EN pbit(PCAP_REG_BATT, (1 << 20)) ++#define PCAP_BIT_BATT_BATT_DET_EN pbit(PCAP_REG_BATT, (1 << 21)) ++#define PCAP_BIT_BATT_THERMBIAS_CTRL pbit(PCAP_REG_BATT, (1 << 22)) ++ ++#define PCAP_BIT_ADC1_ADEN pbit(PCAP_REG_ADC1, (1 << 0)) ++#define PCAP_BIT_ADC1_RAND pbit(PCAP_REG_ADC1, (1 << 1)) ++#define PCAP_BIT_ADC1_AD_SEL1 pbit(PCAP_REG_ADC1, (1 << 2)) ++#define PCAP_BIT_ADC1_AD_SEL2 pbit(PCAP_REG_ADC1, (1 << 3)) ++#define PCAP_ADC1_ADA1_MASK 0x00000070 ++#define PCAP_ADC1_ADA1_SHIFT 4 ++#define PCAP_ADC1_ADA2_MASK 0x00000380 ++#define PCAP_ADC1_ADA2_SHIFT 7 ++#define PCAP_ADC1_ATO_MASK 0x00003c00 ++#define PCAP_ADC1_ATO_SHIFT 10 ++#define PCAP_BIT_ADC1_ATOX pbit(PCAP_REG_ADC1, (1 << 14)) ++#define PCAP_BIT_ADC1_MTR1 pbit(PCAP_REG_ADC1, (1 << 15)) ++#define PCAP_BIT_ADC1_MTR2 pbit(PCAP_REG_ADC1, (1 << 16)) ++#define PCAP_ADC1_TS_M_MASK 0x000e0000 ++#define PCAP_ADC1_TS_M_SHIFT 17 ++#define PCAP_BIT_ADC1_TS_REF_LOWPWR pbit(PCAP_REG_ADC1, (1 << 20)) ++#define PCAP_BIT_ADC1_TS_REFENB pbit(PCAP_REG_ADC1, (1 << 21)) ++#define PCAP_BIT_ADC1_BATT_I_POLARITY pbit(PCAP_REG_ADC1, (1 << 22)) ++#define PCAP_BIT_ADC1_BATT_I_ADC pbit(PCAP_REG_ADC1, (1 << 23)) ++ ++#define PCAP_ADC2_ADD1_MASK 0x000003ff ++#define PCAP_ADC2_ADD1_SHIFT 0 ++#define PCAP_ADC2_ADD2_MASK 0x000ffc00 ++#define PCAP_ADC2_ADD2_SHIFT 10 ++#define PCAP_BIT_ADC2_ADINC1 pbit(PCAP_REG_ADC2, (1 << 20)) ++#define PCAP_BIT_ADC2_ADINC2 pbit(PCAP_REG_ADC2, (1 << 21)) ++#define PCAP_BIT_ADC2_ASC pbit(PCAP_REG_ADC2, (1 << 22)) ++ ++#define PCAP_BIT_BUSCTRL_FSENB 0x50000001 ++#define PCAP_BIT_BUSCTRL_USB_SUSPEND 0x50000002 ++#define PCAP_BIT_BUSCTRL_USB_PU 0x50000004 ++#define PCAP_BIT_BUSCTRL_USB_PD 0x50000008 ++#define PCAP_BIT_BUSCTRL_VUSB_EN 0x50000010 ++#define PCAP_BIT_BUSCTRL_USB_PS 0x50000020 ++#define PCAP_BIT_BUSCTRL_VUSB_MSTR_EN 0x50000040 ++#define PCAP_BIT_BUSCTRL_VBUS_PD_ENB 0x50000080 ++#define PCAP_BIT_BUSCTRL_CURRLIM 0x50000100 ++#define PCAP_BIT_BUSCTRL_RS232ENB 0x50000200 ++#define PCAP_BIT_BUSCTRL_RS232_DIR 0x50000400 ++#define PCAP_BIT_BUSCTRL_SE0_CONN 0x50000800 ++#define PCAP_BIT_BUSCTRL_USB_PDM 0x50001000 ++#define PCAP_BIT_BUSCTRL_BUS_PRI_ADJ 0x51000000 ++ ++#define PCAP_BIT_PERIPH_BL_CTRL0 0x54000001 ++#define PCAP_BIT_PERIPH_BL_CTRL1 0x54000002 ++#define PCAP_BIT_PERIPH_BL_CTRL2 0x54000004 ++#define PCAP_BIT_PERIPH_BL_CTRL3 0x54000008 ++#define PCAP_BIT_PERIPH_BL_CTRL4 0x54000010 ++#define PCAP_BIT_PERIPH_LEDR_EN 0x54000020 ++#define PCAP_BIT_PERIPH_LEDG_EN 0x54000040 ++#define PCAP_BIT_PERIPH_LEDR_CTRL0 0x54000080 ++#define PCAP_BIT_PERIPH_LEDR_CTRL1 0x54000100 ++#define PCAP_BIT_PERIPH_LEDR_CTRL2 0x54000200 ++#define PCAP_BIT_PERIPH_LEDR_CTRL3 0x54000400 ++#define PCAP_BIT_PERIPH_LEDG_CTRL0 0x54000800 ++#define PCAP_BIT_PERIPH_LEDG_CTRL1 0x54001000 ++#define PCAP_BIT_PERIPH_LEDG_CTRL2 0x54002000 ++#define PCAP_BIT_PERIPH_LEDG_CTRL3 0x54004000 ++#define PCAP_BIT_PERIPH_LEDR_I0 0x54008000 ++#define PCAP_BIT_PERIPH_LEDR_I1 0x54010000 ++#define PCAP_BIT_PERIPH_LEDG_I0 0x54020000 ++#define PCAP_BIT_PERIPH_LEDG_I1 0x54040000 ++#define PCAP_BIT_PERIPH_SKIP 0x54080000 ++#define PCAP_BIT_PERIPH_BL2_CTRL0 0x54100000 ++#define PCAP_BIT_PERIPH_BL2_CTRL1 0x54200000 ++#define PCAP_BIT_PERIPH_BL2_CTRL2 0x54400000 ++#define PCAP_BIT_PERIPH_BL2_CTRL3 0x54800000 ++#define PCAP_BIT_PERIPH_BL2_CTRL4 0x55000000 ++ ++#define PCAP_BIT_LOWPWR_VAUX2_STBY 0x60000001 ++#define PCAP_BIT_LOWPWR_VAUX2_LOWPWR 0x60000002 ++#define PCAP_BIT_LOWPWR_VAUX3_STBY 0x60000004 ++#define PCAP_BIT_LOWPWR_VAUX3_LOWPWR 0x60000008 ++#define PCAP_BIT_LOWPWR_VAUX4_STBY 0x60000010 ++#define PCAP_BIT_LOWPWR_VAUX4_LOWPWR 0x60000020 ++#define PCAP_BIT_LOWPWR_VSIM_LOWPWR 0x60000040 ++#define PCAP_BIT_LOWPWR_VSIM2_LOWPWR 0x60000080 ++#define PCAP_BIT_LOWPWR_SW1_MODE00 0x60000100 ++#define PCAP_BIT_LOWPWR_SW1_MODE01 0x60000200 ++#define PCAP_BIT_LOWPWR_SW1_MODE10 0x60000400 ++#define PCAP_BIT_LOWPWR_SW1_MODE11 0x60000800 ++#define PCAP_BIT_LOWPWR_SW10_DVS 0x60001000 ++#define PCAP_BIT_LOWPWR_SW11_DVS 0x60002000 ++#define PCAP_BIT_LOWPWR_SW12_DVS 0x60004000 ++#define PCAP_BIT_LOWPWR_SW13_DVS 0x60008000 ++#define PCAP_BIT_LOWPWR_SW2_MODE00 0x60010000 ++#define PCAP_BIT_LOWPWR_SW2_MODE01 0x60020000 ++#define PCAP_BIT_LOWPWR_SW2_MODE10 0x60040000 ++#define PCAP_BIT_LOWPWR_SW2_MODE11 0x60080000 ++#define PCAP_BIT_LOWPWR_SW20_DVS 0x60100000 ++#define PCAP_BIT_LOWPWR_SW21_DVS 0x60200000 ++#define PCAP_BIT_LOWPWR_SW22_DVS 0x60400000 ++#define PCAP_BIT_LOWPWR_SW23_DVS 0x60800000 ++#define PCAP_BIT_LOWPWR_VC_STBY 0x61000000 ++ ++extern int ezx_pcap_write(u_int8_t, u_int32_t); ++extern int ezx_pcap_read(u_int8_t, u_int32_t *); ++extern int ezx_pcap_bit_set(u_int32_t, u_int8_t); ++extern int ezx_pcap_bit_get(u_int32_t); ++extern void ezx_pcap_vibrator_level(u_int32_t); +#endif Index: linux-2.6.21/include/asm-arm/arch-pxa/irqs.h =================================================================== ---- linux-2.6.21.orig/include/asm-arm/arch-pxa/irqs.h 2007-06-03 02:17:12.000000000 -0300 -+++ linux-2.6.21/include/asm-arm/arch-pxa/irqs.h 2007-06-03 11:14:40.000000000 -0300 +--- linux-2.6.21.orig/include/asm-arm/arch-pxa/irqs.h 2007-08-31 22:28:17.000000000 -0300 ++++ linux-2.6.21/include/asm-arm/arch-pxa/irqs.h 2007-08-31 22:34:36.000000000 -0300 +@@ -85,7 +85,7 @@ + * within sensible limits. + */ + #define IRQ_BOARD_START (IRQ_GPIO(PXA_LAST_GPIO) + 1) +-#define IRQ_BOARD_END (IRQ_BOARD_START + 16) ++#define IRQ_BOARD_END (IRQ_BOARD_START + 22) + + #define IRQ_SA1111_START (IRQ_BOARD_END) + #define IRQ_GPAIN0 (IRQ_BOARD_END + 0) @@ -176,7 +176,8 @@ #define NR_IRQS (IRQ_LOCOMO_SPI_TEND + 1) #elif defined(CONFIG_ARCH_LUBBOCK) || \ @@ -1159,7 +791,7 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/irqs.h #define NR_IRQS (IRQ_BOARD_END) #else #define NR_IRQS (IRQ_BOARD_START) -@@ -222,3 +223,13 @@ +@@ -222,3 +223,28 @@ #define IRQ_LOCOMO_GPIO_BASE (IRQ_BOARD_START + 1) #define IRQ_LOCOMO_LT_BASE (IRQ_BOARD_START + 2) #define IRQ_LOCOMO_SPI_BASE (IRQ_BOARD_START + 3) @@ -1173,65 +805,39 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/irqs.h +#define EZX_IRQ_ADCDONE EZX_IRQ(4) +#define EZX_IRQ_TS EZX_IRQ(5) /* TS touch */ +#define EZX_IRQ_ADCDONE2 EZX_IRQ(6) /* TS x/y ADC ready */ -Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c -=================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx.c 2007-06-03 11:14:40.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-06-09 14:57:44.000000000 -0300 -@@ -131,11 +131,30 @@ - .resource = ezxbp_resources, - }; - -+/* PCAP */ -+static struct resource ezxpcap_resources[] = { -+ [0] = { -+ .start = IRQ_GPIO1, -+ .end = IRQ_GPIO1, -+ .flags = IORESOURCE_IRQ, -+ }, -+}; -+ -+struct platform_device ezxpcap_device = { -+ .name = "ezx-pcap", -+ .id = -1, -+ .dev = { -+ .parent = &ezxssp_device.dev, -+ }, -+ .num_resources = ARRAY_SIZE(ezxpcap_resources), -+ .resource = ezxpcap_resources, -+}; - - - static struct platform_device *devices[] __initdata = { - &ezxssp_device, - &ezxbp_device, -+ &ezxpcap_device, - }; - - /* PM */ ++#define EZX_IRQ_WH EZX_IRQ(7) ++#define EZX_IRQ_WL EZX_IRQ(8) ++#define EZX_IRQ_ONOFF EZX_IRQ(9) ++#define EZX_IRQ_ONOFF2 EZX_IRQ(10) ++#define EZX_IRQ_MOBPORT EZX_IRQ(11) ++#define EZX_IRQ_TODA EZX_IRQ(12) ++#define EZX_IRQ_1HZ EZX_IRQ(13) ++#define EZX_IRQ_MNEXB EZX_IRQ(14) ++#define EZX_IRQ_ST EZX_IRQ(15) ++#define EZX_IRQ_PC EZX_IRQ(16) ++#define EZX_IRQ_SYSRST EZX_IRQ(17) ++#define EZX_IRQ_SOFTRESET EZX_IRQ(18) ++#define EZX_IRQ_EOL EZX_IRQ(19) ++#define EZX_IRQ_CLK EZX_IRQ(20) ++#define EZX_IRQ_WARM EZX_IRQ(21) Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-06-03 11:14:40.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-06-09 14:57:46.000000000 -0300 -@@ -105,6 +105,15 @@ +--- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-08-31 22:33:05.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-09-07 11:06:01.000000000 -0300 +@@ -105,6 +105,9 @@ config EZX_BP bool "BP Control code for EZX Platform" +config EZX_PCAP + bool "PCAP Support" + -+config EZX_MCI_SD -+ bool -+ -+config EZX_MCI_TF -+ bool -+ endif endmenu Index: linux-2.6.21/arch/arm/mach-pxa/Makefile =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-06-03 11:14:40.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-06-09 14:57:44.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-08-31 22:33:05.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-09-07 11:06:01.000000000 -0300 @@ -25,6 +25,7 @@ obj-$(CONFIG_PXA_EZX_A1200) += ezx-a1200.o obj-$(CONFIG_PXA_EZX_E6) += ezx-e6.o diff --git a/packages/linux/linux-ezx-2.6.21/patches/ezx-pm.patch b/packages/linux/linux-ezx-2.6.21/patches/ezx-pm.patch index 85b6f5c15d..ff3413f062 100755 --- a/packages/linux/linux-ezx-2.6.21/patches/ezx-pm.patch +++ b/packages/linux/linux-ezx-2.6.21/patches/ezx-pm.patch @@ -1,7 +1,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/pxa27x.c =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/pxa27x.c 2007-05-08 16:29:23.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/pxa27x.c 2007-05-08 16:29:36.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mach-pxa/pxa27x.c 2007-06-28 19:44:28.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/pxa27x.c 2007-06-28 19:44:58.000000000 -0300 @@ -22,6 +22,10 @@ #include <asm/arch/pxa-regs.h> #include <asm/arch/ohci.h> @@ -29,8 +29,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/pxa27x.c } Index: linux-2.6.21/arch/arm/mach-pxa/pm.c =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/pm.c 2007-05-08 16:29:23.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/pm.c 2007-05-08 16:29:36.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mach-pxa/pm.c 2007-06-28 19:44:28.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/pm.c 2007-06-28 19:44:58.000000000 -0300 @@ -24,6 +24,10 @@ #include <asm/arch/lubbock.h> #include <asm/mach/time.h> @@ -58,17 +58,17 @@ Index: linux-2.6.21/arch/arm/mach-pxa/pm.c RESTORE(GPDR0); RESTORE(GPDR1); RESTORE(GPDR2); Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx.c 2007-05-08 16:29:36.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-05-08 16:32:56.000000000 -0300 -@@ -18,6 +18,7 @@ - #include <asm/arch/pxafb.h> +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx.c 2007-06-28 19:44:52.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-06-28 19:44:58.000000000 -0300 +@@ -19,6 +19,7 @@ #include <asm/arch/pxa-regs.h> #include <asm/arch/ohci.h> + #include <asm/arch/ezx.h> +#include <asm/arch/system.h> #include "generic.h" - #include "ezx.h" -@@ -137,8 +138,69 @@ + +@@ -122,8 +123,69 @@ &ezxbp_device, }; @@ -137,4 +137,4 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c + CKEN = CKEN9_OSTIMER | CKEN22_MEMC; - ezx_ssp_set_machinfo(&ezx_ssp_machinfo); + pxa_gpio_mode(GPIO_ICL_FFRXD_MD); diff --git a/packages/linux/linux-ezx-2.6.21/patches/i2c-core-fix-a1200.patch b/packages/linux/linux-ezx-2.6.21/patches/i2c-core-fix-a1200.patch new file mode 100644 index 0000000000..bd69e38bd7 --- /dev/null +++ b/packages/linux/linux-ezx-2.6.21/patches/i2c-core-fix-a1200.patch @@ -0,0 +1,15 @@ +Index: linux-2.6.21/drivers/i2c/i2c-core.c +=================================================================== +--- linux-2.6.21.orig/drivers/i2c/i2c-core.c 2007-08-20 21:59:45.000000000 +0800 ++++ linux-2.6.21/drivers/i2c/i2c-core.c 2007-08-20 22:03:12.000000000 +0800 +@@ -365,8 +365,10 @@ + list_for_each(item,&adapters) { + adapter = list_entry(item, struct i2c_adapter, list); + driver->attach_adapter(adapter); ++ goto out; // Alex added for fix the bug otherwise system will be crashed. FIXME + } + } ++out: + + mutex_unlock(&core_lists); + return 0; diff --git a/packages/linux/linux-ezx-2.6.21/patches/index.html b/packages/linux/linux-ezx-2.6.21/patches/index.html new file mode 100644 index 0000000000..4d57380e0c --- /dev/null +++ b/packages/linux/linux-ezx-2.6.21/patches/index.html @@ -0,0 +1,60 @@ +<html><head><title>Revision 2047: /trunk/src/kernel-2.6/patches</title></head> +<body> + <h2>Revision 2047: /trunk/src/kernel-2.6/patches</h2> + <ul> + <li><a href="../">..</a></li> + <li><a href="Makefile.OpenEZX">Makefile.OpenEZX</a></li> + <li><a href="a1200-mci.patch">a1200-mci.patch</a></li> + <li><a href="a1200-pcap.patch">a1200-pcap.patch</a></li> + <li><a href="a1200-ts.patch">a1200-ts.patch</a></li> + <li><a href="a780-emu.patch">a780-emu.patch</a></li> + <li><a href="a780-flip.patch">a780-flip.patch</a></li> + <li><a href="a780-kbd.patch">a780-kbd.patch</a></li> + <li><a href="a780-leds.patch">a780-leds.patch</a></li> + <li><a href="a780-mci.patch">a780-mci.patch</a></li> + <li><a href="a780-pcap.patch">a780-pcap.patch</a></li> + <li><a href="a780-ts.patch">a780-ts.patch</a></li> + <li><a href="a780-vibrator.patch">a780-vibrator.patch</a></li> + <li><a href="asoc-pxa-ssp.patch">asoc-pxa-ssp.patch</a></li> + <li><a href="defconfig-a1200">defconfig-a1200</a></li> + <li><a href="defconfig-a780">defconfig-a780</a></li> + <li><a href="defconfig-e2">defconfig-e2</a></li> + <li><a href="defconfig-e6">defconfig-e6</a></li> + <li><a href="defconfig-e680">defconfig-e680</a></li> + <li><a href="dmesg-a780.log">dmesg-a780.log</a></li> + <li><a href="e680-emu.patch">e680-emu.patch</a></li> + <li><a href="e680-kbd.patch">e680-kbd.patch</a></li> + <li><a href="e680-leds.patch">e680-leds.patch</a></li> + <li><a href="e680-locksw.patch">e680-locksw.patch</a></li> + <li><a href="e680-mci.patch">e680-mci.patch</a></li> + <li><a href="e680-pcap.patch">e680-pcap.patch</a></li> + <li><a href="e680-ts.patch">e680-ts.patch</a></li> + <li><a href="ezx-asoc.patch">ezx-asoc.patch</a></li> + <li><a href="ezx-backlight.patch">ezx-backlight.patch</a></li> + <li><a href="ezx-bp.patch">ezx-bp.patch</a></li> + <li><a href="ezx-core.patch">ezx-core.patch</a></li> + <li><a href="ezx-emu.patch">ezx-emu.patch</a></li> + <li><a href="ezx-enable-stuart.patch">ezx-enable-stuart.patch</a></li> + <li><a href="ezx-mtd-map.patch">ezx-mtd-map.patch</a></li> + <li><a href="ezx-pcap.patch">ezx-pcap.patch</a></li> + <li><a href="ezx-pm.patch">ezx-pm.patch</a></li> + <li><a href="ezx-serial-bug-workaround.patch">ezx-serial-bug-workaround.patch</a></li> + <li><a href="mux-fix-init-errorpath.patch">mux-fix-init-errorpath.patch</a></li> + <li><a href="mux-fix-makefile.patch">mux-fix-makefile.patch</a></li> + <li><a href="mux-fix-tty-driver.patch">mux-fix-tty-driver.patch</a></li> + <li><a href="mux-fix.patch">mux-fix.patch</a></li> + <li><a href="mux-ifdef-ezx-features.patch">mux-ifdef-ezx-features.patch</a></li> + <li><a href="mux-linux-2.6.21-fix.patch">mux-linux-2.6.21-fix.patch</a></li> + <li><a href="mux-remove-flipbuffers.patch">mux-remove-flipbuffers.patch</a></li> + <li><a href="mux-remove-get_halted_bit.patch">mux-remove-get_halted_bit.patch</a></li> + <li><a href="mux-remove-usbh_finished_resume.patch">mux-remove-usbh_finished_resume.patch</a></li> + <li><a href="mux_cli.patch">mux_cli.patch</a></li> + <li><a href="mux_debug.patch">mux_debug.patch</a></li> + <li><a href="patch-2.6.21.4">patch-2.6.21.4</a></li> + <li><a href="pcap-ts.patch">pcap-ts.patch</a></li> + <li><a href="pxa-kbd.patch">pxa-kbd.patch</a></li> + <li><a href="pxa27x-udc-support.2.patch">pxa27x-udc-support.2.patch</a></li> + <li><a href="series">series</a></li> + </ul> + <hr noshade><em>Powered by <a href="http://subversion.tigris.org/">Subversion</a> version 1.1.4 (r13838).</em> +</body></html>
\ No newline at end of file diff --git a/packages/linux/linux-ezx-2.6.21/patches/mtdfix.patch b/packages/linux/linux-ezx-2.6.21/patches/mtdfix.patch new file mode 100644 index 0000000000..89a8402681 --- /dev/null +++ b/packages/linux/linux-ezx-2.6.21/patches/mtdfix.patch @@ -0,0 +1,41 @@ +--- /tmp/cacheflush.h 2007-09-10 15:22:58.188856413 +0200 ++++ linux-2.6.21/include/asm-arm/cacheflush.h 2007-09-10 15:23:14.009757994 +0200 +@@ -418,6 +418,14 @@ + */ + #define flush_icache_page(vma,page) do { } while (0) + ++inline static void flush_ioremap_region(unsigned long phys, void __iomem *virt, ++ unsigned offset, size_t size) ++{ ++ const void *start = virt + offset; ++ dmac_inv_range(start, start + size); ++} ++ ++ + #define __cacheid_present(val) (val != read_cpuid(CPUID_ID)) + #define __cacheid_vivt(val) ((val & (15 << 25)) != (14 << 25)) + #define __cacheid_vipt(val) ((val & (15 << 25)) == (14 << 25)) +--- /tmp/ezx-flash.c 2007-09-10 15:22:58.192856640 +0200 ++++ linux-2.6.21/drivers/mtd/maps/ezx-flash.c 2007-09-10 15:23:24.878377362 +0200 +@@ -21,6 +21,8 @@ + #include <linux/dma-mapping.h> + #include <linux/slab.h> + ++#include <asm/cacheflush.h> ++ + #include <linux/mtd/mtd.h> + #include <linux/mtd/map.h> + #include <linux/mtd/partitions.h> +@@ -51,11 +53,10 @@ + "sub pc, pc #4" + :"=r"(j)); + #else +- consistent_sync((char *)map->cached + from, len, DMA_FROM_DEVICE); ++ flush_ioremap_region(map->phys, map->cached, from, len); + #endif + } + +- + struct map_info pxa27x_map = { + .name = "PXA27x flash", + .size = WINDOW_SIZE, diff --git a/packages/linux/linux-ezx-2.6.21/patches/pcap-ts.patch b/packages/linux/linux-ezx-2.6.21/patches/pcap-ts.patch index 28b9c557d3..40ed7f4605 100755 --- a/packages/linux/linux-ezx-2.6.21/patches/pcap-ts.patch +++ b/packages/linux/linux-ezx-2.6.21/patches/pcap-ts.patch @@ -1,7 +1,7 @@ Index: linux-2.6.21/drivers/input/touchscreen/Kconfig =================================================================== ---- linux-2.6.21.orig/drivers/input/touchscreen/Kconfig 2007-06-02 20:17:58.000000000 -0300 -+++ linux-2.6.21/drivers/input/touchscreen/Kconfig 2007-06-02 20:18:40.000000000 -0300 +--- linux-2.6.21.orig/drivers/input/touchscreen/Kconfig 2007-08-31 22:27:48.000000000 -0300 ++++ linux-2.6.21/drivers/input/touchscreen/Kconfig 2007-08-31 23:06:39.000000000 -0300 @@ -164,4 +164,13 @@ To compile this driver as a module, choose M here: the module will be called ucb1400_ts. @@ -19,8 +19,8 @@ Index: linux-2.6.21/drivers/input/touchscreen/Kconfig Index: linux-2.6.21/drivers/input/touchscreen/pcap_ts.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/drivers/input/touchscreen/pcap_ts.c 2007-06-02 20:19:39.000000000 -0300 -@@ -0,0 +1,372 @@ ++++ linux-2.6.21/drivers/input/touchscreen/pcap_ts.c 2007-08-31 23:57:56.000000000 -0300 +@@ -0,0 +1,331 @@ +/* + * pcap_ts.c - Touchscreen driver for Motorola PCAP2 based touchscreen as found + * in the EZX phone platform. @@ -58,23 +58,21 @@ Index: linux-2.6.21/drivers/input/touchscreen/pcap_ts.c +#define DEBUGP(x, args ...) +#endif + -+#define PRESSURE 1 -+#define COORDINATE 2 -+#define STANDBY 3 -+ -+extern int ezx_pcap_read(u_int8_t, u_int32_t *); -+extern int ezx_pcap_write(u_int8_t, u_int32_t); -+extern int ezx_pcap_bit_set(u_int32_t, u_int8_t); ++#define POSITION_X_MEASUREMENT 0 ++#define POSITION_XY_MEASUREMENT 1 ++#define PRESSURE_MEASUREMENT 2 ++#define PLATE_X_MEASUREMENT 3 ++#define PLATE_Y_MEASUREMENT 4 ++#define STANDBY_MODE 5 ++#define NONTS_MODE 6 + +struct pcap_ts { + int irq_xy; + int irq_touch; + struct input_dev *input; + struct timer_list timer; -+ + u_int16_t x, y; + u_int16_t pressure; -+ + u_int8_t read_state; +}; + @@ -91,27 +89,31 @@ Index: linux-2.6.21/drivers/input/touchscreen/pcap_ts.c +#define SAMPLE_INTERVAL (HZ/50) + + -+static void pcap_ts_mode(u_int32_t mode) ++static void pcap_ts_mode(struct pcap_ts *pcap_ts, u_int32_t mode) +{ + u_int32_t tmp; + -+ ezx_pcap_read(SSP_PCAP_ADJ_ADC1_REGISTER, &tmp); -+ tmp &= ~SSP_PCAP_TOUCH_PANEL_POSITION_DETECT_MODE_MASK; -+ tmp |= mode; -+ ezx_pcap_write(SSP_PCAP_ADJ_ADC1_REGISTER, tmp); ++ pcap_ts->read_state = mode; ++ ezx_pcap_read(PCAP_REG_ADC1, &tmp); ++ tmp &= ~PCAP_ADC1_TS_M_MASK; ++ tmp |= ((mode << PCAP_ADC1_TS_M_SHIFT) & PCAP_ADC1_TS_M_MASK); ++ ezx_pcap_write(PCAP_REG_ADC1, tmp); +} + -+/* issue a XY read command to the ADC of PCAP2. Well get an ADCDONE2 interrupt ++/* issue a XY read command to the ADC of PCAP2. Well get an ADCDONE interrupt + * once the result of the conversion is available */ +static void pcap_ts_start_xy_read(struct pcap_ts *pcap_ts) +{ + u_int32_t tmp; + -+ ezx_pcap_read(SSP_PCAP_ADJ_ADC1_REGISTER, &tmp); -+ tmp &= SSP_PCAP_ADC_START_VALUE_SET_MASK; -+ tmp |= SSP_PCAP_ADC_START_VALUE; -+ ezx_pcap_write(SSP_PCAP_ADJ_ADC1_REGISTER, tmp); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_ADC2_ASC, 1); ++ ezx_pcap_read(PCAP_REG_ADC1, &tmp); ++ tmp &= ~(PCAP_BIT_ADC1_RAND | PCAP_ADC1_ADA1_MASK | ++ PCAP_ADC1_ADA2_MASK); ++ tmp |= (PCAP_BIT_ADC1_ADEN | PCAP_BIT_ADC1_AD_SEL1 | ++ PCAP_BIT_ADC1_AD_SEL2 | (5 << PCAP_ADC1_ADA1_SHIFT) | ++ (3 << PCAP_ADC1_ADA2_SHIFT)); ++ ezx_pcap_write(PCAP_REG_ADC1, tmp); ++ ezx_pcap_bit_set(PCAP_BIT_ADC2_ASC, 1); +} + +/* read the XY result from the ADC of PCAP2 */ @@ -119,17 +121,17 @@ Index: linux-2.6.21/drivers/input/touchscreen/pcap_ts.c +{ + u_int32_t tmp; + -+ ezx_pcap_read(SSP_PCAP_ADJ_ADC2_REGISTER, &tmp); ++ ezx_pcap_read(PCAP_REG_ADC2, &tmp); + -+ if (pcap_ts->read_state == COORDINATE && !(tmp & 0x00400000)) { -+ pcap_ts->x = (tmp & SSP_PCAP_ADD1_VALUE_MASK); -+ pcap_ts->y = (tmp & SSP_PCAP_ADD2_VALUE_MASK) -+ >>SSP_PCAP_ADD2_VALUE_SHIFT; ++ if (pcap_ts->read_state == POSITION_XY_MEASUREMENT) { ++ pcap_ts->x = (tmp & PCAP_ADC2_ADD1_MASK) >> ++ PCAP_ADC2_ADD1_SHIFT; ++ pcap_ts->y = (tmp & PCAP_ADC2_ADD2_MASK) >> ++ PCAP_ADC2_ADD2_SHIFT; + } else { -+ pcap_ts->pressure = (tmp & SSP_PCAP_ADD2_VALUE_MASK) -+ >>SSP_PCAP_ADD2_VALUE_SHIFT; ++ pcap_ts->pressure = (tmp & PCAP_ADC2_ADD2_MASK) >> ++ PCAP_ADC2_ADD2_SHIFT; + } -+ +} + +/* PCAP2 interrupts us when ADC conversion result is available */ @@ -139,11 +141,10 @@ Index: linux-2.6.21/drivers/input/touchscreen/pcap_ts.c + + pcap_ts_get_xy_value(pcap_ts); + DEBUGP(KERN_DEBUG "%s X=%4d, Y=%4d Z=%4d ", -+ pcap_ts->read_state == COORDINATE ? "COORD" : "PRESS", -+ pcap_ts->x, pcap_ts->y, pcap_ts->pressure); -+ ++ pcap_ts->read_state == POSITION_XY_MEASUREMENT ? "COORD" : ++ "PRESS", pcap_ts->x, pcap_ts->y, pcap_ts->pressure); + switch (pcap_ts->read_state) { -+ case PRESSURE: ++ case PRESSURE_MEASUREMENT: + if (pcap_ts->pressure >= PRESSURE_MAX || + pcap_ts->pressure <= PRESSURE_MIN ) { + /* pen has been released (or cant read pressure - WM)*/ @@ -156,11 +157,10 @@ Index: linux-2.6.21/drivers/input/touchscreen/pcap_ts.c + input_report_abs(pcap_ts->input, ABS_PRESSURE, pcap_ts->pressure); + } + /* switch state machine into coordinate read mode */ -+ pcap_ts->read_state = COORDINATE; -+ pcap_ts_mode(PCAP_TS_POSITION_XY_MEASUREMENT); ++ pcap_ts_mode(pcap_ts, POSITION_XY_MEASUREMENT); + pcap_ts_start_xy_read(pcap_ts); + break; -+ case COORDINATE: ++ case POSITION_XY_MEASUREMENT: + if (pcap_ts->x <= X_AXIS_MIN || pcap_ts->x >= X_AXIS_MAX || + pcap_ts->y <= Y_AXIS_MIN || pcap_ts->y >= Y_AXIS_MAX) { + /* pen has been released */ @@ -175,17 +175,15 @@ Index: linux-2.6.21/drivers/input/touchscreen/pcap_ts.c + + /* ask PCAP2 to interrupt us if touch event happens + * again */ -+ pcap_ts->read_state = STANDBY; -+ pcap_ts_mode(PCAP_TS_STANDBY_MODE); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_MSR_TSM, 0); ++ pcap_ts_mode(pcap_ts, STANDBY_MODE); ++ enable_irq(pcap_ts->irq_touch); + } else { + DEBUGP("DOWN\n"); + input_report_abs(pcap_ts->input, ABS_X, pcap_ts->x); + input_report_abs(pcap_ts->input, ABS_Y, pcap_ts->y); + + /* switch back to pressure read mode */ -+ pcap_ts->read_state = PRESSURE; -+ pcap_ts_mode(PCAP_TS_PRESSURE_MEASUREMENT); ++ pcap_ts_mode(pcap_ts, PRESSURE_MEASUREMENT); + mod_timer(&pcap_ts->timer, jiffies + SAMPLE_INTERVAL); + } + input_sync(pcap_ts->input); @@ -194,7 +192,6 @@ Index: linux-2.6.21/drivers/input/touchscreen/pcap_ts.c + DEBUGP("ERROR\n"); + break; + } -+ + return IRQ_HANDLED; +} + @@ -202,17 +199,14 @@ Index: linux-2.6.21/drivers/input/touchscreen/pcap_ts.c +static irqreturn_t pcap_ts_irq_touch(int irq, void *dev_id) +{ + struct pcap_ts *pcap_ts = dev_id; -+ + /* mask Touchscreen interrupt bit, prevents further touch events + * from being reported to us until we're finished with reading + * both pressure and x/y from ADC */ -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_MSR_TSM, 1); ++ disable_irq(pcap_ts->irq_touch); + + DEBUGP("touched!!\n"); -+ pcap_ts_mode(PCAP_TS_PRESSURE_MEASUREMENT); -+ pcap_ts->read_state = PRESSURE; ++ pcap_ts_mode(pcap_ts, PRESSURE_MEASUREMENT); + pcap_ts_start_xy_read(pcap_ts); -+ + return IRQ_HANDLED; +} + @@ -225,8 +219,6 @@ Index: linux-2.6.21/drivers/input/touchscreen/pcap_ts.c + +static int __init ezxts_probe(struct platform_device *pdev) +{ -+ int ret; -+ u_int32_t tmp; + struct pcap_ts *pcap_ts; + struct input_dev *input_dev; + int err = -ENOMEM; @@ -248,35 +240,8 @@ Index: linux-2.6.21/drivers/input/touchscreen/pcap_ts.c + goto fail; + } + -+ // Some initialization before done in ssp_pcap_open() -+ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC1_TS_REFENB, 0); -+ // ack interrupts -+ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ISR_ADCDONE2I, 1); -+ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ISR_TSI, 1); -+ // unmask interrupts -+ // ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_MSR_TSM, 0); -+ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_MSR_ADCDONE2M, 0); -+ // set adc bits? FIXME I dont think its necessary - WM -+ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC2_ADINC1, 0); -+ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC2_ADINC2, 0); -+ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC1_ATO0, 0); -+ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC1_ATO1, 0); -+ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC1_ATO2, 0); -+ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC1_ATO3, 0); -+ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC1_ATOX, 0); -+ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC1_MTR1, 0); -+ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC1_MTR2, 0); -+ -+ ret = ezx_pcap_read(SSP_PCAP_ADJ_ADC1_REGISTER, &tmp); -+ if (ret < 0) -+ return ret; -+ -+ tmp &= (~SSP_PCAP_TOUCH_PANEL_POSITION_DETECT_MODE_MASK); -+ tmp |= PCAP_TS_STANDBY_MODE; -+ -+ ret = ezx_pcap_write(SSP_PCAP_ADJ_ADC1_REGISTER, tmp); -+ if (ret < 0) -+ return ret; ++ ezx_pcap_bit_set(PCAP_BIT_ADC1_TS_REFENB, 0); ++ pcap_ts_mode(pcap_ts, STANDBY_MODE); + + err = request_irq(pcap_ts->irq_xy, pcap_ts_irq_xy, SA_INTERRUPT, + "pcap-ts X/Y", pcap_ts); @@ -301,12 +266,6 @@ Index: linux-2.6.21/drivers/input/touchscreen/pcap_ts.c + + platform_set_drvdata(pdev, pcap_ts); + -+ pcap_ts->read_state = STANDBY; -+ pcap_ts_mode(PCAP_TS_STANDBY_MODE); -+ -+ /* enable pressure interrupt */ -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_MSR_TSM, 0); -+ + input_dev->name = "pcap-touchscreen"; + input_dev->phys = "ezxts/input0"; + input_dev->id.bustype = BUS_HOST; @@ -353,15 +312,15 @@ Index: linux-2.6.21/drivers/input/touchscreen/pcap_ts.c + +static int ezxts_suspend(struct platform_device *dev, pm_message_t state) +{ -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_ADC1_TS_REF_LOWPWR, 1); ++ ezx_pcap_bit_set(PCAP_BIT_ADC1_TS_REF_LOWPWR, 1); + return 0; +} + +static int ezxts_resume(struct platform_device *dev) +{ -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_ADC1_TS_REF_LOWPWR, 0); ++ ezx_pcap_bit_set(PCAP_BIT_ADC1_TS_REF_LOWPWR, 0); + /* just in case we suspend with TSI masked. */ -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_MSR_TSM, 0); ++// ezx_pcap_bit_set(PCAP_BIT_MSR_TSM, 0); + return 0; +} + @@ -395,8 +354,8 @@ Index: linux-2.6.21/drivers/input/touchscreen/pcap_ts.c +MODULE_LICENSE("GPL"); Index: linux-2.6.21/drivers/input/touchscreen/Makefile =================================================================== ---- linux-2.6.21.orig/drivers/input/touchscreen/Makefile 2007-06-02 20:17:58.000000000 -0300 -+++ linux-2.6.21/drivers/input/touchscreen/Makefile 2007-06-02 20:18:40.000000000 -0300 +--- linux-2.6.21.orig/drivers/input/touchscreen/Makefile 2007-08-31 22:27:48.000000000 -0300 ++++ linux-2.6.21/drivers/input/touchscreen/Makefile 2007-08-31 23:06:39.000000000 -0300 @@ -16,3 +16,4 @@ obj-$(CONFIG_TOUCHSCREEN_TOUCHRIGHT) += touchright.o obj-$(CONFIG_TOUCHSCREEN_TOUCHWIN) += touchwin.o diff --git a/packages/linux/linux-ezx-2.6.21/patches/pxa27x-udc-fix-a1200.patch b/packages/linux/linux-ezx-2.6.21/patches/pxa27x-udc-fix-a1200.patch new file mode 100644 index 0000000000..9ee87ff903 --- /dev/null +++ b/packages/linux/linux-ezx-2.6.21/patches/pxa27x-udc-fix-a1200.patch @@ -0,0 +1,35 @@ +Index: linux-2.6.21/drivers/usb/gadget/ether.c +=================================================================== +--- linux-2.6.21.orig/drivers/usb/gadget/ether.c 2007-08-20 22:05:12.000000000 +0800 ++++ linux-2.6.21/drivers/usb/gadget/ether.c 2007-08-20 22:06:25.000000000 +0800 +@@ -2697,10 +2697,16 @@ + MODULE_LICENSE ("GPL"); + + +-static int __init init (void) ++// Alex add FIXME ++int usb_ether_init (void) + { + return usb_gadget_register_driver (ð_driver); + } ++ ++static int __init init (void) ++{ ++// return usb_gadget_register_driver (ð_driver); ++} + module_init (init); + + static void __exit cleanup (void) +Index: linux-2.6.21/drivers/usb/gadget/pxa27x_udc.c +=================================================================== +--- linux-2.6.21.orig/drivers/usb/gadget/pxa27x_udc.c 2007-08-20 22:07:31.000000000 +0800 ++++ linux-2.6.21/drivers/usb/gadget/pxa27x_udc.c 2007-08-20 22:07:47.000000000 +0800 +@@ -2227,6 +2227,8 @@ + udc_init_ep(udc); + udc_reinit(udc); + ++ usb_ether_init(); // Alex add FIXME ++ + /* irq setup after old hardware state is cleaned up */ + retval = request_irq(IRQ_USB, pxa27x_udc_irq, + SA_INTERRUPT, driver_name, udc); diff --git a/packages/linux/linux-ezx-2.6.21/patches/series b/packages/linux/linux-ezx-2.6.21/patches/series index 5580b74bf8..ecdc30b5fe 100755 --- a/packages/linux/linux-ezx-2.6.21/patches/series +++ b/packages/linux/linux-ezx-2.6.21/patches/series @@ -20,10 +20,11 @@ ezx-pm.patch ezx-pcap.patch # ezx-pcap TODO: -# implement a per board init reg array -# move mmc functions to the ezx-phone.c mmc init # move vibrator level function to the vibrator driver +a780-pcap.patch +e680-pcap.patch +a1200-pcap.patch a780-mci.patch e680-mci.patch @@ -36,6 +37,9 @@ ezx-emu.patch # userspace interface for controling emu # read adc to find which accessory is plugged +a780-emu.patch +e680-emu.patch + ezx-mtd-map.patch # ezx-mtd-map TODO: # at least the original partition should go on the ezx-phone.c file @@ -89,5 +93,5 @@ mux-linux-2.6.21-fix.patch # pxa-ohci, ts0710_mux, ts0710_mux_usb, ezx-bp # incomplete -#asoc-pxa-ssp.patch -#ezx-asoc.patch +asoc-pxa-ssp.patch +ezx-asoc.patch diff --git a/packages/linux/linux-ezx-2.6.21/rokre2/.mtn2git_empty b/packages/linux/linux-ezx-2.6.21/rokre2/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/linux/linux-ezx-2.6.21/rokre2/.mtn2git_empty diff --git a/packages/linux/linux-ezx-2.6.21/rokre2/defconfig b/packages/linux/linux-ezx-2.6.21/rokre2/defconfig new file mode 100755 index 0000000000..d4a6e25c00 --- /dev/null +++ b/packages/linux/linux-ezx-2.6.21/rokre2/defconfig @@ -0,0 +1,1582 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.21.4 +# Sun Sep 9 16:52:11 2007 +# +CONFIG_ARM=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_GENERIC_GPIO=y +CONFIG_GENERIC_TIME=y +CONFIG_MMU=y +# CONFIG_NO_IOPORT is not set +CONFIG_GENERIC_HARDIRQS=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +# CONFIG_ARCH_HAS_ILOG2_U32 is not set +# CONFIG_ARCH_HAS_ILOG2_U64 is not set +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_ZONE_DMA=y +CONFIG_ARCH_MTD_XIP=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" + +# +# Code maturity level options +# +CONFIG_EXPERIMENTAL=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_LOCK_KERNEL=y +CONFIG_INIT_ENV_ARG_LIMIT=32 + +# +# General setup +# +CONFIG_LOCALVERSION="-ezxdev" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_SWAP=y +CONFIG_SYSVIPC=y +# CONFIG_IPC_NS is not set +CONFIG_SYSVIPC_SYSCTL=y +# CONFIG_POSIX_MQUEUE is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set +# CONFIG_UTS_NS is not set +# CONFIG_AUDIT is not set +# CONFIG_IKCONFIG is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +# CONFIG_BLK_DEV_INITRD is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_EMBEDDED=y +CONFIG_UID16=y +# CONFIG_SYSCTL_SYSCALL is not set +# CONFIG_KALLSYMS is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +# CONFIG_ELF_CORE is not set +# CONFIG_BASE_FULL is not set +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SHMEM=y +CONFIG_SLAB=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_RT_MUTEXES=y +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=1 +# CONFIG_SLOB is not set + +# +# Loadable module support +# +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +CONFIG_MODVERSIONS=y +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_KMOD=y + +# +# Block layer +# +CONFIG_BLOCK=y +# CONFIG_LBD is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +CONFIG_LSF=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +# CONFIG_IOSCHED_AS is not set +CONFIG_IOSCHED_DEADLINE=y +# CONFIG_IOSCHED_CFQ is not set +# CONFIG_DEFAULT_AS is not set +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" + +# +# System Type +# +# CONFIG_ARCH_AAEC2000 is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_CLPS7500 is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_CO285 is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_IMX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IXP23XX is not set +# CONFIG_ARCH_L7200 is not set +# CONFIG_ARCH_NS9XXX is not set +# CONFIG_ARCH_PNX4008 is not set +CONFIG_ARCH_PXA=y +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C2410 is not set +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_LH7A40X is not set +# CONFIG_ARCH_OMAP is not set + +# +# Intel PXA2xx Implementations +# +# CONFIG_ARCH_LUBBOCK is not set +# CONFIG_MACH_LOGICPD_PXA270 is not set +# CONFIG_MACH_MAINSTONE is not set +# CONFIG_ARCH_PXA_IDP is not set +# CONFIG_PXA_SHARPSL is not set +# CONFIG_MACH_TRIZEPS4 is not set +CONFIG_PXA_EZX=y +# CONFIG_PXA_EZX_E680 is not set +# CONFIG_PXA_EZX_A780 is not set +CONFIG_PXA_EZX_E2=y +# CONFIG_PXA_EZX_A1200 is not set +# CONFIG_PXA_EZX_E6 is not set +CONFIG_EZX_BP=y +CONFIG_EZX_PCAP=y +CONFIG_EZX_EMU=y +CONFIG_EZX_EMU_USB=y +# CONFIG_EZX_EMU_UART is not set +# CONFIG_EZX_EMU_NOTHING is not set +CONFIG_PXA27x=y +CONFIG_PXA_SSP=y + +# +# Processor Type +# +CONFIG_CPU_32=y +CONFIG_CPU_XSCALE=y +CONFIG_CPU_32v5=y +CONFIG_CPU_ABRT_EV5T=y +CONFIG_CPU_CACHE_VIVT=y +CONFIG_CPU_TLB_V4WBI=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +CONFIG_ARM_THUMB=y +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_OUTER_CACHE is not set +CONFIG_IWMMXT=y +CONFIG_XSCALE_PMU=y + +# +# Bus support +# + +# +# PCCARD (PCMCIA/CardBus) support +# +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_PREEMPT=y +CONFIG_NO_IDLE_HZ=y +CONFIG_HZ=100 +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_DISCONTIGMEM_MANUAL is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +# CONFIG_SPARSEMEM_STATIC is not set +CONFIG_SPLIT_PTLOCK_CPUS=4096 +# CONFIG_RESOURCES_64BIT is not set +CONFIG_ZONE_DMA_FLAG=1 +CONFIG_ALIGNMENT_TRAP=y + +# +# Boot options +# +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_CMDLINE="console=tty1 root=/dev/mmcblk0p1 rootfstype=ext3 rootdelay=5 ip=192.168.0.202:192.168.0.200:192.168.0.200:255.255.255.0 debug mem=32M@0xA0000000 mem=16M@0xAC000000" +# CONFIG_XIP_KERNEL is not set +CONFIG_KEXEC=y + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +# CONFIG_FPE_NWFPE is not set +# CONFIG_FPE_FASTFPE is not set + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +CONFIG_BINFMT_AOUT=m +CONFIG_BINFMT_MISC=m + +# +# Power management options +# +CONFIG_PM=y +# CONFIG_PM_LEGACY is not set +# CONFIG_PM_DEBUG is not set +# CONFIG_PM_SYSFS_DEPRECATED is not set +CONFIG_APM_EMULATION=y + +# +# Networking +# +CONFIG_NET=y + +# +# Networking options +# +# CONFIG_NETDEBUG is not set +CONFIG_PACKET=y +# CONFIG_PACKET_MMAP is not set +CONFIG_UNIX=y +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_FIB_HASH=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +# CONFIG_IP_PNP_BOOTP is not set +# CONFIG_IP_PNP_RARP is not set +CONFIG_NET_IPIP=m +CONFIG_NET_IPGRE=m +# CONFIG_ARPD is not set +CONFIG_SYN_COOKIES=y +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_XFRM_TUNNEL is not set +CONFIG_INET_TUNNEL=m +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +# CONFIG_INET_DIAG is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set + +# +# IP: Virtual Server Configuration +# +# CONFIG_IP_VS is not set +CONFIG_IPV6=m +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IPV6_ROUTE_INFO is not set +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +CONFIG_INET6_IPCOMP=m +# CONFIG_IPV6_MIP6 is not set +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 is not set +CONFIG_IPV6_SIT=m +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_MULTIPLE_TABLES is not set +# CONFIG_NETWORK_SECMARK is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_NETLINK=m +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_NETLINK_LOG=m +CONFIG_NF_CONNTRACK_ENABLED=m +CONFIG_NF_CONNTRACK_SUPPORT=y +# CONFIG_IP_NF_CONNTRACK_SUPPORT is not set +CONFIG_NF_CONNTRACK=m +CONFIG_NF_CT_ACCT=y +CONFIG_NF_CONNTRACK_MARK=y +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CT_PROTO_GRE=m +CONFIG_NF_CT_PROTO_SCTP=m +CONFIG_NF_CONNTRACK_AMANDA=m +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_NETBIOS_NS=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_XTABLES=m +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m +# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set +# CONFIG_NETFILTER_XT_TARGET_DSCP is not set +CONFIG_NETFILTER_XT_TARGET_MARK=m +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m +CONFIG_NETFILTER_XT_TARGET_NFLOG=m +# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +CONFIG_NETFILTER_XT_MATCH_COMMENT=m +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +CONFIG_NETFILTER_XT_MATCH_DCCP=m +CONFIG_NETFILTER_XT_MATCH_DSCP=m +CONFIG_NETFILTER_XT_MATCH_ESP=m +CONFIG_NETFILTER_XT_MATCH_HELPER=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_POLICY=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MATCH_QUOTA=m +CONFIG_NETFILTER_XT_MATCH_REALM=m +CONFIG_NETFILTER_XT_MATCH_SCTP=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_HASHLIMIT=m + +# +# IP: Netfilter Configuration +# +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_IPRANGE=m +CONFIG_IP_NF_MATCH_TOS=m +CONFIG_IP_NF_MATCH_RECENT=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_TTL=m +CONFIG_IP_NF_MATCH_OWNER=m +CONFIG_IP_NF_MATCH_ADDRTYPE=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_REDIRECT=m +CONFIG_IP_NF_TARGET_NETMAP=m +CONFIG_IP_NF_TARGET_SAME=m +CONFIG_NF_NAT_SNMP_BASIC=m +CONFIG_NF_NAT_PROTO_GRE=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_TOS=m +CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_TARGET_TTL=m +CONFIG_IP_NF_TARGET_CLUSTERIP=m +CONFIG_IP_NF_RAW=m +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARP_MANGLE=m + +# +# IPv6: Netfilter Configuration (EXPERIMENTAL) +# +CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_IP6_NF_QUEUE=m +CONFIG_IP6_NF_IPTABLES=m +CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_OPTS=m +CONFIG_IP6_NF_MATCH_FRAG=m +CONFIG_IP6_NF_MATCH_HL=m +CONFIG_IP6_NF_MATCH_OWNER=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_MATCH_AH=m +CONFIG_IP6_NF_MATCH_MH=m +CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_TARGET_LOG=m +CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_MANGLE=m +CONFIG_IP6_NF_TARGET_HL=m +CONFIG_IP6_NF_RAW=m + +# +# DCCP Configuration (EXPERIMENTAL) +# +# CONFIG_IP_DCCP is not set + +# +# SCTP Configuration (EXPERIMENTAL) +# +# CONFIG_IP_SCTP is not set + +# +# TIPC Configuration (EXPERIMENTAL) +# +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_BRIDGE is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set + +# +# QoS and/or fair queueing +# +# CONFIG_NET_SCHED is not set +CONFIG_NET_CLS_ROUTE=y + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_IRDA is not set +CONFIG_BT=m +CONFIG_BT_L2CAP=m +CONFIG_BT_SCO=m +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=m +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=m + +# +# Bluetooth device drivers +# +# CONFIG_BT_HCIUSB is not set +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_H4=y +# CONFIG_BT_HCIUART_BCSP is not set +# CONFIG_BT_HCIBCM203X is not set +# CONFIG_BT_HCIBPA10X is not set +# CONFIG_BT_HCIBFUSB is not set +# CONFIG_BT_HCIVHCI is not set +CONFIG_IEEE80211=m +# CONFIG_IEEE80211_DEBUG is not set +CONFIG_IEEE80211_CRYPT_WEP=m +CONFIG_IEEE80211_CRYPT_CCMP=m +# CONFIG_IEEE80211_CRYPT_TKIP is not set +CONFIG_IEEE80211_SOFTMAC=m +# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set +CONFIG_WIRELESS_EXT=y + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=m +# CONFIG_SYS_HYPERVISOR is not set + +# +# Connector - unified userspace <-> kernelspace linker +# +CONFIG_CONNECTOR=m + +# +# Memory Technology Devices (MTD) +# +CONFIG_MTD=y +# CONFIG_MTD_DEBUG is not set +# CONFIG_MTD_CONCAT is not set +CONFIG_MTD_PARTITIONS=y +# CONFIG_MTD_REDBOOT_PARTS is not set +# CONFIG_MTD_CMDLINE_PARTS is not set +# CONFIG_MTD_AFS_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_CHAR=y +# CONFIG_MTD_BLKDEVS is not set +# CONFIG_MTD_BLOCK is not set +# CONFIG_MTD_BLOCK_RO is not set +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set + +# +# RAM/ROM/Flash chip drivers +# +CONFIG_MTD_CFI=y +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_GEN_PROBE=y +CONFIG_MTD_CFI_ADV_OPTIONS=y +CONFIG_MTD_CFI_NOSWAP=y +# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set +# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set +CONFIG_MTD_CFI_GEOMETRY=y +# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set +CONFIG_MTD_MAP_BANK_WIDTH_2=y +# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set +# 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 is not set +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_OTP is not set +CONFIG_MTD_CFI_INTELEXT=y +# CONFIG_MTD_CFI_AMDSTD is not set +# CONFIG_MTD_CFI_STAA is not set +CONFIG_MTD_CFI_UTIL=y +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set +# CONFIG_MTD_OBSOLETE_CHIPS is not set +CONFIG_MTD_XIP=y + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +CONFIG_MTD_PHYSMAP=y +CONFIG_MTD_PHYSMAP_START=0x0 +CONFIG_MTD_PHYSMAP_LEN=0x0 +CONFIG_MTD_PHYSMAP_BANKWIDTH=2 +# CONFIG_MTD_ARM_INTEGRATOR is not set +# CONFIG_MTD_SHARP_SL is not set +CONFIG_MTD_EZX=y +CONFIG_MTD_EZX_A780=y +# CONFIG_MTD_EZX_A780_ALTERNATE is not set +# CONFIG_MTD_EZX_E2 is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_M25P80 is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +# CONFIG_MTD_DOC2001PLUS is not set + +# +# NAND Flash Device Drivers +# +# CONFIG_MTD_NAND is not set + +# +# OneNAND Flash Device Drivers +# +# CONFIG_MTD_ONENAND is not set + +# +# Parallel port support +# +# CONFIG_PARPORT is not set + +# +# Plug and Play support +# +# CONFIG_PNPACPI is not set + +# +# Block devices +# +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=m +CONFIG_BLK_DEV_CRYPTOLOOP=m +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_UB is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set + +# +# ATA/ATAPI/MFM/RLL support +# +# CONFIG_IDE is not set + +# +# SCSI device support +# +# CONFIG_RAID_ATTRS is not set +# CONFIG_SCSI is not set +# CONFIG_SCSI_NETLINK is not set + +# +# Serial ATA (prod) and Parallel ATA (experimental) drivers +# +# CONFIG_ATA is not set + +# +# Multi-device support (RAID and LVM) +# +# CONFIG_MD is not set + +# +# Fusion MPT device support +# +# CONFIG_FUSION is not set + +# +# IEEE 1394 (FireWire) support +# + +# +# I2O device support +# + +# +# Network device support +# +CONFIG_NETDEVICES=y +CONFIG_DUMMY=y +# CONFIG_BONDING is not set +# CONFIG_EQUALIZER is not set +CONFIG_TUN=m + +# +# PHY device support +# + +# +# Ethernet (10 or 100Mbit) +# +# CONFIG_NET_ETHERNET is not set + +# +# Ethernet (1000 Mbit) +# + +# +# Ethernet (10000 Mbit) +# + +# +# Token Ring devices +# + +# +# Wireless LAN (non-hamradio) +# +CONFIG_NET_RADIO=y +CONFIG_NET_WIRELESS_RTNETLINK=y + +# +# Obsolete Wireless cards support (pre-802.11) +# +# CONFIG_STRIP is not set +# CONFIG_USB_ZD1201 is not set +# CONFIG_HOSTAP is not set +# CONFIG_ZD1211RW is not set + +# +# Wan interfaces +# +# CONFIG_WAN is not set +CONFIG_PPP=m +CONFIG_PPP_MULTILINK=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_ASYNC=m +CONFIG_PPP_SYNC_TTY=m +CONFIG_PPP_DEFLATE=m +CONFIG_PPP_BSDCOMP=m +CONFIG_PPP_MPPE=m +CONFIG_PPPOE=m +# CONFIG_SLIP is not set +CONFIG_SLHC=m +CONFIG_SHAPER=m +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set + +# +# ISDN subsystem +# +# CONFIG_ISDN is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_FF_MEMLESS is not set + +# +# Userland interfaces +# +# CONFIG_INPUT_MOUSEDEV is not set +# CONFIG_INPUT_JOYDEV is not set +CONFIG_INPUT_TSDEV=y +CONFIG_INPUT_TSDEV_SCREEN_X=240 +CONFIG_INPUT_TSDEV_SCREEN_Y=320 +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +# CONFIG_KEYBOARD_ATKBD is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +CONFIG_KEYBOARD_GPIO=y +CONFIG_KEYBOARD_PXA=y +# CONFIG_INPUT_MOUSE is not set +# CONFIG_INPUT_JOYSTICK is not set +CONFIG_INPUT_TOUCHSCREEN=y +# CONFIG_TOUCHSCREEN_ADS7846 is not set +# CONFIG_TOUCHSCREEN_GUNZE is not set +# CONFIG_TOUCHSCREEN_ELO is not set +# CONFIG_TOUCHSCREEN_MTOUCH is not set +# CONFIG_TOUCHSCREEN_MK712 is not set +# CONFIG_TOUCHSCREEN_PENMOUNT is not set +# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set +# CONFIG_TOUCHSCREEN_TOUCHWIN is not set +# CONFIG_TOUCHSCREEN_UCB1400 is not set +CONFIG_TOUCHSCREEN_PCAP=y +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +# CONFIG_SERIO is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_VT=y +CONFIG_VT_CONSOLE=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +# CONFIG_SERIAL_NONSTANDARD is not set + +# +# Serial drivers +# +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_PXA=y +CONFIG_SERIAL_PXA_CONSOLE=y +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_UNIX98_PTYS=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=8 + +# +# IPMI +# +# CONFIG_IPMI_HANDLER is not set + +# +# Watchdog Cards +# +# CONFIG_WATCHDOG is not set +CONFIG_HW_RANDOM=y +# CONFIG_NVRAM is not set +# CONFIG_DTLK is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set + +# +# TPM devices +# +# CONFIG_TCG_TPM is not set +CONFIG_TS0710_MUX=y +CONFIG_TS0710_MUX_USB=y + +# +# I2C support +# +CONFIG_I2C=m +CONFIG_I2C_CHARDEV=m + +# +# I2C Algorithms +# +# CONFIG_I2C_ALGOBIT is not set +# CONFIG_I2C_ALGOPCF is not set +# CONFIG_I2C_ALGOPCA is not set + +# +# I2C Hardware Bus support +# +CONFIG_I2C_PXA=m +# CONFIG_I2C_PXA_SLAVE is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_STUB is not set +# CONFIG_I2C_PCA_ISA is not set + +# +# Miscellaneous I2C Chip support +# +# CONFIG_SENSORS_DS1337 is not set +# CONFIG_SENSORS_DS1374 is not set +# CONFIG_SENSORS_EEPROM is not set +# CONFIG_SENSORS_PCF8574 is not set +# CONFIG_SENSORS_PCA9539 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_SENSORS_MAX6875 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_I2C_DEBUG_CHIP is not set + +# +# SPI support +# +CONFIG_SPI=y +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_BITBANG is not set +CONFIG_SPI_PXA2XX=m + +# +# SPI Protocol Masters +# +# CONFIG_SPI_AT25 is not set + +# +# Dallas's 1-wire bus +# +# CONFIG_W1 is not set + +# +# Hardware Monitoring support +# +# CONFIG_HWMON is not set +# CONFIG_HWMON_VID is not set + +# +# Misc devices +# + +# +# Multifunction device drivers +# +# CONFIG_MFD_SM501 is not set + +# +# LED devices +# +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y + +# +# LED drivers +# + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_TIMER=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y + +# +# Multimedia devices +# +CONFIG_VIDEO_DEV=m +CONFIG_VIDEO_V4L1=y +CONFIG_VIDEO_V4L1_COMPAT=y +CONFIG_VIDEO_V4L2=y + +# +# Video Capture Adapters +# + +# +# Video Capture Adapters +# +# CONFIG_VIDEO_ADV_DEBUG is not set +CONFIG_VIDEO_HELPER_CHIPS_AUTO=y +# CONFIG_VIDEO_CPIA is not set +# CONFIG_VIDEO_CPIA2 is not set +# CONFIG_VIDEO_SAA5246A is not set +# CONFIG_VIDEO_SAA5249 is not set +# CONFIG_TUNER_3036 is not set + +# +# V4L USB devices +# +# CONFIG_VIDEO_PVRUSB2 is not set +# CONFIG_VIDEO_EM28XX is not set +# CONFIG_VIDEO_USBVISION is not set +# CONFIG_USB_VICAM is not set +# CONFIG_USB_IBMCAM is not set +# CONFIG_USB_KONICAWC is not set +# CONFIG_USB_QUICKCAM_MESSENGER is not set +# CONFIG_USB_ET61X251 is not set +# CONFIG_VIDEO_OVCAMCHIP is not set +# CONFIG_USB_W9968CF is not set +# CONFIG_USB_OV511 is not set +# CONFIG_USB_SE401 is not set +# CONFIG_USB_SN9C102 is not set +# CONFIG_USB_STV680 is not set +# CONFIG_USB_ZC0301 is not set +# CONFIG_USB_PWC is not set + +# +# Radio Adapters +# +# CONFIG_USB_DSBR is not set + +# +# Digital Video Broadcasting Devices +# +# CONFIG_DVB is not set +# CONFIG_USB_DABUSB is not set + +# +# Graphics support +# +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_LCD_CLASS_DEVICE=m +CONFIG_BACKLIGHT_EZX=y +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +# CONFIG_FB_DDC is not set +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_S1D13XXX is not set +CONFIG_FB_PXA=y +CONFIG_FB_PXA_PARAMETERS=y +# CONFIG_FB_MBX is not set +# CONFIG_FB_VIRTUAL is not set + +# +# Console display driver support +# +# CONFIG_VGA_CONSOLE is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +CONFIG_FONTS=y +# CONFIG_FONT_8x8 is not set +# CONFIG_FONT_8x16 is not set +# 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=y +# CONFIG_FONT_SUN8x16 is not set +# CONFIG_FONT_SUN12x22 is not set +# CONFIG_FONT_10x18 is not set + +# +# Logo configuration +# +CONFIG_LOGO=y +CONFIG_LOGO_LINUX_MONO=y +CONFIG_LOGO_LINUX_VGA16=y +CONFIG_LOGO_LINUX_CLUT224=y + +# +# Sound +# +CONFIG_SOUND=y + +# +# Advanced Linux Sound Architecture +# +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +# CONFIG_SND_SEQUENCER is not set +CONFIG_SND_OSSEMUL=y +CONFIG_SND_MIXER_OSS=m +CONFIG_SND_PCM_OSS=m +CONFIG_SND_PCM_OSS_PLUGINS=y +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set + +# +# Generic devices +# +CONFIG_SND_AC97_CODEC=m +CONFIG_SND_DUMMY=m +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set + +# +# ALSA ARM devices +# +CONFIG_SND_PXA2XX_PCM=m +CONFIG_SND_PXA2XX_AC97=m + +# +# USB devices +# +# CONFIG_SND_USB_AUDIO is not set + +# +# SoC audio support +# +CONFIG_SND_SOC=y + +# +# SoC Platforms +# + +# +# SoC Audio for the Atmel AT91 +# + +# +# SoC Audio for the Intel PXA2xx +# +CONFIG_SND_PXA2XX_SOC=y +CONFIG_SND_PXA2XX_SOC_SSP=y +CONFIG_SND_PXA2XX_SOC_EZX=y +CONFIG_SND_SOC_PCAP2=y + +# +# Open Sound System +# +# CONFIG_SOUND_PRIME is not set +CONFIG_AC97_BUS=m + +# +# HID Devices +# +CONFIG_HID=y +# CONFIG_HID_DEBUG is not set + +# +# USB support +# +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +# CONFIG_USB_ARCH_HAS_EHCI is not set +CONFIG_USB=y +# CONFIG_USB_DEBUG is not set + +# +# Miscellaneous USB options +# +# CONFIG_USB_DEVICEFS is not set +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_SUSPEND is not set +# CONFIG_USB_OTG is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_ISP116X_HCD is not set +CONFIG_USB_OHCI_HCD=y +# 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_SL811_HCD is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set + +# +# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' +# + +# +# may also be needed; see USB_STORAGE Help for more information +# +# CONFIG_USB_LIBUSUAL is not set + +# +# USB Input Devices +# +# CONFIG_USB_HID is not set + +# +# USB HID Boot Protocol drivers +# +# CONFIG_USB_KBD is not set +# CONFIG_USB_MOUSE is not set +# CONFIG_USB_AIPTEK is not set +# CONFIG_USB_WACOM is not set +# CONFIG_USB_ACECAD is not set +# CONFIG_USB_KBTAB is not set +# CONFIG_USB_POWERMATE is not set +# CONFIG_USB_TOUCHSCREEN is not set +# CONFIG_USB_YEALINK is not set +# CONFIG_USB_XPAD is not set +# CONFIG_USB_ATI_REMOTE is not set +# CONFIG_USB_ATI_REMOTE2 is not set +# CONFIG_USB_KEYSPAN_REMOTE is not set +# CONFIG_USB_APPLETOUCH is not set +# CONFIG_USB_GTCO is not set + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set + +# +# USB Network Adapters +# +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_USBNET_MII is not set +# CONFIG_USB_USBNET is not set +# CONFIG_USB_MON is not set + +# +# USB port drivers +# + +# +# USB Serial Converter support +# +# CONFIG_USB_SERIAL is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_AUERSWALD is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_BERRY_CHARGE is not set +# CONFIG_USB_LED is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_PHIDGET is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set + +# +# USB DSL modem support +# + +# +# USB Gadget Support +# +CONFIG_USB_GADGET=y +# CONFIG_USB_GADGET_DEBUG_FILES is not set +CONFIG_USB_GADGET_SELECTED=y +# CONFIG_USB_GADGET_NET2280 is not set +# CONFIG_USB_GADGET_PXA2XX is not set +CONFIG_USB_GADGET_PXA27X=y +CONFIG_USB_PXA27X=y +# CONFIG_USB_PXA2XX_SMALL is not set +# CONFIG_USB_GADGET_GOKU is not set +# CONFIG_USB_GADGET_LH7A40X is not set +# CONFIG_USB_GADGET_OMAP is not set +# CONFIG_USB_GADGET_AT91 is not set +# CONFIG_USB_GADGET_DUMMY_HCD is not set +# CONFIG_USB_GADGET_DUALSPEED is not set +# CONFIG_USB_ZERO is not set +CONFIG_USB_ETH=y +# CONFIG_USB_ETH_RNDIS is not set +# CONFIG_USB_GADGETFS is not set +# CONFIG_USB_FILE_STORAGE is not set +# CONFIG_USB_G_SERIAL is not set +# CONFIG_USB_MIDI_GADGET is not set + +# +# MMC/SD Card support +# +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_BLOCK=y +CONFIG_MMC_PXA=y + +# +# Real Time Clock +# +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=m + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=m +CONFIG_RTC_INTF_PROC=m +CONFIG_RTC_INTF_DEV=m +CONFIG_RTC_INTF_DEV_UIE_EMUL=y + +# +# RTC drivers +# +# CONFIG_RTC_DRV_CMOS is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_M48T86 is not set +CONFIG_RTC_DRV_SA1100=m +# CONFIG_RTC_DRV_TEST is not set +# CONFIG_RTC_DRV_MAX6902 is not set +# CONFIG_RTC_DRV_V3020 is not set + +# +# File systems +# +CONFIG_EXT2_FS=m +CONFIG_EXT2_FS_XATTR=y +CONFIG_EXT2_FS_POSIX_ACL=y +CONFIG_EXT2_FS_SECURITY=y +# CONFIG_EXT2_FS_XIP is not set +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_XATTR=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +# CONFIG_EXT4DEV_FS is not set +CONFIG_JBD=y +# CONFIG_JBD_DEBUG is not set +CONFIG_FS_MBCACHE=y +CONFIG_REISERFS_FS=m +# CONFIG_REISERFS_CHECK is not set +# CONFIG_REISERFS_PROC_INFO is not set +CONFIG_REISERFS_FS_XATTR=y +CONFIG_REISERFS_FS_POSIX_ACL=y +CONFIG_REISERFS_FS_SECURITY=y +# CONFIG_JFS_FS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_XFS_FS=m +# CONFIG_XFS_QUOTA is not set +# CONFIG_XFS_SECURITY is not set +# CONFIG_XFS_POSIX_ACL is not set +# CONFIG_XFS_RT is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_ROMFS_FS is not set +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_QUOTA is not set +CONFIG_DNOTIFY=y +CONFIG_AUTOFS_FS=y +CONFIG_AUTOFS4_FS=y +# CONFIG_FUSE_FS is not set +CONFIG_GENERIC_ACL=y + +# +# 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 is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +# CONFIG_HUGETLB_PAGE is not set +CONFIG_RAMFS=y +# CONFIG_CONFIGFS_FS is not set + +# +# Miscellaneous filesystems +# +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +# CONFIG_JFFS2_FS is not set +CONFIG_CRAMFS=m +# CONFIG_VXFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set + +# +# Network File Systems +# +CONFIG_NFS_FS=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +CONFIG_NFS_V4=y +CONFIG_NFS_DIRECTIO=y +CONFIG_NFSD=m +CONFIG_NFSD_V2_ACL=y +CONFIG_NFSD_V3=y +CONFIG_NFSD_V3_ACL=y +CONFIG_NFSD_V4=y +CONFIG_NFSD_TCP=y +CONFIG_ROOT_NFS=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_EXPORTFS=m +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +CONFIG_SUNRPC_GSS=y +CONFIG_RPCSEC_GSS_KRB5=y +# CONFIG_RPCSEC_GSS_SPKM3 is not set +CONFIG_SMB_FS=m +# CONFIG_SMB_NLS_DEFAULT is not set +CONFIG_CIFS=m +CONFIG_CIFS_STATS=y +# CONFIG_CIFS_STATS2 is not set +CONFIG_CIFS_WEAK_PW_HASH=y +CONFIG_CIFS_XATTR=y +CONFIG_CIFS_POSIX=y +# CONFIG_CIFS_DEBUG2 is not set +# CONFIG_CIFS_EXPERIMENTAL is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +# CONFIG_9P_FS is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y + +# +# Native Language Support +# +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +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=m +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 + +# +# Distributed Lock Manager +# +# CONFIG_DLM is not set + +# +# Profiling support +# +# CONFIG_PROFILING is not set + +# +# Kernel hacking +# +# CONFIG_PRINTK_TIME is not set +# CONFIG_ENABLE_MUST_CHECK is not set +# CONFIG_MAGIC_SYSRQ is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_KERNEL is not set +CONFIG_LOG_BUF_SHIFT=14 +# CONFIG_DEBUG_BUGVERBOSE is not set +CONFIG_FRAME_POINTER=y +# CONFIG_DEBUG_USER is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set + +# +# Cryptographic options +# +CONFIG_CRYPTO=y +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_HASH=m +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_HMAC=m +CONFIG_CRYPTO_XCBC=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_SHA1=m +CONFIG_CRYPTO_SHA256=m +CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_WP512=m +CONFIG_CRYPTO_TGR192=m +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_ECB=m +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_LRW=m +CONFIG_CRYPTO_DES=y +CONFIG_CRYPTO_FCRYPT=m +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_TWOFISH_COMMON=m +CONFIG_CRYPTO_SERPENT=m +CONFIG_CRYPTO_AES=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST6=m +CONFIG_CRYPTO_TEA=m +CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_KHAZAD=m +CONFIG_CRYPTO_ANUBIS=m +CONFIG_CRYPTO_DEFLATE=m +CONFIG_CRYPTO_MICHAEL_MIC=m +CONFIG_CRYPTO_CRC32C=m +CONFIG_CRYPTO_CAMELLIA=m +CONFIG_CRYPTO_TEST=m + +# +# Hardware crypto devices +# + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_CRC_CCITT=m +CONFIG_CRC16=m +CONFIG_CRC32=y +CONFIG_LIBCRC32C=m +CONFIG_ZLIB_INFLATE=m +CONFIG_ZLIB_DEFLATE=m +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_KMP=m +CONFIG_TEXTSEARCH_BM=m +CONFIG_TEXTSEARCH_FSM=m +CONFIG_PLIST=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y diff --git a/packages/linux/linux-ezx-2.6.21/rokre6/.mtn2git_empty b/packages/linux/linux-ezx-2.6.21/rokre6/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/linux/linux-ezx-2.6.21/rokre6/.mtn2git_empty diff --git a/packages/linux/linux-ezx-2.6.21/patches/defconfig-e6 b/packages/linux/linux-ezx-2.6.21/rokre6/defconfig index 75ee2803d9..8a1f55c252 100755 --- a/packages/linux/linux-ezx-2.6.21/patches/defconfig-e6 +++ b/packages/linux/linux-ezx-2.6.21/rokre6/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: 2.6.21.4 -# Wed Jun 13 17:29:19 2007 +# Sun Sep 9 16:52:39 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -36,7 +36,7 @@ CONFIG_INIT_ENV_ARG_LIMIT=32 # CONFIG_LOCALVERSION="-ezxdev" # CONFIG_LOCALVERSION_AUTO is not set -# CONFIG_SWAP is not set +CONFIG_SWAP=y CONFIG_SYSVIPC=y # CONFIG_IPC_NS is not set CONFIG_SYSVIPC_SYSCTL=y @@ -54,21 +54,20 @@ CONFIG_SYSCTL=y CONFIG_EMBEDDED=y CONFIG_UID16=y # CONFIG_SYSCTL_SYSCALL is not set -CONFIG_KALLSYMS=y -# CONFIG_KALLSYMS_EXTRA_PASS is not set +# CONFIG_KALLSYMS is not set CONFIG_HOTPLUG=y CONFIG_PRINTK=y CONFIG_BUG=y -CONFIG_ELF_CORE=y -CONFIG_BASE_FULL=y +# CONFIG_ELF_CORE is not set +# CONFIG_BASE_FULL is not set CONFIG_FUTEX=y CONFIG_EPOLL=y -# CONFIG_SHMEM is not set +CONFIG_SHMEM=y CONFIG_SLAB=y CONFIG_VM_EVENT_COUNTERS=y CONFIG_RT_MUTEXES=y -CONFIG_TINY_SHMEM=y -CONFIG_BASE_SMALL=0 +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=1 # CONFIG_SLOB is not set # @@ -87,7 +86,7 @@ CONFIG_KMOD=y CONFIG_BLOCK=y # CONFIG_LBD is not set # CONFIG_BLK_DEV_IO_TRACE is not set -# CONFIG_LSF is not set +CONFIG_LSF=y # # IO Schedulers @@ -151,9 +150,12 @@ CONFIG_PXA_EZX=y # CONFIG_PXA_EZX_E2 is not set # CONFIG_PXA_EZX_A1200 is not set CONFIG_PXA_EZX_E6=y -# CONFIG_EZX_BP is not set +CONFIG_EZX_BP=y CONFIG_EZX_PCAP=y -# CONFIG_EZX_EMU is not set +CONFIG_EZX_EMU=y +CONFIG_EZX_EMU_USB=y +# CONFIG_EZX_EMU_UART is not set +# CONFIG_EZX_EMU_NOTHING is not set CONFIG_PXA27x=y CONFIG_PXA_SSP=y @@ -194,7 +196,7 @@ CONFIG_PREEMPT=y CONFIG_NO_IDLE_HZ=y CONFIG_HZ=100 CONFIG_AEABI=y -# CONFIG_OABI_COMPAT is not set +CONFIG_OABI_COMPAT=y # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set CONFIG_SELECT_MEMORY_MODEL=y CONFIG_FLATMEM_MANUAL=y @@ -211,11 +213,11 @@ CONFIG_ALIGNMENT_TRAP=y # # Boot options # -CONFIG_ZBOOT_ROM_TEXT=0 -CONFIG_ZBOOT_ROM_BSS=0 -CONFIG_CMDLINE="console=tty1 noinitrd root=/dev/mmcblk0p2 rootfstype=ext3 ip=169.254.1.11:169.254.1.10:169.254.1.10:255.255.255.254:ezx:usb0:off debug mem=32M@0xA0000000" +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_CMDLINE="console=tty1 root=/dev/mmcblk0p1 rootfstype=ext3 rootdelay=5 ip=192.168.0.202:192.168.0.200:192.168.0.200:255.255.255.0 debug mem=32M@0xA0000000 mem=16M@0xAC000000" # CONFIG_XIP_KERNEL is not set -# CONFIG_KEXEC is not set +CONFIG_KEXEC=y # # Floating point emulation @@ -224,6 +226,8 @@ CONFIG_CMDLINE="console=tty1 noinitrd root=/dev/mmcblk0p2 rootfstype=ext3 ip=169 # # At least one emulation must be selected # +# CONFIG_FPE_NWFPE is not set +# CONFIG_FPE_FASTFPE is not set # # Userspace binary formats @@ -253,6 +257,10 @@ CONFIG_NET=y CONFIG_PACKET=y # CONFIG_PACKET_MMAP is not set CONFIG_UNIX=y +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set # CONFIG_NET_KEY is not set CONFIG_INET=y # CONFIG_IP_MULTICAST is not set @@ -262,15 +270,15 @@ CONFIG_IP_PNP=y CONFIG_IP_PNP_DHCP=y # CONFIG_IP_PNP_BOOTP is not set # CONFIG_IP_PNP_RARP is not set -# CONFIG_NET_IPIP is not set -# CONFIG_NET_IPGRE is not set +CONFIG_NET_IPIP=m +CONFIG_NET_IPGRE=m # CONFIG_ARPD is not set CONFIG_SYN_COOKIES=y # CONFIG_INET_AH is not set # CONFIG_INET_ESP is not set # CONFIG_INET_IPCOMP is not set # CONFIG_INET_XFRM_TUNNEL is not set -# CONFIG_INET_TUNNEL is not set +CONFIG_INET_TUNNEL=m # CONFIG_INET_XFRM_MODE_TRANSPORT is not set # CONFIG_INET_XFRM_MODE_TUNNEL is not set # CONFIG_INET_XFRM_MODE_BEET is not set @@ -279,11 +287,155 @@ CONFIG_SYN_COOKIES=y CONFIG_TCP_CONG_CUBIC=y CONFIG_DEFAULT_TCP_CONG="cubic" # CONFIG_TCP_MD5SIG is not set -# CONFIG_IPV6 is not set -# CONFIG_INET6_XFRM_TUNNEL is not set -# CONFIG_INET6_TUNNEL is not set + +# +# IP: Virtual Server Configuration +# +# CONFIG_IP_VS is not set +CONFIG_IPV6=m +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IPV6_ROUTE_INFO is not set +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +CONFIG_INET6_IPCOMP=m +# CONFIG_IPV6_MIP6 is not set +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 is not set +CONFIG_IPV6_SIT=m +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_MULTIPLE_TABLES is not set # CONFIG_NETWORK_SECMARK is not set -# CONFIG_NETFILTER is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_NETLINK=m +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_NETLINK_LOG=m +CONFIG_NF_CONNTRACK_ENABLED=m +CONFIG_NF_CONNTRACK_SUPPORT=y +# CONFIG_IP_NF_CONNTRACK_SUPPORT is not set +CONFIG_NF_CONNTRACK=m +CONFIG_NF_CT_ACCT=y +CONFIG_NF_CONNTRACK_MARK=y +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CT_PROTO_GRE=m +CONFIG_NF_CT_PROTO_SCTP=m +CONFIG_NF_CONNTRACK_AMANDA=m +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_NETBIOS_NS=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_XTABLES=m +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m +# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set +# CONFIG_NETFILTER_XT_TARGET_DSCP is not set +CONFIG_NETFILTER_XT_TARGET_MARK=m +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m +CONFIG_NETFILTER_XT_TARGET_NFLOG=m +# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +CONFIG_NETFILTER_XT_MATCH_COMMENT=m +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +CONFIG_NETFILTER_XT_MATCH_DCCP=m +CONFIG_NETFILTER_XT_MATCH_DSCP=m +CONFIG_NETFILTER_XT_MATCH_ESP=m +CONFIG_NETFILTER_XT_MATCH_HELPER=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_POLICY=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MATCH_QUOTA=m +CONFIG_NETFILTER_XT_MATCH_REALM=m +CONFIG_NETFILTER_XT_MATCH_SCTP=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_HASHLIMIT=m + +# +# IP: Netfilter Configuration +# +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_IPRANGE=m +CONFIG_IP_NF_MATCH_TOS=m +CONFIG_IP_NF_MATCH_RECENT=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_TTL=m +CONFIG_IP_NF_MATCH_OWNER=m +CONFIG_IP_NF_MATCH_ADDRTYPE=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_REDIRECT=m +CONFIG_IP_NF_TARGET_NETMAP=m +CONFIG_IP_NF_TARGET_SAME=m +CONFIG_NF_NAT_SNMP_BASIC=m +CONFIG_NF_NAT_PROTO_GRE=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_TOS=m +CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_TARGET_TTL=m +CONFIG_IP_NF_TARGET_CLUSTERIP=m +CONFIG_IP_NF_RAW=m +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARP_MANGLE=m + +# +# IPv6: Netfilter Configuration (EXPERIMENTAL) +# +CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_IP6_NF_QUEUE=m +CONFIG_IP6_NF_IPTABLES=m +CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_OPTS=m +CONFIG_IP6_NF_MATCH_FRAG=m +CONFIG_IP6_NF_MATCH_HL=m +CONFIG_IP6_NF_MATCH_OWNER=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_MATCH_AH=m +CONFIG_IP6_NF_MATCH_MH=m +CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_TARGET_LOG=m +CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_MANGLE=m +CONFIG_IP6_NF_TARGET_HL=m +CONFIG_IP6_NF_RAW=m # # DCCP Configuration (EXPERIMENTAL) @@ -315,6 +467,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" # QoS and/or fair queueing # # CONFIG_NET_SCHED is not set +CONFIG_NET_CLS_ROUTE=y # # Network testing @@ -322,8 +475,35 @@ CONFIG_DEFAULT_TCP_CONG="cubic" # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set # CONFIG_IRDA is not set -# CONFIG_BT is not set -# CONFIG_IEEE80211 is not set +CONFIG_BT=m +CONFIG_BT_L2CAP=m +CONFIG_BT_SCO=m +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=m +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=m + +# +# Bluetooth device drivers +# +# CONFIG_BT_HCIUSB is not set +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_H4=y +# CONFIG_BT_HCIUART_BCSP is not set +# CONFIG_BT_HCIBCM203X is not set +# CONFIG_BT_HCIBPA10X is not set +# CONFIG_BT_HCIBFUSB is not set +# CONFIG_BT_HCIVHCI is not set +CONFIG_IEEE80211=m +# CONFIG_IEEE80211_DEBUG is not set +CONFIG_IEEE80211_CRYPT_WEP=m +CONFIG_IEEE80211_CRYPT_CCMP=m +# CONFIG_IEEE80211_CRYPT_TKIP is not set +CONFIG_IEEE80211_SOFTMAC=m +# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set +CONFIG_WIRELESS_EXT=y # # Device Drivers @@ -345,7 +525,101 @@ CONFIG_CONNECTOR=m # # Memory Technology Devices (MTD) # -# CONFIG_MTD is not set +CONFIG_MTD=y +# CONFIG_MTD_DEBUG is not set +# CONFIG_MTD_CONCAT is not set +CONFIG_MTD_PARTITIONS=y +# CONFIG_MTD_REDBOOT_PARTS is not set +# CONFIG_MTD_CMDLINE_PARTS is not set +# CONFIG_MTD_AFS_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_CHAR=y +# CONFIG_MTD_BLKDEVS is not set +# CONFIG_MTD_BLOCK is not set +# CONFIG_MTD_BLOCK_RO is not set +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set + +# +# RAM/ROM/Flash chip drivers +# +CONFIG_MTD_CFI=y +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_GEN_PROBE=y +CONFIG_MTD_CFI_ADV_OPTIONS=y +CONFIG_MTD_CFI_NOSWAP=y +# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set +# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set +CONFIG_MTD_CFI_GEOMETRY=y +# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set +CONFIG_MTD_MAP_BANK_WIDTH_2=y +# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set +# 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 is not set +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_OTP is not set +CONFIG_MTD_CFI_INTELEXT=y +# CONFIG_MTD_CFI_AMDSTD is not set +# CONFIG_MTD_CFI_STAA is not set +CONFIG_MTD_CFI_UTIL=y +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set +# CONFIG_MTD_OBSOLETE_CHIPS is not set +CONFIG_MTD_XIP=y + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +CONFIG_MTD_PHYSMAP=y +CONFIG_MTD_PHYSMAP_START=0x0 +CONFIG_MTD_PHYSMAP_LEN=0x0 +CONFIG_MTD_PHYSMAP_BANKWIDTH=2 +# CONFIG_MTD_ARM_INTEGRATOR is not set +# CONFIG_MTD_SHARP_SL is not set +CONFIG_MTD_EZX=y +CONFIG_MTD_EZX_A780=y +# CONFIG_MTD_EZX_A780_ALTERNATE is not set +# CONFIG_MTD_EZX_E2 is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_M25P80 is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +# CONFIG_MTD_DOC2001PLUS is not set + +# +# NAND Flash Device Drivers +# +# CONFIG_MTD_NAND is not set + +# +# OneNAND Flash Device Drivers +# +# CONFIG_MTD_ONENAND is not set # # Parallel port support @@ -362,10 +636,13 @@ CONFIG_CONNECTOR=m # # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=m -# CONFIG_BLK_DEV_CRYPTOLOOP is not set +CONFIG_BLK_DEV_CRYPTOLOOP=m # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_UB is not set -# CONFIG_BLK_DEV_RAM is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 # CONFIG_CDROM_PKTCDVD is not set # CONFIG_ATA_OVER_ETH is not set @@ -411,7 +688,7 @@ CONFIG_NETDEVICES=y CONFIG_DUMMY=y # CONFIG_BONDING is not set # CONFIG_EQUALIZER is not set -# CONFIG_TUN is not set +CONFIG_TUN=m # # PHY device support @@ -437,7 +714,16 @@ CONFIG_DUMMY=y # # Wireless LAN (non-hamradio) # -# CONFIG_NET_RADIO is not set +CONFIG_NET_RADIO=y +CONFIG_NET_WIRELESS_RTNETLINK=y + +# +# Obsolete Wireless cards support (pre-802.11) +# +# CONFIG_STRIP is not set +# CONFIG_USB_ZD1201 is not set +# CONFIG_HOSTAP is not set +# CONFIG_ZD1211RW is not set # # Wan interfaces @@ -450,11 +736,11 @@ CONFIG_PPP_ASYNC=m CONFIG_PPP_SYNC_TTY=m CONFIG_PPP_DEFLATE=m CONFIG_PPP_BSDCOMP=m -# CONFIG_PPP_MPPE is not set -# CONFIG_PPPOE is not set +CONFIG_PPP_MPPE=m +CONFIG_PPPOE=m # CONFIG_SLIP is not set CONFIG_SLHC=m -# CONFIG_SHAPER is not set +CONFIG_SHAPER=m # CONFIG_NETCONSOLE is not set # CONFIG_NETPOLL is not set # CONFIG_NET_POLL_CONTROLLER is not set @@ -558,6 +844,8 @@ CONFIG_HW_RANDOM=y # TPM devices # # CONFIG_TCG_TPM is not set +CONFIG_TS0710_MUX=y +CONFIG_TS0710_MUX_USB=y # # I2C support @@ -654,7 +942,50 @@ CONFIG_LEDS_TRIGGER_HEARTBEAT=y # # Multimedia devices # -# CONFIG_VIDEO_DEV is not set +CONFIG_VIDEO_DEV=m +CONFIG_VIDEO_V4L1=y +CONFIG_VIDEO_V4L1_COMPAT=y +CONFIG_VIDEO_V4L2=y + +# +# Video Capture Adapters +# + +# +# Video Capture Adapters +# +# CONFIG_VIDEO_ADV_DEBUG is not set +CONFIG_VIDEO_HELPER_CHIPS_AUTO=y +# CONFIG_VIDEO_CPIA is not set +# CONFIG_VIDEO_CPIA2 is not set +# CONFIG_VIDEO_SAA5246A is not set +# CONFIG_VIDEO_SAA5249 is not set +# CONFIG_TUNER_3036 is not set + +# +# V4L USB devices +# +# CONFIG_VIDEO_PVRUSB2 is not set +# CONFIG_VIDEO_EM28XX is not set +# CONFIG_VIDEO_USBVISION is not set +# CONFIG_USB_VICAM is not set +# CONFIG_USB_IBMCAM is not set +# CONFIG_USB_KONICAWC is not set +# CONFIG_USB_QUICKCAM_MESSENGER is not set +# CONFIG_USB_ET61X251 is not set +# CONFIG_VIDEO_OVCAMCHIP is not set +# CONFIG_USB_W9968CF is not set +# CONFIG_USB_OV511 is not set +# CONFIG_USB_SE401 is not set +# CONFIG_USB_SN9C102 is not set +# CONFIG_USB_STV680 is not set +# CONFIG_USB_ZC0301 is not set +# CONFIG_USB_PWC is not set + +# +# Radio Adapters +# +# CONFIG_USB_DSBR is not set # # Digital Video Broadcasting Devices @@ -667,8 +998,8 @@ CONFIG_LEDS_TRIGGER_HEARTBEAT=y # CONFIG_BACKLIGHT_LCD_SUPPORT=y CONFIG_BACKLIGHT_CLASS_DEVICE=y -# CONFIG_LCD_CLASS_DEVICE is not set -# CONFIG_BACKLIGHT_EZX is not set +CONFIG_LCD_CLASS_DEVICE=m +CONFIG_BACKLIGHT_EZX=y CONFIG_FB=y # CONFIG_FIRMWARE_EDID is not set # CONFIG_FB_DDC is not set @@ -712,12 +1043,79 @@ CONFIG_FONT_MINI_4x6=y # # Logo configuration # -# CONFIG_LOGO is not set +CONFIG_LOGO=y +CONFIG_LOGO_LINUX_MONO=y +CONFIG_LOGO_LINUX_VGA16=y +CONFIG_LOGO_LINUX_CLUT224=y # # Sound # -# CONFIG_SOUND is not set +CONFIG_SOUND=y + +# +# Advanced Linux Sound Architecture +# +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +# CONFIG_SND_SEQUENCER is not set +CONFIG_SND_OSSEMUL=y +CONFIG_SND_MIXER_OSS=m +CONFIG_SND_PCM_OSS=m +CONFIG_SND_PCM_OSS_PLUGINS=y +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set + +# +# Generic devices +# +CONFIG_SND_AC97_CODEC=m +CONFIG_SND_DUMMY=m +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set + +# +# ALSA ARM devices +# +CONFIG_SND_PXA2XX_PCM=m +CONFIG_SND_PXA2XX_AC97=m + +# +# USB devices +# +# CONFIG_SND_USB_AUDIO is not set + +# +# SoC audio support +# +CONFIG_SND_SOC=y + +# +# SoC Platforms +# + +# +# SoC Audio for the Atmel AT91 +# + +# +# SoC Audio for the Intel PXA2xx +# +CONFIG_SND_PXA2XX_SOC=y +CONFIG_SND_PXA2XX_SOC_SSP=y +CONFIG_SND_PXA2XX_SOC_EZX=y +CONFIG_SND_SOC_PCAP2=y + +# +# Open Sound System +# +# CONFIG_SOUND_PRIME is not set +CONFIG_AC97_BUS=m # # HID Devices @@ -879,7 +1277,34 @@ CONFIG_MMC_PXA=y # Real Time Clock # CONFIG_RTC_LIB=y -# CONFIG_RTC_CLASS is not set +CONFIG_RTC_CLASS=m + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=m +CONFIG_RTC_INTF_PROC=m +CONFIG_RTC_INTF_DEV=m +CONFIG_RTC_INTF_DEV_UIE_EMUL=y + +# +# RTC drivers +# +# CONFIG_RTC_DRV_CMOS is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_M48T86 is not set +CONFIG_RTC_DRV_SA1100=m +# CONFIG_RTC_DRV_TEST is not set +# CONFIG_RTC_DRV_MAX6902 is not set +# CONFIG_RTC_DRV_V3020 is not set # # File systems @@ -905,7 +1330,11 @@ CONFIG_REISERFS_FS_POSIX_ACL=y CONFIG_REISERFS_FS_SECURITY=y # CONFIG_JFS_FS is not set CONFIG_FS_POSIX_ACL=y -# CONFIG_XFS_FS is not set +CONFIG_XFS_FS=m +# CONFIG_XFS_QUOTA is not set +# CONFIG_XFS_SECURITY is not set +# CONFIG_XFS_POSIX_ACL is not set +# CONFIG_XFS_RT is not set # CONFIG_GFS2_FS is not set # CONFIG_OCFS2_FS is not set # CONFIG_MINIX_FS is not set @@ -917,6 +1346,7 @@ CONFIG_DNOTIFY=y CONFIG_AUTOFS_FS=y CONFIG_AUTOFS4_FS=y # CONFIG_FUSE_FS is not set +CONFIG_GENERIC_ACL=y # # CD-ROM/DVD Filesystems @@ -924,7 +1354,8 @@ CONFIG_AUTOFS4_FS=y CONFIG_ISO9660_FS=m CONFIG_JOLIET=y CONFIG_ZISOFS=y -# CONFIG_UDF_FS is not set +CONFIG_UDF_FS=m +CONFIG_UDF_NLS=y # # DOS/FAT/NT Filesystems @@ -942,7 +1373,8 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" CONFIG_PROC_FS=y CONFIG_PROC_SYSCTL=y CONFIG_SYSFS=y -# CONFIG_TMPFS is not set +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y # CONFIG_HUGETLB_PAGE is not set CONFIG_RAMFS=y # CONFIG_CONFIGFS_FS is not set @@ -957,6 +1389,7 @@ CONFIG_RAMFS=y # CONFIG_BEFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_EFS_FS is not set +# CONFIG_JFFS2_FS is not set CONFIG_CRAMFS=m # CONFIG_VXFS_FS is not set # CONFIG_HPFS_FS is not set @@ -967,24 +1400,26 @@ CONFIG_CRAMFS=m # # Network File Systems # -CONFIG_NFS_FS=m +CONFIG_NFS_FS=y CONFIG_NFS_V3=y CONFIG_NFS_V3_ACL=y -# CONFIG_NFS_V4 is not set +CONFIG_NFS_V4=y CONFIG_NFS_DIRECTIO=y CONFIG_NFSD=m CONFIG_NFSD_V2_ACL=y CONFIG_NFSD_V3=y CONFIG_NFSD_V3_ACL=y -# CONFIG_NFSD_V4 is not set +CONFIG_NFSD_V4=y CONFIG_NFSD_TCP=y -CONFIG_LOCKD=m +CONFIG_ROOT_NFS=y +CONFIG_LOCKD=y CONFIG_LOCKD_V4=y CONFIG_EXPORTFS=m -CONFIG_NFS_ACL_SUPPORT=m +CONFIG_NFS_ACL_SUPPORT=y CONFIG_NFS_COMMON=y -CONFIG_SUNRPC=m -# CONFIG_RPCSEC_GSS_KRB5 is not set +CONFIG_SUNRPC=y +CONFIG_SUNRPC_GSS=y +CONFIG_RPCSEC_GSS_KRB5=y # CONFIG_RPCSEC_GSS_SPKM3 is not set CONFIG_SMB_FS=m # CONFIG_SMB_NLS_DEFAULT is not set @@ -1085,7 +1520,48 @@ CONFIG_FRAME_POINTER=y # # Cryptographic options # -# CONFIG_CRYPTO is not set +CONFIG_CRYPTO=y +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_HASH=m +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_HMAC=m +CONFIG_CRYPTO_XCBC=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_SHA1=m +CONFIG_CRYPTO_SHA256=m +CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_WP512=m +CONFIG_CRYPTO_TGR192=m +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_ECB=m +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_LRW=m +CONFIG_CRYPTO_DES=y +CONFIG_CRYPTO_FCRYPT=m +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_TWOFISH_COMMON=m +CONFIG_CRYPTO_SERPENT=m +CONFIG_CRYPTO_AES=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST6=m +CONFIG_CRYPTO_TEA=m +CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_KHAZAD=m +CONFIG_CRYPTO_ANUBIS=m +CONFIG_CRYPTO_DEFLATE=m +CONFIG_CRYPTO_MICHAEL_MIC=m +CONFIG_CRYPTO_CRC32C=m +CONFIG_CRYPTO_CAMELLIA=m +CONFIG_CRYPTO_TEST=m + +# +# Hardware crypto devices +# # # Library routines @@ -1097,6 +1573,10 @@ CONFIG_CRC32=y CONFIG_LIBCRC32C=m CONFIG_ZLIB_INFLATE=m CONFIG_ZLIB_DEFLATE=m +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_KMP=m +CONFIG_TEXTSEARCH_BM=m +CONFIG_TEXTSEARCH_FSM=m CONFIG_PLIST=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y diff --git a/packages/linux/linux-ezx_2.6.21.bb b/packages/linux/linux-ezx_2.6.21.bb index 8b111a2c44..892d4f2249 100644 --- a/packages/linux/linux-ezx_2.6.21.bb +++ b/packages/linux/linux-ezx_2.6.21.bb @@ -3,29 +3,32 @@ SECTION = "kernel" AUTHOR = "Harald Welte and the OpenEZX Team <openezx-devel@lists.openezx.org>" HOMEPAGE = "http://www.openezx.org" LICENSE = "GPL" -DEPENDS += "quilt-native" EZX = "ezxdev" -PR = "${EZX}-r6" +PR = "${EZX}-r11" inherit kernel -############################################################## -# source and patches -# +require linux.inc + SRC_URI = " \ ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \ file://logo_linux_clut224.ppm \ - \ + \ file://patches/patch-2.6.21.4;patch=1 \ file://patches/ezx-core.patch;patch=1 \ file://patches/ezx-bp.patch;patch=1 \ file://patches/ezx-pm.patch;patch=1 \ file://patches/ezx-pcap.patch;patch=1 \ + file://patches/a780-pcap.patch;patch=1 \ + file://patches/e680-pcap.patch;patch=1 \ + file://patches/a1200-pcap.patch;patch=1 \ file://patches/a780-mci.patch;patch=1 \ file://patches/e680-mci.patch;patch=1 \ file://patches/a1200-mci.patch;patch=1 \ file://patches/pxa27x-udc-support.2.patch;patch=1 \ file://patches/ezx-emu.patch;patch=1 \ + file://patches/a780-emu.patch;patch=1 \ + file://patches/e680-emu.patch;patch=1 \ file://patches/ezx-mtd-map.patch;patch=1 \ file://patches/ezx-serial-bug-workaround.patch;patch=1 \ file://patches/pxa-kbd.patch;patch=1 \ @@ -35,6 +38,8 @@ SRC_URI = " \ file://patches/a780-ts.patch;patch=1 \ file://patches/e680-ts.patch;patch=1 \ file://patches/a1200-ts.patch;patch=1 \ + file://patches/ezx-eoc.patch;patch=1 \ + file://patches/a1200-eoc.patch;patch=1 \ file://patches/ezx-backlight.patch;patch=1 \ file://patches/a780-flip.patch;patch=1 \ file://patches/e680-locksw.patch;patch=1 \ @@ -50,12 +55,12 @@ SRC_URI = " \ file://patches/mux-fix-makefile.patch;patch=1 \ file://patches/mux-fix-tty-driver.patch;patch=1 \ file://patches/mux-linux-2.6.21-fix.patch;patch=1 \ - file://patches/defconfig-a1200 \ - file://patches/defconfig-a780 \ - file://patches/defconfig-e2 \ - file://patches/defconfig-e6 \ - file://patches/defconfig-e680 \ - \ + file://patches/asoc-pxa-ssp.patch;patch=1 \ + file://patches/asoc-fix-loopback.patch;patch=1 \ + file://patches/ezx-asoc.patch;patch=1 \ + file://patches/mtdfix.patch;patch=1 \ + file://defconfig \ + \ " S = "${WORKDIR}/linux-${PV}" @@ -68,19 +73,19 @@ FILES_kernel-image = "" ALLOW_EMPTY = "1" COMPATIBLE_HOST = "arm.*-linux" -COMPATIBLE_MACHINE = '(a780|e680|a1200)' +COMPATIBLE_MACHINE = '(a780|e680|a1200|rorkre2|rokre6)' # For now the code for serial console is disabled in compress.c -#CMDLINE_CON = "console=ttyS2,115200n8 console=tty1 noinitrd" -CMDLINE_CON = "console=tty1 noinitrd" +#CMDLINE_CON = "console=ttyS2,115200n8 console=tty1 " +CMDLINE_CON = "console=tty1 " CMDLINE_ROOT = "root=/dev/mmcblk0p1 rootfstype=ext3 rootdelay=5" # uncomment if you want to boot over NFS -#CMDLINE_ROOT = "root=/dev/nfs nfsroot=192.168.1.10:/export/opie-image rootdelay=5 3" +#CMDLINE_ROOT = "root=301 root=/dev/nfs nfsroot=192.168.0.200:/export/ezx-image rootdelay=5 " # uncomment to enable dyntick #CMDLINE_OTHER = "dyntick=enable" CMDLINE_DEBUG = '${@base_conditional("DISTRO_TYPE", "release", "quiet", "debug",d)}' -CMDLINE_IP = "ip=192.168.1.2:192.168.1.10:192.168.1.10:255.255.255.0:ezx:usb0:off" +CMDLINE_IP = "ip=192.168.0.202:192.168.0.200:192.168.0.200:255.255.255.0" CMDLINE = "${CMDLINE_CON} ${CMDLINE_ROOT} ${CMDLINE_IP} ${CMDLINE_ROTATE} ${CMDLINE_OTHER} ${CMDLINE_DEBUG} mem=32M@0xA0000000 mem=16M@0xAC000000" ############################################################### @@ -89,44 +94,6 @@ CMDLINE = "${CMDLINE_CON} ${CMDLINE_ROOT} ${CMDLINE_IP} ${CMDLINE_ROTATE} ${CMDL #module_autoload_pxaficp_ir = "pxaficp_ir" #module_autoload_snd-pcm-oss = "snd-pcm-oss" -do_configure() { - install -m 0644 ${WORKDIR}/logo_linux_clut224.ppm drivers/video/logo/logo_linux_clut224.ppm - - if [ ! -e ${WORKDIR}/patches/defconfig-${MACHINE} ]; then - die "No default configuration for ${MACHINE} available." - fi - - echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >> ${S}/.config - - if [ "${TARGET_OS}" == "linux-gnueabi" -o "${TARGET_OS}" == "linux-uclibcgnueabi" ]; then - echo "CONFIG_AEABI=y" >> ${S}/.config - echo "CONFIG_OABI_COMPAT=y" >> ${S}/.config - else - echo "# CONFIG_AEABI is not set" >> ${S}/.config - echo "# CONFIG_OABI_COMPAT is not set" >> ${S}/.config - fi - - # - # Logo configuration - # - echo "CONFIG_LOGO=y" >> ${S}/.config - echo "CONFIG_LOGO_LINUX_CLUT224=y" >> ${S}/.config - - - sed -e '/CONFIG_AEABI/d' \ - -e '/CONFIG_OABI_COMPAT=/d' \ - -e '/CONFIG_CMDLINE=/d' \ - -e '/CONFIG_MTD_MTDRAM_SA1100=/d' \ - -e '/CONFIG_MTDRAM_TOTAL_SIZE=/d' \ - -e '/CONFIG_MTDRAM_ERASE_SIZE=/d' \ - -e '/CONFIG_MTDRAM_ABS_POS=/d' \ - -e '/CONFIG_LOGO=/d' \ - -e '/CONFIG_LOGO_LINUX_CLUT224=/d' \ - '${WORKDIR}/patches/defconfig-${MACHINE}' >>'${S}/.config' - - yes '' | oe_runmake oldconfig -} - ############################################################### # check the kernel is below the 1024*1024 byte limit for the boot-over usb # @@ -139,15 +106,3 @@ do_compile_append() { fi } -############################################################### -# put into deploy directory -# -do_deploy() { - install -d ${DEPLOY_DIR_IMAGE} - install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${PR}-${MACHINE}-${DATETIME}.bin - tar -cvzf ${DEPLOY_DIR_IMAGE}/modules-${PV}-${PR}-${MACHINE}-${DATETIME}.tgz -C ${D} lib -} - -do_deploy[dirs] = "${S}" - -addtask deploy before do_package after do_install diff --git a/packages/linux/linux-handhelds-2.6/asus620/defconfig b/packages/linux/linux-handhelds-2.6/asus620/defconfig index 898cf0430e..298de888a4 100644 --- a/packages/linux/linux-handhelds-2.6/asus620/defconfig +++ b/packages/linux/linux-handhelds-2.6/asus620/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.21-hh11 -# Wed Jul 11 07:31:35 2007 +# Linux kernel version: 2.6.21-hh16 +# Tue Sep 11 19:40:23 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -171,6 +171,10 @@ CONFIG_A620_TS=y # CONFIG_MACH_MAGICIAN is not set # CONFIG_MACH_HTCAPACHE is not set # CONFIG_MACH_BLUEANGEL is not set + +# +# HTC_HW6X00 +# # CONFIG_MACH_HTCBEETLES is not set # CONFIG_MACH_HW6900 is not set # CONFIG_MACH_HTCATHENA is not set @@ -402,50 +406,7 @@ CONFIG_NETFILTER=y # # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set -CONFIG_IRDA=y - -# -# IrDA protocols -# -CONFIG_IRLAN=y -# CONFIG_IRNET is not set -CONFIG_IRCOMM=y -CONFIG_IRDA_ULTRA=y - -# -# IrDA options -# -CONFIG_IRDA_CACHE_LAST_LSAP=y -CONFIG_IRDA_FAST_RR=y -CONFIG_IRDA_DEBUG=y - -# -# Infrared-port device drivers -# - -# -# SIR device drivers -# -CONFIG_IRTTY_SIR=y - -# -# Dongle support -# -# CONFIG_DONGLE is not set - -# -# Old SIR device drivers -# -# CONFIG_IRPORT_SIR is not set - -# -# Old Serial dongle support -# - -# -# FIR device drivers -# -CONFIG_PXA_FICP=y +# CONFIG_IRDA is not set CONFIG_BT=m CONFIG_BT_L2CAP=m CONFIG_BT_SCO=m @@ -487,21 +448,19 @@ CONFIG_FW_LOADER=y # # Memory Technology Devices (MTD) # -CONFIG_MTD=y +CONFIG_MTD=m CONFIG_MTD_DEBUG=y CONFIG_MTD_DEBUG_VERBOSE=0 -CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y -# CONFIG_MTD_REDBOOT_PARTS is not set -# CONFIG_MTD_CMDLINE_PARTS is not set -# CONFIG_MTD_AFS_PARTS is not set +# CONFIG_MTD_CONCAT is not set +# CONFIG_MTD_PARTITIONS is not set # # User Modules And Translation Layers # CONFIG_MTD_CHAR=m -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y +# CONFIG_MTD_BLKDEVS is not set +# CONFIG_MTD_BLOCK is not set +# CONFIG_MTD_BLOCK_RO is not set # CONFIG_FTL is not set # CONFIG_NFTL is not set # CONFIG_INFTL is not set @@ -555,17 +514,15 @@ CONFIG_MTDRAM_ERASE_SIZE=256 # # NAND Flash Device Drivers # -CONFIG_MTD_NAND=y +CONFIG_MTD_NAND=m # CONFIG_MTD_NAND_VERIFY_WRITE is not set # CONFIG_MTD_NAND_ECC_SMC is not set -# CONFIG_MTD_NAND_H1900 is not set -CONFIG_MTD_NAND_IDS=y -CONFIG_MTD_NAND_DISKONCHIP=y +CONFIG_MTD_NAND_IDS=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_SHARPSL is not set -# CONFIG_MTD_NAND_NANDSIM is not set # # OneNAND Flash Device Drivers @@ -586,7 +543,8 @@ CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 # Block devices # # CONFIG_BLK_DEV_COW_COMMON is not set -# CONFIG_BLK_DEV_LOOP is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_RAM is not set # CONFIG_CDROM_PKTCDVD is not set @@ -714,6 +672,7 @@ CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_GPIODEV_KEYS is not set +# CONFIG_GPIODEV_KEYS2 is not set # CONFIG_GPIODEV_DIAGONAL is not set CONFIG_KEYBOARD_GPIO=y CONFIG_INPUT_MOUSE=y @@ -828,12 +787,24 @@ CONFIG_ADC=y # CONFIG_ADC_AD7877 is not set # +# Compaq/iPAQ Drivers +# + +# +# Compaq/HP iPAQ Drivers +# +# CONFIG_IPAQ_SLEEVE is not set +# CONFIG_SLEEVE_DEBUG is not set + +# # Multifunction device drivers # # CONFIG_MFD_SM501 is not set # CONFIG_HTC_ASIC2 is not set # CONFIG_HTC_ASIC3 is not set +# CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_BBKEYS is not set # CONFIG_HTC_ASIC3_DS1WM is not set # CONFIG_SOC_SAMCOP is not set # CONFIG_SOC_HAMCOP is not set @@ -853,6 +824,7 @@ CONFIG_LEDS_CLASS=y # # LED drivers # +# CONFIG_LEDS_GPIO is not set # # LED Triggers @@ -860,6 +832,7 @@ CONFIG_LEDS_CLASS=y CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=y # CONFIG_LEDS_TRIGGER_HWTIMER is not set +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set CONFIG_LEDS_TRIGGER_SHARED=y @@ -1060,9 +1033,9 @@ CONFIG_DNOTIFY=y # # DOS/FAT/NT Filesystems # -CONFIG_FAT_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y +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 is not set @@ -1152,8 +1125,8 @@ CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set -CONFIG_NLS_CODEPAGE_1250=y -CONFIG_NLS_CODEPAGE_1251=y +# CONFIG_NLS_CODEPAGE_1250 is not set +CONFIG_NLS_CODEPAGE_1251=m # CONFIG_NLS_ASCII is not set CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_ISO8859_2 is not set @@ -1227,16 +1200,15 @@ CONFIG_DEBUG_LL=y # Cryptographic options # CONFIG_CRYPTO=y -CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI=m CONFIG_CRYPTO_BLKCIPHER=m -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_MANAGER=m +# CONFIG_CRYPTO_HMAC is not set # CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_SHA1=y +# CONFIG_CRYPTO_MD5 is not set +CONFIG_CRYPTO_SHA1=m # CONFIG_CRYPTO_SHA256 is not set # CONFIG_CRYPTO_SHA512 is not set # CONFIG_CRYPTO_WP512 is not set @@ -1246,7 +1218,7 @@ CONFIG_CRYPTO_ECB=m # CONFIG_CRYPTO_CBC is not set CONFIG_CRYPTO_PCBC=m # CONFIG_CRYPTO_LRW is not set -CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_DES is not set # CONFIG_CRYPTO_FCRYPT is not set # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_TWOFISH is not set @@ -1258,7 +1230,7 @@ CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_ARC4=m # CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_DEFLATE is not set # CONFIG_CRYPTO_MICHAEL_MIC is not set # CONFIG_CRYPTO_CRC32C is not set # CONFIG_CRYPTO_CAMELLIA is not set @@ -1276,9 +1248,9 @@ CONFIG_CRC_CCITT=y # CONFIG_CRC16 is not set CONFIG_CRC32=y # CONFIG_LIBCRC32C is not set -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y -CONFIG_REED_SOLOMON=y +CONFIG_ZLIB_INFLATE=m +CONFIG_ZLIB_DEFLATE=m +CONFIG_REED_SOLOMON=m CONFIG_REED_SOLOMON_DEC16=y CONFIG_PLIST=y CONFIG_HAS_IOMEM=y diff --git a/packages/linux/linux-handhelds-2.6/asus730/defconfig b/packages/linux/linux-handhelds-2.6/asus730/defconfig index 29729e0123..6a20433779 100644 --- a/packages/linux/linux-handhelds-2.6/asus730/defconfig +++ b/packages/linux/linux-handhelds-2.6/asus730/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.21-hh11 -# Wed Jul 11 07:31:35 2007 +# Linux kernel version: 2.6.21-hh16 +# Tue Sep 11 19:40:24 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -167,6 +167,10 @@ CONFIG_MACH_A730=y # CONFIG_MACH_MAGICIAN is not set # CONFIG_MACH_HTCAPACHE is not set # CONFIG_MACH_BLUEANGEL is not set + +# +# HTC_HW6X00 +# # CONFIG_MACH_HTCBEETLES is not set # CONFIG_MACH_HW6900 is not set # CONFIG_MACH_HTCATHENA is not set @@ -408,69 +412,8 @@ CONFIG_NETFILTER=y # # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set -CONFIG_IRDA=y - -# -# IrDA protocols -# -CONFIG_IRLAN=y -# CONFIG_IRNET is not set -CONFIG_IRCOMM=y -CONFIG_IRDA_ULTRA=y - -# -# IrDA options -# -CONFIG_IRDA_CACHE_LAST_LSAP=y -CONFIG_IRDA_FAST_RR=y -CONFIG_IRDA_DEBUG=y - -# -# Infrared-port device drivers -# - -# -# SIR device drivers -# -CONFIG_IRTTY_SIR=y - -# -# Dongle support -# -# CONFIG_DONGLE is not set - -# -# Old SIR device drivers -# -# CONFIG_IRPORT_SIR is not set - -# -# Old Serial dongle support -# - -# -# FIR device drivers -# -CONFIG_PXA_FICP=y -CONFIG_BT=y -CONFIG_BT_L2CAP=m -CONFIG_BT_SCO=m -CONFIG_BT_RFCOMM=m -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=m -CONFIG_BT_BNEP_MC_FILTER=y -CONFIG_BT_BNEP_PROTO_FILTER=y -CONFIG_BT_HIDP=m - -# -# Bluetooth device drivers -# -# CONFIG_BT_HCIUART is not set -# CONFIG_BT_HCIDTL1 is not set -# CONFIG_BT_HCIBT3C is not set -# CONFIG_BT_HCIBLUECARD is not set -# CONFIG_BT_HCIBTUART is not set -# CONFIG_BT_HCIVHCI is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set # CONFIG_IEEE80211 is not set # @@ -519,8 +462,14 @@ CONFIG_MTD_BLOCK=y # # RAM/ROM/Flash chip drivers # -# CONFIG_MTD_CFI is not set +CONFIG_MTD_CFI=y # CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_GEN_PROBE=y +CONFIG_MTD_CFI_ADV_OPTIONS=y +CONFIG_MTD_CFI_NOSWAP=y +# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set +# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set +CONFIG_MTD_CFI_GEOMETRY=y CONFIG_MTD_MAP_BANK_WIDTH_1=y CONFIG_MTD_MAP_BANK_WIDTH_2=y CONFIG_MTD_MAP_BANK_WIDTH_4=y @@ -531,15 +480,24 @@ 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_OTP is not set +CONFIG_MTD_CFI_INTELEXT=y +# CONFIG_MTD_CFI_AMDSTD is not set +# CONFIG_MTD_CFI_STAA is not set +CONFIG_MTD_CFI_UTIL=y # CONFIG_MTD_RAM is not set # CONFIG_MTD_ROM is not set # CONFIG_MTD_ABSENT is not set # CONFIG_MTD_OBSOLETE_CHIPS is not set +# CONFIG_MTD_XIP is not set # # Mapping drivers for chip access # # CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PHYSMAP is not set +# CONFIG_MTD_ARM_INTEGRATOR is not set +# CONFIG_MTD_IPAQ is not set # CONFIG_MTD_SHARP_SL is not set # CONFIG_MTD_PLATRAM is not set @@ -563,14 +521,7 @@ CONFIG_MTDRAM_ERASE_SIZE=256 # # NAND Flash Device Drivers # -CONFIG_MTD_NAND=y -# CONFIG_MTD_NAND_VERIFY_WRITE is not set -# CONFIG_MTD_NAND_ECC_SMC is not set -# CONFIG_MTD_NAND_H1900 is not set -CONFIG_MTD_NAND_IDS=y -# CONFIG_MTD_NAND_DISKONCHIP is not set -# CONFIG_MTD_NAND_SHARPSL is not set -# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND is not set # # OneNAND Flash Device Drivers @@ -591,7 +542,8 @@ CONFIG_MTD_NAND_IDS=y # Block devices # # CONFIG_BLK_DEV_COW_COMMON is not set -# CONFIG_BLK_DEV_LOOP is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_RAM is not set # CONFIG_CDROM_PKTCDVD is not set @@ -600,7 +552,29 @@ CONFIG_MTD_NAND_IDS=y # # ATA/ATAPI/MFM/RLL support # -# CONFIG_IDE is not set +CONFIG_IDE=y +CONFIG_IDE_MAX_HWIFS=4 +CONFIG_BLK_DEV_IDE=y + +# +# Please see Documentation/ide.txt for help/info on IDE drives +# +# CONFIG_BLK_DEV_IDE_SATA is not set +CONFIG_BLK_DEV_IDEDISK=y +# CONFIG_IDEDISK_MULTI_MODE is not set +CONFIG_BLK_DEV_IDECS=y +# CONFIG_BLK_DEV_IDECD is not set +# CONFIG_BLK_DEV_IDETAPE is not set +# CONFIG_BLK_DEV_IDEFLOPPY is not set +# CONFIG_IDE_TASK_IOCTL is not set + +# +# IDE chipset support/bugfixes +# +CONFIG_IDE_GENERIC=y +# CONFIG_IDE_ARM is not set +# CONFIG_BLK_DEV_IDEDMA is not set +# CONFIG_BLK_DEV_HD is not set # # SCSI device support @@ -724,6 +698,7 @@ CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_GPIODEV_KEYS is not set +# CONFIG_GPIODEV_KEYS2 is not set # CONFIG_GPIODEV_DIAGONAL is not set # CONFIG_KEYBOARD_PXA27x is not set # CONFIG_KEYBOARD_GPIO is not set @@ -876,12 +851,24 @@ CONFIG_ADC=y # CONFIG_ADC_AD7877 is not set # +# Compaq/iPAQ Drivers +# + +# +# Compaq/HP iPAQ Drivers +# +# CONFIG_IPAQ_SLEEVE is not set +# CONFIG_SLEEVE_DEBUG is not set + +# # Multifunction device drivers # # CONFIG_MFD_SM501 is not set # CONFIG_HTC_ASIC2 is not set # CONFIG_HTC_ASIC3 is not set +# CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_BBKEYS is not set # CONFIG_HTC_ASIC3_DS1WM is not set # CONFIG_SOC_SAMCOP is not set # CONFIG_SOC_HAMCOP is not set @@ -901,6 +888,7 @@ CONFIG_LEDS_CLASS=y # # LED drivers # +# CONFIG_LEDS_GPIO is not set # # LED Triggers @@ -908,6 +896,8 @@ CONFIG_LEDS_CLASS=y CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=y # CONFIG_LEDS_TRIGGER_HWTIMER is not set +# CONFIG_LEDS_TRIGGER_IDE_DISK is not set +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set CONFIG_LEDS_TRIGGER_SHARED=y @@ -1033,8 +1023,7 @@ CONFIG_AC97_BUS=m # # HID Devices # -CONFIG_HID=m -# CONFIG_HID_DEBUG is not set +# CONFIG_HID is not set # # USB support @@ -1154,9 +1143,9 @@ CONFIG_DNOTIFY=y # # DOS/FAT/NT Filesystems # -CONFIG_FAT_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y +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 is not set @@ -1183,7 +1172,18 @@ CONFIG_RAMFS=y # CONFIG_BEFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_EFS_FS is not set -# CONFIG_JFFS2_FS is not set +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +CONFIG_JFFS2_COMPRESSION_OPTIONS=y +CONFIG_JFFS2_ZLIB=y +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +# CONFIG_JFFS2_CMODE_NONE is not set +CONFIG_JFFS2_CMODE_PRIORITY=y +# CONFIG_JFFS2_CMODE_SIZE is not set # CONFIG_CRAMFS is not set # CONFIG_VXFS_FS is not set # CONFIG_HPFS_FS is not set @@ -1246,8 +1246,8 @@ CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set -CONFIG_NLS_CODEPAGE_1250=y -CONFIG_NLS_CODEPAGE_1251=y +# CONFIG_NLS_CODEPAGE_1250 is not set +CONFIG_NLS_CODEPAGE_1251=m # CONFIG_NLS_ASCII is not set CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_ISO8859_2 is not set @@ -1321,16 +1321,15 @@ CONFIG_DEBUG_LL=y # Cryptographic options # CONFIG_CRYPTO=y -CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI=m CONFIG_CRYPTO_BLKCIPHER=m -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_MANAGER=m +# CONFIG_CRYPTO_HMAC is not set # CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_SHA1=y +# CONFIG_CRYPTO_MD5 is not set +CONFIG_CRYPTO_SHA1=m # CONFIG_CRYPTO_SHA256 is not set # CONFIG_CRYPTO_SHA512 is not set # CONFIG_CRYPTO_WP512 is not set @@ -1340,7 +1339,7 @@ CONFIG_CRYPTO_ECB=m # CONFIG_CRYPTO_CBC is not set CONFIG_CRYPTO_PCBC=m # CONFIG_CRYPTO_LRW is not set -CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_DES is not set # CONFIG_CRYPTO_FCRYPT is not set # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_TWOFISH is not set @@ -1352,7 +1351,7 @@ CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_ARC4=m # CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_DEFLATE is not set # CONFIG_CRYPTO_MICHAEL_MIC is not set # CONFIG_CRYPTO_CRC32C is not set # CONFIG_CRYPTO_CAMELLIA is not set diff --git a/packages/linux/linux-handhelds-2.6/aximx50/defconfig b/packages/linux/linux-handhelds-2.6/aximx50/defconfig index fcbcefeaf7..6e67c1b951 100644 --- a/packages/linux/linux-handhelds-2.6/aximx50/defconfig +++ b/packages/linux/linux-handhelds-2.6/aximx50/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.21-hh11 -# Wed Jul 11 07:31:36 2007 +# Linux kernel version: 2.6.21-hh16 +# Tue Sep 11 19:40:24 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -166,6 +166,10 @@ CONFIG_ARCH_PXA=y # CONFIG_MACH_MAGICIAN is not set # CONFIG_MACH_HTCAPACHE is not set # CONFIG_MACH_BLUEANGEL is not set + +# +# HTC_HW6X00 +# # CONFIG_MACH_HTCBEETLES is not set # CONFIG_MACH_HW6900 is not set # CONFIG_MACH_HTCATHENA is not set @@ -402,65 +406,8 @@ CONFIG_NETFILTER=y # # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set -CONFIG_IRDA=y - -# -# IrDA protocols -# -CONFIG_IRLAN=y -# CONFIG_IRNET is not set -CONFIG_IRCOMM=y -CONFIG_IRDA_ULTRA=y - -# -# IrDA options -# -CONFIG_IRDA_CACHE_LAST_LSAP=y -CONFIG_IRDA_FAST_RR=y -CONFIG_IRDA_DEBUG=y - -# -# Infrared-port device drivers -# - -# -# SIR device drivers -# -CONFIG_IRTTY_SIR=y - -# -# Dongle support -# -# CONFIG_DONGLE is not set - -# -# Old SIR device drivers -# -# CONFIG_IRPORT_SIR is not set - -# -# Old Serial dongle support -# - -# -# FIR device drivers -# -CONFIG_PXA_FICP=y -CONFIG_BT=y -CONFIG_BT_L2CAP=m -CONFIG_BT_SCO=m -CONFIG_BT_RFCOMM=m -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=m -CONFIG_BT_BNEP_MC_FILTER=y -CONFIG_BT_BNEP_PROTO_FILTER=y -CONFIG_BT_HIDP=m - -# -# Bluetooth device drivers -# -# CONFIG_BT_HCIUART is not set -# CONFIG_BT_HCIVHCI is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set # CONFIG_IEEE80211 is not set # @@ -485,21 +432,19 @@ CONFIG_FW_LOADER=y # # Memory Technology Devices (MTD) # -CONFIG_MTD=y +CONFIG_MTD=m CONFIG_MTD_DEBUG=y CONFIG_MTD_DEBUG_VERBOSE=0 -CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y -# CONFIG_MTD_REDBOOT_PARTS is not set -# CONFIG_MTD_CMDLINE_PARTS is not set -# CONFIG_MTD_AFS_PARTS is not set +# CONFIG_MTD_CONCAT is not set +# CONFIG_MTD_PARTITIONS is not set # # User Modules And Translation Layers # CONFIG_MTD_CHAR=m -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y +# CONFIG_MTD_BLKDEVS is not set +# CONFIG_MTD_BLOCK is not set +# CONFIG_MTD_BLOCK_RO is not set # CONFIG_FTL is not set # CONFIG_NFTL is not set # CONFIG_INFTL is not set @@ -574,7 +519,8 @@ CONFIG_MTDRAM_ERASE_SIZE=256 # Block devices # # CONFIG_BLK_DEV_COW_COMMON is not set -# CONFIG_BLK_DEV_LOOP is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_RAM is not set # CONFIG_CDROM_PKTCDVD is not set @@ -702,6 +648,7 @@ CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_GPIODEV_KEYS is not set +# CONFIG_GPIODEV_KEYS2 is not set # CONFIG_GPIODEV_DIAGONAL is not set CONFIG_KEYBOARD_PXA27x=y CONFIG_KEYBOARD_GPIO=y @@ -719,8 +666,7 @@ CONFIG_INPUT_TOUCHSCREEN=y # CONFIG_TOUCHSCREEN_PENMOUNT is not set # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set # CONFIG_TOUCHSCREEN_TOUCHWIN is not set -# CONFIG_TOUCHSCREEN_ADC is not set -CONFIG_TOUCHSCREEN_ADC_DEBOUNCE=y +CONFIG_TOUCHSCREEN_ADC=y # CONFIG_TOUCHSCREEN_UCB1400 is not set CONFIG_INPUT_MISC=y CONFIG_INPUT_UINPUT=m @@ -827,12 +773,24 @@ CONFIG_ADC_ADS7846_SSP=y # CONFIG_ADC_AD7877 is not set # +# Compaq/iPAQ Drivers +# + +# +# Compaq/HP iPAQ Drivers +# +# CONFIG_IPAQ_SLEEVE is not set +# CONFIG_SLEEVE_DEBUG is not set + +# # Multifunction device drivers # # CONFIG_MFD_SM501 is not set # CONFIG_HTC_ASIC2 is not set # CONFIG_HTC_ASIC3 is not set +# CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_BBKEYS is not set # CONFIG_HTC_ASIC3_DS1WM is not set # CONFIG_SOC_SAMCOP is not set # CONFIG_SOC_HAMCOP is not set @@ -852,6 +810,7 @@ CONFIG_LEDS_CLASS=y # # LED drivers # +# CONFIG_LEDS_GPIO is not set # # LED Triggers @@ -859,6 +818,7 @@ CONFIG_LEDS_CLASS=y CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=y CONFIG_LEDS_TRIGGER_HWTIMER=y +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set CONFIG_LEDS_TRIGGER_SHARED=y @@ -944,8 +904,7 @@ CONFIG_SOUND=y # # HID Devices # -CONFIG_HID=m -# CONFIG_HID_DEBUG is not set +# CONFIG_HID is not set # # USB support @@ -1059,9 +1018,9 @@ CONFIG_DNOTIFY=y # # DOS/FAT/NT Filesystems # -CONFIG_FAT_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y +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 is not set @@ -1151,8 +1110,8 @@ CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set -CONFIG_NLS_CODEPAGE_1250=y -CONFIG_NLS_CODEPAGE_1251=y +# CONFIG_NLS_CODEPAGE_1250 is not set +CONFIG_NLS_CODEPAGE_1251=m # CONFIG_NLS_ASCII is not set CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_ISO8859_2 is not set @@ -1226,16 +1185,15 @@ CONFIG_DEBUG_LL=y # Cryptographic options # CONFIG_CRYPTO=y -CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI=m CONFIG_CRYPTO_BLKCIPHER=m -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_MANAGER=m +# CONFIG_CRYPTO_HMAC is not set # CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_SHA1=y +# CONFIG_CRYPTO_MD5 is not set +CONFIG_CRYPTO_SHA1=m # CONFIG_CRYPTO_SHA256 is not set # CONFIG_CRYPTO_SHA512 is not set # CONFIG_CRYPTO_WP512 is not set @@ -1245,7 +1203,7 @@ CONFIG_CRYPTO_ECB=m # CONFIG_CRYPTO_CBC is not set CONFIG_CRYPTO_PCBC=m # CONFIG_CRYPTO_LRW is not set -CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_DES is not set # CONFIG_CRYPTO_FCRYPT is not set # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_TWOFISH is not set @@ -1257,7 +1215,7 @@ CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_ARC4=m # CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_DEFLATE is not set # CONFIG_CRYPTO_MICHAEL_MIC is not set # CONFIG_CRYPTO_CRC32C is not set # CONFIG_CRYPTO_CAMELLIA is not set @@ -1275,8 +1233,8 @@ CONFIG_CRC_CCITT=y # CONFIG_CRC16 is not set CONFIG_CRC32=y # CONFIG_LIBCRC32C is not set -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=m +CONFIG_ZLIB_DEFLATE=m CONFIG_PLIST=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y diff --git a/packages/linux/linux-handhelds-2.6/eteng500/defconfig b/packages/linux/linux-handhelds-2.6/eteng500/defconfig index 45c2ec3605..2f98f121f1 100644 --- a/packages/linux/linux-handhelds-2.6/eteng500/defconfig +++ b/packages/linux/linux-handhelds-2.6/eteng500/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.21-hh11 -# Wed Jul 11 07:31:36 2007 +# Linux kernel version: 2.6.21-hh16 +# Tue Sep 11 19:40:25 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -395,64 +395,8 @@ CONFIG_NETFILTER=y # # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set -CONFIG_IRDA=y - -# -# IrDA protocols -# -CONFIG_IRLAN=y -# CONFIG_IRNET is not set -CONFIG_IRCOMM=y -CONFIG_IRDA_ULTRA=y - -# -# IrDA options -# -CONFIG_IRDA_CACHE_LAST_LSAP=y -CONFIG_IRDA_FAST_RR=y -CONFIG_IRDA_DEBUG=y - -# -# Infrared-port device drivers -# - -# -# SIR device drivers -# -CONFIG_IRTTY_SIR=y - -# -# Dongle support -# -# CONFIG_DONGLE is not set - -# -# Old SIR device drivers -# -# CONFIG_IRPORT_SIR is not set - -# -# Old Serial dongle support -# - -# -# FIR device drivers -# -CONFIG_BT=y -CONFIG_BT_L2CAP=m -CONFIG_BT_SCO=m -CONFIG_BT_RFCOMM=m -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=m -CONFIG_BT_BNEP_MC_FILTER=y -CONFIG_BT_BNEP_PROTO_FILTER=y -CONFIG_BT_HIDP=m - -# -# Bluetooth device drivers -# -# CONFIG_BT_HCIUART is not set -# CONFIG_BT_HCIVHCI is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set # CONFIG_IEEE80211 is not set # @@ -477,21 +421,19 @@ CONFIG_FW_LOADER=y # # Memory Technology Devices (MTD) # -CONFIG_MTD=y +CONFIG_MTD=m CONFIG_MTD_DEBUG=y CONFIG_MTD_DEBUG_VERBOSE=0 -CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y -# CONFIG_MTD_REDBOOT_PARTS is not set -# CONFIG_MTD_CMDLINE_PARTS is not set -# CONFIG_MTD_AFS_PARTS is not set +# CONFIG_MTD_CONCAT is not set +# CONFIG_MTD_PARTITIONS is not set # # User Modules And Translation Layers # CONFIG_MTD_CHAR=m -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y +# CONFIG_MTD_BLKDEVS is not set +# CONFIG_MTD_BLOCK is not set +# CONFIG_MTD_BLOCK_RO is not set # CONFIG_FTL is not set # CONFIG_NFTL is not set # CONFIG_INFTL is not set @@ -544,16 +486,15 @@ CONFIG_MTDRAM_ERASE_SIZE=256 # # NAND Flash Device Drivers # -CONFIG_MTD_NAND=y +CONFIG_MTD_NAND=m # CONFIG_MTD_NAND_VERIFY_WRITE is not set # CONFIG_MTD_NAND_ECC_SMC is not set -CONFIG_MTD_NAND_IDS=y -CONFIG_MTD_NAND_S3C2410=y +CONFIG_MTD_NAND_IDS=m +CONFIG_MTD_NAND_S3C2410=m # CONFIG_MTD_NAND_S3C2410_DEBUG is not set CONFIG_MTD_NAND_S3C2410_HWECC=y CONFIG_MTD_NAND_S3C2410_CLKSTOP=y # CONFIG_MTD_NAND_DISKONCHIP is not set -# CONFIG_MTD_NAND_NANDSIM is not set # # OneNAND Flash Device Drivers @@ -574,7 +515,8 @@ CONFIG_MTD_NAND_S3C2410_CLKSTOP=y # Block devices # # CONFIG_BLK_DEV_COW_COMMON is not set -# CONFIG_BLK_DEV_LOOP is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_RAM is not set # CONFIG_CDROM_PKTCDVD is not set @@ -702,6 +644,7 @@ CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_GPIODEV_KEYS is not set +# CONFIG_GPIODEV_KEYS2 is not set # CONFIG_GPIODEV_DIAGONAL is not set CONFIG_KEYBOARD_GPIO=y CONFIG_INPUT_MOUSE=y @@ -722,7 +665,6 @@ CONFIG_TOUCHSCREEN_S3C2410=y # CONFIG_TOUCHSCREEN_S3C2410_DEBUG is not set CONFIG_TOUCHSCREEN_S3C2410_ALT=y # CONFIG_TOUCHSCREEN_ADC is not set -# CONFIG_TOUCHSCREEN_ADC_DEBOUNCE is not set # CONFIG_TOUCHSCREEN_UCB1400 is not set CONFIG_INPUT_MISC=y CONFIG_INPUT_UINPUT=m @@ -823,12 +765,24 @@ CONFIG_ADC=y # CONFIG_ADC_AD7877 is not set # +# Compaq/iPAQ Drivers +# + +# +# Compaq/HP iPAQ Drivers +# +# CONFIG_IPAQ_SLEEVE is not set +# CONFIG_SLEEVE_DEBUG is not set + +# # Multifunction device drivers # # CONFIG_MFD_SM501 is not set # CONFIG_HTC_ASIC2 is not set # CONFIG_HTC_ASIC3 is not set +# CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_BBKEYS is not set # CONFIG_HTC_ASIC3_DS1WM is not set # CONFIG_SOC_SAMCOP is not set # CONFIG_SOC_HAMCOP is not set @@ -847,6 +801,7 @@ CONFIG_LEDS_CLASS=y # LED drivers # CONFIG_LEDS_S3C24XX=y +# CONFIG_LEDS_GPIO is not set # # LED Triggers @@ -854,6 +809,7 @@ CONFIG_LEDS_S3C24XX=y CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=y # CONFIG_LEDS_TRIGGER_HWTIMER is not set +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set CONFIG_LEDS_TRIGGER_SHARED=y @@ -939,8 +895,7 @@ CONFIG_SOUND=y # # HID Devices # -CONFIG_HID=m -# CONFIG_HID_DEBUG is not set +# CONFIG_HID is not set # # USB support @@ -1053,9 +1008,9 @@ CONFIG_DNOTIFY=y # # DOS/FAT/NT Filesystems # -CONFIG_FAT_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y +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 is not set @@ -1145,8 +1100,8 @@ CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set -CONFIG_NLS_CODEPAGE_1250=y -CONFIG_NLS_CODEPAGE_1251=y +# CONFIG_NLS_CODEPAGE_1250 is not set +CONFIG_NLS_CODEPAGE_1251=m # CONFIG_NLS_ASCII is not set CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_ISO8859_2 is not set @@ -1222,16 +1177,15 @@ CONFIG_DEBUG_S3C2410_UART=0 # Cryptographic options # CONFIG_CRYPTO=y -CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI=m CONFIG_CRYPTO_BLKCIPHER=m -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_MANAGER=m +# CONFIG_CRYPTO_HMAC is not set # CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_SHA1=y +# CONFIG_CRYPTO_MD5 is not set +CONFIG_CRYPTO_SHA1=m # CONFIG_CRYPTO_SHA256 is not set # CONFIG_CRYPTO_SHA512 is not set # CONFIG_CRYPTO_WP512 is not set @@ -1241,7 +1195,7 @@ CONFIG_CRYPTO_ECB=m # CONFIG_CRYPTO_CBC is not set CONFIG_CRYPTO_PCBC=m # CONFIG_CRYPTO_LRW is not set -CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_DES is not set # CONFIG_CRYPTO_FCRYPT is not set # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_TWOFISH is not set @@ -1253,7 +1207,7 @@ CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_ARC4=m # CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_DEFLATE is not set # CONFIG_CRYPTO_MICHAEL_MIC is not set # CONFIG_CRYPTO_CRC32C is not set # CONFIG_CRYPTO_CAMELLIA is not set @@ -1271,7 +1225,7 @@ CONFIG_CRC_CCITT=y # CONFIG_CRC16 is not set CONFIG_CRC32=y # CONFIG_LIBCRC32C is not set -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=m +CONFIG_ZLIB_DEFLATE=m CONFIG_PLIST=y CONFIG_HAS_IOMEM=y diff --git a/packages/linux/linux-handhelds-2.6/h1910/defconfig b/packages/linux/linux-handhelds-2.6/h1910/defconfig index 4a9bd9806e..f5c86e791a 100644 --- a/packages/linux/linux-handhelds-2.6/h1910/defconfig +++ b/packages/linux/linux-handhelds-2.6/h1910/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.21-hh11 -# Wed Jul 11 07:31:37 2007 +# Linux kernel version: 2.6.21-hh16 +# Tue Sep 11 19:40:25 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -168,6 +168,10 @@ CONFIG_IPAQ_H1900_BUTTONS=y # CONFIG_MACH_MAGICIAN is not set # CONFIG_MACH_HTCAPACHE is not set # CONFIG_MACH_BLUEANGEL is not set + +# +# HTC_HW6X00 +# # CONFIG_MACH_HTCBEETLES is not set # CONFIG_MACH_HW6900 is not set # CONFIG_MACH_HTCATHENA is not set @@ -400,65 +404,8 @@ CONFIG_NETFILTER=y # # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set -CONFIG_IRDA=y - -# -# IrDA protocols -# -CONFIG_IRLAN=y -# CONFIG_IRNET is not set -CONFIG_IRCOMM=y -CONFIG_IRDA_ULTRA=y - -# -# IrDA options -# -CONFIG_IRDA_CACHE_LAST_LSAP=y -CONFIG_IRDA_FAST_RR=y -CONFIG_IRDA_DEBUG=y - -# -# Infrared-port device drivers -# - -# -# SIR device drivers -# -CONFIG_IRTTY_SIR=y - -# -# Dongle support -# -# CONFIG_DONGLE is not set - -# -# Old SIR device drivers -# -# CONFIG_IRPORT_SIR is not set - -# -# Old Serial dongle support -# - -# -# FIR device drivers -# -CONFIG_PXA_FICP=y -CONFIG_BT=y -CONFIG_BT_L2CAP=m -CONFIG_BT_SCO=m -CONFIG_BT_RFCOMM=m -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=m -CONFIG_BT_BNEP_MC_FILTER=y -CONFIG_BT_BNEP_PROTO_FILTER=y -CONFIG_BT_HIDP=m - -# -# Bluetooth device drivers -# -# CONFIG_BT_HCIUART is not set -# CONFIG_BT_HCIVHCI is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set # CONFIG_IEEE80211 is not set # @@ -483,21 +430,19 @@ CONFIG_FW_LOADER=y # # Memory Technology Devices (MTD) # -CONFIG_MTD=y +CONFIG_MTD=m CONFIG_MTD_DEBUG=y CONFIG_MTD_DEBUG_VERBOSE=0 -CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y -# CONFIG_MTD_REDBOOT_PARTS is not set -# CONFIG_MTD_CMDLINE_PARTS is not set -# CONFIG_MTD_AFS_PARTS is not set +# CONFIG_MTD_CONCAT is not set +# CONFIG_MTD_PARTITIONS is not set # # User Modules And Translation Layers # CONFIG_MTD_CHAR=m -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y +# CONFIG_MTD_BLKDEVS is not set +# CONFIG_MTD_BLOCK is not set +# CONFIG_MTD_BLOCK_RO is not set # CONFIG_FTL is not set # CONFIG_NFTL is not set # CONFIG_INFTL is not set @@ -572,7 +517,8 @@ CONFIG_MTDRAM_ERASE_SIZE=256 # Block devices # # CONFIG_BLK_DEV_COW_COMMON is not set -# CONFIG_BLK_DEV_LOOP is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_RAM is not set # CONFIG_CDROM_PKTCDVD is not set @@ -700,6 +646,7 @@ CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_GPIODEV_KEYS is not set +# CONFIG_GPIODEV_KEYS2 is not set # CONFIG_GPIODEV_DIAGONAL is not set # CONFIG_KEYBOARD_ASIC3 is not set # CONFIG_KEYBOARD_GPIO is not set @@ -718,7 +665,6 @@ CONFIG_INPUT_TOUCHSCREEN=y # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set # CONFIG_TOUCHSCREEN_TOUCHWIN is not set # CONFIG_TOUCHSCREEN_ADC is not set -# CONFIG_TOUCHSCREEN_ADC_DEBOUNCE is not set # CONFIG_TOUCHSCREEN_UCB1400 is not set CONFIG_INPUT_MISC=y CONFIG_INPUT_UINPUT=m @@ -855,12 +801,24 @@ CONFIG_ADC=y # CONFIG_ADC_AD7877 is not set # +# Compaq/iPAQ Drivers +# + +# +# Compaq/HP iPAQ Drivers +# +# CONFIG_IPAQ_SLEEVE is not set +# CONFIG_SLEEVE_DEBUG is not set + +# # Multifunction device drivers # # CONFIG_MFD_SM501 is not set # CONFIG_HTC_ASIC2 is not set CONFIG_HTC_ASIC3=y +# CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_BBKEYS is not set # CONFIG_HTC_ASIC3_DS1WM is not set # CONFIG_SOC_SAMCOP is not set # CONFIG_SOC_HAMCOP is not set @@ -881,6 +839,7 @@ CONFIG_LEDS_CLASS=y # LED drivers # # CONFIG_LEDS_ASIC3 is not set +# CONFIG_LEDS_GPIO is not set # # LED Triggers @@ -888,6 +847,7 @@ CONFIG_LEDS_CLASS=y CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=y # CONFIG_LEDS_TRIGGER_HWTIMER is not set +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set CONFIG_LEDS_TRIGGER_SHARED=y @@ -1007,8 +967,7 @@ CONFIG_SND_UDA1380=m # # HID Devices # -CONFIG_HID=m -# CONFIG_HID_DEBUG is not set +# CONFIG_HID is not set # # USB support @@ -1129,9 +1088,9 @@ CONFIG_DNOTIFY=y # # DOS/FAT/NT Filesystems # -CONFIG_FAT_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y +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 is not set @@ -1221,8 +1180,8 @@ CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set -CONFIG_NLS_CODEPAGE_1250=y -CONFIG_NLS_CODEPAGE_1251=y +# CONFIG_NLS_CODEPAGE_1250 is not set +CONFIG_NLS_CODEPAGE_1251=m # CONFIG_NLS_ASCII is not set CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_ISO8859_2 is not set @@ -1296,16 +1255,15 @@ CONFIG_DEBUG_LL=y # Cryptographic options # CONFIG_CRYPTO=y -CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI=m CONFIG_CRYPTO_BLKCIPHER=m -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_MANAGER=m +# CONFIG_CRYPTO_HMAC is not set # CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_SHA1=y +# CONFIG_CRYPTO_MD5 is not set +CONFIG_CRYPTO_SHA1=m # CONFIG_CRYPTO_SHA256 is not set # CONFIG_CRYPTO_SHA512 is not set # CONFIG_CRYPTO_WP512 is not set @@ -1315,7 +1273,7 @@ CONFIG_CRYPTO_ECB=m # CONFIG_CRYPTO_CBC is not set CONFIG_CRYPTO_PCBC=m # CONFIG_CRYPTO_LRW is not set -CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_DES is not set # CONFIG_CRYPTO_FCRYPT is not set # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_TWOFISH is not set @@ -1327,7 +1285,7 @@ CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_ARC4=m # CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_DEFLATE is not set # CONFIG_CRYPTO_MICHAEL_MIC is not set # CONFIG_CRYPTO_CRC32C is not set # CONFIG_CRYPTO_CAMELLIA is not set @@ -1345,8 +1303,8 @@ CONFIG_CRC_CCITT=y # CONFIG_CRC16 is not set CONFIG_CRC32=y # CONFIG_LIBCRC32C is not set -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=m +CONFIG_ZLIB_DEFLATE=m CONFIG_PLIST=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y diff --git a/packages/linux/linux-handhelds-2.6/h3600/defconfig b/packages/linux/linux-handhelds-2.6/h3600/defconfig index 98701e2ab1..136d00d028 100644 --- a/packages/linux/linux-handhelds-2.6/h3600/defconfig +++ b/packages/linux/linux-handhelds-2.6/h3600/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.21-hh11 -# Wed Jul 11 07:31:38 2007 +# Linux kernel version: 2.6.21-hh16 +# Tue Sep 11 19:40:26 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -383,65 +383,8 @@ CONFIG_NETFILTER=y # # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set -CONFIG_IRDA=y - -# -# IrDA protocols -# -CONFIG_IRLAN=y -# CONFIG_IRNET is not set -CONFIG_IRCOMM=y -CONFIG_IRDA_ULTRA=y - -# -# IrDA options -# -CONFIG_IRDA_CACHE_LAST_LSAP=y -CONFIG_IRDA_FAST_RR=y -CONFIG_IRDA_DEBUG=y - -# -# Infrared-port device drivers -# - -# -# SIR device drivers -# -CONFIG_IRTTY_SIR=y - -# -# Dongle support -# -# CONFIG_DONGLE is not set - -# -# Old SIR device drivers -# -# CONFIG_IRPORT_SIR is not set - -# -# Old Serial dongle support -# - -# -# FIR device drivers -# -# CONFIG_SA1100_FIR is not set -CONFIG_BT=y -CONFIG_BT_L2CAP=m -CONFIG_BT_SCO=m -CONFIG_BT_RFCOMM=m -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=m -CONFIG_BT_BNEP_MC_FILTER=y -CONFIG_BT_BNEP_PROTO_FILTER=y -CONFIG_BT_HIDP=m - -# -# Bluetooth device drivers -# -# CONFIG_BT_HCIUART is not set -# CONFIG_BT_HCIVHCI is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set # CONFIG_IEEE80211 is not set # @@ -555,7 +498,8 @@ CONFIG_MTDRAM_ERASE_SIZE=256 # Block devices # # CONFIG_BLK_DEV_COW_COMMON is not set -# CONFIG_BLK_DEV_LOOP is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_RAM is not set # CONFIG_CDROM_PKTCDVD is not set @@ -689,6 +633,7 @@ CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_GPIODEV_KEYS is not set +# CONFIG_GPIODEV_KEYS2 is not set # CONFIG_GPIODEV_DIAGONAL is not set CONFIG_KEYBOARD_MICRO=y CONFIG_KEYBOARD_GPIO=y @@ -711,7 +656,6 @@ CONFIG_INPUT_TOUCHSCREEN=y # CONFIG_TOUCHSCREEN_TOUCHWIN is not set CONFIG_TOUCHSCREEN_IPAQ_MICRO=y # CONFIG_TOUCHSCREEN_ADC is not set -# CONFIG_TOUCHSCREEN_ADC_DEBOUNCE is not set # CONFIG_TOUCHSCREEN_UCB1400 is not set CONFIG_INPUT_MISC=y CONFIG_INPUT_UINPUT=m @@ -817,13 +761,25 @@ CONFIG_ADC=y # CONFIG_ADC_AD7877 is not set # +# Compaq/iPAQ Drivers +# + +# +# Compaq/HP iPAQ Drivers +# +# CONFIG_IPAQ_SLEEVE is not set +# CONFIG_SLEEVE_DEBUG is not set + +# # Multifunction device drivers # # CONFIG_MFD_SM501 is not set CONFIG_IPAQ_MICRO=y # CONFIG_HTC_ASIC2 is not set # CONFIG_HTC_ASIC3 is not set +# CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_BBKEYS is not set # CONFIG_HTC_ASIC3_DS1WM is not set # CONFIG_SOC_SAMCOP is not set # CONFIG_SOC_HAMCOP is not set @@ -846,6 +802,7 @@ CONFIG_LEDS_CLASS=y # # LED drivers # +# CONFIG_LEDS_GPIO is not set # # LED Triggers @@ -853,6 +810,7 @@ CONFIG_LEDS_CLASS=y CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=y CONFIG_LEDS_TRIGGER_HWTIMER=y +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set CONFIG_LEDS_TRIGGER_SHARED=y @@ -937,8 +895,7 @@ CONFIG_SOUND=y # # HID Devices # -CONFIG_HID=m -# CONFIG_HID_DEBUG is not set +# CONFIG_HID is not set # # USB support @@ -1039,9 +996,9 @@ CONFIG_DNOTIFY=y # # DOS/FAT/NT Filesystems # -CONFIG_FAT_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y +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 is not set @@ -1142,8 +1099,8 @@ CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set -CONFIG_NLS_CODEPAGE_1250=y -CONFIG_NLS_CODEPAGE_1251=y +# CONFIG_NLS_CODEPAGE_1250 is not set +CONFIG_NLS_CODEPAGE_1251=m # CONFIG_NLS_ASCII is not set CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_ISO8859_2 is not set @@ -1217,16 +1174,15 @@ CONFIG_DEBUG_LL=y # Cryptographic options # CONFIG_CRYPTO=y -CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI=m CONFIG_CRYPTO_BLKCIPHER=m -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_MANAGER=m +# CONFIG_CRYPTO_HMAC is not set # CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_SHA1=y +# CONFIG_CRYPTO_MD5 is not set +CONFIG_CRYPTO_SHA1=m # CONFIG_CRYPTO_SHA256 is not set # CONFIG_CRYPTO_SHA512 is not set # CONFIG_CRYPTO_WP512 is not set @@ -1236,7 +1192,7 @@ CONFIG_CRYPTO_ECB=m # CONFIG_CRYPTO_CBC is not set CONFIG_CRYPTO_PCBC=m # CONFIG_CRYPTO_LRW is not set -CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_DES is not set # CONFIG_CRYPTO_FCRYPT is not set # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_TWOFISH is not set @@ -1248,7 +1204,7 @@ CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_ARC4=m # CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_DEFLATE is not set # CONFIG_CRYPTO_MICHAEL_MIC is not set # CONFIG_CRYPTO_CRC32C is not set # CONFIG_CRYPTO_CAMELLIA is not set diff --git a/packages/linux/linux-handhelds-2.6/h3800/defconfig b/packages/linux/linux-handhelds-2.6/h3800/defconfig index 6193ee260c..a9c5731529 100644 --- a/packages/linux/linux-handhelds-2.6/h3800/defconfig +++ b/packages/linux/linux-handhelds-2.6/h3800/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.21-hh11 -# Wed Jul 11 07:31:38 2007 +# Linux kernel version: 2.6.21-hh16 +# Tue Sep 11 19:40:26 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -381,65 +381,8 @@ CONFIG_NETFILTER=y # # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set -CONFIG_IRDA=y - -# -# IrDA protocols -# -CONFIG_IRLAN=y -# CONFIG_IRNET is not set -CONFIG_IRCOMM=y -CONFIG_IRDA_ULTRA=y - -# -# IrDA options -# -CONFIG_IRDA_CACHE_LAST_LSAP=y -CONFIG_IRDA_FAST_RR=y -CONFIG_IRDA_DEBUG=y - -# -# Infrared-port device drivers -# - -# -# SIR device drivers -# -CONFIG_IRTTY_SIR=y - -# -# Dongle support -# -# CONFIG_DONGLE is not set - -# -# Old SIR device drivers -# -# CONFIG_IRPORT_SIR is not set - -# -# Old Serial dongle support -# - -# -# FIR device drivers -# -# CONFIG_SA1100_FIR is not set -CONFIG_BT=y -CONFIG_BT_L2CAP=m -CONFIG_BT_SCO=m -CONFIG_BT_RFCOMM=m -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=m -CONFIG_BT_BNEP_MC_FILTER=y -CONFIG_BT_BNEP_PROTO_FILTER=y -CONFIG_BT_HIDP=m - -# -# Bluetooth device drivers -# -# CONFIG_BT_HCIUART is not set -# CONFIG_BT_HCIVHCI is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set # CONFIG_IEEE80211 is not set # @@ -553,7 +496,8 @@ CONFIG_MTDRAM_ERASE_SIZE=256 # Block devices # # CONFIG_BLK_DEV_COW_COMMON is not set -# CONFIG_BLK_DEV_LOOP is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_RAM is not set # CONFIG_CDROM_PKTCDVD is not set @@ -687,6 +631,7 @@ CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_GPIODEV_KEYS is not set +# CONFIG_GPIODEV_KEYS2 is not set # CONFIG_GPIODEV_DIAGONAL is not set CONFIG_KEYBOARD_ASIC2=y CONFIG_KEYBOARD_GPIO=y @@ -709,7 +654,6 @@ CONFIG_INPUT_TOUCHSCREEN=y # CONFIG_TOUCHSCREEN_TOUCHWIN is not set CONFIG_TOUCHSCREEN_ASIC2=y # CONFIG_TOUCHSCREEN_ADC is not set -# CONFIG_TOUCHSCREEN_ADC_DEBOUNCE is not set # CONFIG_TOUCHSCREEN_UCB1400 is not set CONFIG_INPUT_MISC=y CONFIG_INPUT_UINPUT=m @@ -815,12 +759,24 @@ CONFIG_ADC=y CONFIG_ADC_ASIC2=y # +# Compaq/iPAQ Drivers +# + +# +# Compaq/HP iPAQ Drivers +# +# CONFIG_IPAQ_SLEEVE is not set +# CONFIG_SLEEVE_DEBUG is not set + +# # Multifunction device drivers # # CONFIG_MFD_SM501 is not set CONFIG_HTC_ASIC2=y # CONFIG_HTC_ASIC3 is not set +# CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_BBKEYS is not set # CONFIG_HTC_ASIC3_DS1WM is not set # CONFIG_SOC_SAMCOP is not set # CONFIG_SOC_HAMCOP is not set @@ -843,6 +799,7 @@ CONFIG_LEDS_CLASS=y # # LED drivers # +# CONFIG_LEDS_GPIO is not set # # LED Triggers @@ -850,6 +807,7 @@ CONFIG_LEDS_CLASS=y CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=y CONFIG_LEDS_TRIGGER_HWTIMER=y +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set CONFIG_LEDS_TRIGGER_SHARED=y @@ -934,8 +892,7 @@ CONFIG_SOUND=y # # HID Devices # -CONFIG_HID=m -# CONFIG_HID_DEBUG is not set +# CONFIG_HID is not set # # USB support @@ -1036,9 +993,9 @@ CONFIG_DNOTIFY=y # # DOS/FAT/NT Filesystems # -CONFIG_FAT_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y +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 is not set @@ -1139,8 +1096,8 @@ CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set -CONFIG_NLS_CODEPAGE_1250=y -CONFIG_NLS_CODEPAGE_1251=y +# CONFIG_NLS_CODEPAGE_1250 is not set +CONFIG_NLS_CODEPAGE_1251=m # CONFIG_NLS_ASCII is not set CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_ISO8859_2 is not set @@ -1214,16 +1171,15 @@ CONFIG_DEBUG_LL=y # Cryptographic options # CONFIG_CRYPTO=y -CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI=m CONFIG_CRYPTO_BLKCIPHER=m -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_MANAGER=m +# CONFIG_CRYPTO_HMAC is not set # CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_SHA1=y +# CONFIG_CRYPTO_MD5 is not set +CONFIG_CRYPTO_SHA1=m # CONFIG_CRYPTO_SHA256 is not set # CONFIG_CRYPTO_SHA512 is not set # CONFIG_CRYPTO_WP512 is not set @@ -1233,7 +1189,7 @@ CONFIG_CRYPTO_ECB=m # CONFIG_CRYPTO_CBC is not set CONFIG_CRYPTO_PCBC=m # CONFIG_CRYPTO_LRW is not set -CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_DES is not set # CONFIG_CRYPTO_FCRYPT is not set # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_TWOFISH is not set @@ -1245,7 +1201,7 @@ CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_ARC4=m # CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_DEFLATE is not set # CONFIG_CRYPTO_MICHAEL_MIC is not set # CONFIG_CRYPTO_CRC32C is not set # CONFIG_CRYPTO_CAMELLIA is not set diff --git a/packages/linux/linux-handhelds-2.6/h3900/defconfig b/packages/linux/linux-handhelds-2.6/h3900/defconfig index 93a03a3b1d..86ce0ff51e 100644 --- a/packages/linux/linux-handhelds-2.6/h3900/defconfig +++ b/packages/linux/linux-handhelds-2.6/h3900/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.21-hh11 -# Wed Jul 11 07:31:39 2007 +# Linux kernel version: 2.6.21-hh16 +# Tue Sep 11 19:40:27 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -169,6 +169,10 @@ CONFIG_IPAQ_H3900_BATTERY=y # CONFIG_MACH_MAGICIAN is not set # CONFIG_MACH_HTCAPACHE is not set # CONFIG_MACH_BLUEANGEL is not set + +# +# HTC_HW6X00 +# # CONFIG_MACH_HTCBEETLES is not set # CONFIG_MACH_HW6900 is not set # CONFIG_MACH_HTCATHENA is not set @@ -401,50 +405,7 @@ CONFIG_NETFILTER=y # # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set -CONFIG_IRDA=y - -# -# IrDA protocols -# -CONFIG_IRLAN=y -# CONFIG_IRNET is not set -CONFIG_IRCOMM=y -CONFIG_IRDA_ULTRA=y - -# -# IrDA options -# -CONFIG_IRDA_CACHE_LAST_LSAP=y -CONFIG_IRDA_FAST_RR=y -CONFIG_IRDA_DEBUG=y - -# -# Infrared-port device drivers -# - -# -# SIR device drivers -# -CONFIG_IRTTY_SIR=y - -# -# Dongle support -# -# CONFIG_DONGLE is not set - -# -# Old SIR device drivers -# -# CONFIG_IRPORT_SIR is not set - -# -# Old Serial dongle support -# - -# -# FIR device drivers -# -CONFIG_PXA_FICP=y +# CONFIG_IRDA is not set CONFIG_BT=m CONFIG_BT_L2CAP=m CONFIG_BT_SCO=m @@ -573,7 +534,8 @@ CONFIG_MTDRAM_ERASE_SIZE=256 # Block devices # # CONFIG_BLK_DEV_COW_COMMON is not set -# CONFIG_BLK_DEV_LOOP is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_RAM is not set # CONFIG_CDROM_PKTCDVD is not set @@ -701,6 +663,7 @@ CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_GPIODEV_KEYS is not set +# CONFIG_GPIODEV_KEYS2 is not set # CONFIG_GPIODEV_DIAGONAL is not set CONFIG_KEYBOARD_ASIC2=y # CONFIG_KEYBOARD_ASIC3 is not set @@ -721,7 +684,6 @@ CONFIG_INPUT_TOUCHSCREEN=y # CONFIG_TOUCHSCREEN_TOUCHWIN is not set CONFIG_TOUCHSCREEN_ASIC2=y # CONFIG_TOUCHSCREEN_ADC is not set -# CONFIG_TOUCHSCREEN_ADC_DEBOUNCE is not set # CONFIG_TOUCHSCREEN_UCB1400 is not set CONFIG_INPUT_MISC=y CONFIG_INPUT_UINPUT=m @@ -864,12 +826,24 @@ CONFIG_ADC=y CONFIG_ADC_ASIC2=y # +# Compaq/iPAQ Drivers +# + +# +# Compaq/HP iPAQ Drivers +# +# CONFIG_IPAQ_SLEEVE is not set +# CONFIG_SLEEVE_DEBUG is not set + +# # Multifunction device drivers # # CONFIG_MFD_SM501 is not set CONFIG_HTC_ASIC2=y CONFIG_HTC_ASIC3=y +# CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_BBKEYS is not set # CONFIG_HTC_ASIC3_DS1WM is not set # CONFIG_SOC_SAMCOP is not set # CONFIG_SOC_HAMCOP is not set @@ -890,6 +864,7 @@ CONFIG_LEDS_CLASS=y # LED drivers # # CONFIG_LEDS_ASIC3 is not set +# CONFIG_LEDS_GPIO is not set # # LED Triggers @@ -897,6 +872,7 @@ CONFIG_LEDS_CLASS=y CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=y CONFIG_LEDS_TRIGGER_HWTIMER=y +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set CONFIG_LEDS_TRIGGER_SHARED=y @@ -1135,9 +1111,9 @@ CONFIG_DNOTIFY=y # # DOS/FAT/NT Filesystems # -CONFIG_FAT_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y +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 is not set @@ -1238,8 +1214,8 @@ CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set -CONFIG_NLS_CODEPAGE_1250=y -CONFIG_NLS_CODEPAGE_1251=y +# CONFIG_NLS_CODEPAGE_1250 is not set +CONFIG_NLS_CODEPAGE_1251=m # CONFIG_NLS_ASCII is not set CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_ISO8859_2 is not set @@ -1313,16 +1289,15 @@ CONFIG_DEBUG_LL=y # Cryptographic options # CONFIG_CRYPTO=y -CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI=m CONFIG_CRYPTO_BLKCIPHER=m -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_MANAGER=m +# CONFIG_CRYPTO_HMAC is not set # CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_SHA1=y +# CONFIG_CRYPTO_MD5 is not set +CONFIG_CRYPTO_SHA1=m # CONFIG_CRYPTO_SHA256 is not set # CONFIG_CRYPTO_SHA512 is not set # CONFIG_CRYPTO_WP512 is not set @@ -1332,7 +1307,7 @@ CONFIG_CRYPTO_ECB=m # CONFIG_CRYPTO_CBC is not set CONFIG_CRYPTO_PCBC=m # CONFIG_CRYPTO_LRW is not set -CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_DES is not set # CONFIG_CRYPTO_FCRYPT is not set # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_TWOFISH is not set @@ -1344,7 +1319,7 @@ CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_ARC4=m # CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_DEFLATE is not set # CONFIG_CRYPTO_MICHAEL_MIC is not set # CONFIG_CRYPTO_CRC32C is not set # CONFIG_CRYPTO_CAMELLIA is not set diff --git a/packages/linux/linux-handhelds-2.6/h4000/defconfig b/packages/linux/linux-handhelds-2.6/h4000/defconfig index be5a4e8fa7..733205b82f 100644 --- a/packages/linux/linux-handhelds-2.6/h4000/defconfig +++ b/packages/linux/linux-handhelds-2.6/h4000/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.21-hh11 -# Wed Jul 11 07:31:39 2007 +# Linux kernel version: 2.6.21-hh16 +# Tue Sep 11 19:40:27 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -158,11 +158,11 @@ CONFIG_BOARD_IRQ_MAP_BIG=y # CONFIG_MACH_H3900 is not set CONFIG_MACH_H4000=y CONFIG_MACH_H4300=y -CONFIG_IPAQ_H4000_IRDA=y +CONFIG_IPAQ_H4000_IRDA=m CONFIG_IPAQ_H4000_LCD=y CONFIG_IPAQ_H4000_BACKLIGHT=y CONFIG_IPAQ_H4000_PCMCIA=y -CONFIG_IPAQ_H4000_BUTTONS=y +# CONFIG_IPAQ_H4000_BUTTONS is not set CONFIG_IPAQ_H4000_LEDS=y CONFIG_IPAQ_H4000_BT=m CONFIG_IPAQ_H4300_KBD=y @@ -175,6 +175,10 @@ CONFIG_IPAQ_H4300_KBD=y # CONFIG_MACH_MAGICIAN is not set # CONFIG_MACH_HTCAPACHE is not set # CONFIG_MACH_BLUEANGEL is not set + +# +# HTC_HW6X00 +# # CONFIG_MACH_HTCBEETLES is not set # CONFIG_MACH_HW6900 is not set # CONFIG_MACH_HTCATHENA is not set @@ -417,14 +421,14 @@ CONFIG_NETFILTER=y # # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set -CONFIG_IRDA=y +CONFIG_IRDA=m # # IrDA protocols # -CONFIG_IRLAN=y +CONFIG_IRLAN=m # CONFIG_IRNET is not set -CONFIG_IRCOMM=y +CONFIG_IRCOMM=m CONFIG_IRDA_ULTRA=y # @@ -441,7 +445,7 @@ CONFIG_IRDA_DEBUG=y # # SIR device drivers # -CONFIG_IRTTY_SIR=y +CONFIG_IRTTY_SIR=m # # Dongle support @@ -460,7 +464,7 @@ CONFIG_IRTTY_SIR=y # # FIR device drivers # -CONFIG_PXA_FICP=y +CONFIG_PXA_FICP=m CONFIG_BT=m CONFIG_BT_L2CAP=m CONFIG_BT_SCO=m @@ -606,7 +610,8 @@ CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 # Block devices # # CONFIG_BLK_DEV_COW_COMMON is not set -# CONFIG_BLK_DEV_LOOP is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_RAM is not set # CONFIG_CDROM_PKTCDVD is not set @@ -769,8 +774,9 @@ CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_GPIODEV_KEYS is not set +# CONFIG_GPIODEV_KEYS2 is not set # CONFIG_GPIODEV_DIAGONAL is not set -CONFIG_KEYBOARD_ASIC3=y +# CONFIG_KEYBOARD_ASIC3 is not set CONFIG_KEYBOARD_GPIO=y CONFIG_INPUT_MOUSE=y # CONFIG_MOUSE_PS2 is not set @@ -786,8 +792,7 @@ CONFIG_INPUT_TOUCHSCREEN=y # CONFIG_TOUCHSCREEN_PENMOUNT is not set # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set # CONFIG_TOUCHSCREEN_TOUCHWIN is not set -# CONFIG_TOUCHSCREEN_ADC is not set -CONFIG_TOUCHSCREEN_ADC_DEBOUNCE=y +CONFIG_TOUCHSCREEN_ADC=y # CONFIG_TOUCHSCREEN_UCB1400 is not set CONFIG_INPUT_MISC=y CONFIG_INPUT_UINPUT=m @@ -936,12 +941,24 @@ CONFIG_ADC_ADS7846_SSP=y # CONFIG_ADC_AD7877 is not set # +# Compaq/iPAQ Drivers +# + +# +# Compaq/HP iPAQ Drivers +# +# CONFIG_IPAQ_SLEEVE is not set +# CONFIG_SLEEVE_DEBUG is not set + +# # Multifunction device drivers # # CONFIG_MFD_SM501 is not set # CONFIG_HTC_ASIC2 is not set CONFIG_HTC_ASIC3=y +# CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_BBKEYS is not set # CONFIG_HTC_ASIC3_DS1WM is not set # CONFIG_SOC_SAMCOP is not set # CONFIG_SOC_HAMCOP is not set @@ -962,6 +979,7 @@ CONFIG_LEDS_CLASS=y # LED drivers # CONFIG_LEDS_ASIC3=y +# CONFIG_LEDS_GPIO is not set # # LED Triggers @@ -969,6 +987,7 @@ CONFIG_LEDS_ASIC3=y CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=y CONFIG_LEDS_TRIGGER_HWTIMER=y +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set CONFIG_LEDS_TRIGGER_SHARED=y @@ -1216,9 +1235,9 @@ CONFIG_DNOTIFY=y # # DOS/FAT/NT Filesystems # -CONFIG_FAT_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y +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 is not set @@ -1245,7 +1264,18 @@ CONFIG_RAMFS=y # CONFIG_BEFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_EFS_FS is not set -# CONFIG_JFFS2_FS is not set +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +CONFIG_JFFS2_COMPRESSION_OPTIONS=y +CONFIG_JFFS2_ZLIB=y +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +# CONFIG_JFFS2_CMODE_NONE is not set +CONFIG_JFFS2_CMODE_PRIORITY=y +# CONFIG_JFFS2_CMODE_SIZE is not set # CONFIG_CRAMFS is not set # CONFIG_VXFS_FS is not set # CONFIG_HPFS_FS is not set @@ -1308,8 +1338,8 @@ CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set -CONFIG_NLS_CODEPAGE_1250=y -CONFIG_NLS_CODEPAGE_1251=y +# CONFIG_NLS_CODEPAGE_1250 is not set +CONFIG_NLS_CODEPAGE_1251=m # CONFIG_NLS_ASCII is not set CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_ISO8859_2 is not set @@ -1383,16 +1413,15 @@ CONFIG_DEBUG_LL=y # Cryptographic options # CONFIG_CRYPTO=y -CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI=m CONFIG_CRYPTO_BLKCIPHER=m -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_MANAGER=m +# CONFIG_CRYPTO_HMAC is not set # CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_SHA1=y +# CONFIG_CRYPTO_MD5 is not set +CONFIG_CRYPTO_SHA1=m # CONFIG_CRYPTO_SHA256 is not set # CONFIG_CRYPTO_SHA512 is not set # CONFIG_CRYPTO_WP512 is not set @@ -1402,7 +1431,7 @@ CONFIG_CRYPTO_ECB=m # CONFIG_CRYPTO_CBC is not set CONFIG_CRYPTO_PCBC=m # CONFIG_CRYPTO_LRW is not set -CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_DES is not set # CONFIG_CRYPTO_FCRYPT is not set # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_TWOFISH is not set @@ -1414,7 +1443,7 @@ CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_ARC4=m # CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_DEFLATE is not set # CONFIG_CRYPTO_MICHAEL_MIC is not set # CONFIG_CRYPTO_CRC32C is not set # CONFIG_CRYPTO_CAMELLIA is not set diff --git a/packages/linux/linux-handhelds-2.6/h5000/defconfig b/packages/linux/linux-handhelds-2.6/h5000/defconfig index 5648da3d69..72c4521ff6 100644 --- a/packages/linux/linux-handhelds-2.6/h5000/defconfig +++ b/packages/linux/linux-handhelds-2.6/h5000/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.21-hh11 -# Wed Jul 11 07:31:40 2007 +# Linux kernel version: 2.6.21-hh16 +# Tue Sep 11 19:40:28 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -164,14 +164,16 @@ CONFIG_ARCH_H5400=y CONFIG_IPAQ_H5400_BT=m CONFIG_IPAQ_H5400_LCD=y CONFIG_IPAQ_H5400_BL=y -CONFIG_IPAQ_H5400_POWER=y -CONFIG_IPAQ_H5400_LEDS=y # CONFIG_MACH_HIMALAYA is not set # CONFIG_MACH_HTCUNIVERSAL is not set # CONFIG_MACH_HTCALPINE is not set # CONFIG_MACH_MAGICIAN is not set # CONFIG_MACH_HTCAPACHE is not set # CONFIG_MACH_BLUEANGEL is not set + +# +# HTC_HW6X00 +# # CONFIG_MACH_HTCBEETLES is not set # CONFIG_MACH_HW6900 is not set # CONFIG_MACH_HTCATHENA is not set @@ -403,14 +405,14 @@ CONFIG_NETFILTER=y # # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set -CONFIG_IRDA=y +CONFIG_IRDA=m # # IrDA protocols # -CONFIG_IRLAN=y +CONFIG_IRLAN=m # CONFIG_IRNET is not set -CONFIG_IRCOMM=y +CONFIG_IRCOMM=m CONFIG_IRDA_ULTRA=y # @@ -427,7 +429,7 @@ CONFIG_IRDA_DEBUG=y # # SIR device drivers # -CONFIG_IRTTY_SIR=y +CONFIG_IRTTY_SIR=m # # Dongle support @@ -446,7 +448,7 @@ CONFIG_IRTTY_SIR=y # # FIR device drivers # -CONFIG_PXA_FICP=y +CONFIG_PXA_FICP=m CONFIG_BT=m CONFIG_BT_L2CAP=m CONFIG_BT_SCO=m @@ -593,7 +595,8 @@ CONFIG_MTDRAM_ERASE_SIZE=256 # Block devices # # CONFIG_BLK_DEV_COW_COMMON is not set -# CONFIG_BLK_DEV_LOOP is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_RAM is not set # CONFIG_CDROM_PKTCDVD is not set @@ -721,6 +724,7 @@ CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_STOWAWAY is not set CONFIG_GPIODEV_KEYS=y +# CONFIG_GPIODEV_KEYS2 is not set CONFIG_GPIODEV_DIAGONAL=y # CONFIG_KEYBOARD_GPIO is not set CONFIG_INPUT_MOUSE=y @@ -737,8 +741,7 @@ CONFIG_INPUT_TOUCHSCREEN=y # CONFIG_TOUCHSCREEN_PENMOUNT is not set # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set # CONFIG_TOUCHSCREEN_TOUCHWIN is not set -# CONFIG_TOUCHSCREEN_ADC is not set -CONFIG_TOUCHSCREEN_ADC_DEBOUNCE=y +CONFIG_TOUCHSCREEN_ADC=y # CONFIG_TOUCHSCREEN_UCB1400 is not set CONFIG_INPUT_MISC=y CONFIG_INPUT_UINPUT=m @@ -860,12 +863,25 @@ CONFIG_ADC=y CONFIG_ADC_SAMCOP=y # +# Compaq/iPAQ Drivers +# + +# +# Compaq/HP iPAQ Drivers +# +# CONFIG_IPAQ_SLEEVE is not set +# CONFIG_SLEEVE_DEBUG is not set +# CONFIG_IPAQ_SAMCOP_FSI is not set + +# # Multifunction device drivers # # CONFIG_MFD_SM501 is not set # CONFIG_HTC_ASIC2 is not set # CONFIG_HTC_ASIC3 is not set +# CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_BBKEYS is not set # CONFIG_HTC_ASIC3_DS1WM is not set CONFIG_SOC_SAMCOP=y # CONFIG_SOC_HAMCOP is not set @@ -888,6 +904,7 @@ CONFIG_LEDS_CLASS=y # LED drivers # CONFIG_LEDS_SAMCOP=y +# CONFIG_LEDS_GPIO is not set # # LED Triggers @@ -895,6 +912,7 @@ CONFIG_LEDS_SAMCOP=y CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=y CONFIG_LEDS_TRIGGER_HWTIMER=y +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set CONFIG_LEDS_TRIGGER_SHARED=y @@ -1095,9 +1113,9 @@ CONFIG_DNOTIFY=y # # DOS/FAT/NT Filesystems # -CONFIG_FAT_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y +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 is not set @@ -1198,8 +1216,8 @@ CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set -CONFIG_NLS_CODEPAGE_1250=y -CONFIG_NLS_CODEPAGE_1251=y +# CONFIG_NLS_CODEPAGE_1250 is not set +CONFIG_NLS_CODEPAGE_1251=m # CONFIG_NLS_ASCII is not set CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_ISO8859_2 is not set @@ -1273,16 +1291,15 @@ CONFIG_DEBUG_LL=y # Cryptographic options # CONFIG_CRYPTO=y -CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI=m CONFIG_CRYPTO_BLKCIPHER=m -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_MANAGER=m +# CONFIG_CRYPTO_HMAC is not set # CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_SHA1=y +# CONFIG_CRYPTO_MD5 is not set +CONFIG_CRYPTO_SHA1=m # CONFIG_CRYPTO_SHA256 is not set # CONFIG_CRYPTO_SHA512 is not set # CONFIG_CRYPTO_WP512 is not set @@ -1292,7 +1309,7 @@ CONFIG_CRYPTO_ECB=m # CONFIG_CRYPTO_CBC is not set CONFIG_CRYPTO_PCBC=m # CONFIG_CRYPTO_LRW is not set -CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_DES is not set # CONFIG_CRYPTO_FCRYPT is not set # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_TWOFISH is not set @@ -1304,7 +1321,7 @@ CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_ARC4=m # CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_DEFLATE is not set # CONFIG_CRYPTO_MICHAEL_MIC is not set # CONFIG_CRYPTO_CRC32C is not set # CONFIG_CRYPTO_CAMELLIA is not set diff --git a/packages/linux/linux-handhelds-2.6/htcalpine/defconfig b/packages/linux/linux-handhelds-2.6/htcalpine/defconfig index 5baca8a55f..28589c7315 100644 --- a/packages/linux/linux-handhelds-2.6/htcalpine/defconfig +++ b/packages/linux/linux-handhelds-2.6/htcalpine/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.21-hh11 -# Wed Jul 11 07:31:41 2007 +# Linux kernel version: 2.6.21-hh16 +# Tue Sep 11 19:40:29 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -168,6 +168,10 @@ CONFIG_HTCALPINE_PHONE=m # CONFIG_MACH_MAGICIAN is not set # CONFIG_MACH_HTCAPACHE is not set # CONFIG_MACH_BLUEANGEL is not set + +# +# HTC_HW6X00 +# # CONFIG_MACH_HTCBEETLES is not set # CONFIG_MACH_HW6900 is not set # CONFIG_MACH_HTCATHENA is not set @@ -400,50 +404,7 @@ CONFIG_NETFILTER=y # # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set -CONFIG_IRDA=y - -# -# IrDA protocols -# -CONFIG_IRLAN=y -# CONFIG_IRNET is not set -CONFIG_IRCOMM=y -CONFIG_IRDA_ULTRA=y - -# -# IrDA options -# -CONFIG_IRDA_CACHE_LAST_LSAP=y -CONFIG_IRDA_FAST_RR=y -CONFIG_IRDA_DEBUG=y - -# -# Infrared-port device drivers -# - -# -# SIR device drivers -# -CONFIG_IRTTY_SIR=y - -# -# Dongle support -# -# CONFIG_DONGLE is not set - -# -# Old SIR device drivers -# -# CONFIG_IRPORT_SIR is not set - -# -# Old Serial dongle support -# - -# -# FIR device drivers -# -CONFIG_PXA_FICP=y +# CONFIG_IRDA is not set CONFIG_BT=m CONFIG_BT_L2CAP=m CONFIG_BT_SCO=m @@ -485,21 +446,19 @@ CONFIG_FW_LOADER=y # # Memory Technology Devices (MTD) # -CONFIG_MTD=y +CONFIG_MTD=m CONFIG_MTD_DEBUG=y CONFIG_MTD_DEBUG_VERBOSE=0 -CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y -# CONFIG_MTD_REDBOOT_PARTS is not set -# CONFIG_MTD_CMDLINE_PARTS is not set -# CONFIG_MTD_AFS_PARTS is not set +# CONFIG_MTD_CONCAT is not set +# CONFIG_MTD_PARTITIONS is not set # # User Modules And Translation Layers # CONFIG_MTD_CHAR=m -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y +# CONFIG_MTD_BLKDEVS is not set +# CONFIG_MTD_BLOCK is not set +# CONFIG_MTD_BLOCK_RO is not set # CONFIG_FTL is not set # CONFIG_NFTL is not set # CONFIG_INFTL is not set @@ -574,7 +533,8 @@ CONFIG_MTDRAM_ERASE_SIZE=256 # Block devices # # CONFIG_BLK_DEV_COW_COMMON is not set -# CONFIG_BLK_DEV_LOOP is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_RAM is not set # CONFIG_CDROM_PKTCDVD is not set @@ -702,6 +662,7 @@ CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_GPIODEV_KEYS is not set +# CONFIG_GPIODEV_KEYS2 is not set # CONFIG_GPIODEV_DIAGONAL is not set # CONFIG_KEYBOARD_PXA27x is not set CONFIG_KEYBOARD_GPIO=y @@ -719,8 +680,7 @@ CONFIG_INPUT_TOUCHSCREEN=y # CONFIG_TOUCHSCREEN_PENMOUNT is not set # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set # CONFIG_TOUCHSCREEN_TOUCHWIN is not set -# CONFIG_TOUCHSCREEN_ADC is not set -CONFIG_TOUCHSCREEN_ADC_DEBOUNCE=y +CONFIG_TOUCHSCREEN_ADC=y # CONFIG_TOUCHSCREEN_UCB1400 is not set CONFIG_INPUT_MISC=y CONFIG_INPUT_UINPUT=m @@ -822,12 +782,24 @@ CONFIG_ADC_ADS7846_SSP=y # CONFIG_ADC_AD7877 is not set # +# Compaq/iPAQ Drivers +# + +# +# Compaq/HP iPAQ Drivers +# +# CONFIG_IPAQ_SLEEVE is not set +# CONFIG_SLEEVE_DEBUG is not set + +# # Multifunction device drivers # # CONFIG_MFD_SM501 is not set # CONFIG_HTC_ASIC2 is not set # CONFIG_HTC_ASIC3 is not set +# CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_BBKEYS is not set # CONFIG_HTC_ASIC3_DS1WM is not set # CONFIG_SOC_SAMCOP is not set # CONFIG_SOC_HAMCOP is not set @@ -847,6 +819,7 @@ CONFIG_LEDS_CLASS=y # # LED drivers # +# CONFIG_LEDS_GPIO is not set # # LED Triggers @@ -854,6 +827,7 @@ CONFIG_LEDS_CLASS=y CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=y # CONFIG_LEDS_TRIGGER_HWTIMER is not set +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set CONFIG_LEDS_TRIGGER_SHARED=y @@ -1054,9 +1028,9 @@ CONFIG_DNOTIFY=y # # DOS/FAT/NT Filesystems # -CONFIG_FAT_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y +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 is not set @@ -1146,8 +1120,8 @@ CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set -CONFIG_NLS_CODEPAGE_1250=y -CONFIG_NLS_CODEPAGE_1251=y +# CONFIG_NLS_CODEPAGE_1250 is not set +CONFIG_NLS_CODEPAGE_1251=m # CONFIG_NLS_ASCII is not set CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_ISO8859_2 is not set @@ -1221,16 +1195,15 @@ CONFIG_DEBUG_LL=y # Cryptographic options # CONFIG_CRYPTO=y -CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI=m CONFIG_CRYPTO_BLKCIPHER=m -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_MANAGER=m +# CONFIG_CRYPTO_HMAC is not set # CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_SHA1=y +# CONFIG_CRYPTO_MD5 is not set +CONFIG_CRYPTO_SHA1=m # CONFIG_CRYPTO_SHA256 is not set # CONFIG_CRYPTO_SHA512 is not set # CONFIG_CRYPTO_WP512 is not set @@ -1240,7 +1213,7 @@ CONFIG_CRYPTO_ECB=m # CONFIG_CRYPTO_CBC is not set CONFIG_CRYPTO_PCBC=m # CONFIG_CRYPTO_LRW is not set -CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_DES is not set # CONFIG_CRYPTO_FCRYPT is not set # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_TWOFISH is not set @@ -1252,7 +1225,7 @@ CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_ARC4=m # CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_DEFLATE is not set # CONFIG_CRYPTO_MICHAEL_MIC is not set # CONFIG_CRYPTO_CRC32C is not set # CONFIG_CRYPTO_CAMELLIA is not set @@ -1270,8 +1243,8 @@ CONFIG_CRC_CCITT=y # CONFIG_CRC16 is not set CONFIG_CRC32=y # CONFIG_LIBCRC32C is not set -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=m +CONFIG_ZLIB_DEFLATE=m CONFIG_PLIST=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y diff --git a/packages/linux/linux-handhelds-2.6/htcapache/defconfig b/packages/linux/linux-handhelds-2.6/htcapache/defconfig index 962fc2628c..da4ac6ba8d 100644 --- a/packages/linux/linux-handhelds-2.6/htcapache/defconfig +++ b/packages/linux/linux-handhelds-2.6/htcapache/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.21-hh11 -# Wed Jul 11 07:31:41 2007 +# Linux kernel version: 2.6.21-hh16 +# Tue Sep 11 19:40:30 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -166,6 +166,10 @@ CONFIG_BOARD_IRQ_MAP_SMALL=y # CONFIG_MACH_MAGICIAN is not set CONFIG_MACH_HTCAPACHE=y # CONFIG_MACH_BLUEANGEL is not set + +# +# HTC_HW6X00 +# # CONFIG_MACH_HTCBEETLES is not set # CONFIG_MACH_HW6900 is not set # CONFIG_MACH_HTCATHENA is not set @@ -400,50 +404,7 @@ CONFIG_NETFILTER=y # # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set -CONFIG_IRDA=y - -# -# IrDA protocols -# -CONFIG_IRLAN=y -# CONFIG_IRNET is not set -CONFIG_IRCOMM=y -CONFIG_IRDA_ULTRA=y - -# -# IrDA options -# -CONFIG_IRDA_CACHE_LAST_LSAP=y -CONFIG_IRDA_FAST_RR=y -CONFIG_IRDA_DEBUG=y - -# -# Infrared-port device drivers -# - -# -# SIR device drivers -# -CONFIG_IRTTY_SIR=y - -# -# Dongle support -# -# CONFIG_DONGLE is not set - -# -# Old SIR device drivers -# -# CONFIG_IRPORT_SIR is not set - -# -# Old Serial dongle support -# - -# -# FIR device drivers -# -CONFIG_PXA_FICP=y +# CONFIG_IRDA is not set CONFIG_BT=m CONFIG_BT_L2CAP=m CONFIG_BT_SCO=m @@ -486,21 +447,19 @@ CONFIG_FW_LOADER=y # # Memory Technology Devices (MTD) # -CONFIG_MTD=y +CONFIG_MTD=m CONFIG_MTD_DEBUG=y CONFIG_MTD_DEBUG_VERBOSE=0 -CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y -# CONFIG_MTD_REDBOOT_PARTS is not set -# CONFIG_MTD_CMDLINE_PARTS is not set -# CONFIG_MTD_AFS_PARTS is not set +# CONFIG_MTD_CONCAT is not set +# CONFIG_MTD_PARTITIONS is not set # # User Modules And Translation Layers # CONFIG_MTD_CHAR=m -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y +# CONFIG_MTD_BLKDEVS is not set +# CONFIG_MTD_BLOCK is not set +# CONFIG_MTD_BLOCK_RO is not set # CONFIG_FTL is not set # CONFIG_NFTL is not set # CONFIG_INFTL is not set @@ -575,7 +534,8 @@ CONFIG_MTDRAM_ERASE_SIZE=256 # Block devices # # CONFIG_BLK_DEV_COW_COMMON is not set -# CONFIG_BLK_DEV_LOOP is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_RAM is not set # CONFIG_CDROM_PKTCDVD is not set @@ -713,6 +673,7 @@ CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_STOWAWAY is not set CONFIG_GPIODEV_KEYS=y +# CONFIG_GPIODEV_KEYS2 is not set # CONFIG_GPIODEV_DIAGONAL is not set CONFIG_KEYBOARD_PXA27x=y CONFIG_KEYBOARD_GPIO=y @@ -731,7 +692,6 @@ CONFIG_INPUT_TOUCHSCREEN=y # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set # CONFIG_TOUCHSCREEN_TOUCHWIN is not set CONFIG_TOUCHSCREEN_ADC=y -# CONFIG_TOUCHSCREEN_ADC_DEBOUNCE is not set # CONFIG_TOUCHSCREEN_UCB1400 is not set CONFIG_INPUT_MISC=y CONFIG_INPUT_UINPUT=m @@ -868,12 +828,24 @@ CONFIG_ADC=y CONFIG_ADC_AD7877=y # +# Compaq/iPAQ Drivers +# + +# +# Compaq/HP iPAQ Drivers +# +# CONFIG_IPAQ_SLEEVE is not set +# CONFIG_SLEEVE_DEBUG is not set + +# # Multifunction device drivers # # CONFIG_MFD_SM501 is not set # CONFIG_HTC_ASIC2 is not set # CONFIG_HTC_ASIC3 is not set +# CONFIG_HTC_PASIC3 is not set CONFIG_HTC_EGPIO=y +CONFIG_HTC_BBKEYS=y # CONFIG_HTC_ASIC3_DS1WM is not set # CONFIG_SOC_SAMCOP is not set # CONFIG_SOC_HAMCOP is not set @@ -893,6 +865,7 @@ CONFIG_LEDS_CLASS=y # # LED drivers # +CONFIG_LEDS_GPIO=y # # LED Triggers @@ -900,6 +873,7 @@ CONFIG_LEDS_CLASS=y CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=y # CONFIG_LEDS_TRIGGER_HWTIMER is not set +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set CONFIG_LEDS_TRIGGER_SHARED=y @@ -1140,9 +1114,9 @@ CONFIG_DNOTIFY=y # # DOS/FAT/NT Filesystems # -CONFIG_FAT_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y +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 is not set @@ -1232,8 +1206,8 @@ CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set -CONFIG_NLS_CODEPAGE_1250=y -CONFIG_NLS_CODEPAGE_1251=y +# CONFIG_NLS_CODEPAGE_1250 is not set +CONFIG_NLS_CODEPAGE_1251=m # CONFIG_NLS_ASCII is not set CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_ISO8859_2 is not set @@ -1307,16 +1281,15 @@ CONFIG_DEBUG_LL=y # Cryptographic options # CONFIG_CRYPTO=y -CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI=m CONFIG_CRYPTO_BLKCIPHER=m -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_MANAGER=m +# CONFIG_CRYPTO_HMAC is not set # CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_SHA1=y +# CONFIG_CRYPTO_MD5 is not set +CONFIG_CRYPTO_SHA1=m # CONFIG_CRYPTO_SHA256 is not set # CONFIG_CRYPTO_SHA512 is not set # CONFIG_CRYPTO_WP512 is not set @@ -1326,7 +1299,7 @@ CONFIG_CRYPTO_ECB=m # CONFIG_CRYPTO_CBC is not set CONFIG_CRYPTO_PCBC=m # CONFIG_CRYPTO_LRW is not set -CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_DES is not set # CONFIG_CRYPTO_FCRYPT is not set # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_TWOFISH is not set @@ -1338,7 +1311,7 @@ CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_ARC4=m # CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_DEFLATE is not set # CONFIG_CRYPTO_MICHAEL_MIC is not set # CONFIG_CRYPTO_CRC32C is not set # CONFIG_CRYPTO_CAMELLIA is not set @@ -1356,8 +1329,8 @@ CONFIG_CRC_CCITT=y # CONFIG_CRC16 is not set CONFIG_CRC32=y # CONFIG_LIBCRC32C is not set -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=m +CONFIG_ZLIB_DEFLATE=m CONFIG_PLIST=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y diff --git a/packages/linux/linux-handhelds-2.6/htcbeetles/.mtn2git_empty b/packages/linux/linux-handhelds-2.6/htcbeetles/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/linux/linux-handhelds-2.6/htcbeetles/.mtn2git_empty diff --git a/packages/linux/linux-handhelds-2.6/htcbeetles/defconfig b/packages/linux/linux-handhelds-2.6/htcbeetles/defconfig new file mode 100644 index 0000000000..417a2e919c --- /dev/null +++ b/packages/linux/linux-handhelds-2.6/htcbeetles/defconfig @@ -0,0 +1,1257 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.21-hh16 +# Tue Sep 11 19:40:30 2007 +# +CONFIG_ARM=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_GENERIC_GPIO=y +CONFIG_GENERIC_TIME=y +CONFIG_MMU=y +# CONFIG_NO_IOPORT is not set +CONFIG_GENERIC_HARDIRQS=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +# CONFIG_ARCH_HAS_ILOG2_U32 is not set +# CONFIG_ARCH_HAS_ILOG2_U64 is not set +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_ZONE_DMA=y +CONFIG_ARCH_MTD_XIP=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" + +# +# Code maturity level options +# +CONFIG_EXPERIMENTAL=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_LOCK_KERNEL=y +CONFIG_INIT_ENV_ARG_LIMIT=32 + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_SWAP=y +CONFIG_SYSVIPC=y +# CONFIG_IPC_NS is not set +CONFIG_SYSVIPC_SYSCTL=y +# CONFIG_POSIX_MQUEUE is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set +# CONFIG_UTS_NS is not set +# CONFIG_AUDIT is not set +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_SYSFS_DEPRECATED=y +# CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_EMBEDDED=y +# CONFIG_UID16 is not set +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SHMEM=y +CONFIG_SLAB=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_RT_MUTEXES=y +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=0 +# CONFIG_SLOB is not set + +# +# Loadable module support +# +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_KMOD=y + +# +# Block layer +# +CONFIG_BLOCK=y +# CONFIG_LBD is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_LSF is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_AS=y +CONFIG_IOSCHED_DEADLINE=y +# CONFIG_IOSCHED_CFQ is not set +CONFIG_DEFAULT_AS=y +# CONFIG_DEFAULT_DEADLINE is not set +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="anticipatory" + +# +# System Type +# +# CONFIG_ARCH_AAEC2000 is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_CLPS7500 is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_CO285 is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_IMX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IXP23XX is not set +# CONFIG_ARCH_L7200 is not set +# CONFIG_ARCH_NS9XXX is not set +# CONFIG_ARCH_PNX4008 is not set +CONFIG_ARCH_PXA=y +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C2410 is not set +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_LH7A40X is not set +# CONFIG_ARCH_OMAP is not set +# CONFIG_BOARD_IRQ_MAP_SMALL is not set +CONFIG_BOARD_IRQ_MAP_BIG=y + +# +# Intel PXA2xx Implementations +# +# CONFIG_ARCH_LUBBOCK is not set +# CONFIG_MACH_LOGICPD_PXA270 is not set +# CONFIG_MACH_MAINSTONE is not set +# CONFIG_ARCH_PXA_IDP is not set +# CONFIG_TOSHIBA_TMIO_OHCI is not set +# CONFIG_ARCH_ESERIES is not set +# CONFIG_MACH_A620 is not set +# CONFIG_MACH_A716 is not set +# CONFIG_MACH_A730 is not set +# CONFIG_ARCH_H1900 is not set +# CONFIG_ARCH_H2200 is not set +# CONFIG_MACH_H3900 is not set +# CONFIG_MACH_H4000 is not set +# CONFIG_MACH_H4700 is not set +# CONFIG_MACH_HX2750 is not set +# CONFIG_ARCH_H5400 is not set +# CONFIG_MACH_HIMALAYA is not set +# CONFIG_MACH_HTCUNIVERSAL is not set +# CONFIG_MACH_HTCALPINE is not set +# CONFIG_MACH_MAGICIAN is not set +# CONFIG_MACH_HTCAPACHE is not set +# CONFIG_MACH_BLUEANGEL is not set + +# +# HTC_HW6X00 +# +CONFIG_MACH_HTCBEETLES=y +# CONFIG_MACH_HW6900 is not set +# CONFIG_HTCSABLE_LCD is not set +# CONFIG_HTCSABLE_BACKLIGHT is not set +# CONFIG_HTCSABLE_ROM is not set +# CONFIG_HTCSABLE_BT is not set +# CONFIG_HTCSABLE_PHONE is not set +# CONFIG_MACH_HTCATHENA is not set +# CONFIG_ARCH_AXIMX3 is not set +# CONFIG_ARCH_AXIMX5 is not set +# CONFIG_MACH_X30 is not set +# CONFIG_MACH_X50 is not set +# CONFIG_ARCH_ROVERP1 is not set +# CONFIG_ARCH_ROVERP5P is not set +# CONFIG_MACH_XSCALE_PALMLD is not set +# CONFIG_MACH_T3XSCALE is not set +# CONFIG_MACH_RECON is not set +# CONFIG_MACH_GHI270HG is not set +# CONFIG_MACH_GHI270 is not set +# CONFIG_MACH_LOOXC550 is not set +# CONFIG_PXA_SHARPSL is not set +# CONFIG_MACH_TRIZEPS4 is not set +CONFIG_PXA27x=y +# CONFIG_PXA27x_VOLTAGE is not set + +# +# Linux As Bootloader +# +# CONFIG_LAB is not set + +# +# Processor Type +# +CONFIG_CPU_32=y +CONFIG_CPU_XSCALE=y +CONFIG_CPU_32v5=y +CONFIG_CPU_ABRT_EV5T=y +CONFIG_CPU_CACHE_VIVT=y +CONFIG_CPU_TLB_V4WBI=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +CONFIG_ARM_THUMB=y +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_OUTER_CACHE is not set +CONFIG_IWMMXT=y +CONFIG_XSCALE_PMU=y + +# +# Bus support +# + +# +# PCCARD (PCMCIA/CardBus) support +# +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_PREEMPT=y +CONFIG_NO_IDLE_HZ=y +CONFIG_HZ=100 +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_DISCONTIGMEM_MANUAL is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +# CONFIG_SPARSEMEM_STATIC is not set +CONFIG_SPLIT_PTLOCK_CPUS=4096 +# CONFIG_RESOURCES_64BIT is not set +CONFIG_ZONE_DMA_FLAG=1 +CONFIG_ALIGNMENT_TRAP=y + +# +# Boot options +# +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_CMDLINE="keepinitrd" +# CONFIG_XIP_KERNEL is not set +CONFIG_KEXEC=y +# CONFIG_TXTOFFSET_DELTA is not set + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_TABLE=y +CONFIG_CPU_FREQ_DEBUG=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set +CONFIG_CPU_FREQ_GOV_USERSPACE=y +# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +CONFIG_CPU_FREQ_PXA=y +CONFIG_PXA25x_ALTERNATE_FREQS=y + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_FPE_NWFPE=y +# CONFIG_FPE_NWFPE_XP is not set +# CONFIG_FPE_FASTFPE is not set + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_BINFMT_AOUT is not set +# CONFIG_BINFMT_MISC is not set + +# +# Power management options +# +CONFIG_PM=y +# CONFIG_PM_LEGACY is not set +# CONFIG_PM_DEBUG is not set +CONFIG_DPM_DEBUG=y +CONFIG_PM_SYSFS_DEPRECATED=y +CONFIG_APM_EMULATION=y + +# +# Networking +# +CONFIG_NET=y + +# +# Networking options +# +# CONFIG_NETDEBUG is not set +CONFIG_PACKET=y +CONFIG_PACKET_MMAP=y +CONFIG_UNIX=y +# CONFIG_NET_KEY is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_FIB_HASH=y +CONFIG_IP_PNP=y +# CONFIG_IP_PNP_DHCP is not set +# CONFIG_IP_PNP_BOOTP is not set +# CONFIG_IP_PNP_RARP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE is not set +# CONFIG_IP_MROUTE is not set +# CONFIG_ARPD is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_XFRM_TUNNEL is not set +# CONFIG_INET_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +# CONFIG_INET_DIAG is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set + +# +# IP: Virtual Server Configuration +# +# CONFIG_IP_VS is not set +# CONFIG_IPV6 is not set +# CONFIG_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +# CONFIG_NETWORK_SECMARK is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set + +# +# Core Netfilter Configuration +# +# CONFIG_NETFILTER_NETLINK is not set +# CONFIG_NF_CONNTRACK_ENABLED is not set +# CONFIG_NETFILTER_XTABLES is not set + +# +# IP: Netfilter Configuration +# +# CONFIG_IP_NF_QUEUE is not set +# CONFIG_IP_NF_IPTABLES is not set +# CONFIG_IP_NF_ARPTABLES is not set + +# +# DCCP Configuration (EXPERIMENTAL) +# +# CONFIG_IP_DCCP is not set + +# +# SCTP Configuration (EXPERIMENTAL) +# +# CONFIG_IP_SCTP is not set + +# +# TIPC Configuration (EXPERIMENTAL) +# +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_BRIDGE is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set + +# +# QoS and/or fair queueing +# +# CONFIG_NET_SCHED is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_IRDA is not set +CONFIG_BT=m +CONFIG_BT_L2CAP=m +CONFIG_BT_SCO=m +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=m +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=m + +# +# Bluetooth device drivers +# +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_H4=y +CONFIG_BT_HCIUART_BCSP=y +# CONFIG_BT_HCIVHCI is not set +# CONFIG_IEEE80211 is not set + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set + +# +# Connector - unified userspace <-> kernelspace linker +# +# CONFIG_CONNECTOR is not set + +# +# Memory Technology Devices (MTD) +# +CONFIG_MTD=m +CONFIG_MTD_DEBUG=y +CONFIG_MTD_DEBUG_VERBOSE=0 +# CONFIG_MTD_CONCAT is not set +# CONFIG_MTD_PARTITIONS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_CHAR=m +# CONFIG_MTD_BLKDEVS is not set +# CONFIG_MTD_BLOCK is not set +# CONFIG_MTD_BLOCK_RO is not set +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE 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_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set +# CONFIG_MTD_OBSOLETE_CHIPS is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_SHARP_SL is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +CONFIG_MTD_MTDRAM=m +CONFIG_MTDRAM_TOTAL_SIZE=0 +CONFIG_MTDRAM_ERASE_SIZE=256 +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +# CONFIG_MTD_DOC2001PLUS is not set + +# +# NAND Flash Device Drivers +# +# CONFIG_MTD_NAND is not set + +# +# OneNAND Flash Device Drivers +# +# CONFIG_MTD_ONENAND is not set + +# +# Parallel port support +# +# CONFIG_PARPORT is not set + +# +# Plug and Play support +# +# CONFIG_PNPACPI is not set + +# +# Block devices +# +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_RAM is not set +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set + +# +# ATA/ATAPI/MFM/RLL support +# +# CONFIG_IDE is not set + +# +# SCSI device support +# +# CONFIG_RAID_ATTRS is not set +# CONFIG_SCSI is not set +# CONFIG_SCSI_NETLINK is not set + +# +# Serial ATA (prod) and Parallel ATA (experimental) drivers +# +# CONFIG_ATA is not set + +# +# Multi-device support (RAID and LVM) +# +# CONFIG_MD is not set + +# +# Fusion MPT device support +# +# CONFIG_FUSION is not set + +# +# IEEE 1394 (FireWire) support +# + +# +# I2O device support +# + +# +# Network device support +# +CONFIG_NETDEVICES=y +# CONFIG_DUMMY is not set +# CONFIG_BONDING is not set +# CONFIG_EQUALIZER is not set +# CONFIG_TUN is not set + +# +# PHY device support +# + +# +# Ethernet (10 or 100Mbit) +# +# CONFIG_NET_ETHERNET is not set + +# +# Ethernet (1000 Mbit) +# + +# +# Ethernet (10000 Mbit) +# + +# +# Token Ring devices +# + +# +# Wireless LAN (non-hamradio) +# +# CONFIG_NET_RADIO is not set + +# +# Wan interfaces +# +# CONFIG_WAN is not set +CONFIG_PPP=m +# CONFIG_PPP_MULTILINK is not set +# CONFIG_PPP_FILTER is not set +CONFIG_PPP_ASYNC=m +# CONFIG_PPP_SYNC_TTY is not set +CONFIG_PPP_DEFLATE=m +CONFIG_PPP_BSDCOMP=m +CONFIG_PPP_MPPE=m +# CONFIG_PPPOE is not set +# CONFIG_SLIP is not set +CONFIG_SLHC=m +# CONFIG_SHAPER is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set + +# +# ISDN subsystem +# +# CONFIG_ISDN is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_FF_MEMLESS is not set + +# +# Userland interfaces +# +# CONFIG_INPUT_MOUSEDEV is not set +# CONFIG_INPUT_JOYDEV is not set +# CONFIG_INPUT_TSDEV is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set +# CONFIG_INPUT_LED_TRIGGER is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +# CONFIG_KEYBOARD_ATKBD is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_GPIODEV_KEYS is not set +# CONFIG_GPIODEV_KEYS2 is not set +# CONFIG_GPIODEV_DIAGONAL is not set +# CONFIG_KEYBOARD_ASIC3 is not set +CONFIG_KEYBOARD_PXA27x=y +CONFIG_KEYBOARD_GPIO=y +CONFIG_INPUT_MOUSE=y +# CONFIG_MOUSE_PS2 is not set +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_NAVPOINT is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_INPUT_JOYSTICK is not set +CONFIG_INPUT_TOUCHSCREEN=y +# CONFIG_TOUCHSCREEN_GUNZE is not set +# CONFIG_TOUCHSCREEN_ELO is not set +# CONFIG_TOUCHSCREEN_MTOUCH is not set +# CONFIG_TOUCHSCREEN_MK712 is not set +# CONFIG_TOUCHSCREEN_PENMOUNT is not set +# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set +# CONFIG_TOUCHSCREEN_TOUCHWIN is not set +CONFIG_TOUCHSCREEN_ADC=y +# CONFIG_TOUCHSCREEN_UCB1400 is not set +CONFIG_INPUT_MISC=y +CONFIG_INPUT_UINPUT=m + +# +# Hardware I/O ports +# +# CONFIG_SERIO is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_VT=y +CONFIG_VT_CONSOLE=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +# CONFIG_SERIAL_NONSTANDARD is not set + +# +# Serial drivers +# +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_PXA=y +CONFIG_SERIAL_PXA_CONSOLE=y +CONFIG_SERIAL_PXA_COUNT=4 +CONFIG_SERIAL_PXA_IR=y +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_RS232_SERIAL is not set +CONFIG_UNIX98_PTYS=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=32 + +# +# IPMI +# +# CONFIG_IPMI_HANDLER is not set + +# +# Watchdog Cards +# +# CONFIG_WATCHDOG is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_NVRAM is not set +# CONFIG_SA1100_RTC is not set +# CONFIG_DTLK is not set +# CONFIG_R3964 is not set +# CONFIG_TIHTC is not set +# CONFIG_RAW_DRIVER is not set + +# +# TPM devices +# +# CONFIG_TCG_TPM is not set + +# +# I2C support +# +# CONFIG_I2C is not set + +# +# SPI support +# +# CONFIG_SPI is not set +# CONFIG_SPI_MASTER is not set + +# +# Dallas's 1-wire bus +# +# CONFIG_W1 is not set + +# +# Hardware Monitoring support +# +# CONFIG_HWMON is not set +# CONFIG_HWMON_VID is not set +# CONFIG_POWER_SUPPLY is not set + +# +# L3 serial bus support +# +# CONFIG_L3 is not set + +# +# Misc devices +# + +# +# Multimedia Capabilities Port drivers +# +CONFIG_ADC=y +CONFIG_ADC_ADS7846_SSP=y +# CONFIG_ADC_TSC2200_SSP is not set +# CONFIG_ADC_AD7877 is not set + +# +# Compaq/iPAQ Drivers +# + +# +# Compaq/HP iPAQ Drivers +# +# CONFIG_IPAQ_SLEEVE is not set +# CONFIG_SLEEVE_DEBUG is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_SM501 is not set +# CONFIG_HTC_ASIC2 is not set +CONFIG_HTC_ASIC3=y +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_BBKEYS is not set +# CONFIG_HTC_ASIC3_DS1WM is not set +# CONFIG_SOC_SAMCOP is not set +# CONFIG_SOC_HAMCOP is not set +# CONFIG_SOC_MQ11XX is not set +# CONFIG_SOC_T7L66XB is not set +# CONFIG_SOC_TC6387XB is not set +# CONFIG_SOC_TC6393XB is not set +# CONFIG_SOC_TSC2101 is not set +# CONFIG_SOC_TSC2200 is not set + +# +# LED devices +# +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y + +# +# LED drivers +# +# CONFIG_LEDS_ASIC3 is not set +# CONFIG_LEDS_GPIO is not set + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_TIMER=y +# CONFIG_LEDS_TRIGGER_HWTIMER is not set +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set +# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set +CONFIG_LEDS_TRIGGER_SHARED=y + +# +# Multimedia devices +# +# CONFIG_VIDEO_DEV is not set + +# +# Digital Video Broadcasting Devices +# +# CONFIG_DVB is not set + +# +# Graphics support +# +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_LCD_CLASS_DEVICE=y +CONFIG_BACKLIGHT_CORGI=y +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +# CONFIG_FB_DDC is not set +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_IMAGEON is not set +# CONFIG_FB_S1D13XXX is not set +CONFIG_FB_PXA=y +# CONFIG_FB_PXA_PARAMETERS is not set +# CONFIG_FB_MBX is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_VSFB is not set + +# +# Console display driver support +# +# CONFIG_VGA_CONSOLE is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y +CONFIG_FONTS=y +# CONFIG_FONT_8x8 is not set +# CONFIG_FONT_8x16 is not set +# 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=y +# CONFIG_FONT_SUN8x16 is not set +# CONFIG_FONT_SUN12x22 is not set +# CONFIG_FONT_10x18 is not set + +# +# Logo configuration +# +# CONFIG_LOGO is not set + +# +# Sound +# +CONFIG_SOUND=y + +# +# Advanced Linux Sound Architecture +# +# CONFIG_SND is not set + +# +# Open Sound System +# +# CONFIG_SOUND_PRIME is not set + +# +# HID Devices +# +CONFIG_HID=m +# CONFIG_HID_DEBUG is not set + +# +# USB support +# +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +# CONFIG_USB_ARCH_HAS_EHCI is not set +# CONFIG_USB is not set + +# +# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' +# + +# +# USB Gadget Support +# +CONFIG_USB_GADGET=y +# CONFIG_USB_GADGET_DEBUG_FILES is not set +CONFIG_USB_GADGET_SELECTED=y +# CONFIG_USB_GADGET_NET2280 is not set +# CONFIG_USB_GADGET_PXA2XX is not set +CONFIG_USB_GADGET_PXA27X=y +CONFIG_USB_PXA27X=y +# CONFIG_USB_PXA27X_DMA is not set +# CONFIG_USB_GADGET_GOKU is not set +# CONFIG_USB_GADGET_MQ11XX is not set +# CONFIG_USB_GADGET_LH7A40X is not set +# CONFIG_USB_GADGET_S3C2410 is not set +# CONFIG_USB_GADGET_OMAP is not set +# CONFIG_USB_GADGET_AT91 is not set +# CONFIG_USB_GADGET_DUMMY_HCD is not set +# CONFIG_USB_GADGET_DUALSPEED is not set +# CONFIG_USB_ZERO is not set +CONFIG_USB_ETH=y +CONFIG_USB_ETH_RNDIS=y +# CONFIG_USB_GADGETFS is not set +# CONFIG_USB_FILE_STORAGE is not set +# CONFIG_USB_G_SERIAL is not set +# CONFIG_USB_MIDI_GADGET is not set +# CONFIG_USB_G_CHAR is not set +# CONFIG_USB_PXA2XX_GPIO is not set + +# +# MMC/SD Card support +# +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_BLOCK=y +# CONFIG_MMC_PXA is not set +# CONFIG_MMC_TMIO is not set +# CONFIG_MMC_SAMCOP is not set +# CONFIG_MMC_ASIC3 is not set + +# +# Real Time Clock +# +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_DEBUG=y + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set + +# +# RTC drivers +# +# CONFIG_RTC_DRV_CMOS is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_M48T86 is not set +CONFIG_RTC_DRV_SA1100=y +# CONFIG_RTC_DRV_TEST is not set +# CONFIG_RTC_DRV_V3020 is not set + +# +# File systems +# +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +# CONFIG_EXT2_FS_XIP is not set +# CONFIG_EXT3_FS is not set +# CONFIG_EXT4DEV_FS is not set +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_FS_POSIX_ACL is not set +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_ROMFS_FS is not set +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_QUOTA is not set +CONFIG_DNOTIFY=y +# CONFIG_AUTOFS_FS is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# 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 is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +# CONFIG_TMPFS_POSIX_ACL is not set +# CONFIG_HUGETLB_PAGE is not set +CONFIG_RAMFS=y +# CONFIG_CONFIGFS_FS is not set + +# +# Miscellaneous filesystems +# +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +# CONFIG_JFFS2_FS is not set +# CONFIG_CRAMFS is not set +# CONFIG_VXFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set + +# +# Network File Systems +# +CONFIG_NFS_FS=y +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_DIRECTIO is not set +# CONFIG_NFSD is not set +CONFIG_ROOT_NFS=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_RPCSEC_GSS_KRB5 is not set +# CONFIG_RPCSEC_GSS_SPKM3 is not set +# CONFIG_SMB_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +# CONFIG_9P_FS is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y + +# +# Native Language Support +# +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +CONFIG_NLS_CODEPAGE_1251=m +# CONFIG_NLS_ASCII is not set +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +CONFIG_NLS_UTF8=y + +# +# Distributed Lock Manager +# +# CONFIG_DLM is not set + +# +# Profiling support +# +# CONFIG_PROFILING is not set + +# +# Kernel hacking +# +CONFIG_PRINTK_TIME=y +CONFIG_ENABLE_MUST_CHECK=y +# CONFIG_MAGIC_SYSRQ is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_SHIRQ is not set +CONFIG_LOG_BUF_SHIFT=16 +CONFIG_DETECT_SOFTLOCKUP=y +# CONFIG_SCHEDSTATS is not set +# CONFIG_TIMER_STATS is not set +# CONFIG_DEBUG_SLAB is not set +CONFIG_DEBUG_PREEMPT=y +# 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_SPINLOCK_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_INFO is not set +CONFIG_DEBUG_VM=y +# CONFIG_DEBUG_LIST is not set +CONFIG_FRAME_POINTER=y +CONFIG_FORCED_INLINING=y +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_FAULT_INJECTION is not set +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_ERRORS=y +CONFIG_DEBUG_LL=y +# CONFIG_DEBUG_ICEDCC is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set + +# +# Cryptographic options +# +CONFIG_CRYPTO=y +CONFIG_CRYPTO_ALGAPI=m +CONFIG_CRYPTO_BLKCIPHER=m +CONFIG_CRYPTO_MANAGER=m +# CONFIG_CRYPTO_HMAC is not set +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_NULL is not set +# CONFIG_CRYPTO_MD4 is not set +# CONFIG_CRYPTO_MD5 is not set +CONFIG_CRYPTO_SHA1=m +# CONFIG_CRYPTO_SHA256 is not set +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_WP512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_GF128MUL is not set +CONFIG_CRYPTO_ECB=m +# CONFIG_CRYPTO_CBC is not set +CONFIG_CRYPTO_PCBC=m +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_DES is not set +# CONFIG_CRYPTO_FCRYPT is not set +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_TWOFISH is not set +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_AES is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_TEA is not set +CONFIG_CRYPTO_ARC4=m +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_ANUBIS is not set +# CONFIG_CRYPTO_DEFLATE is not set +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# CONFIG_CRYPTO_CRC32C is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Hardware crypto devices +# + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_CRC_CCITT=y +# CONFIG_CRC16 is not set +CONFIG_CRC32=y +# CONFIG_LIBCRC32C is not set +CONFIG_ZLIB_INFLATE=m +CONFIG_ZLIB_DEFLATE=m +CONFIG_PLIST=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y diff --git a/packages/linux/linux-handhelds-2.6/htcblueangel/defconfig b/packages/linux/linux-handhelds-2.6/htcblueangel/defconfig index 61bd7efb11..4822df632c 100644 --- a/packages/linux/linux-handhelds-2.6/htcblueangel/defconfig +++ b/packages/linux/linux-handhelds-2.6/htcblueangel/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.21-hh11 -# Wed Jul 11 07:31:42 2007 +# Linux kernel version: 2.6.21-hh16 +# Tue Sep 11 19:40:31 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -178,6 +178,10 @@ CONFIG_MACH_BLUEANGEL_POWER=y CONFIG_MACH_BLUEANGEL_ROM=y CONFIG_MACH_BLUEANGEL_DPRAM=y CONFIG_MACH_BLUEANGEL_PHONE=m + +# +# HTC_HW6X00 +# # CONFIG_MACH_HTCBEETLES is not set # CONFIG_MACH_HW6900 is not set # CONFIG_MACH_HTCATHENA is not set @@ -421,50 +425,7 @@ CONFIG_NETFILTER=y # # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set -CONFIG_IRDA=y - -# -# IrDA protocols -# -CONFIG_IRLAN=y -# CONFIG_IRNET is not set -CONFIG_IRCOMM=y -CONFIG_IRDA_ULTRA=y - -# -# IrDA options -# -CONFIG_IRDA_CACHE_LAST_LSAP=y -CONFIG_IRDA_FAST_RR=y -CONFIG_IRDA_DEBUG=y - -# -# Infrared-port device drivers -# - -# -# SIR device drivers -# -CONFIG_IRTTY_SIR=y - -# -# Dongle support -# -# CONFIG_DONGLE is not set - -# -# Old SIR device drivers -# -# CONFIG_IRPORT_SIR is not set - -# -# Old Serial dongle support -# - -# -# FIR device drivers -# -CONFIG_PXA_FICP=y +# CONFIG_IRDA is not set CONFIG_BT=m CONFIG_BT_L2CAP=m CONFIG_BT_SCO=m @@ -610,7 +571,8 @@ CONFIG_MTDRAM_ERASE_SIZE=256 # Block devices # # CONFIG_BLK_DEV_COW_COMMON is not set -# CONFIG_BLK_DEV_LOOP is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_RAM is not set # CONFIG_CDROM_PKTCDVD is not set @@ -773,6 +735,7 @@ CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_GPIODEV_KEYS is not set +# CONFIG_GPIODEV_KEYS2 is not set # CONFIG_GPIODEV_DIAGONAL is not set CONFIG_KEYBOARD_ASIC3=y CONFIG_KEYBOARD_TSC2200=y @@ -792,8 +755,7 @@ CONFIG_INPUT_TOUCHSCREEN=y # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set # CONFIG_TOUCHSCREEN_TOUCHWIN is not set CONFIG_TOUCHSCREEN_TSC2200=y -# CONFIG_TOUCHSCREEN_ADC is not set -CONFIG_TOUCHSCREEN_ADC_DEBOUNCE=y +CONFIG_TOUCHSCREEN_ADC=y # CONFIG_TOUCHSCREEN_UCB1400 is not set CONFIG_INPUT_MISC=y CONFIG_INPUT_UINPUT=m @@ -956,12 +918,24 @@ CONFIG_ADC_TSC2200_SSP=y # CONFIG_ADC_AD7877 is not set # +# Compaq/iPAQ Drivers +# + +# +# Compaq/HP iPAQ Drivers +# +# CONFIG_IPAQ_SLEEVE is not set +# CONFIG_SLEEVE_DEBUG is not set + +# # Multifunction device drivers # # CONFIG_MFD_SM501 is not set # CONFIG_HTC_ASIC2 is not set CONFIG_HTC_ASIC3=y +# CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_BBKEYS is not set # CONFIG_HTC_ASIC3_DS1WM is not set # CONFIG_SOC_SAMCOP is not set # CONFIG_SOC_HAMCOP is not set @@ -982,6 +956,7 @@ CONFIG_LEDS_CLASS=y # LED drivers # CONFIG_LEDS_ASIC3=y +# CONFIG_LEDS_GPIO is not set # # LED Triggers @@ -989,6 +964,7 @@ CONFIG_LEDS_ASIC3=y CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=y CONFIG_LEDS_TRIGGER_HWTIMER=y +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set CONFIG_LEDS_TRIGGER_SHARED=y @@ -1282,9 +1258,9 @@ CONFIG_DNOTIFY=y # # DOS/FAT/NT Filesystems # -CONFIG_FAT_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y +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 is not set @@ -1385,8 +1361,8 @@ CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set -CONFIG_NLS_CODEPAGE_1250=y -CONFIG_NLS_CODEPAGE_1251=y +# CONFIG_NLS_CODEPAGE_1250 is not set +CONFIG_NLS_CODEPAGE_1251=m # CONFIG_NLS_ASCII is not set CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_ISO8859_2 is not set @@ -1460,16 +1436,15 @@ CONFIG_DEBUG_LL=y # Cryptographic options # CONFIG_CRYPTO=y -CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI=m CONFIG_CRYPTO_BLKCIPHER=m -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_MANAGER=m +# CONFIG_CRYPTO_HMAC is not set # CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_SHA1=y +# CONFIG_CRYPTO_MD5 is not set +CONFIG_CRYPTO_SHA1=m # CONFIG_CRYPTO_SHA256 is not set # CONFIG_CRYPTO_SHA512 is not set # CONFIG_CRYPTO_WP512 is not set @@ -1479,7 +1454,7 @@ CONFIG_CRYPTO_ECB=m # CONFIG_CRYPTO_CBC is not set CONFIG_CRYPTO_PCBC=m # CONFIG_CRYPTO_LRW is not set -CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_DES is not set # CONFIG_CRYPTO_FCRYPT is not set # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_TWOFISH is not set @@ -1491,7 +1466,7 @@ CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_ARC4=m # CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_DEFLATE is not set # CONFIG_CRYPTO_MICHAEL_MIC is not set # CONFIG_CRYPTO_CRC32C is not set # CONFIG_CRYPTO_CAMELLIA is not set @@ -1509,8 +1484,8 @@ CONFIG_CRC_CCITT=y # CONFIG_CRC16 is not set CONFIG_CRC32=y # CONFIG_LIBCRC32C is not set -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=m +CONFIG_ZLIB_DEFLATE=m CONFIG_PLIST=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y diff --git a/packages/linux/linux-handhelds-2.6/htchimalaya/defconfig b/packages/linux/linux-handhelds-2.6/htchimalaya/defconfig index fbca916965..9c9b94abb8 100644 --- a/packages/linux/linux-handhelds-2.6/htchimalaya/defconfig +++ b/packages/linux/linux-handhelds-2.6/htchimalaya/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.21-hh11 -# Wed Jul 11 07:31:42 2007 +# Linux kernel version: 2.6.21-hh16 +# Tue Sep 11 19:40:31 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -163,16 +163,22 @@ CONFIG_BOARD_IRQ_MAP_BIG=y CONFIG_MACH_HIMALAYA=y # CONFIG_MACH_HIMALAYA_ASIC3 is not set # CONFIG_MACH_HIMALAYA_ROM is not set +# CONFIG_HIMALAYA_LEDS is not set # CONFIG_MACH_HTCUNIVERSAL is not set # CONFIG_MACH_HTCALPINE is not set # CONFIG_MACH_MAGICIAN is not set # CONFIG_MACH_HTCAPACHE is not set # CONFIG_MACH_BLUEANGEL is not set + +# +# HTC_HW6X00 +# # CONFIG_MACH_HTCBEETLES is not set # CONFIG_MACH_HW6900 is not set # CONFIG_MACH_HTCATHENA is not set # CONFIG_ARCH_AXIMX3 is not set # CONFIG_ARCH_AXIMX5 is not set +# CONFIG_MACH_X30 is not set # CONFIG_MACH_X50 is not set # CONFIG_ARCH_ROVERP1 is not set # CONFIG_ARCH_ROVERP5P is not set @@ -400,50 +406,7 @@ CONFIG_NETFILTER=y # # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set -CONFIG_IRDA=y - -# -# IrDA protocols -# -CONFIG_IRLAN=y -# CONFIG_IRNET is not set -CONFIG_IRCOMM=y -CONFIG_IRDA_ULTRA=y - -# -# IrDA options -# -CONFIG_IRDA_CACHE_LAST_LSAP=y -CONFIG_IRDA_FAST_RR=y -CONFIG_IRDA_DEBUG=y - -# -# Infrared-port device drivers -# - -# -# SIR device drivers -# -CONFIG_IRTTY_SIR=y - -# -# Dongle support -# -# CONFIG_DONGLE is not set - -# -# Old SIR device drivers -# -# CONFIG_IRPORT_SIR is not set - -# -# Old Serial dongle support -# - -# -# FIR device drivers -# -CONFIG_PXA_FICP=y +# CONFIG_IRDA is not set CONFIG_BT=m CONFIG_BT_L2CAP=m CONFIG_BT_SCO=m @@ -485,21 +448,19 @@ CONFIG_FW_LOADER=y # # Memory Technology Devices (MTD) # -CONFIG_MTD=y +CONFIG_MTD=m CONFIG_MTD_DEBUG=y CONFIG_MTD_DEBUG_VERBOSE=0 -CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y -# CONFIG_MTD_REDBOOT_PARTS is not set -# CONFIG_MTD_CMDLINE_PARTS is not set -# CONFIG_MTD_AFS_PARTS is not set +# CONFIG_MTD_CONCAT is not set +# CONFIG_MTD_PARTITIONS is not set # # User Modules And Translation Layers # CONFIG_MTD_CHAR=m -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y +# CONFIG_MTD_BLKDEVS is not set +# CONFIG_MTD_BLOCK is not set +# CONFIG_MTD_BLOCK_RO is not set # CONFIG_FTL is not set # CONFIG_NFTL is not set # CONFIG_INFTL is not set @@ -574,7 +535,8 @@ CONFIG_MTDRAM_ERASE_SIZE=256 # Block devices # # CONFIG_BLK_DEV_COW_COMMON is not set -# CONFIG_BLK_DEV_LOOP is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_RAM is not set # CONFIG_CDROM_PKTCDVD is not set @@ -702,7 +664,9 @@ CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_GPIODEV_KEYS is not set +# CONFIG_GPIODEV_KEYS2 is not set # CONFIG_GPIODEV_DIAGONAL is not set +# CONFIG_KEYBOARD_ASIC3 is not set CONFIG_KEYBOARD_GPIO=y CONFIG_INPUT_MOUSE=y # CONFIG_MOUSE_PS2 is not set @@ -718,8 +682,7 @@ CONFIG_INPUT_TOUCHSCREEN=y # CONFIG_TOUCHSCREEN_PENMOUNT is not set # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set # CONFIG_TOUCHSCREEN_TOUCHWIN is not set -# CONFIG_TOUCHSCREEN_ADC is not set -CONFIG_TOUCHSCREEN_ADC_DEBOUNCE=y +CONFIG_TOUCHSCREEN_ADC=y # CONFIG_TOUCHSCREEN_UCB1400 is not set CONFIG_INPUT_MISC=y CONFIG_INPUT_UINPUT=m @@ -821,12 +784,24 @@ CONFIG_ADC_ADS7846_SSP=y # CONFIG_ADC_AD7877 is not set # +# Compaq/iPAQ Drivers +# + +# +# Compaq/HP iPAQ Drivers +# +# CONFIG_IPAQ_SLEEVE is not set +# CONFIG_SLEEVE_DEBUG is not set + +# # Multifunction device drivers # # CONFIG_MFD_SM501 is not set # CONFIG_HTC_ASIC2 is not set -# CONFIG_HTC_ASIC3 is not set +CONFIG_HTC_ASIC3=y +# CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_BBKEYS is not set # CONFIG_HTC_ASIC3_DS1WM is not set # CONFIG_SOC_SAMCOP is not set # CONFIG_SOC_HAMCOP is not set @@ -846,6 +821,8 @@ CONFIG_LEDS_CLASS=y # # LED drivers # +# CONFIG_LEDS_ASIC3 is not set +# CONFIG_LEDS_GPIO is not set # # LED Triggers @@ -853,6 +830,7 @@ CONFIG_LEDS_CLASS=y CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=y # CONFIG_LEDS_TRIGGER_HWTIMER is not set +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set CONFIG_LEDS_TRIGGER_SHARED=y @@ -990,6 +968,7 @@ CONFIG_MMC_BLOCK=y # CONFIG_MMC_PXA is not set # CONFIG_MMC_TMIO is not set # CONFIG_MMC_SAMCOP is not set +# CONFIG_MMC_ASIC3 is not set # # Real Time Clock @@ -1052,9 +1031,9 @@ CONFIG_DNOTIFY=y # # DOS/FAT/NT Filesystems # -CONFIG_FAT_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y +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 is not set @@ -1144,8 +1123,8 @@ CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set -CONFIG_NLS_CODEPAGE_1250=y -CONFIG_NLS_CODEPAGE_1251=y +# CONFIG_NLS_CODEPAGE_1250 is not set +CONFIG_NLS_CODEPAGE_1251=m # CONFIG_NLS_ASCII is not set CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_ISO8859_2 is not set @@ -1219,16 +1198,15 @@ CONFIG_DEBUG_LL=y # Cryptographic options # CONFIG_CRYPTO=y -CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI=m CONFIG_CRYPTO_BLKCIPHER=m -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_MANAGER=m +# CONFIG_CRYPTO_HMAC is not set # CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_SHA1=y +# CONFIG_CRYPTO_MD5 is not set +CONFIG_CRYPTO_SHA1=m # CONFIG_CRYPTO_SHA256 is not set # CONFIG_CRYPTO_SHA512 is not set # CONFIG_CRYPTO_WP512 is not set @@ -1238,7 +1216,7 @@ CONFIG_CRYPTO_ECB=m # CONFIG_CRYPTO_CBC is not set CONFIG_CRYPTO_PCBC=m # CONFIG_CRYPTO_LRW is not set -CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_DES is not set # CONFIG_CRYPTO_FCRYPT is not set # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_TWOFISH is not set @@ -1250,7 +1228,7 @@ CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_ARC4=m # CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_DEFLATE is not set # CONFIG_CRYPTO_MICHAEL_MIC is not set # CONFIG_CRYPTO_CRC32C is not set # CONFIG_CRYPTO_CAMELLIA is not set @@ -1268,8 +1246,8 @@ CONFIG_CRC_CCITT=y # CONFIG_CRC16 is not set CONFIG_CRC32=y # CONFIG_LIBCRC32C is not set -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=m +CONFIG_ZLIB_DEFLATE=m CONFIG_PLIST=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y diff --git a/packages/linux/linux-handhelds-2.6/htcsable/defconfig b/packages/linux/linux-handhelds-2.6/htcsable/defconfig index 897c9d88d9..234d4d5f17 100644 --- a/packages/linux/linux-handhelds-2.6/htcsable/defconfig +++ b/packages/linux/linux-handhelds-2.6/htcsable/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.21-hh11 -# Wed Jul 11 07:31:43 2007 +# Linux kernel version: 2.6.21-hh16 +# Tue Sep 11 19:40:32 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -166,10 +166,17 @@ CONFIG_BOARD_IRQ_MAP_BIG=y # CONFIG_MACH_MAGICIAN is not set # CONFIG_MACH_HTCAPACHE is not set # CONFIG_MACH_BLUEANGEL is not set + +# +# HTC_HW6X00 +# # CONFIG_MACH_HTCBEETLES is not set CONFIG_MACH_HW6900=y CONFIG_HTCSABLE_LCD=y CONFIG_HTCSABLE_BACKLIGHT=y +# CONFIG_HTCSABLE_ROM is not set +# CONFIG_HTCSABLE_BT is not set +# CONFIG_HTCSABLE_PHONE is not set # CONFIG_MACH_HTCATHENA is not set # CONFIG_ARCH_AXIMX3 is not set # CONFIG_ARCH_AXIMX5 is not set @@ -401,50 +408,7 @@ CONFIG_NETFILTER=y # # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set -CONFIG_IRDA=y - -# -# IrDA protocols -# -CONFIG_IRLAN=y -# CONFIG_IRNET is not set -CONFIG_IRCOMM=y -CONFIG_IRDA_ULTRA=y - -# -# IrDA options -# -CONFIG_IRDA_CACHE_LAST_LSAP=y -CONFIG_IRDA_FAST_RR=y -CONFIG_IRDA_DEBUG=y - -# -# Infrared-port device drivers -# - -# -# SIR device drivers -# -CONFIG_IRTTY_SIR=y - -# -# Dongle support -# -# CONFIG_DONGLE is not set - -# -# Old SIR device drivers -# -# CONFIG_IRPORT_SIR is not set - -# -# Old Serial dongle support -# - -# -# FIR device drivers -# -CONFIG_PXA_FICP=y +# CONFIG_IRDA is not set CONFIG_BT=m CONFIG_BT_L2CAP=m CONFIG_BT_SCO=m @@ -487,21 +451,19 @@ CONFIG_FW_LOADER=y # # Memory Technology Devices (MTD) # -CONFIG_MTD=y +CONFIG_MTD=m CONFIG_MTD_DEBUG=y CONFIG_MTD_DEBUG_VERBOSE=0 -CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y -# CONFIG_MTD_REDBOOT_PARTS is not set -# CONFIG_MTD_CMDLINE_PARTS is not set -# CONFIG_MTD_AFS_PARTS is not set +# CONFIG_MTD_CONCAT is not set +# CONFIG_MTD_PARTITIONS is not set # # User Modules And Translation Layers # CONFIG_MTD_CHAR=m -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y +# CONFIG_MTD_BLKDEVS is not set +# CONFIG_MTD_BLOCK is not set +# CONFIG_MTD_BLOCK_RO is not set # CONFIG_FTL is not set # CONFIG_NFTL is not set # CONFIG_INFTL is not set @@ -511,9 +473,9 @@ CONFIG_MTD_BLOCK=y # # RAM/ROM/Flash chip drivers # -CONFIG_MTD_CFI=y +CONFIG_MTD_CFI=m # CONFIG_MTD_JEDECPROBE is not set -CONFIG_MTD_GEN_PROBE=y +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 @@ -584,7 +546,8 @@ CONFIG_MTDRAM_ERASE_SIZE=256 # Block devices # # CONFIG_BLK_DEV_COW_COMMON is not set -# CONFIG_BLK_DEV_LOOP is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_RAM is not set # CONFIG_CDROM_PKTCDVD is not set @@ -723,6 +686,7 @@ CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_GPIODEV_KEYS is not set +# CONFIG_GPIODEV_KEYS2 is not set # CONFIG_GPIODEV_DIAGONAL is not set # CONFIG_KEYBOARD_ASIC3 is not set CONFIG_KEYBOARD_PXA27x=y @@ -741,8 +705,7 @@ CONFIG_INPUT_TOUCHSCREEN=y # CONFIG_TOUCHSCREEN_PENMOUNT is not set # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set # CONFIG_TOUCHSCREEN_TOUCHWIN is not set -# CONFIG_TOUCHSCREEN_ADC is not set -CONFIG_TOUCHSCREEN_ADC_DEBOUNCE=y +CONFIG_TOUCHSCREEN_ADC=y # CONFIG_TOUCHSCREEN_UCB1400 is not set CONFIG_INPUT_MISC=y CONFIG_INPUT_UINPUT=m @@ -879,12 +842,24 @@ CONFIG_ADC_ADS7846_SSP=y # CONFIG_ADC_AD7877 is not set # +# Compaq/iPAQ Drivers +# + +# +# Compaq/HP iPAQ Drivers +# +# CONFIG_IPAQ_SLEEVE is not set +# CONFIG_SLEEVE_DEBUG is not set + +# # Multifunction device drivers # # CONFIG_MFD_SM501 is not set # CONFIG_HTC_ASIC2 is not set CONFIG_HTC_ASIC3=y +# CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_BBKEYS is not set # CONFIG_HTC_ASIC3_DS1WM is not set # CONFIG_SOC_SAMCOP is not set # CONFIG_SOC_HAMCOP is not set @@ -905,6 +880,7 @@ CONFIG_LEDS_CLASS=y # LED drivers # # CONFIG_LEDS_ASIC3 is not set +# CONFIG_LEDS_GPIO is not set # # LED Triggers @@ -912,6 +888,7 @@ CONFIG_LEDS_CLASS=y CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=y # CONFIG_LEDS_TRIGGER_HWTIMER is not set +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set CONFIG_LEDS_TRIGGER_SHARED=y @@ -1153,9 +1130,9 @@ CONFIG_DNOTIFY=y # # DOS/FAT/NT Filesystems # -CONFIG_FAT_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y +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 is not set @@ -1182,7 +1159,7 @@ CONFIG_RAMFS=y # CONFIG_BEFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_EFS_FS is not set -CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS=m CONFIG_JFFS2_FS_DEBUG=0 CONFIG_JFFS2_FS_WRITEBUFFER=y # CONFIG_JFFS2_SUMMARY is not set @@ -1256,8 +1233,8 @@ CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set -CONFIG_NLS_CODEPAGE_1250=y -CONFIG_NLS_CODEPAGE_1251=y +# CONFIG_NLS_CODEPAGE_1250 is not set +CONFIG_NLS_CODEPAGE_1251=m # CONFIG_NLS_ASCII is not set CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_ISO8859_2 is not set @@ -1331,16 +1308,15 @@ CONFIG_DEBUG_LL=y # Cryptographic options # CONFIG_CRYPTO=y -CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI=m CONFIG_CRYPTO_BLKCIPHER=m -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_MANAGER=m +# CONFIG_CRYPTO_HMAC is not set # CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_SHA1=y +# CONFIG_CRYPTO_MD5 is not set +CONFIG_CRYPTO_SHA1=m # CONFIG_CRYPTO_SHA256 is not set # CONFIG_CRYPTO_SHA512 is not set # CONFIG_CRYPTO_WP512 is not set @@ -1350,7 +1326,7 @@ CONFIG_CRYPTO_ECB=m # CONFIG_CRYPTO_CBC is not set CONFIG_CRYPTO_PCBC=m # CONFIG_CRYPTO_LRW is not set -CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_DES is not set # CONFIG_CRYPTO_FCRYPT is not set # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_TWOFISH is not set @@ -1362,7 +1338,7 @@ CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_ARC4=m # CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_DEFLATE is not set # CONFIG_CRYPTO_MICHAEL_MIC is not set # CONFIG_CRYPTO_CRC32C is not set # CONFIG_CRYPTO_CAMELLIA is not set @@ -1380,8 +1356,8 @@ CONFIG_CRC_CCITT=y # CONFIG_CRC16 is not set CONFIG_CRC32=y # CONFIG_LIBCRC32C is not set -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=m +CONFIG_ZLIB_DEFLATE=m CONFIG_PLIST=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y diff --git a/packages/linux/linux-handhelds-2.6/htcuniversal/defconfig b/packages/linux/linux-handhelds-2.6/htcuniversal/defconfig index 9441aca7b2..5db549617e 100644 --- a/packages/linux/linux-handhelds-2.6/htcuniversal/defconfig +++ b/packages/linux/linux-handhelds-2.6/htcuniversal/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.21-hh11 -# Wed Jul 11 07:31:43 2007 +# Linux kernel version: 2.6.21-hh16 +# Tue Sep 11 19:40:32 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -177,6 +177,10 @@ CONFIG_HTCUNIVERSAL_AK4641=m # CONFIG_MACH_MAGICIAN is not set # CONFIG_MACH_HTCAPACHE is not set # CONFIG_MACH_BLUEANGEL is not set + +# +# HTC_HW6X00 +# # CONFIG_MACH_HTCBEETLES is not set # CONFIG_MACH_HW6900 is not set # CONFIG_MACH_HTCATHENA is not set @@ -410,50 +414,7 @@ CONFIG_NETFILTER=y # # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set -CONFIG_IRDA=y - -# -# IrDA protocols -# -CONFIG_IRLAN=y -# CONFIG_IRNET is not set -CONFIG_IRCOMM=y -CONFIG_IRDA_ULTRA=y - -# -# IrDA options -# -CONFIG_IRDA_CACHE_LAST_LSAP=y -CONFIG_IRDA_FAST_RR=y -CONFIG_IRDA_DEBUG=y - -# -# Infrared-port device drivers -# - -# -# SIR device drivers -# -CONFIG_IRTTY_SIR=y - -# -# Dongle support -# -# CONFIG_DONGLE is not set - -# -# Old SIR device drivers -# -# CONFIG_IRPORT_SIR is not set - -# -# Old Serial dongle support -# - -# -# FIR device drivers -# -CONFIG_PXA_FICP=y +# CONFIG_IRDA is not set CONFIG_BT=m CONFIG_BT_L2CAP=m CONFIG_BT_SCO=m @@ -496,21 +457,19 @@ CONFIG_FW_LOADER=y # # Memory Technology Devices (MTD) # -CONFIG_MTD=y +CONFIG_MTD=m CONFIG_MTD_DEBUG=y CONFIG_MTD_DEBUG_VERBOSE=0 -CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y -# CONFIG_MTD_REDBOOT_PARTS is not set -# CONFIG_MTD_CMDLINE_PARTS is not set -# CONFIG_MTD_AFS_PARTS is not set +# CONFIG_MTD_CONCAT is not set +# CONFIG_MTD_PARTITIONS is not set # # User Modules And Translation Layers # CONFIG_MTD_CHAR=m -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y +# CONFIG_MTD_BLKDEVS is not set +# CONFIG_MTD_BLOCK is not set +# CONFIG_MTD_BLOCK_RO is not set # CONFIG_FTL is not set # CONFIG_NFTL is not set # CONFIG_INFTL is not set @@ -585,7 +544,8 @@ CONFIG_MTDRAM_ERASE_SIZE=256 # Block devices # # CONFIG_BLK_DEV_COW_COMMON is not set -# CONFIG_BLK_DEV_LOOP is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_RAM is not set # CONFIG_CDROM_PKTCDVD is not set @@ -724,6 +684,7 @@ CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_GPIODEV_KEYS is not set +# CONFIG_GPIODEV_KEYS2 is not set # CONFIG_GPIODEV_DIAGONAL is not set CONFIG_KEYBOARD_ASIC3=y CONFIG_KEYBOARD_PXA27x=y @@ -742,8 +703,7 @@ CONFIG_INPUT_TOUCHSCREEN=y # CONFIG_TOUCHSCREEN_PENMOUNT is not set # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set # CONFIG_TOUCHSCREEN_TOUCHWIN is not set -# CONFIG_TOUCHSCREEN_ADC is not set -CONFIG_TOUCHSCREEN_ADC_DEBOUNCE=m +CONFIG_TOUCHSCREEN_ADC=m # CONFIG_TOUCHSCREEN_UCB1400 is not set CONFIG_INPUT_MISC=y CONFIG_INPUT_UINPUT=m @@ -899,12 +859,24 @@ CONFIG_ADC_ADS7846_SSP=y # CONFIG_ADC_AD7877 is not set # +# Compaq/iPAQ Drivers +# + +# +# Compaq/HP iPAQ Drivers +# +# CONFIG_IPAQ_SLEEVE is not set +# CONFIG_SLEEVE_DEBUG is not set + +# # Multifunction device drivers # # CONFIG_MFD_SM501 is not set # CONFIG_HTC_ASIC2 is not set CONFIG_HTC_ASIC3=y +# CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_BBKEYS is not set CONFIG_HTC_ASIC3_DS1WM=y # CONFIG_SOC_SAMCOP is not set # CONFIG_SOC_HAMCOP is not set @@ -925,6 +897,7 @@ CONFIG_LEDS_CLASS=y # LED drivers # CONFIG_LEDS_ASIC3=y +# CONFIG_LEDS_GPIO is not set # # LED Triggers @@ -932,6 +905,7 @@ CONFIG_LEDS_ASIC3=y CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=y CONFIG_LEDS_TRIGGER_HWTIMER=y +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set CONFIG_LEDS_TRIGGER_SHARED=y @@ -1175,9 +1149,9 @@ CONFIG_DNOTIFY=y # # DOS/FAT/NT Filesystems # -CONFIG_FAT_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y +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 is not set @@ -1267,8 +1241,8 @@ CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set -CONFIG_NLS_CODEPAGE_1250=y -CONFIG_NLS_CODEPAGE_1251=y +# CONFIG_NLS_CODEPAGE_1250 is not set +CONFIG_NLS_CODEPAGE_1251=m # CONFIG_NLS_ASCII is not set CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_ISO8859_2 is not set @@ -1342,16 +1316,15 @@ CONFIG_DEBUG_LL=y # Cryptographic options # CONFIG_CRYPTO=y -CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI=m CONFIG_CRYPTO_BLKCIPHER=m -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_MANAGER=m +# CONFIG_CRYPTO_HMAC is not set # CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_SHA1=y +# CONFIG_CRYPTO_MD5 is not set +CONFIG_CRYPTO_SHA1=m # CONFIG_CRYPTO_SHA256 is not set # CONFIG_CRYPTO_SHA512 is not set # CONFIG_CRYPTO_WP512 is not set @@ -1361,7 +1334,7 @@ CONFIG_CRYPTO_ECB=m # CONFIG_CRYPTO_CBC is not set CONFIG_CRYPTO_PCBC=m # CONFIG_CRYPTO_LRW is not set -CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_DES is not set # CONFIG_CRYPTO_FCRYPT is not set # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_TWOFISH is not set @@ -1373,7 +1346,7 @@ CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_ARC4=m # CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_DEFLATE is not set # CONFIG_CRYPTO_MICHAEL_MIC is not set # CONFIG_CRYPTO_CRC32C is not set # CONFIG_CRYPTO_CAMELLIA is not set @@ -1391,8 +1364,8 @@ CONFIG_CRC_CCITT=y # CONFIG_CRC16 is not set CONFIG_CRC32=y # CONFIG_LIBCRC32C is not set -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=m +CONFIG_ZLIB_DEFLATE=m CONFIG_PLIST=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y diff --git a/packages/linux/linux-handhelds-2.6/htcwallaby/defconfig b/packages/linux/linux-handhelds-2.6/htcwallaby/defconfig index 4e12808e75..37e9398845 100644 --- a/packages/linux/linux-handhelds-2.6/htcwallaby/defconfig +++ b/packages/linux/linux-handhelds-2.6/htcwallaby/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.21-hh11 -# Wed Jul 11 07:31:44 2007 +# Linux kernel version: 2.6.21-hh16 +# Tue Sep 11 19:40:32 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -380,65 +380,8 @@ CONFIG_NETFILTER=y # # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set -CONFIG_IRDA=y - -# -# IrDA protocols -# -CONFIG_IRLAN=y -# CONFIG_IRNET is not set -CONFIG_IRCOMM=y -CONFIG_IRDA_ULTRA=y - -# -# IrDA options -# -CONFIG_IRDA_CACHE_LAST_LSAP=y -CONFIG_IRDA_FAST_RR=y -CONFIG_IRDA_DEBUG=y - -# -# Infrared-port device drivers -# - -# -# SIR device drivers -# -CONFIG_IRTTY_SIR=y - -# -# Dongle support -# -# CONFIG_DONGLE is not set - -# -# Old SIR device drivers -# -# CONFIG_IRPORT_SIR is not set - -# -# Old Serial dongle support -# - -# -# FIR device drivers -# -# CONFIG_SA1100_FIR is not set -CONFIG_BT=y -CONFIG_BT_L2CAP=m -CONFIG_BT_SCO=m -CONFIG_BT_RFCOMM=m -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=m -CONFIG_BT_BNEP_MC_FILTER=y -CONFIG_BT_BNEP_PROTO_FILTER=y -CONFIG_BT_HIDP=m - -# -# Bluetooth device drivers -# -# CONFIG_BT_HCIUART is not set -# CONFIG_BT_HCIVHCI is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set # CONFIG_IEEE80211 is not set # @@ -463,21 +406,19 @@ CONFIG_FW_LOADER=y # # Memory Technology Devices (MTD) # -CONFIG_MTD=y +CONFIG_MTD=m CONFIG_MTD_DEBUG=y CONFIG_MTD_DEBUG_VERBOSE=0 -CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y -# CONFIG_MTD_REDBOOT_PARTS is not set -# CONFIG_MTD_CMDLINE_PARTS is not set -# CONFIG_MTD_AFS_PARTS is not set +# CONFIG_MTD_CONCAT is not set +# CONFIG_MTD_PARTITIONS is not set # # User Modules And Translation Layers # CONFIG_MTD_CHAR=m -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y +# CONFIG_MTD_BLKDEVS is not set +# CONFIG_MTD_BLOCK is not set +# CONFIG_MTD_BLOCK_RO is not set # CONFIG_FTL is not set # CONFIG_NFTL is not set # CONFIG_INFTL is not set @@ -487,9 +428,9 @@ CONFIG_MTD_BLOCK=y # # RAM/ROM/Flash chip drivers # -CONFIG_MTD_CFI=y +CONFIG_MTD_CFI=m # CONFIG_MTD_JEDECPROBE is not set -CONFIG_MTD_GEN_PROBE=y +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 @@ -515,7 +456,6 @@ CONFIG_MTD_CFI_I2=y # CONFIG_MTD_COMPLEX_MAPPINGS is not set # CONFIG_MTD_PHYSMAP is not set # CONFIG_MTD_ARM_INTEGRATOR is not set -CONFIG_MTD_SA1100=y # CONFIG_MTD_IPAQ is not set # CONFIG_MTD_PLATRAM is not set @@ -561,7 +501,8 @@ CONFIG_MTDRAM_ERASE_SIZE=256 # Block devices # # CONFIG_BLK_DEV_COW_COMMON is not set -# CONFIG_BLK_DEV_LOOP is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_RAM is not set # CONFIG_CDROM_PKTCDVD is not set @@ -695,6 +636,7 @@ CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_GPIODEV_KEYS is not set +# CONFIG_GPIODEV_KEYS2 is not set # CONFIG_GPIODEV_DIAGONAL is not set CONFIG_KEYBOARD_GPIO=y CONFIG_INPUT_MOUSE=y @@ -715,7 +657,6 @@ CONFIG_INPUT_TOUCHSCREEN=y # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set # CONFIG_TOUCHSCREEN_TOUCHWIN is not set # CONFIG_TOUCHSCREEN_ADC is not set -# CONFIG_TOUCHSCREEN_ADC_DEBOUNCE is not set # CONFIG_TOUCHSCREEN_UCB1400 is not set CONFIG_INPUT_MISC=y CONFIG_INPUT_UINPUT=m @@ -820,12 +761,24 @@ CONFIG_ADC=y # CONFIG_ADC_AD7877 is not set # +# Compaq/iPAQ Drivers +# + +# +# Compaq/HP iPAQ Drivers +# +# CONFIG_IPAQ_SLEEVE is not set +# CONFIG_SLEEVE_DEBUG is not set + +# # Multifunction device drivers # # CONFIG_MFD_SM501 is not set # CONFIG_HTC_ASIC2 is not set # CONFIG_HTC_ASIC3 is not set +# CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_BBKEYS is not set # CONFIG_HTC_ASIC3_DS1WM is not set # CONFIG_SOC_SAMCOP is not set # CONFIG_SOC_HAMCOP is not set @@ -848,6 +801,7 @@ CONFIG_LEDS_CLASS=y # # LED drivers # +# CONFIG_LEDS_GPIO is not set # # LED Triggers @@ -855,6 +809,7 @@ CONFIG_LEDS_CLASS=y CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=y CONFIG_LEDS_TRIGGER_HWTIMER=y +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set CONFIG_LEDS_TRIGGER_SHARED=y @@ -939,8 +894,7 @@ CONFIG_SOUND=y # # HID Devices # -CONFIG_HID=m -# CONFIG_HID_DEBUG is not set +# CONFIG_HID is not set # # USB support @@ -1041,9 +995,9 @@ CONFIG_DNOTIFY=y # # DOS/FAT/NT Filesystems # -CONFIG_FAT_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y +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 is not set @@ -1070,7 +1024,7 @@ CONFIG_RAMFS=y # CONFIG_BEFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_EFS_FS is not set -CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS=m CONFIG_JFFS2_FS_DEBUG=0 CONFIG_JFFS2_FS_WRITEBUFFER=y # CONFIG_JFFS2_SUMMARY is not set @@ -1144,8 +1098,8 @@ CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set -CONFIG_NLS_CODEPAGE_1250=y -CONFIG_NLS_CODEPAGE_1251=y +# CONFIG_NLS_CODEPAGE_1250 is not set +CONFIG_NLS_CODEPAGE_1251=m # CONFIG_NLS_ASCII is not set CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_ISO8859_2 is not set @@ -1219,16 +1173,15 @@ CONFIG_DEBUG_LL=y # Cryptographic options # CONFIG_CRYPTO=y -CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI=m CONFIG_CRYPTO_BLKCIPHER=m -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_MANAGER=m +# CONFIG_CRYPTO_HMAC is not set # CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_SHA1=y +# CONFIG_CRYPTO_MD5 is not set +CONFIG_CRYPTO_SHA1=m # CONFIG_CRYPTO_SHA256 is not set # CONFIG_CRYPTO_SHA512 is not set # CONFIG_CRYPTO_WP512 is not set @@ -1238,7 +1191,7 @@ CONFIG_CRYPTO_ECB=m # CONFIG_CRYPTO_CBC is not set CONFIG_CRYPTO_PCBC=m # CONFIG_CRYPTO_LRW is not set -CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_DES is not set # CONFIG_CRYPTO_FCRYPT is not set # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_TWOFISH is not set @@ -1250,7 +1203,7 @@ CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_ARC4=m # CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_DEFLATE is not set # CONFIG_CRYPTO_MICHAEL_MIC is not set # CONFIG_CRYPTO_CRC32C is not set # CONFIG_CRYPTO_CAMELLIA is not set @@ -1268,8 +1221,8 @@ CONFIG_CRC_CCITT=y # CONFIG_CRC16 is not set CONFIG_CRC32=y # CONFIG_LIBCRC32C is not set -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=m +CONFIG_ZLIB_DEFLATE=m CONFIG_PLIST=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y diff --git a/packages/linux/linux-handhelds-2.6/hx4700/defconfig b/packages/linux/linux-handhelds-2.6/hx4700/defconfig index ee58777be3..8a894dca12 100644 --- a/packages/linux/linux-handhelds-2.6/hx4700/defconfig +++ b/packages/linux/linux-handhelds-2.6/hx4700/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.21-hh11 -# Wed Jul 11 07:31:40 2007 +# Linux kernel version: 2.6.21-hh16 +# Tue Sep 11 19:40:28 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -173,6 +173,10 @@ CONFIG_HX4700_POWER2=y # CONFIG_MACH_MAGICIAN is not set # CONFIG_MACH_HTCAPACHE is not set # CONFIG_MACH_BLUEANGEL is not set + +# +# HTC_HW6X00 +# # CONFIG_MACH_HTCBEETLES is not set # CONFIG_MACH_HW6900 is not set # CONFIG_MACH_HTCATHENA is not set @@ -416,14 +420,14 @@ CONFIG_NETFILTER=y # # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set -CONFIG_IRDA=y +CONFIG_IRDA=m # # IrDA protocols # -CONFIG_IRLAN=y +CONFIG_IRLAN=m # CONFIG_IRNET is not set -CONFIG_IRCOMM=y +CONFIG_IRCOMM=m CONFIG_IRDA_ULTRA=y # @@ -440,7 +444,7 @@ CONFIG_IRDA_DEBUG=y # # SIR device drivers # -CONFIG_IRTTY_SIR=y +CONFIG_IRTTY_SIR=m # # Dongle support @@ -461,7 +465,7 @@ CONFIG_IRTTY_SIR=y # # CONFIG_USB_IRDA is not set # CONFIG_SIGMATEL_FIR is not set -CONFIG_PXA_FICP=y +CONFIG_PXA_FICP=m # CONFIG_MCS_FIR is not set CONFIG_BT=m CONFIG_BT_L2CAP=m @@ -617,7 +621,8 @@ CONFIG_MTDRAM_ERASE_SIZE=256 # Block devices # # CONFIG_BLK_DEV_COW_COMMON is not set -# CONFIG_BLK_DEV_LOOP is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_UB is not set # CONFIG_BLK_DEV_RAM is not set @@ -806,8 +811,9 @@ CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_GPIODEV_KEYS is not set +# CONFIG_GPIODEV_KEYS2 is not set # CONFIG_GPIODEV_DIAGONAL is not set -CONFIG_KEYBOARD_ASIC3=y +# CONFIG_KEYBOARD_ASIC3 is not set # CONFIG_KEYBOARD_PXA27x is not set CONFIG_KEYBOARD_GPIO=y CONFIG_INPUT_MOUSE=y @@ -824,8 +830,7 @@ CONFIG_INPUT_TOUCHSCREEN=y # CONFIG_TOUCHSCREEN_PENMOUNT is not set # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set # CONFIG_TOUCHSCREEN_TOUCHWIN is not set -# CONFIG_TOUCHSCREEN_ADC is not set -CONFIG_TOUCHSCREEN_ADC_DEBOUNCE=y +CONFIG_TOUCHSCREEN_ADC=y # CONFIG_TOUCHSCREEN_UCB1400 is not set CONFIG_INPUT_MISC=y CONFIG_INPUT_UINPUT=m @@ -989,12 +994,24 @@ CONFIG_ADC_ADS7846_SSP=y # CONFIG_ADC_AD7877 is not set # +# Compaq/iPAQ Drivers +# + +# +# Compaq/HP iPAQ Drivers +# +# CONFIG_IPAQ_SLEEVE is not set +# CONFIG_SLEEVE_DEBUG is not set + +# # Multifunction device drivers # # CONFIG_MFD_SM501 is not set # CONFIG_HTC_ASIC2 is not set CONFIG_HTC_ASIC3=y +# CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_BBKEYS is not set CONFIG_HTC_ASIC3_DS1WM=y # CONFIG_SOC_SAMCOP is not set # CONFIG_SOC_HAMCOP is not set @@ -1015,6 +1032,7 @@ CONFIG_LEDS_CLASS=y # LED drivers # CONFIG_LEDS_ASIC3=y +# CONFIG_LEDS_GPIO is not set # # LED Triggers @@ -1023,6 +1041,7 @@ CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=y CONFIG_LEDS_TRIGGER_HWTIMER=y # CONFIG_LEDS_TRIGGER_IDE_DISK is not set +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set CONFIG_LEDS_TRIGGER_SHARED=y @@ -1382,9 +1401,9 @@ CONFIG_DNOTIFY=y # # DOS/FAT/NT Filesystems # -CONFIG_FAT_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y +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 is not set @@ -1485,8 +1504,8 @@ CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set -CONFIG_NLS_CODEPAGE_1250=y -CONFIG_NLS_CODEPAGE_1251=y +# CONFIG_NLS_CODEPAGE_1250 is not set +CONFIG_NLS_CODEPAGE_1251=m # CONFIG_NLS_ASCII is not set CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_ISO8859_2 is not set @@ -1560,16 +1579,15 @@ CONFIG_DEBUG_LL=y # Cryptographic options # CONFIG_CRYPTO=y -CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI=m CONFIG_CRYPTO_BLKCIPHER=m -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_MANAGER=m +# CONFIG_CRYPTO_HMAC is not set # CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_SHA1=y +# CONFIG_CRYPTO_MD5 is not set +CONFIG_CRYPTO_SHA1=m # CONFIG_CRYPTO_SHA256 is not set # CONFIG_CRYPTO_SHA512 is not set # CONFIG_CRYPTO_WP512 is not set @@ -1579,7 +1597,7 @@ CONFIG_CRYPTO_ECB=m # CONFIG_CRYPTO_CBC is not set CONFIG_CRYPTO_PCBC=m # CONFIG_CRYPTO_LRW is not set -CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_DES is not set # CONFIG_CRYPTO_FCRYPT is not set # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_TWOFISH is not set @@ -1591,7 +1609,7 @@ CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_ARC4=m # CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_DEFLATE is not set # CONFIG_CRYPTO_MICHAEL_MIC is not set # CONFIG_CRYPTO_CRC32C is not set # CONFIG_CRYPTO_CAMELLIA is not set diff --git a/packages/linux/linux-handhelds-2.6/looxc550/defconfig b/packages/linux/linux-handhelds-2.6/looxc550/defconfig index f08efc536d..f3ff778f58 100644 --- a/packages/linux/linux-handhelds-2.6/looxc550/defconfig +++ b/packages/linux/linux-handhelds-2.6/looxc550/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.21-hh11 -# Wed Jul 11 07:31:44 2007 +# Linux kernel version: 2.6.21-hh16 +# Tue Sep 11 19:40:33 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -166,6 +166,10 @@ CONFIG_ARCH_PXA=y # CONFIG_MACH_MAGICIAN is not set # CONFIG_MACH_HTCAPACHE is not set # CONFIG_MACH_BLUEANGEL is not set + +# +# HTC_HW6X00 +# # CONFIG_MACH_HTCBEETLES is not set # CONFIG_MACH_HW6900 is not set # CONFIG_MACH_HTCATHENA is not set @@ -398,50 +402,7 @@ CONFIG_NETFILTER=y # # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set -CONFIG_IRDA=y - -# -# IrDA protocols -# -CONFIG_IRLAN=y -# CONFIG_IRNET is not set -CONFIG_IRCOMM=y -CONFIG_IRDA_ULTRA=y - -# -# IrDA options -# -CONFIG_IRDA_CACHE_LAST_LSAP=y -CONFIG_IRDA_FAST_RR=y -CONFIG_IRDA_DEBUG=y - -# -# Infrared-port device drivers -# - -# -# SIR device drivers -# -CONFIG_IRTTY_SIR=y - -# -# Dongle support -# -# CONFIG_DONGLE is not set - -# -# Old SIR device drivers -# -# CONFIG_IRPORT_SIR is not set - -# -# Old Serial dongle support -# - -# -# FIR device drivers -# -CONFIG_PXA_FICP=y +# CONFIG_IRDA is not set CONFIG_BT=m CONFIG_BT_L2CAP=m CONFIG_BT_SCO=m @@ -483,21 +444,19 @@ CONFIG_FW_LOADER=y # # Memory Technology Devices (MTD) # -CONFIG_MTD=y +CONFIG_MTD=m CONFIG_MTD_DEBUG=y CONFIG_MTD_DEBUG_VERBOSE=0 -CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y -# CONFIG_MTD_REDBOOT_PARTS is not set -# CONFIG_MTD_CMDLINE_PARTS is not set -# CONFIG_MTD_AFS_PARTS is not set +# CONFIG_MTD_CONCAT is not set +# CONFIG_MTD_PARTITIONS is not set # # User Modules And Translation Layers # CONFIG_MTD_CHAR=m -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y +# CONFIG_MTD_BLKDEVS is not set +# CONFIG_MTD_BLOCK is not set +# CONFIG_MTD_BLOCK_RO is not set # CONFIG_FTL is not set # CONFIG_NFTL is not set # CONFIG_INFTL is not set @@ -572,7 +531,8 @@ CONFIG_MTDRAM_ERASE_SIZE=256 # Block devices # # CONFIG_BLK_DEV_COW_COMMON is not set -# CONFIG_BLK_DEV_LOOP is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_RAM is not set # CONFIG_CDROM_PKTCDVD is not set @@ -700,6 +660,7 @@ CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_GPIODEV_KEYS is not set +# CONFIG_GPIODEV_KEYS2 is not set # CONFIG_GPIODEV_DIAGONAL is not set # CONFIG_KEYBOARD_PXA27x is not set CONFIG_KEYBOARD_GPIO=y @@ -717,8 +678,7 @@ CONFIG_INPUT_TOUCHSCREEN=y # CONFIG_TOUCHSCREEN_PENMOUNT is not set # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set # CONFIG_TOUCHSCREEN_TOUCHWIN is not set -# CONFIG_TOUCHSCREEN_ADC is not set -CONFIG_TOUCHSCREEN_ADC_DEBOUNCE=y +CONFIG_TOUCHSCREEN_ADC=y # CONFIG_TOUCHSCREEN_UCB1400 is not set CONFIG_INPUT_MISC=y CONFIG_INPUT_UINPUT=m @@ -825,12 +785,24 @@ CONFIG_ADC_ADS7846_SSP=y # CONFIG_ADC_AD7877 is not set # +# Compaq/iPAQ Drivers +# + +# +# Compaq/HP iPAQ Drivers +# +# CONFIG_IPAQ_SLEEVE is not set +# CONFIG_SLEEVE_DEBUG is not set + +# # Multifunction device drivers # # CONFIG_MFD_SM501 is not set # CONFIG_HTC_ASIC2 is not set # CONFIG_HTC_ASIC3 is not set +# CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_BBKEYS is not set # CONFIG_HTC_ASIC3_DS1WM is not set # CONFIG_SOC_SAMCOP is not set # CONFIG_SOC_HAMCOP is not set @@ -850,6 +822,7 @@ CONFIG_LEDS_CLASS=y # # LED drivers # +# CONFIG_LEDS_GPIO is not set # # LED Triggers @@ -857,6 +830,7 @@ CONFIG_LEDS_CLASS=y CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=y # CONFIG_LEDS_TRIGGER_HWTIMER is not set +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set CONFIG_LEDS_TRIGGER_SHARED=y @@ -1057,9 +1031,9 @@ CONFIG_DNOTIFY=y # # DOS/FAT/NT Filesystems # -CONFIG_FAT_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y +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 is not set @@ -1149,8 +1123,8 @@ CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set -CONFIG_NLS_CODEPAGE_1250=y -CONFIG_NLS_CODEPAGE_1251=y +# CONFIG_NLS_CODEPAGE_1250 is not set +CONFIG_NLS_CODEPAGE_1251=m # CONFIG_NLS_ASCII is not set CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_ISO8859_2 is not set @@ -1224,16 +1198,15 @@ CONFIG_DEBUG_LL=y # Cryptographic options # CONFIG_CRYPTO=y -CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI=m CONFIG_CRYPTO_BLKCIPHER=m -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_MANAGER=m +# CONFIG_CRYPTO_HMAC is not set # CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_SHA1=y +# CONFIG_CRYPTO_MD5 is not set +CONFIG_CRYPTO_SHA1=m # CONFIG_CRYPTO_SHA256 is not set # CONFIG_CRYPTO_SHA512 is not set # CONFIG_CRYPTO_WP512 is not set @@ -1243,7 +1216,7 @@ CONFIG_CRYPTO_ECB=m # CONFIG_CRYPTO_CBC is not set CONFIG_CRYPTO_PCBC=m # CONFIG_CRYPTO_LRW is not set -CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_DES is not set # CONFIG_CRYPTO_FCRYPT is not set # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_TWOFISH is not set @@ -1255,7 +1228,7 @@ CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_ARC4=m # CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_DEFLATE is not set # CONFIG_CRYPTO_MICHAEL_MIC is not set # CONFIG_CRYPTO_CRC32C is not set # CONFIG_CRYPTO_CAMELLIA is not set @@ -1273,8 +1246,8 @@ CONFIG_CRC_CCITT=y # CONFIG_CRC16 is not set CONFIG_CRC32=y # CONFIG_LIBCRC32C is not set -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=m +CONFIG_ZLIB_DEFLATE=m CONFIG_PLIST=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y diff --git a/packages/linux/linux-handhelds-2.6/magician/defconfig b/packages/linux/linux-handhelds-2.6/magician/defconfig index ac9b9e36e9..43454bea1f 100644 --- a/packages/linux/linux-handhelds-2.6/magician/defconfig +++ b/packages/linux/linux-handhelds-2.6/magician/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.21-hh11 -# Wed Jul 11 07:31:40 2007 +# Linux kernel version: 2.6.21-hh16 +# Tue Sep 11 19:40:29 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -170,6 +170,10 @@ CONFIG_MAGICIAN_LCD=y CONFIG_MAGICIAN_PHONE=m # CONFIG_MACH_HTCAPACHE is not set # CONFIG_MACH_BLUEANGEL is not set + +# +# HTC_HW6X00 +# # CONFIG_MACH_HTCBEETLES is not set # CONFIG_MACH_HW6900 is not set # CONFIG_MACH_HTCATHENA is not set @@ -405,53 +409,7 @@ CONFIG_NETFILTER=y # # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set -CONFIG_IRDA=y - -# -# IrDA protocols -# -CONFIG_IRLAN=y -# CONFIG_IRNET is not set -CONFIG_IRCOMM=y -CONFIG_IRDA_ULTRA=y - -# -# IrDA options -# -CONFIG_IRDA_CACHE_LAST_LSAP=y -CONFIG_IRDA_FAST_RR=y -CONFIG_IRDA_DEBUG=y - -# -# Infrared-port device drivers -# - -# -# SIR device drivers -# -CONFIG_IRTTY_SIR=y - -# -# Dongle support -# -# CONFIG_DONGLE is not set - -# -# Old SIR device drivers -# -# CONFIG_IRPORT_SIR is not set - -# -# Old Serial dongle support -# - -# -# FIR device drivers -# -# CONFIG_USB_IRDA is not set -# CONFIG_SIGMATEL_FIR is not set -CONFIG_PXA_FICP=y -# CONFIG_MCS_FIR is not set +# CONFIG_IRDA is not set CONFIG_BT=m CONFIG_BT_L2CAP=m CONFIG_BT_SCO=m @@ -599,7 +557,8 @@ CONFIG_MTDRAM_ERASE_SIZE=256 # Block devices # # CONFIG_BLK_DEV_COW_COMMON is not set -# CONFIG_BLK_DEV_LOOP is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_UB is not set # CONFIG_BLK_DEV_RAM is not set @@ -727,7 +686,8 @@ CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_XTKBD is not set # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_STOWAWAY is not set -# CONFIG_GPIODEV_KEYS is not set +CONFIG_GPIODEV_KEYS=y +# CONFIG_GPIODEV_KEYS2 is not set # CONFIG_GPIODEV_DIAGONAL is not set # CONFIG_KEYBOARD_PXA27x is not set CONFIG_KEYBOARD_GPIO=y @@ -745,8 +705,7 @@ CONFIG_INPUT_TOUCHSCREEN=y # CONFIG_TOUCHSCREEN_PENMOUNT is not set # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set # CONFIG_TOUCHSCREEN_TOUCHWIN is not set -# CONFIG_TOUCHSCREEN_ADC is not set -CONFIG_TOUCHSCREEN_ADC_DEBOUNCE=m +CONFIG_TOUCHSCREEN_ADC=m # CONFIG_TOUCHSCREEN_UCB1400 is not set CONFIG_INPUT_MISC=y CONFIG_INPUT_UINPUT=m @@ -902,6 +861,16 @@ CONFIG_ADC_ADS7846_SSP=m # CONFIG_ADC_AD7877 is not set # +# Compaq/iPAQ Drivers +# + +# +# Compaq/HP iPAQ Drivers +# +# CONFIG_IPAQ_SLEEVE is not set +# CONFIG_SLEEVE_DEBUG is not set + +# # Multifunction device drivers # # CONFIG_MFD_SM501 is not set @@ -909,6 +878,7 @@ CONFIG_ADC_ADS7846_SSP=m # CONFIG_HTC_ASIC3 is not set CONFIG_HTC_PASIC3=y CONFIG_HTC_EGPIO=y +# CONFIG_HTC_BBKEYS is not set # CONFIG_HTC_ASIC3_DS1WM is not set # CONFIG_SOC_SAMCOP is not set # CONFIG_SOC_HAMCOP is not set @@ -930,6 +900,7 @@ CONFIG_LEDS_CLASS=y # CONFIG_LEDS_MAGICIAN=y CONFIG_LEDS_PASIC3=y +# CONFIG_LEDS_GPIO is not set # # LED Triggers @@ -937,7 +908,7 @@ CONFIG_LEDS_PASIC3=y CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=y CONFIG_LEDS_TRIGGER_HWTIMER=y -CONFIG_LEDS_TRIGGER_BACKLIGHT=y +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set CONFIG_LEDS_TRIGGER_SHARED=y @@ -1332,9 +1303,9 @@ CONFIG_DNOTIFY=y # # DOS/FAT/NT Filesystems # -CONFIG_FAT_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y +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 is not set @@ -1435,8 +1406,8 @@ CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set -CONFIG_NLS_CODEPAGE_1250=y -CONFIG_NLS_CODEPAGE_1251=y +# CONFIG_NLS_CODEPAGE_1250 is not set +CONFIG_NLS_CODEPAGE_1251=m # CONFIG_NLS_ASCII is not set CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_ISO8859_2 is not set @@ -1510,16 +1481,15 @@ CONFIG_DEBUG_LL=y # Cryptographic options # CONFIG_CRYPTO=y -CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI=m CONFIG_CRYPTO_BLKCIPHER=m -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_MANAGER=m +# CONFIG_CRYPTO_HMAC is not set # CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_SHA1=y +# CONFIG_CRYPTO_MD5 is not set +CONFIG_CRYPTO_SHA1=m # CONFIG_CRYPTO_SHA256 is not set # CONFIG_CRYPTO_SHA512 is not set # CONFIG_CRYPTO_WP512 is not set @@ -1529,7 +1499,7 @@ CONFIG_CRYPTO_ECB=m # CONFIG_CRYPTO_CBC is not set CONFIG_CRYPTO_PCBC=m # CONFIG_CRYPTO_LRW is not set -CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_DES is not set # CONFIG_CRYPTO_FCRYPT is not set # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_TWOFISH is not set @@ -1541,7 +1511,7 @@ CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_ARC4=m # CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_DEFLATE is not set # CONFIG_CRYPTO_MICHAEL_MIC is not set # CONFIG_CRYPTO_CRC32C is not set # CONFIG_CRYPTO_CAMELLIA is not set @@ -1559,8 +1529,8 @@ CONFIG_CRC_CCITT=y # CONFIG_CRC16 is not set CONFIG_CRC32=y # CONFIG_LIBCRC32C is not set -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=m +CONFIG_ZLIB_DEFLATE=m CONFIG_PLIST=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y diff --git a/packages/linux/linux-handhelds-2.6/rx1950/defconfig b/packages/linux/linux-handhelds-2.6/rx1950/defconfig index 1f6647e94d..3d3c2a4fc7 100644 --- a/packages/linux/linux-handhelds-2.6/rx1950/defconfig +++ b/packages/linux/linux-handhelds-2.6/rx1950/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.21-hh11 -# Wed Jul 11 07:31:45 2007 +# Linux kernel version: 2.6.21-hh16 +# Tue Sep 11 19:40:33 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -397,49 +397,7 @@ CONFIG_NETFILTER=y # # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set -CONFIG_IRDA=y - -# -# IrDA protocols -# -CONFIG_IRLAN=y -# CONFIG_IRNET is not set -CONFIG_IRCOMM=y -CONFIG_IRDA_ULTRA=y - -# -# IrDA options -# -CONFIG_IRDA_CACHE_LAST_LSAP=y -CONFIG_IRDA_FAST_RR=y -CONFIG_IRDA_DEBUG=y - -# -# Infrared-port device drivers -# - -# -# SIR device drivers -# -CONFIG_IRTTY_SIR=y - -# -# Dongle support -# -# CONFIG_DONGLE is not set - -# -# Old SIR device drivers -# -# CONFIG_IRPORT_SIR is not set - -# -# Old Serial dongle support -# - -# -# FIR device drivers -# +# CONFIG_IRDA is not set CONFIG_BT=m CONFIG_BT_L2CAP=m CONFIG_BT_SCO=m @@ -481,21 +439,19 @@ CONFIG_FW_LOADER=y # # Memory Technology Devices (MTD) # -CONFIG_MTD=y +CONFIG_MTD=m CONFIG_MTD_DEBUG=y CONFIG_MTD_DEBUG_VERBOSE=0 -CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y -# CONFIG_MTD_REDBOOT_PARTS is not set -# CONFIG_MTD_CMDLINE_PARTS is not set -# CONFIG_MTD_AFS_PARTS is not set +# CONFIG_MTD_CONCAT is not set +# CONFIG_MTD_PARTITIONS is not set # # User Modules And Translation Layers # CONFIG_MTD_CHAR=m -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y +# CONFIG_MTD_BLKDEVS is not set +# CONFIG_MTD_BLOCK is not set +# CONFIG_MTD_BLOCK_RO is not set # CONFIG_FTL is not set # CONFIG_NFTL is not set # CONFIG_INFTL is not set @@ -548,16 +504,15 @@ CONFIG_MTDRAM_ERASE_SIZE=256 # # NAND Flash Device Drivers # -CONFIG_MTD_NAND=y +CONFIG_MTD_NAND=m # CONFIG_MTD_NAND_VERIFY_WRITE is not set # CONFIG_MTD_NAND_ECC_SMC is not set -CONFIG_MTD_NAND_IDS=y -CONFIG_MTD_NAND_S3C2410=y +CONFIG_MTD_NAND_IDS=m +CONFIG_MTD_NAND_S3C2410=m # CONFIG_MTD_NAND_S3C2410_DEBUG is not set # CONFIG_MTD_NAND_S3C2410_HWECC is not set # CONFIG_MTD_NAND_S3C2410_CLKSTOP is not set # CONFIG_MTD_NAND_DISKONCHIP is not set -# CONFIG_MTD_NAND_NANDSIM is not set # # OneNAND Flash Device Drivers @@ -578,7 +533,8 @@ CONFIG_MTD_NAND_S3C2410=y # Block devices # # CONFIG_BLK_DEV_COW_COMMON is not set -# CONFIG_BLK_DEV_LOOP is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_RAM is not set # CONFIG_CDROM_PKTCDVD is not set @@ -708,6 +664,7 @@ CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_GPIODEV_KEYS is not set +# CONFIG_GPIODEV_KEYS2 is not set # CONFIG_GPIODEV_DIAGONAL is not set CONFIG_KEYBOARD_GPIO=y CONFIG_INPUT_MOUSE=y @@ -728,7 +685,6 @@ CONFIG_TOUCHSCREEN_S3C2410=y CONFIG_TOUCHSCREEN_S3C2410_DEBUG=y CONFIG_TOUCHSCREEN_S3C2410_ALT=y # CONFIG_TOUCHSCREEN_ADC is not set -# CONFIG_TOUCHSCREEN_ADC_DEBOUNCE is not set # CONFIG_TOUCHSCREEN_UCB1400 is not set CONFIG_INPUT_MISC=y CONFIG_INPUT_UINPUT=m @@ -835,12 +791,24 @@ CONFIG_ADC=y # CONFIG_ADC_AD7877 is not set # +# Compaq/iPAQ Drivers +# + +# +# Compaq/HP iPAQ Drivers +# +# CONFIG_IPAQ_SLEEVE is not set +# CONFIG_SLEEVE_DEBUG is not set + +# # Multifunction device drivers # # CONFIG_MFD_SM501 is not set # CONFIG_HTC_ASIC2 is not set # CONFIG_HTC_ASIC3 is not set +# CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_BBKEYS is not set # CONFIG_HTC_ASIC3_DS1WM is not set # CONFIG_SOC_SAMCOP is not set # CONFIG_SOC_HAMCOP is not set @@ -859,6 +827,7 @@ CONFIG_LEDS_CLASS=y # LED drivers # CONFIG_LEDS_S3C24XX=y +# CONFIG_LEDS_GPIO is not set # # LED Triggers @@ -866,6 +835,7 @@ CONFIG_LEDS_S3C24XX=y CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=y # CONFIG_LEDS_TRIGGER_HWTIMER is not set +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set CONFIG_LEDS_TRIGGER_SHARED=y @@ -1095,9 +1065,9 @@ CONFIG_DNOTIFY=y # # DOS/FAT/NT Filesystems # -CONFIG_FAT_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y +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 is not set @@ -1187,8 +1157,8 @@ CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set -CONFIG_NLS_CODEPAGE_1250=y -CONFIG_NLS_CODEPAGE_1251=y +# CONFIG_NLS_CODEPAGE_1250 is not set +CONFIG_NLS_CODEPAGE_1251=m # CONFIG_NLS_ASCII is not set CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_ISO8859_2 is not set @@ -1264,16 +1234,15 @@ CONFIG_DEBUG_S3C2410_UART=0 # Cryptographic options # CONFIG_CRYPTO=y -CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI=m CONFIG_CRYPTO_BLKCIPHER=m -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_MANAGER=m +# CONFIG_CRYPTO_HMAC is not set # CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_SHA1=y +# CONFIG_CRYPTO_MD5 is not set +CONFIG_CRYPTO_SHA1=m # CONFIG_CRYPTO_SHA256 is not set # CONFIG_CRYPTO_SHA512 is not set # CONFIG_CRYPTO_WP512 is not set @@ -1283,7 +1252,7 @@ CONFIG_CRYPTO_ECB=m # CONFIG_CRYPTO_CBC is not set CONFIG_CRYPTO_PCBC=m # CONFIG_CRYPTO_LRW is not set -CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_DES is not set # CONFIG_CRYPTO_FCRYPT is not set # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_TWOFISH is not set @@ -1295,7 +1264,7 @@ CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_ARC4=m # CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_DEFLATE is not set # CONFIG_CRYPTO_MICHAEL_MIC is not set # CONFIG_CRYPTO_CRC32C is not set # CONFIG_CRYPTO_CAMELLIA is not set @@ -1313,7 +1282,7 @@ CONFIG_CRC_CCITT=y # CONFIG_CRC16 is not set CONFIG_CRC32=y # CONFIG_LIBCRC32C is not set -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=m +CONFIG_ZLIB_DEFLATE=m CONFIG_PLIST=y CONFIG_HAS_IOMEM=y diff --git a/packages/linux/linux-handhelds-2.6/rx3000/defconfig b/packages/linux/linux-handhelds-2.6/rx3000/defconfig index 56ca6748ab..4cf3a33412 100644 --- a/packages/linux/linux-handhelds-2.6/rx3000/defconfig +++ b/packages/linux/linux-handhelds-2.6/rx3000/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.21-hh11 -# Wed Jul 11 07:31:45 2007 +# Linux kernel version: 2.6.21-hh16 +# Tue Sep 11 19:40:34 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -404,49 +404,7 @@ CONFIG_NETFILTER=y # # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set -CONFIG_IRDA=y - -# -# IrDA protocols -# -CONFIG_IRLAN=y -# CONFIG_IRNET is not set -CONFIG_IRCOMM=y -CONFIG_IRDA_ULTRA=y - -# -# IrDA options -# -CONFIG_IRDA_CACHE_LAST_LSAP=y -CONFIG_IRDA_FAST_RR=y -CONFIG_IRDA_DEBUG=y - -# -# Infrared-port device drivers -# - -# -# SIR device drivers -# -CONFIG_IRTTY_SIR=y - -# -# Dongle support -# -# CONFIG_DONGLE is not set - -# -# Old SIR device drivers -# -# CONFIG_IRPORT_SIR is not set - -# -# Old Serial dongle support -# - -# -# FIR device drivers -# +# CONFIG_IRDA is not set CONFIG_BT=m CONFIG_BT_L2CAP=m CONFIG_BT_SCO=m @@ -586,7 +544,8 @@ CONFIG_MTD_NAND_S3C2410_CLKSTOP=y # Block devices # # CONFIG_BLK_DEV_COW_COMMON is not set -# CONFIG_BLK_DEV_LOOP is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_RAM is not set # CONFIG_CDROM_PKTCDVD is not set @@ -725,6 +684,7 @@ CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_GPIODEV_KEYS is not set +# CONFIG_GPIODEV_KEYS2 is not set # CONFIG_GPIODEV_DIAGONAL is not set CONFIG_KEYBOARD_ASIC3=y CONFIG_KEYBOARD_GPIO=y @@ -746,7 +706,6 @@ CONFIG_TOUCHSCREEN_S3C2410=y # CONFIG_TOUCHSCREEN_S3C2410_DEBUG is not set # CONFIG_TOUCHSCREEN_S3C2410_ALT is not set # CONFIG_TOUCHSCREEN_ADC is not set -# CONFIG_TOUCHSCREEN_ADC_DEBOUNCE is not set # CONFIG_TOUCHSCREEN_UCB1400 is not set CONFIG_INPUT_MISC=y CONFIG_INPUT_UINPUT=m @@ -901,12 +860,24 @@ CONFIG_ADC=y # CONFIG_ADC_AD7877 is not set # +# Compaq/iPAQ Drivers +# + +# +# Compaq/HP iPAQ Drivers +# +# CONFIG_IPAQ_SLEEVE is not set +# CONFIG_SLEEVE_DEBUG is not set + +# # Multifunction device drivers # # CONFIG_MFD_SM501 is not set # CONFIG_HTC_ASIC2 is not set CONFIG_HTC_ASIC3=y +# CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_BBKEYS is not set CONFIG_HTC_ASIC3_DS1WM=y # CONFIG_SOC_SAMCOP is not set # CONFIG_SOC_HAMCOP is not set @@ -926,6 +897,7 @@ CONFIG_LEDS_CLASS=y # # CONFIG_LEDS_S3C24XX is not set CONFIG_LEDS_ASIC3=y +# CONFIG_LEDS_GPIO is not set # # LED Triggers @@ -933,6 +905,7 @@ CONFIG_LEDS_ASIC3=y CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=y # CONFIG_LEDS_TRIGGER_HWTIMER is not set +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set CONFIG_LEDS_TRIGGER_SHARED=y @@ -1209,9 +1182,9 @@ CONFIG_DNOTIFY=y # # DOS/FAT/NT Filesystems # -CONFIG_FAT_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y +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 is not set @@ -1301,8 +1274,8 @@ CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set -CONFIG_NLS_CODEPAGE_1250=y -CONFIG_NLS_CODEPAGE_1251=y +# CONFIG_NLS_CODEPAGE_1250 is not set +CONFIG_NLS_CODEPAGE_1251=m # CONFIG_NLS_ASCII is not set CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_ISO8859_2 is not set @@ -1378,16 +1351,15 @@ CONFIG_DEBUG_S3C2410_UART=2 # Cryptographic options # CONFIG_CRYPTO=y -CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI=m CONFIG_CRYPTO_BLKCIPHER=m -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_MANAGER=m +# CONFIG_CRYPTO_HMAC is not set # CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_SHA1=y +# CONFIG_CRYPTO_MD5 is not set +CONFIG_CRYPTO_SHA1=m # CONFIG_CRYPTO_SHA256 is not set # CONFIG_CRYPTO_SHA512 is not set # CONFIG_CRYPTO_WP512 is not set @@ -1397,7 +1369,7 @@ CONFIG_CRYPTO_ECB=m # CONFIG_CRYPTO_CBC is not set CONFIG_CRYPTO_PCBC=m # CONFIG_CRYPTO_LRW is not set -CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_DES is not set # CONFIG_CRYPTO_FCRYPT is not set # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_TWOFISH is not set @@ -1409,7 +1381,7 @@ CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_ARC4=m # CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_DEFLATE is not set # CONFIG_CRYPTO_MICHAEL_MIC is not set # CONFIG_CRYPTO_CRC32C is not set # CONFIG_CRYPTO_CAMELLIA is not set @@ -1427,7 +1399,7 @@ CONFIG_CRC_CCITT=y # CONFIG_CRC16 is not set CONFIG_CRC32=y # CONFIG_LIBCRC32C is not set -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=m +CONFIG_ZLIB_DEFLATE=m CONFIG_PLIST=y CONFIG_HAS_IOMEM=y diff --git a/packages/linux/linux-handhelds-2.6_2.6.21-hh15.bb b/packages/linux/linux-handhelds-2.6_2.6.21-hh15.bb new file mode 100644 index 0000000000..b34d4630a0 --- /dev/null +++ b/packages/linux/linux-handhelds-2.6_2.6.21-hh15.bb @@ -0,0 +1,11 @@ +SECTION = "kernel" +DESCRIPTION = "handhelds.org Linux kernel 2.6 for PocketPCs and other consumer handheld devices." +LICENSE = "GPL" +PR = "r0" + +DEFAULT_PREFERENCE = "-1" + +SRC_URI = "${HANDHELDS_CVS};module=linux/kernel26;tag=${@'K' + bb.data.getVar('PV',d,1).replace('.', '-')} \ + file://defconfig" + +require linux-handhelds-2.6.inc diff --git a/packages/linux/linux-handhelds-2.6_2.6.21-hh16.bb b/packages/linux/linux-handhelds-2.6_2.6.21-hh16.bb new file mode 100644 index 0000000000..b34d4630a0 --- /dev/null +++ b/packages/linux/linux-handhelds-2.6_2.6.21-hh16.bb @@ -0,0 +1,11 @@ +SECTION = "kernel" +DESCRIPTION = "handhelds.org Linux kernel 2.6 for PocketPCs and other consumer handheld devices." +LICENSE = "GPL" +PR = "r0" + +DEFAULT_PREFERENCE = "-1" + +SRC_URI = "${HANDHELDS_CVS};module=linux/kernel26;tag=${@'K' + bb.data.getVar('PV',d,1).replace('.', '-')} \ + file://defconfig" + +require linux-handhelds-2.6.inc diff --git a/packages/linux/linux-openmoko-devel_svn.bb b/packages/linux/linux-openmoko-devel_svn.bb new file mode 100644 index 0000000000..eca9a337ac --- /dev/null +++ b/packages/linux/linux-openmoko-devel_svn.bb @@ -0,0 +1,11 @@ +DESCRIPTION = "Linux 2.6.x (development) kernel for FIC SmartPhones shipping w/ OpenMoko" + +require linux-openmoko.inc + +SRC_URI += "svn://svn.openmoko.org/trunk/src/target/kernel;module=patches;proto=http" +SRC_URI += "file://fix-EVIOCGRAB-semantics-2.6.22.5.patch;patch=1" + +VANILLA_VERSION = "2.6.22.5" +MOKOR = "moko11+svnr${SRCREV}" +PV = "${VANILLA_VERSION}-${MOKOR}" +PR = "r0" diff --git a/packages/linux/linux-openmoko.inc b/packages/linux/linux-openmoko.inc index ab2f2959d2..d6b464c301 100644 --- a/packages/linux/linux-openmoko.inc +++ b/packages/linux/linux-openmoko.inc @@ -1,4 +1,3 @@ -DESCRIPTION = "2.6 Linux Development Kernel for FIC SmartPhones shipping w/ OpenMoko" SECTION = "kernel" AUTHOR = "Harald Welte <laforge@openmoko.org>" HOMEPAGE = "http://www.openmoko.org" @@ -13,6 +12,8 @@ DEFCONFIG = "defconfig-${VANILLA_VERSION}-${MACHINE}" ############################################################## # source and patches # +SRCREV_FORMAT = "patches" + SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${VANILLA_VERSION}.tar.bz2 \ file://${DEFCONFIG} \ file://logo_linux_clut224.ppm" diff --git a/packages/linux/linux-openmoko_2.6.21.6.bb b/packages/linux/linux-openmoko_2.6.21.6.bb deleted file mode 100644 index 2efc84681a..0000000000 --- a/packages/linux/linux-openmoko_2.6.21.6.bb +++ /dev/null @@ -1,10 +0,0 @@ -require linux-openmoko.inc - -SRC_URI += "svn://svn.openmoko.org/branches/src/target/kernel/2.6.21.x;module=patches;proto=http" -SRC_URI += "file://fix-EVIOCGRAB-semantics.patch;patch=1" - -MOKOR = "moko11" -PR = "${MOKOR}-r2" - -VANILLA_VERSION = "2.6.21.6" - diff --git a/packages/linux/linux-openmoko_2.6.22.5.bb b/packages/linux/linux-openmoko_2.6.22.5.bb index 4f2aa396c3..e4608a7565 100644 --- a/packages/linux/linux-openmoko_2.6.22.5.bb +++ b/packages/linux/linux-openmoko_2.6.22.5.bb @@ -1,9 +1,11 @@ +DESCRIPTION = "Linux 2.6.x (stable) kernel for FIC SmartPhones shipping w/ OpenMoko" + require linux-openmoko.inc SRC_URI += "svn://svn.openmoko.org/trunk/src/target/kernel;module=patches;proto=http" SRC_URI += "file://fix-EVIOCGRAB-semantics-2.6.22.5.patch;patch=1" -MOKOR = "moko11" -PR = "${MOKOR}-r2" - VANILLA_VERSION = "2.6.22.5" +MOKOR = "moko11+svnr${SRCREV}" +PV = "${VANILLA_VERSION}-${MOKOR}" +PR = "r2" diff --git a/packages/linux/linux-rp-2.6.22/defconfig-akita b/packages/linux/linux-rp-2.6.22/defconfig-akita index edeaa414db..dd8cb8558f 100644 --- a/packages/linux/linux-rp-2.6.22/defconfig-akita +++ b/packages/linux/linux-rp-2.6.22/defconfig-akita @@ -743,6 +743,7 @@ CONFIG_NET_RADIO=y # # Wireless 802.11b ISA/PCI cards support # +CONFIG_WLAN_80211=y CONFIG_HERMES=m # CONFIG_ATMEL is not set diff --git a/packages/linux/linux-rp-2.6.22/defconfig-c7x0 b/packages/linux/linux-rp-2.6.22/defconfig-c7x0 index c644187e96..d9b3e2b93f 100644 --- a/packages/linux/linux-rp-2.6.22/defconfig-c7x0 +++ b/packages/linux/linux-rp-2.6.22/defconfig-c7x0 @@ -757,6 +757,7 @@ CONFIG_NET_RADIO=y # # Wireless 802.11b ISA/PCI cards support # +CONFIG_WLAN_80211=y CONFIG_HERMES=m # CONFIG_ATMEL is not set @@ -772,7 +773,6 @@ CONFIG_HOSTAP=m CONFIG_HOSTAP_FIRMWARE=y # CONFIG_HOSTAP_FIRMWARE_NVRAM is not set CONFIG_HOSTAP_CS=m -CONFIG_NET_WIRELESS=y # # PCMCIA network device support diff --git a/packages/linux/linux-rp_2.6.22.bb b/packages/linux/linux-rp_2.6.22.bb index 03eca283b4..b36189d9fb 100644 --- a/packages/linux/linux-rp_2.6.22.bb +++ b/packages/linux/linux-rp_2.6.22.bb @@ -1,6 +1,6 @@ require linux-rp.inc -PR = "r8" +PR = "r9" # Handy URLs # git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;protocol=git;tag=ef7d1b244fa6c94fb76d5f787b8629df64ea4046 diff --git a/packages/linux/linux.inc b/packages/linux/linux.inc index 4a09c92975..a25dc44083 100644 --- a/packages/linux/linux.inc +++ b/packages/linux/linux.inc @@ -2,18 +2,23 @@ DESCRIPTION = "Linux Kernel" SECTION = "kernel" LICENSE = "GPL" +inherit kernel + # These devices need mkimage to generate a kernel image -DEPENDS_kb9202 = "u-boot-mkimage-openmoko-native" -DEPENDS_at32stk1000 = "u-boot-mkimage-openmoko-native" -DEPENDS_atngw100 = "u-boot-mkimage-openmoko-native" -DEPENDS_at91sam9263ek = "u-boot-mkimage-openmoko-native" -DEPENDS_sarge-at91 = "u-boot-mkimage-openmoko-native" -DEPENDS_gumstix-connex = "u-boot-mkimage-openmoko-native" -DEPENDS_gumstix-verdex = "u-boot-mkimage-openmoko-native" +DEPENDS_append_kb9202 = " u-boot-mkimage-openmoko-native " +DEPENDS_append_at32stk1000 = " u-boot-mkimage-openmoko-native " +DEPENDS_append_atngw100 = " u-boot-mkimage-openmoko-native " +DEPENDS_append_at91sam9263ek = " u-boot-mkimage-openmoko-native " +DEPENDS_append_at91sam9261ek = " u-boot-mkimage-openmoko-native " +DEPENDS_append_at91sam9260ek = " u-boot-mkimage-openmoko-native " +DEPENDS_append_sarge-at91 = " u-boot-mkimage-openmoko-native " +DEPENDS_append_gumstix-connex = " u-boot-mkimage-openmoko-native " +DEPENDS_append_gumstix-verdex = " u-boot-mkimage-openmoko-native " +DEPENDS_append_fic-gta01 = " u-boot-mkimage-openmoko-native " +DEPENDS_append_fic-gta02 = " u-boot-mkimage-openmoko-native " -inherit kernel -# Specify the commandline for you device here: +# Specify the commandline for you device #boot from mmc CMDLINE_at91sam9263ek = "mem=64M console=ttyS0,115200 root=/dev/mmcblk0p1 rootfstype=ext2 rootdelay=5" @@ -23,6 +28,12 @@ CMDLINE_at91sam9263ek = "mem=64M console=ttyS0,115200 root=/dev/mmcblk0p1 rootfs do_configure_prepend() { echo "" > ${S}/.config + if [ -e ${WORKDIR}/logo_linux_clut224.ppm ]; then + install -m 0644 ${WORKDIR}/logo_linux_clut224.ppm drivers/video/logo/logo_linux_clut224.ppm + echo "CONFIG_LOGO=y" >> ${S}/.config + echo "CONFIG_LOGO_LINUX_CLUT224=y" >> ${S}/.config + fi + if [ "${TARGET_OS}" == "linux-gnueabi" -o "${TARGET_OS}" == "linux-uclibcgnueabi" ]; then echo "CONFIG_AEABI=y" >> ${S}/.config echo "CONFIG_OABI_COMPAT=y" >> ${S}/.config @@ -36,6 +47,8 @@ do_configure_prepend() { sed -e '/CONFIG_AEABI/d' \ -e '/CONFIG_OABI_COMPAT=/d' \ -e '/CONFIG_CMDLINE=/d' \ + -e '/CONFIG_LOGO=/d' \ + -e '/CONFIG_LOGO_LINUX_CLUT224=/d' \ < '${WORKDIR}/defconfig' >>'${S}/.config' yes '' | oe_runmake oldconfig @@ -61,16 +74,21 @@ do_deploy() { tar -cvzf ${DEPLOY_DIR_IMAGE}/modules-${KERNEL_RELEASE}-${PR}-${MACHINE}.tgz -C ${D} lib if test "x${KERNEL_IMAGETYPE}" = "xuImage" ; then - ${OBJCOPY} -O binary -R .note -R .comment -S vmlinux linux.bin - rm -f linux.bin.gz - gzip -9 linux.bin - uboot-mkimage -A ${ARCH} -O linux -T kernel -C gzip -a ${UBOOT_ENTRYPOINT} -e ${UBOOT_ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin.gz ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE}-${DATETIME}.bin - rm -f linux.bin.gz - fi + if test -e arch/${ARCH}/boot/compressed/vmlinux ; then + ${OBJCOPY} -O binary -R .note -R .comment -S arch/${ARCH}/boot/compressed/vmlinux linux.bin + uboot-mkimage -A ${ARCH} -O linux -T kernel -C none -a ${UBOOT_ENTRYPOINT} -e ${UBOOT_ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE}-${DATETIME}.bin + rm -f linux.bin + else + ${OBJCOPY} -O binary -R .note -R .comment -S vmlinux linux.bin + rm -f linux.bin.gz + gzip -9 linux.bin + uboot-mkimage -A ${ARCH} -O linux -T kernel -C gzip -a ${UBOOT_ENTRYPOINT} -e ${UBOOT_ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin.gz ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE}-${DATETIME}.bin + rm -f linux.bin.gz + fi + fi } do_deploy[dirs] = "${S}" -addtask prepatch before do_patch after do_unpack addtask deploy before do_package after do_install diff --git a/packages/linux/linux/ts72xx/.mtn2git_empty b/packages/linux/linux/ts72xx/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/linux/linux/ts72xx/.mtn2git_empty diff --git a/packages/linux/linux/ts72xx/defconfig b/packages/linux/linux/ts72xx/defconfig new file mode 100644 index 0000000000..75931d9cb1 --- /dev/null +++ b/packages/linux/linux/ts72xx/defconfig @@ -0,0 +1,1184 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.22.6 +# Wed Sep 5 00:08:45 2007 +# +CONFIG_ARM=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +# CONFIG_GENERIC_GPIO is not set +# CONFIG_GENERIC_TIME is not set +# CONFIG_GENERIC_CLOCKEVENTS is not set +CONFIG_MMU=y +# CONFIG_NO_IOPORT is not set +CONFIG_GENERIC_HARDIRQS=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +# CONFIG_ARCH_HAS_ILOG2_U32 is not set +# CONFIG_ARCH_HAS_ILOG2_U64 is not set +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_ZONE_DMA=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" + +# +# Code maturity level options +# +CONFIG_EXPERIMENTAL=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 + +# +# General setup +# +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_SWAP=y +CONFIG_SYSVIPC=y +# CONFIG_IPC_NS is not set +CONFIG_SYSVIPC_SYSCTL=y +# CONFIG_POSIX_MQUEUE is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set +# CONFIG_UTS_NS is not set +# CONFIG_AUDIT is not set +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_SYSFS_DEPRECATED=y +# CONFIG_RELAY is not set +# CONFIG_BLK_DEV_INITRD is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_EMBEDDED=y +CONFIG_UID16=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_ANON_INODES=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLAB=y +# CONFIG_SLUB is not set +# CONFIG_SLOB is not set +CONFIG_RT_MUTEXES=y +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=0 + +# +# Loadable module support +# +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_KMOD=y + +# +# Block layer +# +CONFIG_BLOCK=y +# CONFIG_LBD is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_LSF is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +# CONFIG_IOSCHED_AS is not set +CONFIG_IOSCHED_DEADLINE=y +# CONFIG_IOSCHED_CFQ is not set +# CONFIG_DEFAULT_AS is not set +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" + +# +# System Type +# +# CONFIG_ARCH_AAEC2000 is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_CLPS7500 is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_CO285 is not set +# CONFIG_ARCH_EBSA110 is not set +CONFIG_ARCH_EP93XX=y +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_IMX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP23XX is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_L7200 is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_NS9XXX is not set +# CONFIG_ARCH_PNX4008 is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C2410 is not set +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_LH7A40X is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP is not set + +# +# Cirrus EP93xx Implementation Options +# +CONFIG_CRUNCH=y + +# +# EP93xx Platforms +# +# CONFIG_MACH_ADSSPHERE is not set +CONFIG_MACH_EDB9302=y +# CONFIG_MACH_EDB9302A is not set +# CONFIG_MACH_EDB9312 is not set +CONFIG_MACH_EDB9315=y +CONFIG_MACH_EDB9315A=y +CONFIG_MACH_GESBC9312=y +# CONFIG_MACH_MICRO9 is not set +# CONFIG_MACH_MICRO9H is not set +# CONFIG_MACH_MICRO9M is not set +# CONFIG_MACH_MICRO9L is not set +CONFIG_MACH_TS72XX=y + +# +# Processor Type +# +CONFIG_CPU_32=y +CONFIG_CPU_ARM920T=y +CONFIG_CPU_32v4T=y +CONFIG_CPU_ABRT_EV4T=y +CONFIG_CPU_CACHE_V4WT=y +CONFIG_CPU_CACHE_VIVT=y +CONFIG_CPU_COPY_V4WB=y +CONFIG_CPU_TLB_V4WBI=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +CONFIG_ARM_THUMB=y +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_WRITETHROUGH is not set +# CONFIG_OUTER_CACHE is not set +CONFIG_ARM_VIC=y + +# +# Bus support +# +CONFIG_ARM_AMBA=y +# CONFIG_ARCH_SUPPORTS_MSI is not set + +# +# PCCARD (PCMCIA/CardBus) support +# +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +# CONFIG_TICK_ONESHOT is not set +# CONFIG_PREEMPT is not set +# CONFIG_NO_IDLE_HZ is not set +CONFIG_HZ=100 +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_DISCONTIGMEM_MANUAL is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +# CONFIG_SPARSEMEM_STATIC is not set +CONFIG_SPLIT_PTLOCK_CPUS=4096 +# CONFIG_RESOURCES_64BIT is not set +CONFIG_ZONE_DMA_FLAG=1 +CONFIG_ALIGNMENT_TRAP=y + +# +# Boot options +# +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_CMDLINE="console=ttyAM0,115200 ip=192.168.1.3:192.168.1.2:192.168.1.2:255.255.255.0 root=/dev/nfs nfsroot=192.168.1.2:/media/data/devel/om2007.2/ts72xx/tmp/deploy/glibc/images/ts72xx/nfs_root" +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_FPE_NWFPE=y +CONFIG_FPE_NWFPE_XP=y +# CONFIG_FPE_FASTFPE is not set + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_BINFMT_AOUT is not set +# CONFIG_BINFMT_MISC is not set + +# +# Power management options +# +# CONFIG_PM is not set + +# +# Networking +# +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +CONFIG_PACKET_MMAP=y +CONFIG_UNIX=y +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +CONFIG_NET_KEY=y +# CONFIG_NET_KEY_MIGRATE is not set +CONFIG_INET=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_FIB_HASH=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +# CONFIG_IP_PNP_RARP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE is not set +# CONFIG_ARPD is not set +CONFIG_SYN_COOKIES=y +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_XFRM_TUNNEL is not set +CONFIG_INET_TUNNEL=y +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=y +# CONFIG_IPV6_PRIVACY is not set +# CONFIG_IPV6_ROUTER_PREF is not set +# CONFIG_IPV6_OPTIMISTIC_DAD is not set +# CONFIG_INET6_AH is not set +# CONFIG_INET6_ESP is not set +# CONFIG_INET6_IPCOMP is not set +# CONFIG_IPV6_MIP6 is not set +# CONFIG_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +CONFIG_INET6_XFRM_MODE_TRANSPORT=y +CONFIG_INET6_XFRM_MODE_TUNNEL=y +CONFIG_INET6_XFRM_MODE_BEET=y +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +CONFIG_IPV6_SIT=y +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_MULTIPLE_TABLES is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NETFILTER is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_BRIDGE is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set + +# +# QoS and/or fair queueing +# +# CONFIG_NET_SCHED is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set + +# +# Wireless +# +# CONFIG_CFG80211 is not set +# CONFIG_WIRELESS_EXT is not set +# CONFIG_MAC80211 is not set +# CONFIG_IEEE80211 is not set +# CONFIG_RFKILL is not set + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +# CONFIG_FW_LOADER is not set +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set + +# +# Connector - unified userspace <-> kernelspace linker +# +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_DEBUG is not set +CONFIG_MTD_CONCAT=y +CONFIG_MTD_PARTITIONS=y +CONFIG_MTD_REDBOOT_PARTS=y +CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 +# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set +# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set +# CONFIG_MTD_CMDLINE_PARTS is not set +# CONFIG_MTD_AFS_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_CHAR=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set + +# +# RAM/ROM/Flash chip drivers +# +CONFIG_MTD_CFI=y +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_GEN_PROBE=y +CONFIG_MTD_CFI_ADV_OPTIONS=y +CONFIG_MTD_CFI_NOSWAP=y +# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set +# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set +# CONFIG_MTD_CFI_GEOMETRY 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_OTP is not set +CONFIG_MTD_CFI_INTELEXT=y +CONFIG_MTD_CFI_AMDSTD=y +CONFIG_MTD_CFI_STAA=y +CONFIG_MTD_CFI_UTIL=y +# CONFIG_MTD_RAM is not set +CONFIG_MTD_ROM=y +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +CONFIG_MTD_PHYSMAP=y +CONFIG_MTD_PHYSMAP_START=0x0 +CONFIG_MTD_PHYSMAP_LEN=0x0 +CONFIG_MTD_PHYSMAP_BANKWIDTH=1 +# CONFIG_MTD_ARM_INTEGRATOR is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# 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_NAND=y +CONFIG_MTD_NAND_VERIFY_WRITE=y +# CONFIG_MTD_NAND_ECC_SMC is not set +# CONFIG_MTD_NAND_MUSEUM_IDS is not set +CONFIG_MTD_NAND_TS7250=y +CONFIG_MTD_NAND_IDS=y +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_ONENAND is not set + +# +# UBI - Unsorted block images +# +# CONFIG_MTD_UBI is not set + +# +# Parallel port support +# +# CONFIG_PARPORT is not set + +# +# Plug and Play support +# +# CONFIG_PNPACPI is not set + +# +# Block devices +# +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_UB is not set +# CONFIG_BLK_DEV_RAM is not set +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set + +# +# SCSI device support +# +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +# CONFIG_SCSI_TGT is not set +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_PROC_FS is not set + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set + +# +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs +# +# CONFIG_SCSI_MULTI_LUN is not set +# 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 is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set + +# +# SCSI low-level drivers +# +# CONFIG_ISCSI_TCP is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_ATA is not set + +# +# Multi-device support (RAID and LVM) +# +# CONFIG_MD is not set + +# +# Network device support +# +CONFIG_NETDEVICES=y +# CONFIG_DUMMY is not set +# CONFIG_BONDING is not set +# CONFIG_EQUALIZER is not set +# CONFIG_TUN is not set +# CONFIG_PHYLIB is not set + +# +# Ethernet (10 or 100Mbit) +# +CONFIG_NET_ETHERNET=y +CONFIG_MII=y +CONFIG_EP93XX_ETH=y +# CONFIG_SMC91X is not set +# CONFIG_DM9000 is not set +# CONFIG_NETDEV_1000 is not set +# CONFIG_NETDEV_10000 is not set + +# +# Wireless LAN +# +# CONFIG_WLAN_PRE80211 is not set +# CONFIG_WLAN_80211 is not set + +# +# USB Network Adapters +# +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_USBNET_MII is not set +# CONFIG_USB_USBNET is not set +# CONFIG_WAN is not set +# CONFIG_PPP is not set +# CONFIG_SLIP is not set +# CONFIG_SHAPER is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set + +# +# ISDN subsystem +# +# CONFIG_ISDN is not set + +# +# Input device support +# +# CONFIG_INPUT is not set + +# +# Hardware I/O ports +# +# CONFIG_SERIO is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +# CONFIG_VT is not set +# CONFIG_SERIAL_NONSTANDARD is not set + +# +# Serial drivers +# +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_AMBA_PL010=y +CONFIG_SERIAL_AMBA_PL010_CONSOLE=y +# CONFIG_SERIAL_AMBA_PL011 is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_UNIX98_PTYS=y +# CONFIG_LEGACY_PTYS is not set + +# +# IPMI +# +# CONFIG_IPMI_HANDLER is not set +CONFIG_WATCHDOG=y +# CONFIG_WATCHDOG_NOWAYOUT is not set + +# +# Watchdog Device Drivers +# +# CONFIG_SOFT_WATCHDOG is not set +# CONFIG_EP93XX_WATCHDOG is not set +CONFIG_TS72XX_WATCHDOG=y + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_NVRAM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set + +# +# TPM devices +# +# CONFIG_TCG_TPM is not set +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=y + +# +# I2C Algorithms +# +CONFIG_I2C_ALGOBIT=y +# CONFIG_I2C_ALGOPCF is not set +# CONFIG_I2C_ALGOPCA is not set + +# +# I2C Hardware Bus support +# +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_STUB is not set +# CONFIG_I2C_TINY_USB is not set +# CONFIG_I2C_EP93XX is not set + +# +# Miscellaneous I2C Chip support +# +# CONFIG_SENSORS_DS1337 is not set +# CONFIG_SENSORS_DS1374 is not set +# CONFIG_SENSORS_EEPROM is not set +# CONFIG_SENSORS_PCF8574 is not set +# CONFIG_SENSORS_PCA9539 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_SENSORS_MAX6875 is not set +CONFIG_I2C_DEBUG_CORE=y +CONFIG_I2C_DEBUG_ALGO=y +CONFIG_I2C_DEBUG_BUS=y +CONFIG_I2C_DEBUG_CHIP=y + +# +# SPI support +# +# CONFIG_SPI is not set +# CONFIG_SPI_MASTER is not set + +# +# Dallas's 1-wire bus +# +# CONFIG_W1 is not set +# CONFIG_HWMON is not set + +# +# Misc devices +# + +# +# Multifunction device drivers +# +# CONFIG_MFD_SM501 is not set + +# +# LED devices +# +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y + +# +# LED drivers +# +CONFIG_LEDS_EP93XX=y + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_TIMER=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y + +# +# Multimedia devices +# +# CONFIG_VIDEO_DEV is not set +# CONFIG_DVB_CORE is not set +# CONFIG_DAB is not set + +# +# Graphics support +# +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set + +# +# Display device support +# +# CONFIG_DISPLAY_SUPPORT is not set +# CONFIG_VGASTATE is not set +# CONFIG_FB is not set + +# +# Sound +# +# CONFIG_SOUND is not set + +# +# USB support +# +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +# CONFIG_USB_ARCH_HAS_EHCI is not set +CONFIG_USB=y +# CONFIG_USB_DEBUG is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEVICEFS=y +CONFIG_USB_DEVICE_CLASS=y +CONFIG_USB_DYNAMIC_MINORS=y +# CONFIG_USB_OTG is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_ISP116X_HCD is not set +CONFIG_USB_OHCI_HCD=y +# 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_SL811_HCD is not set + +# +# USB Device Class drivers +# +CONFIG_USB_ACM=y +# CONFIG_USB_PRINTER is not set + +# +# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' +# + +# +# may also be needed; see USB_STORAGE Help for more information +# +CONFIG_USB_STORAGE=y +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_DPCM is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_LIBUSUAL is not set + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set +# CONFIG_USB_MON is not set + +# +# USB port drivers +# + +# +# USB Serial Converter support +# +CONFIG_USB_SERIAL=y +CONFIG_USB_SERIAL_CONSOLE=y +# CONFIG_USB_SERIAL_GENERIC is not set +# CONFIG_USB_SERIAL_AIRCABLE is not set +# CONFIG_USB_SERIAL_AIRPRIME is not set +# CONFIG_USB_SERIAL_ARK3116 is not set +# CONFIG_USB_SERIAL_BELKIN is not set +# CONFIG_USB_SERIAL_WHITEHEAT is not set +# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set +# CONFIG_USB_SERIAL_CP2101 is not set +# CONFIG_USB_SERIAL_CYPRESS_M8 is not set +# CONFIG_USB_SERIAL_EMPEG is not set +CONFIG_USB_SERIAL_FTDI_SIO=m +# CONFIG_USB_SERIAL_FUNSOFT is not set +# CONFIG_USB_SERIAL_VISOR is not set +# CONFIG_USB_SERIAL_IPAQ is not set +# CONFIG_USB_SERIAL_IR is not set +# CONFIG_USB_SERIAL_EDGEPORT is not set +# CONFIG_USB_SERIAL_EDGEPORT_TI is not set +# CONFIG_USB_SERIAL_GARMIN is not set +# CONFIG_USB_SERIAL_IPW is not set +# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set +# CONFIG_USB_SERIAL_KEYSPAN is not set +# CONFIG_USB_SERIAL_KLSI is not set +# CONFIG_USB_SERIAL_KOBIL_SCT is not set +# CONFIG_USB_SERIAL_MCT_U232 is not set +# CONFIG_USB_SERIAL_MOS7720 is not set +# CONFIG_USB_SERIAL_MOS7840 is not set +# CONFIG_USB_SERIAL_NAVMAN is not set +CONFIG_USB_SERIAL_PL2303=m +# CONFIG_USB_SERIAL_HP4X is not set +# CONFIG_USB_SERIAL_SAFE is not set +# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set +# CONFIG_USB_SERIAL_TI is not set +# CONFIG_USB_SERIAL_CYBERJACK is not set +# CONFIG_USB_SERIAL_XIRCOM is not set +# CONFIG_USB_SERIAL_OPTION is not set +# CONFIG_USB_SERIAL_OMNINET is not set +# CONFIG_USB_SERIAL_DEBUG is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_AUERSWALD is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_BERRY_CHARGE is not set +# CONFIG_USB_LED is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_PHIDGET is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set + +# +# USB DSL modem support +# + +# +# USB Gadget Support +# +# CONFIG_USB_GADGET is not set +# CONFIG_MMC is not set + +# +# Real Time Clock +# +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 is not set +# CONFIG_RTC_DRV_TEST is not set + +# +# I2C RTC drivers +# +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_MAX6900 is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF8583 is not set + +# +# SPI RTC drivers +# + +# +# Platform RTC drivers +# +# CONFIG_RTC_DRV_CMOS is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1742 is not set +CONFIG_RTC_DRV_M48T86=y +# CONFIG_RTC_DRV_V3020 is not set + +# +# on-CPU RTC drivers +# +CONFIG_RTC_DRV_EP93XX=y +# CONFIG_RTC_DRV_PL031 is not set + +# +# File systems +# +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +# CONFIG_EXT2_FS_XIP is not set +CONFIG_EXT3_FS=y +# CONFIG_EXT3_FS_XATTR is not set +# CONFIG_EXT4DEV_FS is not set +CONFIG_JBD=y +# CONFIG_JBD_DEBUG is not set +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_FS_POSIX_ACL is not set +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_ROMFS_FS is not set +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_QUOTA is not set +CONFIG_DNOTIFY=y +# CONFIG_AUTOFS_FS is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +# CONFIG_MSDOS_FS is not set +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +# CONFIG_TMPFS_POSIX_ACL is not set +# CONFIG_HUGETLB_PAGE is not set +CONFIG_RAMFS=y +# CONFIG_CONFIGFS_FS is not set + +# +# Miscellaneous filesystems +# +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# 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_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +# CONFIG_CRAMFS is not set +# CONFIG_VXFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set + +# +# Network File Systems +# +CONFIG_NFS_FS=y +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_DIRECTIO is not set +# CONFIG_NFSD is not set +CONFIG_ROOT_NFS=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_SUNRPC_BIND34 is not set +# CONFIG_RPCSEC_GSS_KRB5 is not set +# CONFIG_RPCSEC_GSS_SPKM3 is not set +# CONFIG_SMB_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +# CONFIG_9P_FS is not set + +# +# 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 is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +# CONFIG_EFI_PARTITION is not set +# CONFIG_SYSV68_PARTITION is not set + +# +# Native Language Support +# +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +# CONFIG_NLS_ASCII is not set +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +# CONFIG_NLS_UTF8 is not set + +# +# Distributed Lock Manager +# +# CONFIG_DLM is not set + +# +# Profiling support +# +# CONFIG_PROFILING is not set + +# +# Kernel hacking +# +# CONFIG_PRINTK_TIME is not set +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_MAGIC_SYSRQ=y +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_SHIRQ is not set +CONFIG_DETECT_SOFTLOCKUP=y +# CONFIG_SCHEDSTATS is not set +# CONFIG_TIMER_STATS is not set +CONFIG_DEBUG_SLAB=y +# CONFIG_DEBUG_SLAB_LEAK is not set +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_RT_MUTEX_TESTER is not set +CONFIG_DEBUG_SPINLOCK=y +CONFIG_DEBUG_MUTEXES=y +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_DEBUG_SPINLOCK_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS 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_LIST is not set +CONFIG_FRAME_POINTER=y +CONFIG_FORCED_INLINING=y +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_FAULT_INJECTION is not set +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_ERRORS=y +CONFIG_DEBUG_LL=y +# CONFIG_DEBUG_ICEDCC is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set + +# +# Cryptographic options +# +# CONFIG_CRYPTO is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +# CONFIG_CRC_CCITT is not set +# CONFIG_CRC16 is not set +# CONFIG_CRC_ITU_T is not set +CONFIG_CRC32=y +CONFIG_LIBCRC32C=y +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_PLIST=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y +CONFIG_HAS_DMA=y diff --git a/packages/linux/linux_2.6.14.bb b/packages/linux/linux_2.6.14.bb index 85febb45d9..d625d15ebe 100644 --- a/packages/linux/linux_2.6.14.bb +++ b/packages/linux/linux_2.6.14.bb @@ -1,14 +1,10 @@ DESCRIPTION = "Linux Kernel" SECTION = "kernel" LICENSE = "GPL" -PR = "r0" SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \ file://defconfig" -SRC_URI_append_progear = " \ - file://progear_bl-r6.patch;patch=1 \ - " SRC_URI_append_acern30 = "\ http://lechat.rtp-net.org/ipaq/patches/2.6.14-3/v2.6.14-gitcurrent.patch;patch=1 \ http://lechat.rtp-net.org/ipaq/patches/2.6.14-3/full.patch;patch=1 \ diff --git a/packages/linux/linux_2.6.20.bb b/packages/linux/linux_2.6.20.bb index 13b83925b5..81033e09ee 100644 --- a/packages/linux/linux_2.6.20.bb +++ b/packages/linux/linux_2.6.20.bb @@ -1,8 +1,10 @@ require linux.inc DEFAULT_PREFERENCE_at91sam9263ek = "20" +DEFAULT_PREFERENCE_at91sam9261ek = "20" +DEFAULT_PREFERENCE_at91sam9260ek = "20" -PR = "r7" +PR = "r8" SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \ file://defconfig" @@ -16,5 +18,13 @@ SRC_URI_append_at91sam9263ek = " \ http://maxim.org.za/AT91RM9200/2.6/${PV}-at91.patch.gz;patch=1 \ http://www.at91.com/repFichier/Project-217/linux-${PV}-at91-exp.diff.bz2;patch=1 \ " +SRC_URI_append_at91sam9261ek = " \ + http://maxim.org.za/AT91RM9200/2.6/${PV}-at91.patch.gz;patch=1 \ + http://www.at91.com/repFichier/Project-217/linux-${PV}-at91-exp.diff.bz2;patch=1 \ + " +SRC_URI_append_at91sam9260ek = " \ + http://maxim.org.za/AT91RM9200/2.6/${PV}-at91.patch.gz;patch=1 \ + http://www.at91.com/repFichier/Project-217/linux-${PV}-at91-exp.diff.bz2;patch=1 \ + " diff --git a/packages/linux/linux_2.6.21+2.6.22-rc1.bb b/packages/linux/linux_2.6.21+2.6.22-rc1.bb index faca5a88ec..35b2efe74a 100644 --- a/packages/linux/linux_2.6.21+2.6.22-rc1.bb +++ b/packages/linux/linux_2.6.21+2.6.22-rc1.bb @@ -6,7 +6,7 @@ DEFAULT_PREFERENCE_at91sam9263ek = "-1" KERNEL_VERSION = "2.6.22-rc1" KERNEL_RELEASE = "2.6.22-rc1" -PR = "r1" +PR = "r2" SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.21.tar.bz2 \ ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/testing/patch-2.6.22-rc1.bz2;patch=1 \ diff --git a/packages/linux/linux_2.6.21.bb b/packages/linux/linux_2.6.21.bb index 15d2241563..2bfbee8184 100644 --- a/packages/linux/linux_2.6.21.bb +++ b/packages/linux/linux_2.6.21.bb @@ -4,7 +4,7 @@ DEFAULT_PREFERENCE_at91sam9263ek = "-1" DEFAULT_PREFERENCE_gumstix-connex = "1" DEFAULT_PREFERENCE_gumstix-verdex = "1" -PR = "r7" +PR = "r9" SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \ file://defconfig \ @@ -63,7 +63,6 @@ GUMSTIX_PATCHES = "\ file://mmc-card-detect.patch;patch=1 \ file://misalignment-handling.patch;patch=1 \ file://compile-fix-pxa_cpufreq.patch;patch=1 \ - file://ramfs-mode-support.patch;patch=1 \ file://pxafb-definition.patch;patch=1 \ file://270-usb-gadget-udc.patch;patch=1 \ file://gumstix-pxa270-usb-host.patch;patch=1 \ diff --git a/packages/linux/linux_2.6.22+2.6.23-rc3.bb b/packages/linux/linux_2.6.22+2.6.23-rc3.bb index 5671173672..618b6bf44a 100644 --- a/packages/linux/linux_2.6.22+2.6.23-rc3.bb +++ b/packages/linux/linux_2.6.22+2.6.23-rc3.bb @@ -8,7 +8,7 @@ BASE_KERNEL_VERSION = "2.6.22" KERNEL_VERSION = "2.6.23-rc3" KERNEL_RELEASE = "2.6.23-rc3" -PR = "r0" +PR = "r1" SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${BASE_KERNEL_VERSION}.tar.bz2 \ ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/testing/patch-${KERNEL_VERSION}.bz2;patch=1 \ diff --git a/packages/linux/linux_2.6.22+2.6.23-rc5.bb b/packages/linux/linux_2.6.22+2.6.23-rc5.bb new file mode 100644 index 0000000000..3165c39a11 --- /dev/null +++ b/packages/linux/linux_2.6.22+2.6.23-rc5.bb @@ -0,0 +1,32 @@ +require linux.inc + +DEFAULT_PREFERENCE = "-1" +DEFAULT_PREFERENCE_ts72xx = "-1" + +PR = "r1" + +BASE_KERNEL_VERSION = "2.6.22" +KERNEL_VERSION = "2.6.23-rc5" +KERNEL_RELEASE = "2.6.23-rc5" + +SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${BASE_KERNEL_VERSION}.tar.bz2 \ + ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/testing/patch-${KERNEL_VERSION}.bz2;patch=1 \ + file://defconfig \ + " + +SRC_URI_append_ts72xx = "\ + file://ep93xx-gpio-interrupt-debounce.diff;patch=1 \ + file://ep93xx-i2c-bus.diff;patch=1 \ + file://ep93xx-i2c.diff;patch=1 \ + file://ep93xx-leds.diff;patch=1 \ + file://ep93xx-serial-uartbaud.diff;patch=1 \ + file://ep93xx-serial-clocks.diff;patch=1 \ + file://ep93xx-timer-accuracy.diff;patch=1 \ + file://ep93xx-maverick-uniqid.patch;patch=1 \ + file://ts72xx-nfbit-fix.patch;patch=1 \ + file://ts72xx-machine-id-fix.patch;patch=1 \ + file://ts72xx-watchdog.patch;patch=1 \ + file://ts72xx-use-cpld-reset.patch;patch=1 \ + " + +S = "${WORKDIR}/linux-2.6.22" diff --git a/packages/linux/linux_2.6.22.6.bb b/packages/linux/linux_2.6.22.6.bb new file mode 100644 index 0000000000..dfe1e2e8b1 --- /dev/null +++ b/packages/linux/linux_2.6.22.6.bb @@ -0,0 +1,28 @@ +require linux.inc + +DEFAULT_PREFERENCE = "-1" +DEFAULT_PREFERENCE_ts72xx = "1" + +PR = "r1" + +SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.22.tar.bz2 \ + ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/patch-${PV}.bz2;patch=1 \ + file://defconfig \ + " + +SRC_URI_append_ts72xx = "\ + file://ep93xx-gpio-interrupt-debounce.diff;patch=1 \ + file://ep93xx-i2c-bus.diff;patch=1 \ + file://ep93xx-i2c.diff;patch=1 \ + file://ep93xx-leds.diff;patch=1 \ + file://ep93xx-serial-uartbaud.diff;patch=1 \ + file://ep93xx-serial-clocks.diff;patch=1 \ + file://ep93xx-timer-accuracy.diff;patch=1 \ + file://ep93xx-maverick-uniqid.patch;patch=1 \ + file://ts72xx-nfbit-fix.patch;patch=1 \ + file://ts72xx-machine-id-fix.patch;patch=1 \ + file://ts72xx-watchdog.patch;patch=1 \ + file://ts72xx-use-cpld-reset.patch;patch=1 \ + " + +S = "${WORKDIR}/linux-2.6.22" diff --git a/packages/linux/linux_2.6.22.bb b/packages/linux/linux_2.6.22.bb index 8674d63af2..64b57d3076 100644 --- a/packages/linux/linux_2.6.22.bb +++ b/packages/linux/linux_2.6.22.bb @@ -4,7 +4,7 @@ require linux.inc DEFAULT_PREFERENCE = "-1" DEFAULT_PREFERENCE_avr32 = "1" -PR = "r2" +PR = "r3" SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.22.tar.bz2 \ file://defconfig \ diff --git a/packages/madwifi/madwifi-ng_r2702-20070903.bb b/packages/madwifi/madwifi-ng_r2702-20070903.bb index cf614c96ae..43a491bd1f 100644 --- a/packages/madwifi/madwifi-ng_r2702-20070903.bb +++ b/packages/madwifi/madwifi-ng_r2702-20070903.bb @@ -3,6 +3,7 @@ # Don't use this unless you know what you're doing -- this version does # *NOT* build on BE kernels. DEFAULT_PREFERENCE = "-1" +DEFAULT_PREFERENCE_alix = "1" # Disable stripping of kernel modules, since this action strips too # much out, and the resulting module won't load. diff --git a/packages/matchbox-keyboard/files/matchbox-keyboard-applet.patch b/packages/matchbox-keyboard/files/matchbox-keyboard-applet.patch new file mode 100644 index 0000000000..29dc9c0ab6 --- /dev/null +++ b/packages/matchbox-keyboard/files/matchbox-keyboard-applet.patch @@ -0,0 +1,92 @@ +Index: applet/applet.c +=================================================================== +--- applet/applet.c (revision 1633) ++++ applet/applet.c (working copy) +@@ -1,30 +1,76 @@ ++/* ++ * keyboard - Tray applet to toggle matchbox-keyboard's gtk-im ++ * ++ * Copyright 2007, Openedhand Ltd. ++ * Author Stefan Schmidt <stefan@openmoko.org> ++ * ++ * 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; version 2 of the license. ++ * ++ * 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. ++ * ++ */ ++ + #include <gtk/gtk.h> ++#include <gtk/gtkeventbox.h> + #include <matchbox-panel/mb-panel.h> + #include <matchbox-panel/mb-panel-scaling-image.h> + #include <gtk-im/im-protocol.h> + ++typedef struct { ++ GtkWidget *event_box; ++ gboolean show; ++} KeyboardApplet; ++ + static void +-on_toggled (GtkToggleButton *button) ++on_toggled (GtkWidget *event_box, GdkEventButton *event, KeyboardApplet *applet) + { +- protocol_send_event (gtk_toggle_button_get_active (button) ? +- INVOKE_KBD_SHOW : INVOKE_KBD_HIDE); ++ ++ protocol_send_event (applet->show ? INVOKE_KBD_SHOW : INVOKE_KBD_HIDE); ++ ++ if (applet->show) ++ applet->show = FALSE; ++ else ++ applet->show = TRUE; + } + ++static void ++keyboard_applet_free (KeyboardApplet *applet) ++{ ++ g_slice_free (KeyboardApplet, applet); ++} ++ + G_MODULE_EXPORT GtkWidget * + mb_panel_applet_create (const char *id, GtkOrientation orientation) + { +- GtkWidget *button, *image; ++ KeyboardApplet *applet; ++ MBPanelScalingImage *image; ++ //GtkImage *image; + +- button = gtk_toggle_button_new (); +- gtk_widget_set_name (button, "MatchboxPanelKeyboard"); +- gtk_button_set_relief (GTK_BUTTON (button), GTK_RELIEF_NONE); ++ /* Create applet data structure */ ++ applet = g_slice_new (KeyboardApplet); + ++ applet->event_box = gtk_event_box_new (); ++ gtk_event_box_set_visible_window (applet->event_box, FALSE); ++ ++ gtk_widget_set_name (applet->event_box, "MatchboxPanelKeyboard"); ++ + image = mb_panel_scaling_image_new (orientation, "matchbox-keyboard"); +- gtk_container_add (GTK_CONTAINER (button), image); + +- g_signal_connect (button, "toggled", G_CALLBACK (on_toggled), NULL); ++ gtk_container_add (GTK_CONTAINER (applet->event_box), image); + +- gtk_widget_show_all (button); ++ g_object_weak_ref (G_OBJECT (applet->event_box), ++ (GWeakNotify) keyboard_applet_free, applet); + +- return button; ++ /* Toggle the on release event */ ++ g_signal_connect (applet->event_box, "button-release-event", ++ G_CALLBACK (on_toggled), applet); ++ ++ gtk_widget_show_all (applet->event_box); ++ ++ return applet->event_box; + } diff --git a/packages/matchbox-keyboard/matchbox-keyboard-inputmethod_svn.bb b/packages/matchbox-keyboard/matchbox-keyboard-inputmethod_svn.bb index 0ecb5e947d..b7ef698938 100644 --- a/packages/matchbox-keyboard/matchbox-keyboard-inputmethod_svn.bb +++ b/packages/matchbox-keyboard/matchbox-keyboard-inputmethod_svn.bb @@ -5,11 +5,12 @@ RCONFLICTS = matchbox-keyboard RPROVIDES_${PN} = matchbox-keyboard #DEFAULT_PREFERENCE = "-1" SECTION = "x11" -PV = "0.0+svn${SRCDATE}" -PR = "r2" +PV = "0.0+svnr${SRCREV}" +PR = "r4" SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=matchbox-keyboard;proto=http \ - file://80matchboxkeyboard" + file://matchbox-keyboard-applet.patch;patch=1;pnum=0 \ + file://80matchboxkeyboard" SRC_URI_append_fic-gta01 = " file://fic-gta01-font-size.patch;patch=1" diff --git a/packages/matchbox-keyboard/matchbox-keyboard_svn.bb b/packages/matchbox-keyboard/matchbox-keyboard_svn.bb index ba002869c7..27ea4aea1d 100644 --- a/packages/matchbox-keyboard/matchbox-keyboard_svn.bb +++ b/packages/matchbox-keyboard/matchbox-keyboard_svn.bb @@ -4,14 +4,14 @@ DEPENDS = "libfakekey expat libxft" RCONFLICTS = matchbox-keyboard-inputmethod RPROVIDES_${PN} = matchbox-keyboard-inputmethod SECTION = "x11" -PV = "0.0+svn${SRCDATE}" +PV = "0.0+svnr${SRCREV}" PR="r6" SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http \ file://smallscreen-fontsize.patch;patch=1 \ - file://2-Add-new-modifier--layout--Used-to-cycle-thru-all-available-layouts.patch;patch=1 \ - file://3-Changes-to-improve-layout-rendering--especially-after-adding-support-for.patch;patch=1 \ - file://4-Add-rendering-debug-logging.patch;patch=1 \ +# file://2-Add-new-modifier--layout--Used-to-cycle-thru-all-available-layouts.patch;patch=1 \ +# file://3-Changes-to-improve-layout-rendering--especially-after-adding-support-for.patch;patch=1 \ +# file://4-Add-rendering-debug-logging.patch;patch=1 \ file://5-Add-support-for-loading-multiple-independent-layouts.patch;patch=1 \ file://6-Add-layout-switch-key-to-all-layouts.patch;patch=1 \ " @@ -26,5 +26,5 @@ EXTRA_OECONF = "--disable-cairo" FILES_${PN} = "${bindir}/* \ ${datadir}/applications \ ${datadir}/pixmaps \ - ${datadir}/matchbox-keyboard" + ${datadir}/matchbox-keyboard" diff --git a/packages/matchbox-keyboard/mboxkbd-layouts-gui_git.bb b/packages/matchbox-keyboard/mboxkbd-layouts-gui_git.bb index 661f5f9017..2dfba07fc7 100644 --- a/packages/matchbox-keyboard/mboxkbd-layouts-gui_git.bb +++ b/packages/matchbox-keyboard/mboxkbd-layouts-gui_git.bb @@ -5,6 +5,8 @@ LICENSE = "GPL" DEPENDS = "gtk+" PR = "r3" +PV = "0.0+git${SRCDATE}" + SRC_URI = "git://ossfans.org/home/slapin/git/mk-layouts-gui.git;protocol=git" S = "${WORKDIR}/git" diff --git a/packages/matchbox-panel/matchbox-panel_svn.bb b/packages/matchbox-panel/matchbox-panel_svn.bb index 3ff258fe8f..e7fb3e6439 100644 --- a/packages/matchbox-panel/matchbox-panel_svn.bb +++ b/packages/matchbox-panel/matchbox-panel_svn.bb @@ -1,5 +1,5 @@ require matchbox-panel.inc -PV = "0.9.2+svn${SRCDATE}" +PV = "0.9.2+svnr${SRCREV}" DEFAULT_PREFERENCE = "-1" SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http" diff --git a/packages/matchbox-themes-extra/matchbox-theme-sato_svn.bb b/packages/matchbox-themes-extra/matchbox-theme-sato_svn.bb index 39b035bc7a..4972444211 100644 --- a/packages/matchbox-themes-extra/matchbox-theme-sato_svn.bb +++ b/packages/matchbox-themes-extra/matchbox-theme-sato_svn.bb @@ -3,7 +3,9 @@ LICENSE = "GPL" DEPENDS = "matchbox-wm" SECTION = "x11/wm" -PV = "0.1+svn${SRCDATE}" +DEFAULT_PREFERENCE = "-1" + +PV = "0.1+svnr${SRCREV}" PR = "r0" PACKAGE_ARCH = "all" diff --git a/packages/matchbox2/matchbox-desktop-2_svn.bb b/packages/matchbox2/matchbox-desktop-2_svn.bb index 31a6b9836d..8dc74ef509 100644 --- a/packages/matchbox2/matchbox-desktop-2_svn.bb +++ b/packages/matchbox2/matchbox-desktop-2_svn.bb @@ -3,7 +3,7 @@ LICENSE = "GPL" SECTION = "x11/panels" DEPENDS = "gtk+ startup-notification" -PV = "0.1+svn${SRCDATE}" +PV = "0.1+svnr${SRCREV}" PR = "r0" SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http" diff --git a/packages/matchbox2/matchbox-panel-2_svn.bb b/packages/matchbox2/matchbox-panel-2_svn.bb index 44d23e1a55..79fafff202 100644 --- a/packages/matchbox2/matchbox-panel-2_svn.bb +++ b/packages/matchbox2/matchbox-panel-2_svn.bb @@ -2,7 +2,7 @@ DESCRIPTION = "matchbox-panel-2 is a lightweight dock (system tray) application LICENSE = "GPL" SECTION = "x11/panels" DEPENDS = "gtk+ apmd startup-notification" -PV = "0.1+svn${SRCDATE}" +PV = "0.1+svnr${SRCREV}" PR = "r8" SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http" diff --git a/packages/meta/meta-sdk-gpe.bb b/packages/meta/meta-sdk-gpe.bb index 7b5ac70f48..a91f3192c7 100644 --- a/packages/meta/meta-sdk-gpe.bb +++ b/packages/meta/meta-sdk-gpe.bb @@ -26,16 +26,11 @@ TARGET_INSTALL = "\ RDEPENDS = "${TARGET_INSTALL} ${HOST_INSTALL}" -sdk_do_indexes () { - set -ex - rootfs_ipk_do_indexes - sdk_ipk_do_indexes - set +ex -} - do_populate_sdk() { - sdk_do_indexes - + set -ex + package_update_index_ipk + set +ex + rm -rf ${SDK_OUTPUT} mkdir -p ${SDK_OUTPUT} diff --git a/packages/meta/meta-sdk-sbox-gpe.bb b/packages/meta/meta-sdk-sbox-gpe.bb index c9b7737af2..28317c03fe 100644 --- a/packages/meta/meta-sdk-sbox-gpe.bb +++ b/packages/meta/meta-sdk-sbox-gpe.bb @@ -29,10 +29,9 @@ RDEPENDS = "${TARGET_INSTALL}" IPKG_TARGET = "ipkg-cl -f ${SDK_DIR}/ipkg-target.conf -o ${SDK_OUTPUT}/${prefix}" do_populate_sdk() { - - set -ex - rootfs_ipk_do_indexes - set +ex + set -ex + package_update_index_ipk + set +ex rm -rf ${SDK_OUTPUT} mkdir -p ${SDK_OUTPUT} diff --git a/packages/meta/meta-sdk-sbox.bb b/packages/meta/meta-sdk-sbox.bb index c0cb27d404..13c9612a74 100644 --- a/packages/meta/meta-sdk-sbox.bb +++ b/packages/meta/meta-sdk-sbox.bb @@ -25,10 +25,9 @@ RDEPENDS = "${TARGET_INSTALL}" IPKG_TARGET = "ipkg-cl -f ${SDK_DIR}/ipkg-target.conf -o ${SDK_OUTPUT}/${prefix}" do_populate_sdk() { - - set -ex - rootfs_ipk_do_indexes - set +ex + set -ex + package_update_index_ipk + set +ex rm -rf ${SDK_OUTPUT} mkdir -p ${SDK_OUTPUT} diff --git a/packages/meta/meta-sdk.bb b/packages/meta/meta-sdk.bb index cc163448ea..47796603db 100644 --- a/packages/meta/meta-sdk.bb +++ b/packages/meta/meta-sdk.bb @@ -23,15 +23,11 @@ TARGET_INSTALL = "\ RDEPENDS = "${TARGET_INSTALL} ${HOST_INSTALL}" -sdk_do_indexes () { - set -ex - rootfs_ipk_do_indexes - sdk_ipk_do_indexes - set +ex -} - do_populate_sdk() { - sdk_do_indexes + set -ex + package_update_index_ipk + set +ex + echo "Creating host.conf..." rm -rf ${SDK_OUTPUT} diff --git a/packages/netbase/netbase/a780/interfaces b/packages/netbase/netbase/a780/interfaces deleted file mode 100644 index 4e5d85e2c7..0000000000 --- a/packages/netbase/netbase/a780/interfaces +++ /dev/null @@ -1,44 +0,0 @@ -# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) - -# The loopback interface -auto lo -iface lo inet loopback - -# Wireless interfaces -iface wlan0 inet dhcp -wireless_mode managed -wireless_essid any -iface atml0 inet dhcp - -# Wired or wireless interfaces -iface eth0 inet dhcp -iface eth1 inet dhcp - -auto usb0 -# Ethernet/RNDIS gadget (g_ether) -# ... or on host side, usbnet and random hwaddr -iface usb0 inet static - address 192.168.1.2 - netmask 255.255.255.0 - network 192.168.1.0 - gateway 192.168.1.10 - - -# Zaurus 2.4 Lineo net_fd; obsolete -iface usbd0 inet static - address 192.168.129.201 - netmask 255.255.255.0 - network 192.168.129.0 - gateway 192.168.129.200 - -# iPAQ 2.4 mach-sa1100/usb-eth -# (192.168.0.202 is the iPAQ's IP, 192.168.0.200 is the host's IP) -iface usbf inet static - address 192.168.0.202 - netmask 255.255.255.0 - network 192.168.0.0 - gateway 192.168.0.200 - -# Bluetooth networking -iface bnep0 inet dhcp - diff --git a/packages/netbase/netbase/e680/interfaces b/packages/netbase/netbase/e680/interfaces deleted file mode 100644 index 4e5d85e2c7..0000000000 --- a/packages/netbase/netbase/e680/interfaces +++ /dev/null @@ -1,44 +0,0 @@ -# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) - -# The loopback interface -auto lo -iface lo inet loopback - -# Wireless interfaces -iface wlan0 inet dhcp -wireless_mode managed -wireless_essid any -iface atml0 inet dhcp - -# Wired or wireless interfaces -iface eth0 inet dhcp -iface eth1 inet dhcp - -auto usb0 -# Ethernet/RNDIS gadget (g_ether) -# ... or on host side, usbnet and random hwaddr -iface usb0 inet static - address 192.168.1.2 - netmask 255.255.255.0 - network 192.168.1.0 - gateway 192.168.1.10 - - -# Zaurus 2.4 Lineo net_fd; obsolete -iface usbd0 inet static - address 192.168.129.201 - netmask 255.255.255.0 - network 192.168.129.0 - gateway 192.168.129.200 - -# iPAQ 2.4 mach-sa1100/usb-eth -# (192.168.0.202 is the iPAQ's IP, 192.168.0.200 is the host's IP) -iface usbf inet static - address 192.168.0.202 - netmask 255.255.255.0 - network 192.168.0.0 - gateway 192.168.0.200 - -# Bluetooth networking -iface bnep0 inet dhcp - diff --git a/packages/netbase/netbase_4.21.bb b/packages/netbase/netbase_4.21.bb index 4bc77b004b..bfb178d0a0 100644 --- a/packages/netbase/netbase_4.21.bb +++ b/packages/netbase/netbase_4.21.bb @@ -2,7 +2,7 @@ DESCRIPTION = "This package provides the necessary \ infrastructure for basic TCP/IP based networking." SECTION = "base" LICENSE = "GPL" -PR = "r22" +PR = "r23" inherit update-rc.d diff --git a/packages/nonworking/gnuboy/qtopiagnuboy_1.0.3.bb b/packages/nonworking/gnuboy/qtopiagnuboy_1.0.3.bb index d93fc7f217..0c9b49755e 100644 --- a/packages/nonworking/gnuboy/qtopiagnuboy_1.0.3.bb +++ b/packages/nonworking/gnuboy/qtopiagnuboy_1.0.3.bb @@ -11,7 +11,7 @@ S = "${WORKDIR}/gnuboy" FILES = "" FILES_${PN} = "${palmtopdir}/" -inherit qmake-base +inherit qmake_base qtopiadir = "${S}/gnuboy-${PV}-qtopia2" diff --git a/packages/nonworking/zethereal/zethereal_1.0.0.bb b/packages/nonworking/zethereal/zethereal_1.0.0.bb index de4830cb64..74913c1b01 100644 --- a/packages/nonworking/zethereal/zethereal_1.0.0.bb +++ b/packages/nonworking/zethereal/zethereal_1.0.0.bb @@ -9,7 +9,7 @@ APPTYPE = "binary" APPDESKTOP = "${WORKDIR}" PR = "r0" -inherit autotools qmake-base +inherit autotools qmake_base EXTRA_OECONF = "--disable-ethereal \ --enable-tethereal \ diff --git a/packages/notification-daemon/notification-daemon_0.3.6.bb b/packages/notification-daemon/notification-daemon_0.3.6.bb index 8ee89ea847..ee0f597550 100644 --- a/packages/notification-daemon/notification-daemon_0.3.6.bb +++ b/packages/notification-daemon/notification-daemon_0.3.6.bb @@ -1,16 +1,21 @@ -DESCRIPTION = "a dbus service that listens to desktop notification requests and displays them" +DESCRIPTION = "A dbus service that listens to desktop notification requests and displays them" HOMEPAGE = "http://www.galago-project.org/" +SECTION = "x11" LICENSE = "GPL" DEPENDS = "gettext dbus gtk+ libsexy gconf libwnck" - -PACKAGES = "${PN}" -FILES_${PN} = "${libexecdir}/notification-daemon \ - ${datadir}/dbus-1/services/notification-daemon.service \ - ${libdir}/notification-daemon-1.0/engines/libstandard.so \ - ${sysconfdir}/gconf/schemas/notification-daemon.schemas" +PR = "r1" SRC_URI = "http://www.galago-project.org/files/releases/source/${PN}/${P}.tar.gz \ - file://dbus-glib-tool-prefix.patch;patch=1" -EXTRA_OECONF = "--disable-binreloc" + file://dbus-glib-tool-prefix.patch;patch=1" + +EXTRA_OECONF = "--disable-binreloc" inherit autotools pkgconfig + +PACKAGES = "${PN}" +FILES_${PN} = "\ + ${libexecdir}/notification-daemon \ + ${datadir}/dbus-1/services \ + ${libdir}/notification-daemon-1.0/engines/libstandard.so \ + ${sysconfdir}/gconf/schemas/notification-daemon.schemas \ +" diff --git a/packages/notification-daemon/notification-daemon_0.3.5.bb b/packages/notification-daemon/notification-daemon_0.3.7.bb index 791c285aed..43721f5e28 100644 --- a/packages/notification-daemon/notification-daemon_0.3.5.bb +++ b/packages/notification-daemon/notification-daemon_0.3.7.bb @@ -1,15 +1,19 @@ -DESCRIPTION = "a dbus service that listens to desktop notification requests and displays them" +DESCRIPTION = "A dbus service that listens to desktop notification requests and displays them" HOMEPAGE = "http://www.galago-project.org/" +SECTION = "x11" LICENSE = "GPL" DEPENDS = "gettext dbus gtk+ libsexy gconf libwnck" -PACKAGES = "${PN}" -FILES_${PN} = "${libexecdir}/notification-daemon \ - ${datadir}/dbus-1/services/notification-daemon.service \ - ${libdir}/notification-daemon-1.0/engines/libstandard.so \ - ${sysconfdir}/gconf/schemas/notification-daemon.schemas" - SRC_URI = "http://www.galago-project.org/files/releases/source/${PN}/${P}.tar.gz" + EXTRA_OECONF = "--disable-binreloc" inherit autotools pkgconfig + +PACKAGES = "${PN}" +FILES_${PN} = "\ + ${libexecdir}/notification-daemon \ + ${datadir}/dbus-1/services/ \ + ${libdir}/notification-daemon-1.0/engines/libstandard.so \ + ${sysconfdir}/gconf/schemas/notification-daemon.schemas \ +" diff --git a/packages/openmoko2/neod_svn.bb b/packages/openmoko2/neod_svn.bb index 4d6115ae93..b382fc2c88 100644 --- a/packages/openmoko2/neod_svn.bb +++ b/packages/openmoko2/neod_svn.bb @@ -5,3 +5,14 @@ PV = "0.1.0+svn${SVNREV}" PR = "r0" inherit openmoko2 gconf + +EXTRA_OECONF_fic-gta01 = "--with-platform=neo1973" +EXTRA_OECONF_fic-gta02 = "--with-platform=neo1973" +EXTRA_OECONF_a780 = "--with-platform=ezx" +EXTRA_OECONF_a1200 = "--with-platform=ezx" +EXTRA_OECONF_e680 = "--with-platform=ezx" +EXTRA_OECONF_rokre2 = "--with-platform=ezx" +EXTRA_OECONF_rokre6 = "--with-platform=ezx" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + diff --git a/packages/openmoko2/openmoko-common2_svn.bb b/packages/openmoko2/openmoko-common2_svn.bb index f54a23de18..0cf7f763cb 100644 --- a/packages/openmoko2/openmoko-common2_svn.bb +++ b/packages/openmoko2/openmoko-common2_svn.bb @@ -1,6 +1,6 @@ DESCRIPTION = "Common files for the OpenMoko distribution" SECTION = "openmoko/base" -PV = "0.0+svn${SRCDATE}" +PV = "0.0+svnr${SRCREV}" PR = "r3" inherit openmoko2 diff --git a/packages/openmoko2/openmoko-dates2_svn.bb b/packages/openmoko2/openmoko-dates2_svn.bb new file mode 100644 index 0000000000..9650a20b0d --- /dev/null +++ b/packages/openmoko2/openmoko-dates2_svn.bb @@ -0,0 +1,12 @@ +DESCRIPTION = "The OpenMoko Calendar" +SECTION = "openmoko/pim" +DEPENDS = "libmokoui2 libmokojournal2 gtk+ libglade eds-dbus" +RDEPENDS = "libedata-cal" +PV = "0.1.0+svn${SVNREV}" + +inherit openmoko2 + +SRC_URI = "svn://svn.o-hand.com/repos/dates/branches;module=jana;proto=http" +S = "${WORKDIR}/jana/" + +EXTRA_OECONF = "--with-frontend=openmoko" diff --git a/packages/openmoko2/openmoko-session2.bb b/packages/openmoko2/openmoko-session2.bb index 31d38382df..de2d7cdff6 100644 --- a/packages/openmoko2/openmoko-session2.bb +++ b/packages/openmoko2/openmoko-session2.bb @@ -4,7 +4,7 @@ SECTION = "x11" RDEPENDS = "matchbox-common matchbox-applet-startup-monitor matchbox-panel-2" RDEPENDS += "openmoko-common2 openmoko-today2 openmoko-dialer2" RCONFLICTS = "openmoko-session" -PR = "r30" +PR = "r31" SRC_URI = "file://etc" S = ${WORKDIR} diff --git a/packages/openmoko2/openmoko-session2/etc/matchbox/session b/packages/openmoko2/openmoko-session2/etc/matchbox/session index dee3e58051..4f2f8ae110 100755 --- a/packages/openmoko2/openmoko-session2/etc/matchbox/session +++ b/packages/openmoko2/openmoko-session2/etc/matchbox/session @@ -9,6 +9,6 @@ openmoko-dialer & matchbox-window-manager -use_titlebar yes -use_desktop_mode decorated -theme openmoko-standard-2 -use_cursor $SHOWCURSOR $@ & matchbox-panel-2 --start-applets systray,startup \ - --end-applets openmoko-panel-battery,openmoko-panel-gsm,openmoko-panel-gps,openmoko-panel-usb,openmoko-panel-bt,openmoko-panel-clock --titlebar & + --end-applets openmoko-panel-battery,openmoko-panel-gsm,openmoko-panel-gps,openmoko-panel-usb,openmoko-panel-bt,openmoko-panel-clock,keyboard --titlebar & exec neod diff --git a/packages/openmoko2/openmoko-terminal2_svn.bb b/packages/openmoko2/openmoko-terminal2_svn.bb index dc9acfec14..1c27a07d76 100644 --- a/packages/openmoko2/openmoko-terminal2_svn.bb +++ b/packages/openmoko2/openmoko-terminal2_svn.bb @@ -1,7 +1,7 @@ DESCRIPTION = "The OpenMoko Command Line Console" SECTION = "openmoko/applications" -DEPENDS = "libmokoui2 vte" +DEPENDS = "vte libmokoui2" PV = "2.1.0+${SVNREV}" -PR = "r0" +PR = "r1" inherit openmoko2 diff --git a/packages/opie-reader/uqtreader_cvs.bb b/packages/opie-reader/uqtreader_cvs.bb index 04b03243c4..9fb7af2db5 100644 --- a/packages/opie-reader/uqtreader_cvs.bb +++ b/packages/opie-reader/uqtreader_cvs.bb @@ -17,7 +17,7 @@ S = "${WORKDIR}/opie-reader" export OPIEDIR="${S}/opiedir" -inherit qmake-base qt4x11 +inherit qmake_base qt4x11 do_configure() { ${OE_QMAKE_QMAKE} -recursive opie-reader.pro UQT_DATADIR="${datadir}/${PN}" UQT_LIBDIR="${libdir}/${PN}" diff --git a/packages/pango/pango.inc b/packages/pango/pango.inc index e73fecbfb2..5189d950c1 100644 --- a/packages/pango/pango.inc +++ b/packages/pango/pango.inc @@ -8,7 +8,7 @@ EXTRA_AUTORECONF = "" SECTION = "x11/libs" -DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libx11 libxft gtk-doc cairo" +DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libiconv virtual/libx11 libxft gtk-doc cairo" PACKAGES_DYNAMIC = "pango-module-*" diff --git a/packages/pimlico/contacts-0.7/.mtn2git_empty b/packages/pimlico/contacts-0.7/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/pimlico/contacts-0.7/.mtn2git_empty diff --git a/packages/pimlico/contacts-0.7/contacts-owl-window-menu.patch b/packages/pimlico/contacts-0.7/contacts-owl-window-menu.patch new file mode 100644 index 0000000000..1fbf1dcc2a --- /dev/null +++ b/packages/pimlico/contacts-0.7/contacts-owl-window-menu.patch @@ -0,0 +1,52 @@ +Index: contacts-0.5/src/contacts-gtk.c +=================================================================== +--- contacts-0.5.orig/src/contacts-gtk.c 2007-04-20 14:35:36.000000000 +0100 ++++ contacts-0.5/src/contacts-gtk.c 2007-07-13 10:47:52.000000000 +0100 +@@ -178,8 +178,8 @@ + vbox7 = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (main_window), vbox7); + +- main_menubar = gtk_menu_bar_new (); +- gtk_box_pack_start (GTK_BOX (vbox7), main_menubar, FALSE, FALSE, 0); ++ main_menubar = gtk_menu_new (); ++ gtk_widget_show (main_menubar); + + contacts_menu = gtk_menu_item_new_with_mnemonic (_("_Contacts")); + gtk_container_add (GTK_CONTAINER (main_menubar), contacts_menu); +Index: contacts-0.5/src/Makefile.am +=================================================================== +--- contacts-0.5.orig/src/Makefile.am 2007-03-02 11:17:00.000000000 +0000 ++++ contacts-0.5/src/Makefile.am 2007-07-13 10:47:52.000000000 +0100 +@@ -28,7 +28,7 @@ + contacts-@FRONTEND@.c \ + contacts-@FRONTEND@.h + +-contacts_LDADD = $(CONTACTS_LIBS) ++contacts_LDADD = $(CONTACTS_LIBS) -lowl + contacts_LDFLAGS = @CONTACTS_LIBS@ + + MAINTAINERCLEANFILES = config.h.in Makefile.in +Index: contacts-0.5/src/contacts-main.c +=================================================================== +--- contacts-0.5.orig/src/contacts-main.c 2007-04-20 15:46:23.000000000 +0100 ++++ contacts-0.5/src/contacts-main.c 2007-07-13 10:53:44.000000000 +0100 +@@ -27,6 +27,8 @@ + #include <libgnomevfs/gnome-vfs.h> + #endif + ++#include "owlwindowmenu.h" ++ + #include "bacon-message-connection.h" + #include "contacts-defs.h" + #include "contacts-utils.h" +@@ -230,6 +232,10 @@ + /* fix icon sizes to 16x16 for the moment... */ + gtk_rc_parse_string ("gtk_icon_sizes=\"gtk-button=16,16:gtk-menu=16,16\""); + ++ gtk_widget_show_all (data->ui->main_menubar); ++ owl_set_window_menu (GTK_WINDOW (data->ui->main_window), ++ GTK_MENU (data->ui->main_menubar)); ++ + gtk_main (); + + /* Unload the addressbook */ diff --git a/packages/pimlico/contacts_0.7.bb b/packages/pimlico/contacts_0.7.bb new file mode 100644 index 0000000000..d596d45659 --- /dev/null +++ b/packages/pimlico/contacts_0.7.bb @@ -0,0 +1,9 @@ +require contacts.inc + +PR = "r1" + +SRC_URI = "http://pimlico-project.org/sources/${PN}/${PN}-${PV}.tar.gz \ + file://stock_contact.png \ + file://stock_person.png \ + file://contacts-owl-window-menu.patch;patch=1 \ + " diff --git a/packages/pimlico/contacts_svn.bb b/packages/pimlico/contacts_svn.bb index 5169690781..90a37287d1 100644 --- a/packages/pimlico/contacts_svn.bb +++ b/packages/pimlico/contacts_svn.bb @@ -4,13 +4,15 @@ require contacts.inc #RDEPENDS += "gnome-vfs-plugin-file" #RRECOMMENDS += "gnome-vfs-plugin-http" -PV = "0.5+svn${SRCDATE}" +PV = "0.5+svnr${SRCREV}" -DEFAULT_PREFERENCE = "-1" +#DEFAULT_PREFERENCE = "-1" SRC_URI = "svn://svn.o-hand.com/repos/${PN};module=trunk;proto=http \ file://stock_contact.png \ - file://stock_person.png" + file://stock_person.png \ + file://contacts-owl-window-menu.patch;patch=1 \ + " S = "${WORKDIR}/trunk" diff --git a/packages/pimlico/dates.inc b/packages/pimlico/dates.inc index d4debfd28d..4c1e771ba8 100644 --- a/packages/pimlico/dates.inc +++ b/packages/pimlico/dates.inc @@ -3,12 +3,11 @@ LICENSE = "LGPL" SECTION = "x11" DEPENDS = "glib-2.0 gtk+ libglade eds-dbus" RDEPENDS = "libedata-cal" -RCONFLICTS_${PN} = "openmoko-dates" inherit autotools pkgconfig gtk-icon-cache # EXTRA_OECONF = "--disable-debug" -EXTRA_OECONF = "--enable-owl=true" +EXTRA_OECONF = "--enable-owl=true --disable-dnd" FILES_${PN} += "${datadir}/pixmaps/dates.png" @@ -17,4 +16,3 @@ do_install_append () { install -m 0644 ${D}/${datadir}/icons/hicolor/48x48/apps/dates.png ${D}/${datadir}/pixmaps/ } -PRIVATE_LIBS = "libgtkdatesview.so.0" diff --git a/packages/pimlico/dates_0.4.4.bb b/packages/pimlico/dates_0.4.4.bb new file mode 100644 index 0000000000..9e5451f522 --- /dev/null +++ b/packages/pimlico/dates_0.4.4.bb @@ -0,0 +1,7 @@ +require dates.inc + +PR="r2" + +SRC_URI = "http://pimlico-project.org/sources/dates/dates-${PV}.tar.gz \ + file://dates-owl-window-menu.patch;patch=1 \ + " diff --git a/packages/pimlico/dates_svn.bb b/packages/pimlico/dates_svn.bb index facafe0a2a..d392031abb 100644 --- a/packages/pimlico/dates_svn.bb +++ b/packages/pimlico/dates_svn.bb @@ -2,7 +2,9 @@ require dates.inc DEFAULT_PREFERENCE = "-1" -PV = "0.4.2+svn${SRCDATE}" +PV = "0.4.4+svnr${SRCREV}" S = "${WORKDIR}/trunk" -SRC_URI = "svn://svn.o-hand.com/repos/${PN};module=trunk;proto=http" +SRC_URI = "svn://svn.o-hand.com/repos/${PN};module=trunk;proto=http \ + file://dates-owl-window-menu.patch;patch=1 \ + " diff --git a/packages/pimlico/files/contacts-owl-window-menu.patch b/packages/pimlico/files/contacts-owl-window-menu.patch new file mode 100644 index 0000000000..ad5e2f04fc --- /dev/null +++ b/packages/pimlico/files/contacts-owl-window-menu.patch @@ -0,0 +1,52 @@ +Index: trunk/src/contacts-gtk.c +=================================================================== +--- trunk.orig/src/contacts-gtk.c 2007-07-11 22:16:08.000000000 +0100 ++++ trunk/src/contacts-gtk.c 2007-07-13 09:02:03.000000000 +0100 +@@ -179,8 +179,8 @@ + vbox7 = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (main_window), vbox7); + +- main_menubar = gtk_menu_bar_new (); +- gtk_box_pack_start (GTK_BOX (vbox7), main_menubar, FALSE, FALSE, 0); ++ main_menubar = gtk_menu_new (); ++ gtk_widget_show (main_menubar); + + contacts_menu = gtk_menu_item_new_with_mnemonic (_("_Contacts")); + gtk_container_add (GTK_CONTAINER (main_menubar), contacts_menu); +Index: trunk/src/Makefile.am +=================================================================== +--- trunk.orig/src/Makefile.am 2007-04-19 15:41:14.000000000 +0100 ++++ trunk/src/Makefile.am 2007-07-13 08:50:58.000000000 +0100 +@@ -28,7 +28,7 @@ + contacts-@FRONTEND@.c \ + contacts-@FRONTEND@.h + +-contacts_LDADD = $(CONTACTS_LIBS) ++contacts_LDADD = $(CONTACTS_LIBS) -lowl + contacts_LDFLAGS = @CONTACTS_LIBS@ + + MAINTAINERCLEANFILES = config.h.in Makefile.in +Index: trunk/src/contacts-main.c +=================================================================== +--- trunk.orig/src/contacts-main.c 2007-07-11 22:16:08.000000000 +0100 ++++ trunk/src/contacts-main.c 2007-07-13 09:02:30.000000000 +0100 +@@ -27,6 +27,8 @@ + #include <libgnomevfs/gnome-vfs.h> + #endif + ++#include "owlwindowmenu.h" ++ + #include "bacon-message-connection.h" + #include "contacts-defs.h" + #include "contacts-utils.h" +@@ -222,6 +224,10 @@ + gtk_widget_show_all (widget); + } + ++ gtk_widget_show_all (data->ui->main_menubar); ++ owl_set_window_menu (GTK_WINDOW (data->ui->main_window), ++ GTK_MENU (data->ui->main_menubar)); ++ + gtk_main (); + + /* if we have modified the current contact, but not saved it, do so now */ diff --git a/packages/pimlico/files/dates-owl-window-menu.patch b/packages/pimlico/files/dates-owl-window-menu.patch new file mode 100644 index 0000000000..d47875dd65 --- /dev/null +++ b/packages/pimlico/files/dates-owl-window-menu.patch @@ -0,0 +1,72 @@ +Index: trunk/src/Makefile.am +=================================================================== +--- trunk.orig/src/Makefile.am 2007-07-11 22:16:15.000000000 +0100 ++++ trunk/src/Makefile.am 2007-07-13 08:21:11.000000000 +0100 +@@ -47,7 +47,7 @@ + libgtkdatesviewinclude_HEADERS = \ + dates_view.h + +-dates_LDADD = $(DATES_LIBS) libgtkdatesview.la ++dates_LDADD = $(DATES_LIBS) libgtkdatesview.la -lowl + + if USE_OWL + dates_LDADD += $(top_builddir)/libowl/libowl.la +Index: trunk/src/dates_gtk.c +=================================================================== +--- trunk.orig/src/dates_gtk.c 2007-07-11 22:16:15.000000000 +0100 ++++ trunk/src/dates_gtk.c 2007-07-13 08:33:48.000000000 +0100 +@@ -32,10 +32,6 @@ + #endif + + #ifndef DATES_PLATFORM_create_main_window +-/* the default implementation assumes that menu is GtkMenuBar */ +-#ifdef DATES_MENU_WITHOUT_BAR +-#error Cannot use default create_main_window () if DATES_MENU_WITHOUT_BAR is defined !!! +-#endif + static GtkWidget * + create_main_window (DatesData * d, GtkWidget * toolbar, + GtkWidget * menu, GtkAccelGroup * accel_group) +@@ -57,7 +53,6 @@ + gtk_container_add (GTK_CONTAINER (d->main_window), main_vbox); + + gtk_widget_show (menu); +- gtk_box_pack_start (GTK_BOX (main_vbox), menu, FALSE, FALSE, 0); + + gtk_box_pack_end (GTK_BOX (main_vbox), toolbar, FALSE, FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (toolbar), 3); +Index: trunk/src/dates_platform.h +=================================================================== +--- trunk.orig/src/dates_platform.h 2007-07-11 22:16:15.000000000 +0100 ++++ trunk/src/dates_platform.h 2007-07-13 08:21:11.000000000 +0100 +@@ -20,7 +20,7 @@ + + #include "dates_types.h" + +-#ifdef WITH_HILDON ++#if 1 + #define DATES_MENU_WITHOUT_BAR 1 + #endif + +Index: trunk/src/dates_main.c +=================================================================== +--- trunk.orig/src/dates_main.c 2007-07-11 22:16:15.000000000 +0100 ++++ trunk/src/dates_main.c 2007-07-13 08:36:11.000000000 +0100 +@@ -25,6 +25,8 @@ + #include <libical/icaltime.h> + #include <gconf/gconf-client.h> + ++#include <gtk/gtkmenuitem.h> ++#include "owlwindowmenu.h" + #include "dates_types.h" + #include "dates_platform.h" + #include "dates_callbacks.h" +@@ -566,6 +568,9 @@ + gtk_widget_show (data.main_window); + } + ++ owl_set_window_menu (GTK_WINDOW (data.main_window), ++ GTK_MENU (data.main_menu)); ++ + gtk_main (); + + /* clean up */ diff --git a/packages/pimlico/files/tasks-owl.diff b/packages/pimlico/files/tasks-owl.diff new file mode 100644 index 0000000000..ea867d890d --- /dev/null +++ b/packages/pimlico/files/tasks-owl.diff @@ -0,0 +1,74 @@ +Index: src/gtk/tasks-ui.xml +=================================================================== +--- src/gtk/tasks-ui.xml (revision 288) ++++ src/gtk/tasks-ui.xml (working copy) +@@ -10,10 +10,8 @@ + <menuitem action="DeleteTask"/> + <menuitem action="PurgeTasks"/> + <separator/> ++ <menuitem action="About"/> + <menuitem action="Quit"/> + </menu> +- <menu action="HelpMenu"> +- <menuitem action="About"/> +- </menu> + </menubar> + </ui> +Index: src/gtk/main.c +=================================================================== +--- src/gtk/main.c (revision 288) ++++ src/gtk/main.c (working copy) +@@ -21,6 +21,7 @@ + #include <libecal/e-cal.h> + #include <glib/gi18n.h> + #include <gtk/gtk.h> ++#include <owlwindowmenu.h> + + #include <libkoto/ical-util.h> + #include <libkoto/koto-category-group.h> +@@ -462,17 +463,6 @@ + NULL); + } + +-/* +- * Callback from the UI manager with the GtkMenu widget. Pack and add this to +- * the container. +- */ +-static void +-ui_add_widget (GtkUIManager *ui, GtkWidget *widget, GtkContainer *container) +-{ +- gtk_box_pack_start (GTK_BOX (container), widget, FALSE, FALSE, 0); +- gtk_widget_show (widget); +-} +- + /* TODO: split into global actions and actions that require a task to be selected */ + static const GtkActionEntry actions[] = + { +@@ -563,11 +553,12 @@ + } + /* Bind the accelerators */ + gtk_window_add_accel_group (GTK_WINDOW (window), gtk_ui_manager_get_accel_group (ui_manager)); +- g_signal_connect (ui_manager, "add-widget", G_CALLBACK (ui_add_widget), top_box); + + /* Do this so that the menu is packed now instead of in the idle loop */ + gtk_ui_manager_ensure_update (ui_manager); +- ++ owl_set_window_menu_item (GTK_WINDOW (window), ++ GTK_MENU_ITEM (gtk_ui_manager_get_widget (ui_manager, "/MenuBar/TasksMenu"))); ++ + box = gtk_vbox_new (FALSE, 4); + gtk_container_set_border_width (GTK_CONTAINER (box), 4); + gtk_container_add (GTK_CONTAINER (top_box), box); +Index: src/gtk/Makefile.am +=================================================================== +--- src/gtk/Makefile.am (revision 288) ++++ src/gtk/Makefile.am (working copy) +@@ -4,7 +4,7 @@ + bin_PROGRAMS = tasks + tasks_CPPFLAGS = -I$(top_srcdir)/ + tasks_CFLAGS = -Wall $(GTK_CFLAGS) $(ECAL_CFLAGS) $(SEXY_CFLAGS) +-tasks_LDADD = $(top_builddir)/libkoto/libkoto.a $(GTK_LIBS) $(ECAL_LIBS) $(SEXY_LIBS) ++tasks_LDADD = $(top_builddir)/libkoto/libkoto.a $(GTK_LIBS) $(ECAL_LIBS) $(SEXY_LIBS) -lowl + + tasks_SOURCES = \ + main.c \ diff --git a/packages/pimlico/tasks-0.10/.mtn2git_empty b/packages/pimlico/tasks-0.10/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/pimlico/tasks-0.10/.mtn2git_empty diff --git a/packages/pimlico/tasks-0.10/delete-crash.diff b/packages/pimlico/tasks-0.10/delete-crash.diff new file mode 100644 index 0000000000..0b2ba473d4 --- /dev/null +++ b/packages/pimlico/tasks-0.10/delete-crash.diff @@ -0,0 +1,71 @@ +Index: libkoto/koto-utils.c +=================================================================== +--- libkoto/koto-utils.c (revision 294) ++++ libkoto/koto-utils.c (revision 295) +@@ -25,6 +25,7 @@ + + typedef struct { + GtkWindow *window; ++ GtkTreeModel *model; + char *title; + } WindowData; + +@@ -67,19 +68,21 @@ + /* + * Update the window title, generally as the number of tasks has changed. + */ +-static void +-update_title (WindowData *data, GtkTreeModel *model) ++static gboolean ++update_title (gpointer user_data) + { ++ WindowData *data = user_data; + int count = 0; + char *title; + + g_assert (data); +- g_assert (model); + +- gtk_tree_model_foreach (model, count_pending, &count); ++ gtk_tree_model_foreach (data->model, count_pending, &count); + title = g_strdup_printf (data->title, count); + gtk_window_set_title (data->window, title); + g_free (title); ++ ++ return FALSE; + } + + /* +@@ -89,7 +92,7 @@ + static void + on_row_inserted (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, WindowData *data) + { +- update_title (data, model); ++ g_idle_add (update_title, data); + } + + /* +@@ -99,7 +102,7 @@ + static void + on_row_deleted (GtkTreeModel *model, GtkTreePath *path, WindowData *data) + { +- update_title (data, model); ++ g_idle_add (update_title, data); + } + + /* +@@ -135,6 +138,7 @@ + + data = g_slice_new (WindowData); + data->window = window; ++ data->model = model; + data->title = g_strdup (title); + + g_object_weak_ref (G_OBJECT (model), on_weak_notify, data); +@@ -145,5 +149,5 @@ + "signal::row-deleted", G_CALLBACK (on_row_deleted), data, + NULL); + +- update_title (data, model); ++ update_title (data); + } diff --git a/packages/pimlico/tasks.inc b/packages/pimlico/tasks.inc index 797969db62..2bb1c9265a 100644 --- a/packages/pimlico/tasks.inc +++ b/packages/pimlico/tasks.inc @@ -1,6 +1,6 @@ DESCRIPTION = "Task list application" LICENSE = "GPL" SECTION = "x11" -DEPENDS = "glib-2.0 libsexy gtk+ eds-dbus" +DEPENDS = "glib-2.0 gtk+ eds-dbus libowl" inherit autotools pkgconfig gtk-icon-cache diff --git a/packages/pimlico/tasks_0.10.bb b/packages/pimlico/tasks_0.10.bb new file mode 100644 index 0000000000..75e589e740 --- /dev/null +++ b/packages/pimlico/tasks_0.10.bb @@ -0,0 +1,8 @@ +require tasks.inc + +PR="r2" + +SRC_URI = "http://pimlico-project.org/sources/${PN}/${PN}-${PV}.tar.gz \ + file://tasks-single.diff;patch=1 \ + file://delete-crash.diff;patch=1;pnum=0 \ + file://tasks-owl.diff;patch=1;pnum=0" diff --git a/packages/pimlico/tasks_svn.bb b/packages/pimlico/tasks_svn.bb index 9d9786cbdd..b3da6ebe20 100644 --- a/packages/pimlico/tasks_svn.bb +++ b/packages/pimlico/tasks_svn.bb @@ -2,7 +2,9 @@ require tasks.inc DEFAULT_PREFERENCE = "-1" -PV = "0.4+svn${SRCDATE}" +PV = "0.10+svnr${SRCREV}" S = "${WORKDIR}/trunk" -SRC_URI = "svn://svn.o-hand.com/repos/${PN};module=trunk;proto=http" +SRC_URI = "svn://svn.o-hand.com/repos/${PN};module=trunk;proto=http \ + file://tasks-single.diff;patch=1 \ + file://tasks-owl.diff;patch=1" diff --git a/packages/psplash/files/openmoko/psplash-hand-img.h b/packages/psplash/files/openmoko/psplash-hand-img.h index 96dc16c723..26f7f41cb5 100644 --- a/packages/psplash/files/openmoko/psplash-hand-img.h +++ b/packages/psplash/files/openmoko/psplash-hand-img.h @@ -1,5377 +1,3292 @@ -/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ +/* GdkPixbuf RGB C-Source image dump 1-byte-run-length-encoded */ -#define HAND_IMG_ROWSTRIDE (1920) +#define HAND_IMG_ROWSTRIDE (1440) #define HAND_IMG_WIDTH (480) #define HAND_IMG_HEIGHT (640) -#define HAND_IMG_BYTES_PER_PIXEL (4) /* 3:RGB, 4:RGBA */ +#define HAND_IMG_BYTES_PER_PIXEL (3) /* 3:RGB, 4:RGBA */ #define HAND_IMG_RLE_PIXEL_DATA ((uint8*) \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\257\0\0\0\377\204\1\1\0\377\203\2\2\1\377" \ - "\214\3\3\1\377\202\2\2\1\377\203\1\1\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\310\0\0\0\377\3\1\1\0\377\2\2\1\377\3\3\1\377\202\4\3" \ - "\1\377\202\5\4\1\377\203\5\4\2\377\205\6\5\2\377\202\7\6\2\377\204\6" \ - "\5\2\377\203\5\4\2\377\202\5\4\1\377\202\4\3\1\377\202\3\3\1\377\1\2" \ - "\2\1\377\202\1\1\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\300" \ - "\0\0\0\377\7\1\1\0\377\3\3\1\377\4\3\1\377\5\4\2\377\6\5\2\377\7\6\2" \ - "\377\10\7\3\377\202\11\10\3\377\202\12\11\3\377\203\13\11\3\377\210\14" \ - "\12\4\377\203\13\11\3\377\1\12\11\3\377\202\11\10\3\377\1\10\7\3\377" \ - "\202\7\6\2\377\4\6\5\2\377\5\4\2\377\5\4\1\377\4\3\1\377\202\3\3\1\377" \ - "\2\2\2\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\272" \ - "\0\0\0\377\12\1\1\0\377\3\3\1\377\5\4\1\377\6\5\2\377\10\7\3\377\12\11" \ - "\3\377\13\11\3\377\15\13\4\377\16\14\4\377\17\15\5\377\202\17\15\4\377" \ - "\1\20\16\4\377\203\21\16\5\377\210\22\17\5\377\202\21\16\5\377\202\20" \ - "\16\4\377\15\17\15\4\377\17\15\5\377\16\14\4\377\15\13\4\377\14\12\4" \ - "\377\13\11\3\377\12\11\3\377\11\10\3\377\10\7\3\377\7\6\2\377\6\5\2\377" \ - "\5\4\2\377\5\4\1\377\202\3\3\1\377\202\1\1\0\377\377\0\0\0\377\377\0" \ - "\0\0\377\377\0\0\0\377\265\0\0\0\377\16\2\2\1\377\4\3\1\377\6\5\2\377" \ - "\10\7\3\377\13\11\3\377\15\13\4\377\17\15\4\377\20\16\4\377\22\17\5\377" \ - "\23\20\5\377\24\21\5\377\25\22\6\377\26\23\6\377\27\24\6\377\203\30\25" \ - "\7\377\210\31\25\7\377\202\30\25\7\377\202\27\24\6\377\24\26\23\6\377" \ - "\25\22\6\377\24\21\5\377\23\20\5\377\22\17\5\377\21\16\5\377\20\16\4" \ - "\377\17\15\4\377\16\14\4\377\15\13\4\377\14\12\4\377\12\11\3\377\11\10" \ - "\3\377\7\6\2\377\6\5\2\377\5\4\1\377\4\3\1\377\3\3\1\377\2\2\1\377\1" \ - "\1\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\261\0\0\0\377\15\3" \ - "\3\1\377\5\4\1\377\7\6\2\377\12\11\3\377\15\13\4\377\20\16\4\377\22\17" \ - "\5\377\25\22\6\377\27\24\6\377\30\25\7\377\31\25\7\377\33\27\10\377\34" \ - "\30\10\377\202\35\31\10\377\1\36\32\11\377\204\37\33\11\377\204\40\33" \ - "\11\377\203\37\33\11\377\202\36\32\11\377\4\35\31\10\377\34\30\10\377" \ - "\33\27\10\377\32\26\7\377\202\31\25\7\377\20\30\25\7\377\27\24\6\377" \ - "\25\22\6\377\24\21\5\377\22\17\5\377\21\16\5\377\20\16\4\377\17\15\5" \ - "\377\15\13\4\377\13\11\3\377\12\11\3\377\10\7\3\377\6\5\2\377\5\4\2\377" \ - "\4\3\1\377\3\3\1\377\202\1\1\0\377\377\0\0\0\377\377\0\0\0\377\377\0" \ - "\0\0\377\255\0\0\0\377\15\3\3\1\377\5\4\2\377\10\7\3\377\14\12\4\377" \ - "\17\15\4\377\22\17\5\377\25\22\6\377\30\25\7\377\32\26\7\377\34\30\10" \ - "\377\37\33\11\377!\34\11\377\"\35\12\377\202#\36\12\377\202$\37\13\377" \ - "\202%!\13\377\210&!\13\377\1%!\13\377\202$\37\13\377\203#\36\12\377\27" \ - "\"\35\12\377!\34\11\377\40\33\11\377\37\33\11\377\35\31\10\377\34\30" \ - "\10\377\32\26\7\377\31\25\7\377\30\25\7\377\26\23\6\377\24\21\5\377\23" \ - "\20\5\377\21\16\5\377\17\15\4\377\16\14\4\377\14\12\4\377\12\11\3\377" \ - "\10\7\3\377\6\5\2\377\5\4\1\377\4\3\1\377\2\2\1\377\1\1\0\377\377\0\0" \ - "\0\377\377\0\0\0\377\377\0\0\0\377\251\0\0\0\377\22\1\1\0\377\3\3\1\377" \ - "\5\4\2\377\11\10\3\377\15\13\4\377\20\16\4\377\24\21\5\377\30\25\7\377" \ - "\32\26\7\377\36\32\11\377!\34\11\377#\36\12\377%!\13\377&!\13\377'#\14" \ - "\377($\14\377)%\14\377*%\15\377\203+&\15\377\210,'\15\377\202+&\15\377" \ - "\1*%\15\377\202)%\14\377\2($\14\377'#\14\377\202&!\13\377\26%!\13\377" \ - "$\37\13\377#\36\12\377\"\35\12\377\40\33\11\377\36\32\11\377\34\30\10" \ - "\377\32\26\7\377\31\25\7\377\27\24\6\377\25\22\6\377\23\20\5\377\21\16" \ - "\5\377\17\15\4\377\16\14\4\377\14\12\4\377\12\11\3\377\7\6\2\377\5\4" \ - "\2\377\4\3\1\377\3\3\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\246\0\0\0\377\21\1\1\0\377\3\3\1\377\5\4\2\377\11\10\3\377" \ - "\16\14\4\377\21\16\5\377\25\22\6\377\31\25\7\377\35\31\10\377!\34\11" \ - "\377#\36\12\377&!\13\377)%\14\377+&\15\377,'\16\377-(\16\377.)\16\377" \ - "\202/*\16\377\2020+\17\377\2121,\17\377\2020+\17\377\1/*\16\377\202." \ - ")\16\377\33-(\16\377,'\16\377,'\15\377+&\15\377)%\14\377($\14\377'#\14" \ - "\377&!\13\377$\37\13\377#\36\12\377\"\35\12\377\40\33\11\377\35\31\10" \ - "\377\33\27\10\377\31\25\7\377\30\25\7\377\25\22\6\377\23\20\5\377\21" \ - "\16\5\377\17\15\4\377\15\13\4\377\13\11\3\377\11\10\3\377\6\5\2\377\5" \ - "\4\1\377\3\3\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\244\0\0\0\377\20\3\3\1\377\5\4\2\377\11\10\3\377\16\14\4\377\22\17\5" \ - "\377\26\23\6\377\32\26\7\377\37\33\11\377#\36\12\377&!\13\377)%\14\377" \ - ",'\15\377.)\16\3770+\17\3772-\17\3773-\17\377\2024.\20\377\2035/\17\377" \ - "\21260\20\377\2035/\17\377\1""4.\20\377\2023-\17\377\34""2-\17\3771," \ - "\17\3770+\17\377/*\16\377.)\16\377,'\16\377,'\15\377*%\15\377)%\14\377" \ - "'#\14\377&!\13\377$\37\13\377#\36\12\377\40\33\11\377\36\32\11\377\33" \ - "\27\10\377\31\25\7\377\27\24\6\377\25\22\6\377\22\17\5\377\20\16\4\377" \ - "\16\14\4\377\14\12\4\377\11\10\3\377\7\6\2\377\5\4\1\377\3\3\1\377\1" \ - "\1\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\241\0\0\0\377\16\3" \ - "\3\1\377\5\4\2\377\11\10\3\377\15\13\4\377\21\16\5\377\27\24\6\377\33" \ - "\27\10\377\37\33\11\377#\36\12\377&!\13\377+&\15\377-(\16\3771,\17\377" \ - "4.\20\377\20260\20\377\20371\20\377\20482\20\377\20792\21\377\20582\20" \ - "\377\20271\20\377\20360\20\377\34""5/\17\3774.\20\3773-\17\3772-\17\377" \ - "1,\17\377/*\16\377.)\16\377,'\16\377+&\15\377)%\14\377'#\14\377&!\13" \ - "\377$\37\13\377#\36\12\377\40\33\11\377\35\31\10\377\32\26\7\377\31\25" \ - "\7\377\26\23\6\377\23\20\5\377\21\16\5\377\17\15\5\377\14\12\4\377\12" \ - "\11\3\377\7\6\2\377\5\4\1\377\3\3\1\377\1\1\0\377\377\0\0\0\377\377\0" \ - "\0\0\377\377\0\0\0\377\236\0\0\0\377\17\2\2\1\377\5\4\1\377\10\7\3\377" \ - "\15\13\4\377\21\16\5\377\26\23\6\377\32\26\7\377\37\33\11\377$\37\13" \ - "\377'#\14\377,'\15\377/*\16\3773-\17\37760\20\37771\20\377\23292\21\377" \ - "\20282\20\377\1""71\20\377\20260\20\377\31""5/\17\3774.\20\3772-\17\377" \ - "0+\17\377/*\16\377-(\16\377,'\15\377)%\14\377'#\14\377&!\13\377#\36\12" \ - "\377\"\35\12\377\37\33\11\377\34\30\10\377\31\25\7\377\27\24\6\377\24" \ - "\21\5\377\21\16\5\377\17\15\5\377\14\12\4\377\11\10\3\377\7\6\2\377\5" \ - "\4\1\377\3\3\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\233\0\0\0\377\33\1\1\0\377\4\3\1\377\7\6\2\377\14\12\4\377\20\16\4\377" \ - "\25\22\6\377\32\26\7\377\37\33\11\377$\37\13\377'#\14\377,'\15\3770+" \ - "\17\3774.\20\377A;\34\377NH,\377YT8\377a[B\377jeM\377zt\\\377\221\214" \ - "q\377\243\236\177\377\251\245\205\377\273\265\223\377\307\302\242\377" \ - "\322\315\252\377\320\312\241\377\320\313\241\377\202\345\340\261\377" \ - "\14\344\337\257\377\344\336\252\377\336\327\241\377\311\300\214\377\305" \ - "\275\204\377\303\273\201\377\254\243j\377\237\227`\377\217\206R\377}" \ - "uF\377^V-\377JC\35\377\20592\21\377\20282\20\377\1""71\20\377\20260\20" \ - "\377\26""4.\20\3772-\17\3771,\17\377/*\16\377,'\16\377+&\15\377)%\14" \ - "\377&!\13\377$\37\13\377#\36\12\377\40\33\11\377\34\30\10\377\31\25\7" \ - "\377\27\24\6\377\24\21\5\377\21\16\5\377\17\15\5\377\14\12\4\377\11\10" \ - "\3\377\6\5\2\377\4\3\1\377\2\2\1\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\232\0\0\0\377.\3\3\1\377\6\5\2\377\13\11\3\377\17\15\4\377" \ - "\24\21\5\377\31\25\7\377\37\33\11\377#\36\12\37730\31\377LH3\377daL\377" \ - "to\\\377\204\200n\377\211\206s\377\210\205r\377\210\204r\377\226\222" \ - "~\377\222\216z\377\232\226\200\377\211\206r\377\206\201o\377\205\200" \ - "n\377\204\200n\377\203\177l\377\203~k\377\202}k\377\201|j\377\200|i\377" \ - "\212\207q\377\223\217w\377\233\226}\377\247\241\206\377\265\261\222\377" \ - "\300\273\232\377\320\313\246\377\345\340\264\377\344\337\256\377\344" \ - "\336\247\377\344\335\241\377\343\333\232\377\343\332\225\377\332\320" \ - "\215\377\271\260t\377\232\221Z\377wpA\377OH#\377\20492\21\377\2""82\20" \ - "\37771\20\377\20260\20\377\25""4.\20\3772-\17\3770+\17\377.)\16\377," \ - "'\15\377*%\15\377'#\14\377&!\13\377#\36\12\377\40\33\11\377\35\31\10" \ - "\377\31\25\7\377\27\24\6\377\24\21\5\377\21\16\5\377\16\14\4\377\13\11" \ - "\3\377\10\7\3\377\5\4\2\377\3\3\1\377\1\1\0\377\377\0\0\0\377\377\0\0" \ - "\0\377\377\0\0\0\377\227\0\0\0\3773\2\2\1\377\5\4\1\377\11\10\3\377\16" \ - "\14\4\377\23\20\5\377#\37\22\377B\77""1\377`]O\377xuh\377\204\201t\377" \ - "\206\203u\377\210\204t\377\210\205s\377\210\205r\377\210\204r\377\210" \ - "\203r\377\212\206s\377\244\240\210\377\277\272\235\377\277\273\235\377" \ - "\262\256\222\377\235\230\201\377\203\177l\377\203~k\377\202}k\377\201" \ - "|j\377\200|i\377\200{g\377\177{g\377~zf\377}ye\377~ze\377}yd\377|xd\377" \ - "{wc\377{wa\377zua\377\216\211q\377\241\235\200\377\272\264\222\377\324" \ - "\317\250\377\345\340\261\377\344\336\251\377\344\335\240\377\343\333" \ - "\231\377\343\332\225\377\343\332\224\377\323\311\206\377\252\241g\377" \ - "|tD\377JC\35\377\20392\21\377\30""82\20\37771\20\37760\20\3775/\17\377" \ - "3-\17\3771,\17\377/*\16\377,'\16\377+&\15\377($\14\377&!\13\377#\36\12" \ - "\377\40\33\11\377\35\31\10\377\31\25\7\377\26\23\6\377\23\20\5\377\20" \ - "\16\4\377\15\13\4\377\12\11\3\377\7\6\2\377\5\4\1\377\3\3\1\377\1\1\0" \ - "\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\224\0\0\0\377\22\1\1\0" \ - "\377\3\3\1\377\7\6\2\377\27\25\20\377@>7\377caX\377~|t\377\177}s\377" \ - "\201~r\377\203\200s\377\205\202s\377\207\203s\377\210\204s\377\210\204" \ - "r\377\210\203r\377\207\203q\377\250\243\212\377\337\333\270\377\202\346" \ - "\342\275\377\202\346\342\274\377\16\346\341\274\377\331\324\261\377\246" \ - "\243\210\377\200|i\377\200{g\377\177{g\377~zf\377}ye\377~ze\377}yd\377" \ - "|xd\377{wc\377{wa\377zua\377\202yu`\377\21xs^\377xr^\377wr]\377vq\\\377" \ - "\177zb\377\232\225y\377\276\271\225\377\334\327\254\377\344\337\255\377" \ - "\344\335\243\377\343\333\231\377\343\332\225\377\343\332\224\377\343" \ - "\332\223\377\277\267w\377\216\206Q\377QJ#\377\20392\21\377\26""82\20" \ - "\37771\20\37760\20\3774.\20\3772-\17\377/*\16\377-(\16\377+&\15\377(" \ - "$\14\377&!\13\377#\36\12\377\37\33\11\377\34\30\10\377\31\25\7\377\25" \ - "\22\6\377\22\17\5\377\17\15\5\377\14\12\4\377\10\7\3\377\5\4\2\377\3" \ - "\3\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\223\0\0" \ - "\0\377\25\5\5\4\377.-+\377]\\Y\377wvr\377yxr\377|zr\377~{r\377\177}r" \ - "\377\201~r\377\204\200r\377\206\202r\377\207\203r\377\210\203r\377\207" \ - "\203q\377\206\202p\377\277\273\236\377\346\342\276\377\346\342\275\377" \ - "\346\342\276\377\346\342\275\377\346\341\276\377\204\346\341\275\377" \ - "\13\217\212u\377~zf\377}ye\377~ze\377}yd\377{xc\377{wa\377zw`\377yt_" \ - "\377xt^\377xs_\377\202xr^\377\5wr]\377vq\\\377up[\377uo[\377toZ\377\202" \ - "soY\377\15rnW\377\220\213n\377\266\260\214\377\333\326\252\377\344\336" \ - "\252\377\344\335\240\377\343\333\230\377\343\332\225\377\343\332\224" \ - "\377\343\332\222\377\301\271x\377\207\177K\377H@\33\377\20292\21\377" \ - "\25""82\20\37771\20\37760\20\3775/\17\3772-\17\377/*\16\377-(\16\377" \ - "+&\15\377'#\14\377%!\13\377\"\35\12\377\37\33\11\377\33\27\10\377\30" \ - "\25\7\377\24\21\5\377\20\16\4\377\16\14\4\377\12\11\3\377\7\6\2\377\5" \ - "\4\1\377\2\2\1\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\220\0\0" \ - "\0\377\25\21\21\21\377BBA\377jji\377ttq\377utp\377wup\377yxq\377|zq\377" \ - "~|q\377\177}p\377\202~q\377\204\200q\377\206\202p\377\207\203p\377\206" \ - "\202p\377\206\201o\377\274\270\234\377\346\342\276\377\346\342\277\377" \ - "\346\342\276\377\346\341\276\377\205\346\342\276\377\20\324\317\257\377" \ - "}ye\377~ze\377}yd\377{xc\377zwa\377yt`\377xs_\377vr^\377uq]\377tp]\377" \ - "tp\\\377up]\377tp\\\377to[\377toZ\377\203soY\377\21rnW\377rmW\377qmV" \ - "\377plU\377okT\377plU\377\224\217q\377\303\275\226\377\344\337\257\377" \ - "\344\335\245\377\343\333\232\377\343\332\225\377\343\332\224\377\343" \ - "\332\223\377\340\327\217\377\252\241e\377f^2\377\20392\21\377\24""82" \ - "\20\37760\20\3775/\17\3772-\17\377/*\16\377,'\16\377*%\15\377'#\14\377" \ - "$\37\13\377!\34\11\377\35\31\10\377\31\25\7\377\26\23\6\377\22\17\5\377" \ - "\17\15\4\377\14\12\4\377\10\7\3\377\5\4\2\377\3\3\1\377\1\1\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\214\0\0\0\377\2\27\27\27\377L" \ - "LL\377\202qqq\377\22rqp\377tsp\377uto\377wuo\377zwo\377|yo\377~{p\377" \ - "\200}o\377\202~o\377\204\200o\377\206\202o\377\206\201o\377\205\200n" \ - "\377\243\237\210\377\346\342\277\377\346\342\300\377\346\342\277\377" \ - "\346\342\300\377\205\346\342\277\377\22\346\342\276\377\266\261\225\377" \ - "}yd\377|xd\377{wa\377yua\377xs_\377vq^\377tp^\377sp\\\377rn[\377qnZ\377" \ - "pmZ\377qnY\377qmY\377qmX\377qmW\377qmV\377\202pmV\377\24pmU\377plU\377" \ - "okT\377oiS\377nhR\377mhQ\377lgP\377lfO\377zuZ\377\255\247\203\377\336" \ - "\330\251\377\344\336\247\377\343\334\234\377\343\333\226\377\343\332" \ - "\224\377\343\332\223\377\343\332\222\377\305\274{\377wo@\377;4\23\377" \ - "\20292\21\377\23""82\20\37760\20\3774.\20\3771,\17\377.)\16\377,'\15" \ - "\377)%\14\377&!\13\377#\36\12\377\37\33\11\377\33\27\10\377\30\25\7\377" \ - "\24\21\5\377\20\16\4\377\15\13\4\377\11\10\3\377\6\5\2\377\4\3\1\377" \ - "\1\1\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\211\0\0\0\377\24" \ - "\31\31\31\377RRR\377qqq\377ppp\377ooo\377ppo\377qqn\377srn\377tsn\377" \ - "wun\377ywn\377|yn\377}{n\377\200}n\377\202~n\377\204\200n\377\205\200" \ - "n\377\204\200n\377\212\206r\377\337\333\273\377\210\346\342\300\377\26" \ - "\346\342\277\377\346\342\300\377\235\230\200\377{wc\377zw`\377yt_\377" \ - "ws_\377tp^\377sp\\\377qn[\377olZ\377miY\377lhX\377lhW\377kgW\377kgV\377" \ - "kgU\377lhU\377lhT\377lgU\377lgT\377lgR\377\202mhR\377\23mhQ\377lgP\377" \ - "lfO\377kfO\377jeN\377ieM\377jeM\377ohP\377\236\230v\377\333\325\246\377" \ - "\344\336\250\377\343\334\234\377\343\333\226\377\343\332\224\377\343" \ - "\332\223\377\343\332\222\377\320\307\203\377\177vE\377>7\25\377\2029" \ - "2\21\377\22""71\20\37760\20\3774.\20\3770+\17\377-(\16\377+&\15\377'" \ - "#\14\377$\37\13\377!\34\11\377\35\31\10\377\31\25\7\377\26\23\6\377\21" \ - "\16\5\377\16\14\4\377\12\11\3\377\7\6\2\377\4\3\1\377\2\2\1\377\377\0" \ - "\0\0\377\377\0\0\0\377\377\0\0\0\377\206\0\0\0\377\21\20\20\20\377LL" \ - "L\377qqq\377ppp\377ooo\377nnn\377nnm\377onm\377ppm\377rqm\377tsm\377" \ - "vtl\377ywm\377|ym\377}{m\377\200}m\377\202~m\377\202\203\177l\377\2\203" \ - "~k\377\267\264\230\377\202\346\342\300\377\206\346\342\301\377\15\346" \ - "\342\300\377\346\342\301\377\346\342\300\377\210\203m\377zua\377xt^\377" \ - "vr^\377to\\\377rn[\377olZ\377miY\377jgW\377ifW\377\202hdV\377\11gdU\377" \ - "gcT\377gcS\377gdS\377gdR\377hdQ\377gdP\377hdP\377idO\377\202ieO\377\2" \ - "ieN\377jeN\377\202jeM\377\17idL\377hbK\377gcJ\377gaI\377kfL\377\235\227" \ - "u\377\333\324\245\377\344\335\246\377\343\333\232\377\343\333\226\377" \ - "\343\332\224\377\343\332\223\377\343\332\222\377\316\304\200\377yqA\377" \ - "\20292\21\377\22""82\20\37771\20\3775/\17\3772-\17\377/*\16\377,'\16" \ - "\377)%\14\377&!\13\377#\36\12\377\37\33\11\377\32\26\7\377\27\24\6\377" \ - "\23\20\5\377\17\15\4\377\13\11\3\377\10\7\3\377\5\4\1\377\2\2\1\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\203\0\0\0\377\7\6\6\6\377\77\77" \ - "\77\377mmm\377ppp\377ooo\377nnn\377mmm\377\202lll\377\16mmk\377pnl\377" \ - "rql\377tsl\377vtk\377ywk\377{yk\377}{l\377\177|k\377\202~k\377\203~k" \ - "\377\202}k\377\213\207q\377\340\335\275\377\202\346\342\302\377\1\346" \ - "\342\301\377\204\346\342\302\377\202\346\342\301\377\22\345\342\301\377" \ - "\341\336\275\377yu`\377xs^\377vr]\377to[\377rnZ\377nkY\377lhW\377jgW" \ - "\377gcU\377eaT\377c`S\377b_R\377`]Q\377a^Q\377a^P\377a^O\377\202a_N\377" \ - "\14b_M\377b`M\377c`M\377c_L\377daL\377eaL\377e`K\377faJ\377gcJ\377gc" \ - "I\377gaI\377faH\377\202e`G\377\10d_F\377idJ\377\246\240{\377\340\330" \ - "\247\377\344\335\243\377\343\333\230\377\343\332\225\377\343\332\224" \ - "\377\202\343\332\222\377\2\305\274z\377c[0\377\20292\21\377\22""82\20" \ - "\37760\20\3774.\20\3771,\17\377-(\16\377+&\15\377'#\14\377#\36\12\377" \ - "\40\33\11\377\34\30\10\377\30\25\7\377\24\21\5\377\20\16\4\377\14\12" \ - "\4\377\10\7\3\377\5\4\2\377\3\3\1\377\1\1\0\377\377\0\0\0\377\377\0\0" \ - "\0\377\377\0\0\0\377\3###\377ddd\377ooo\377\202nnn\377\24mmm\377lll\377" \ - "kkk\377jjj\377kkj\377lli\377oni\377qoj\377trj\377vsj\377yvj\377{yj\377" \ - "}{j\377\177{j\377\201}k\377\201|j\377\200|i\377\261\255\223\377\346\342" \ - "\302\377\346\342\303\377\203\346\342\302\377\1\346\342\303\377\205\346" \ - "\342\302\377\15\322\314\257\377xr^\377wr]\377tp\\\377rnZ\377nkX\377k" \ - "gV\377heV\377ebT\377b_R\377`]Q\377^[P\377\\ZO\377\202[XM\377\17[XL\377" \ - "\\XL\377\\YL\377]YL\377]ZL\377^ZK\377^[J\377^[I\377_[I\377`[I\377`\\" \ - "H\377a]H\377b]H\377b^G\377c_F\377\202d_F\377\17d_E\377c^D\377b]D\377" \ - "a[C\377qkO\377\274\266\213\377\345\336\250\377\343\334\235\377\343\333" \ - "\227\377\343\332\225\377\343\332\223\377\343\332\222\377\343\332\221" \ - "\377\254\242f\377MF\40\377\20292\21\377\21""71\20\3775/\17\3772-\17\377" \ - "/*\16\377,'\15\377($\14\377$\37\13\377\"\35\12\377\35\31\10\377\31\25" \ - "\7\377\25\22\6\377\21\16\5\377\15\13\4\377\11\10\3\377\5\4\2\377\3\3" \ - "\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\374\0\0\0\377\4\11\11\11" \ - "\377JJJ\377ooo\377nnn\377\202mmm\377\2lll\377kkk\377\202jjj\377\17jj" \ - "i\377jih\377lkh\377mlg\377poh\377sqi\377vsi\377xuh\377{wi\377~{i\377" \ - "\177{i\377\200|i\377\200{g\377\200{i\377\331\325\266\377\205\346\342" \ - "\303\377\206\346\343\303\377\15\303\300\242\377vq\\\377up[\377soZ\377" \ - "olX\377kgV\377heU\377eaS\377a^Q\377^[O\377[XN\377XVM\377VTL\377\202U" \ - "SK\377\202VSJ\377\4VSI\377VTH\377WTH\377WTG\377\202YVG\377\15ZUF\377" \ - "ZVF\377VR\77\377RM:\377TP:\377UP:\377VQ:\377WR9\377XS:\377YU9\377YT8" \ - "\377ZU9\377`[A\377\202_Z@\377\6\207\201_\377\326\316\236\377\344\335" \ - "\244\377\343\333\232\377\343\333\226\377\343\332\224\377\202\343\332" \ - "\222\377\2\334\321\212\377\201yF\377\20292\21\377\21""82\20\37760\20" \ - "\3774.\20\3770+\17\377,'\16\377)%\14\377&!\13\377#\36\12\377\36\32\11" \ - "\377\32\26\7\377\26\23\6\377\21\16\5\377\16\14\4\377\12\11\3\377\6\5" \ - "\2\377\4\3\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\372\0\0\0\377" \ - "\5###\377fff\377nnn\377mmm\377lll\377\202kkk\377\202jjj\377\1iii\377" \ - "\202hhh\377\17iig\377jjf\377mlg\377png\377sqg\377urf\377xuh\377zwh\377" \ - "}zh\377~{h\377\177{g\377~zf\377\232\226\200\377\346\342\303\377\346\342" \ - "\304\377\211\346\343\304\377$\346\342\304\377\270\263\231\377uo[\377" \ - "soY\377qmW\377mjV\377ieT\377daR\377a^Q\377]ZN\377YVM\377VTL\377SQK\377" \ - "POI\377OMH\377ONH\377OMG\377OMF\377MKC\377DB8\37796+\3771-!\377-*\34" \ - "\377(%\24\377&\"\17\377#\36\12\377%!\13\377'#\14\377)%\14\377,'\15\377" \ - "-(\16\3770+\17\3773-\17\3775/\17\37771\20\37782\20\377\20292\21\377\15" \ - ">7\27\377C<\35\377NG(\377\255\245w\377\345\335\243\377\343\333\233\377" \ - "\343\333\227\377\343\332\225\377\343\332\223\377\343\332\222\377\343" \ - "\332\221\377\271\260p\377QJ#\377\20292\21\377\20""71\20\3775/\17\377" \ - "1,\17\377-(\16\377+&\15\377&!\13\377#\36\12\377\37\33\11\377\32\26\7" \ - "\377\27\24\6\377\22\17\5\377\16\14\4\377\12\11\3\377\6\5\2\377\4\3\1" \ - "\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\367\0\0\0\377\6\3\3\3\377" \ - "===\377nnn\377mmm\377lll\377kkk\377\203jjj\377\22iii\377hhh\377ggg\377" \ - "fff\377ggf\377hge\377jie\377lje\377omf\377rpf\377ure\377wtf\377zwf\377" \ - "}zf\377}ze\377}ye\377~ze\377\272\267\234\377\204\346\343\304\377\202" \ - "\346\343\305\377\1\346\343\304\377\202\346\343\305\377'\346\342\304\377" \ - "\346\342\305\377\346\342\304\377\255\251\216\377soY\377snW\377okV\377" \ - "kgT\377gdS\377b_P\377^[O\377XVL\377USK\377QOI\377MLH\377JJF\377A@<\377" \ - "0/+\377!\37\32\377\24\23\15\377\16\14\4\377\17\15\4\377\21\16\5\377\23" \ - "\20\5\377\25\22\6\377\27\24\6\377\31\25\7\377\34\30\10\377\37\33\11\377" \ - "\"\35\12\377$\37\13\377&!\13\377)%\14\377,'\15\377.)\16\3770+\17\377" \ - "3-\17\37760\20\37771\20\377\20592\21\377\6ph=\377\326\315\217\377\343" \ - "\333\231\377\343\333\227\377\343\333\226\377\343\332\224\377\202\343" \ - "\332\222\377\2\334\321\212\377wo\77\377\20292\21\377\20""71\20\37760" \ - "\20\3772-\17\377/*\16\377+&\15\377'#\14\377#\36\12\377\40\33\11\377\33" \ - "\27\10\377\27\24\6\377\23\20\5\377\17\15\5\377\12\11\3\377\6\5\2\377" \ - "\4\3\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\365\0\0\0\377\5\15\15" \ - "\15\377VVV\377mmm\377lll\377kkk\377\202jjj\377\202iii\377\23hhh\377g" \ - "gg\377fff\377eee\377ddd\377eed\377gfc\377ihd\377kjd\377nld\377rod\377" \ - "tpd\377wsd\377zve\377|yd\377}zd\377}yd\377|xd\377\331\326\271\377\214" \ - "\346\343\305\377&\243\236\205\377rnW\377pmV\377mhU\377jfR\377eaQ\377" \ - "`\\N\377ZXL\377VTK\377OLF\377750\377\36\35\31\377\14\13\10\377\4\3\1" \ - "\377\5\4\1\377\5\4\2\377\6\5\2\377\10\7\3\377\12\11\3\377\13\11\3\377" \ - "\15\13\4\377\17\15\4\377\21\16\5\377\23\20\5\377\26\23\6\377\31\25\7" \ - "\377\33\27\10\377\36\32\11\377\"\35\12\377$\37\13\377&!\13\377)%\14\377" \ - ",'\15\377.)\16\3771,\17\3774.\20\37760\20\37782\20\377\20492\21\377\6" \ - "KD\40\377\274\263z\377\344\333\231\377\343\333\230\377\343\333\226\377" \ - "\343\332\224\377\202\343\332\222\377\24\343\331\220\377\252\240c\377" \ - "A9\27\37792\21\37782\20\37760\20\3773-\17\3770+\17\377,'\15\377($\14" \ - "\377$\37\13\377\40\33\11\377\34\30\10\377\30\25\7\377\23\20\5\377\17" \ - "\15\5\377\13\11\3\377\6\5\2\377\4\3\1\377\1\1\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\363\0\0\0\377\4\33\33\33\377fff\377lll\377kkk\377\202jjj\377" \ - "\1iii\377\202hhh\377\23ggg\377fff\377eee\377ddd\377ccc\377ccb\377dcb" \ - "\377feb\377hgc\377jhb\377mkb\377qnc\377spc\377vrc\377yuc\377{xc\377|" \ - "xd\377{wc\377\215\210s\377\215\346\343\305\377'\231\225|\377qmV\377o" \ - "kT\377kgS\377hdP\377b`N\377\\XJ\377DA3\377*'\33\377\22\20\7\377\11\10" \ - "\3\377\5\4\1\377\1\1\0\377\0\0\0\377\1\1\0\377\2\2\1\377\3\3\1\377\4" \ - "\3\1\377\5\4\1\377\6\5\2\377\10\7\3\377\12\11\3\377\14\12\4\377\16\14" \ - "\4\377\20\16\4\377\22\17\5\377\25\22\6\377\30\25\7\377\33\27\10\377\36" \ - "\32\11\377\"\35\12\377$\37\13\377'#\14\377*%\15\377,'\16\377/*\16\377" \ - "2-\17\3775/\17\37771\20\377\20492\21\377\34>7\25\377\231\220_\377\344" \ - "\333\232\377\343\333\231\377\343\333\227\377\343\332\225\377\343\332" \ - "\223\377\343\332\222\377\343\331\220\377\307\276y\377QJ#\37792\21\377" \ - "82\20\37760\20\3774.\20\3770+\17\377,'\16\377($\14\377$\37\13\377!\34" \ - "\11\377\34\30\10\377\30\25\7\377\23\20\5\377\17\15\5\377\12\11\3\377" \ - "\6\5\2\377\4\3\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\361\0\0\0" \ - "\377\3)))\377jjj\377kkk\377\202jjj\377\3iii\377hhh\377ggg\377\202fff" \ - "\377\4eee\377ddd\377ccc\377bbb\377\202aaa\377\21cb`\377eda\377hga\377" \ - "jia\377mj`\377pmb\377tpb\377ura\377xtb\377zwa\377{wa\377zua\377\246\240" \ - "\211\377\346\343\306\377\346\343\305\377\346\343\306\377\346\343\305" \ - "\377\202\346\343\306\377\1\346\343\305\377\206\346\343\306\377\15\223" \ - "\216v\377okT\377mhR\377jeQ\377\\YC\377A='\377%!\15\377\34\30\10\377\26" \ - "\23\6\377\17\15\4\377\11\10\3\377\5\4\1\377\1\1\0\377\205\0\0\0\377\27" \ - "\1\1\0\377\2\2\1\377\3\3\1\377\5\4\1\377\6\5\2\377\10\7\3\377\13\11\3" \ - "\377\15\13\4\377\17\15\4\377\22\17\5\377\25\22\6\377\31\25\7\377\33\27" \ - "\10\377\37\33\11\377\"\35\12\377%!\13\377'#\14\377+&\15\377-(\16\377" \ - "1,\17\3774.\20\37760\20\37782\20\377\20492\21\377\12yrF\377\340\327\226" \ - "\377\343\333\231\377\343\333\227\377\343\332\225\377\343\332\223\377" \ - "\343\332\222\377\343\332\221\377\334\321\210\377lc5\377\20292\21\377" \ - "\16""60\20\3774.\20\3771,\17\377,'\16\377)%\14\377%!\13\377!\34\11\377" \ - "\34\30\10\377\30\25\7\377\23\20\5\377\17\15\5\377\12\11\3\377\6\5\2\377" \ - "\3\3\1\377\377\0\0\0\377\377\0\0\0\377\360\0\0\0\377\2""333\377kkk\377" \ - "\202jjj\377\4iii\377hhh\377ggg\377fff\377\202eee\377\4ddd\377ccc\377" \ - "bbb\377aaa\377\202```\377\12``_\377aa^\377cb^\377fe`\377jh`\377lj_\377" \ - "pm`\377soa\377tq_\377ws`\377\202yu`\377\2xs^\377\277\274\241\377\204" \ - "\346\343\306\377\210\346\343\307\377\16\346\343\306\377\212\205o\377" \ - "nhR\377YU:\377>9\35\377.)\16\377($\14\377#\36\12\377\34\30\10\377\25" \ - "\22\6\377\17\15\5\377\11\10\3\377\5\4\1\377\1\1\0\377\210\0\0\0\377\25" \ - "\1\1\0\377\3\3\1\377\4\3\1\377\5\4\2\377\10\7\3\377\12\11\3\377\15\13" \ - "\4\377\17\15\4\377\22\17\5\377\26\23\6\377\31\25\7\377\34\30\10\377\37" \ - "\33\11\377#\36\12\377&!\13\377)%\14\377,'\16\377/*\16\3773-\17\37760" \ - "\20\37771\20\377\20492\21\377\12c\\3\377\331\317\221\377\344\333\231" \ - "\377\343\333\230\377\343\332\225\377\343\332\223\377\343\332\222\377" \ - "\343\332\221\377\341\330\214\377\201yE\377\20292\21\377\16""71\20\377" \ - "5/\17\3771,\17\377-(\16\377)%\14\377%!\13\377!\34\11\377\34\30\10\377" \ - "\30\25\7\377\23\20\5\377\16\14\4\377\11\10\3\377\5\4\2\377\3\3\1\377" \ - "\377\0\0\0\377\377\0\0\0\377\356\0\0\0\377\1AAA\377\202jjj\377\6iii\377" \ - "hhh\377ggg\377fff\377eee\377ddd\377\202ccc\377\2bbb\377aaa\377\202``" \ - "`\377\20___\377^^^\377__^\377`_\\\377ba]\377ec^\377if^\377kh^\377ol^" \ - "\377qn_\377tp_\377vr^\377xs_\377xr^\377wr]\377\330\324\271\377\210\346" \ - "\343\307\377\1\346\343\310\377\202\346\343\307\377\17\346\343\310\377" \ - "\346\343\307\377vpU\377A;\33\37760\20\3773-\17\377.)\16\377($\14\377" \ - "#\36\12\377\33\27\10\377\25\22\6\377\17\15\5\377\10\7\3\377\4\3\1\377" \ - "\1\1\0\377\212\0\0\0\377\24\1\1\0\377\2\2\1\377\4\3\1\377\5\4\2\377\10" \ - "\7\3\377\12\11\3\377\15\13\4\377\20\16\4\377\23\20\5\377\27\24\6\377" \ - "\31\25\7\377\35\31\10\377\"\35\12\377$\37\13\377'#\14\377+&\15\377.)" \ - "\16\3772-\17\3775/\17\37771\20\377\20492\21\377\12UN(\377\323\311\214" \ - "\377\344\333\231\377\343\333\230\377\343\333\226\377\343\332\223\377" \ - "\343\332\222\377\343\332\221\377\343\331\216\377\232\220V\377\20292\21" \ - "\377\16""71\20\3775/\17\3772-\17\377-(\16\377)%\14\377%!\13\377!\34\11" \ - "\377\33\27\10\377\27\24\6\377\22\17\5\377\16\14\4\377\11\10\3\377\5\4" \ - "\2\377\2\2\1\377\377\0\0\0\377\377\0\0\0\377\354\0\0\0\377\11@@@\377" \ - "jjj\377iii\377hhh\377ggg\377fff\377eee\377ddd\377ccc\377\202bbb\377\1" \ - "aaa\377\202```\377\21___\377^^^\377]]]\377\\\\\\\377]]\\\377`_\\\377" \ - "a`[\377db\\\377ge\\\377kg[\377nk]\377qn^\377so\\\377vq]\377wr]\377vq" \ - "\\\377~zc\377\203\346\343\307\377\2\346\343\310\377\346\343\307\377\207" \ - "\346\343\310\377\17\346\342\303\377\345\341\274\377WQ/\37792\21\3776" \ - "0\20\3773-\17\377-(\16\377'#\14\377\"\35\12\377\33\27\10\377\25\22\6" \ - "\377\16\14\4\377\10\7\3\377\4\3\1\377\1\1\0\377\214\0\0\0\377\24\1\1" \ - "\0\377\2\2\1\377\4\3\1\377\5\4\2\377\10\7\3\377\13\11\3\377\16\14\4\377" \ - "\21\16\5\377\24\21\5\377\30\25\7\377\33\27\10\377\37\33\11\377#\36\12" \ - "\377&!\13\377*%\15\377-(\16\3771,\17\3774.\20\37760\20\37782\20\377\203" \ - "92\21\377\32NF\"\377\312\302\206\377\344\333\231\377\343\333\230\377" \ - "\343\333\226\377\343\332\223\377\343\332\222\377\343\332\221\377\343" \ - "\331\216\377\250\237a\377;4\23\37792\21\37771\20\3775/\17\3771,\17\377" \ - "-(\16\377)%\14\377$\37\13\377\40\33\11\377\33\27\10\377\27\24\6\377\21" \ - "\16\5\377\15\13\4\377\10\7\3\377\5\4\1\377\2\2\1\377\377\0\0\0\377\377" \ - "\0\0\0\377\351\0\0\0\377\13\1\1\1\377BBB\377iii\377hhh\377ggg\377fff" \ - "\377eee\377ddd\377ccc\377bbb\377aaa\377\203```\377\23___\377^^^\377]" \ - "]]\377\\\\\\\377[[[\377[[Z\377\\[Z\377^]Z\377`_Z\377caZ\377gd[\377jf" \ - "[\377lj[\377pm\\\377so\\\377tp\\\377up[\377uo[\377\221\214v\377\206\346" \ - "\343\310\377\2\346\343\311\377\346\343\310\377\202\346\343\311\377\2" \ - "\346\343\305\377\346\341\276\377\202\346\341\274\377\14XQ0\37792\21\377" \ - "60\20\3773-\17\377-(\16\377'#\14\377\"\35\12\377\33\27\10\377\24\21\5" \ - "\377\16\14\4\377\10\7\3\377\4\3\1\377\217\0\0\0\377\23\1\1\0\377\2\2" \ - "\1\377\4\3\1\377\6\5\2\377\11\10\3\377\14\12\4\377\17\15\4\377\22\17" \ - "\5\377\27\24\6\377\31\25\7\377\36\32\11\377\"\35\12\377%!\13\377)%\14" \ - "\377,'\16\3770+\17\3773-\17\37760\20\37782\20\377\20392\21\377\32JC\36" \ - "\377\312\302\207\377\344\333\231\377\343\333\230\377\343\333\226\377" \ - "\343\332\223\377\343\332\222\377\343\332\221\377\343\331\216\377\254" \ - "\242d\377>7\25\37792\21\37771\20\3775/\17\3771,\17\377,'\16\377($\14" \ - "\377$\37\13\377\37\33\11\377\32\26\7\377\26\23\6\377\21\16\5\377\14\12" \ - "\4\377\7\6\2\377\4\3\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\350" \ - "\0\0\0\377\11>>>\377hhh\377ggg\377fff\377eee\377ddd\377ccc\377bbb\377" \ - "aaa\377\203```\377\30___\377^^^\377]]]\377\\\\\\\377[[[\377ZZZ\377YY" \ - "Y\377YYX\377ZYX\377\\\\X\377`^Y\377b`X\377fcY\377ifY\377ljY\377olZ\377" \ - "rnZ\377soZ\377toZ\377soY\377\244\241\211\377\346\343\310\377\346\343" \ - "\311\377\346\343\310\377\204\346\343\311\377\5\347\343\311\377\347\343" \ - "\307\377\346\342\301\377\346\341\275\377\346\342\275\377\202\346\342" \ - "\276\377\14XQ0\37792\21\37760\20\3773-\17\377-(\16\377'#\14\377\"\35" \ - "\12\377\33\27\10\377\24\21\5\377\16\14\4\377\10\7\3\377\4\3\1\377\212" \ - "\0\0\0\377\202\1\1\0\377\202\2\2\1\377\204\3\3\1\377\21\4\3\1\377\5\4" \ - "\2\377\7\6\2\377\12\11\3\377\16\14\4\377\21\16\5\377\25\22\6\377\31\25" \ - "\7\377\34\30\10\377!\34\11\377$\37\13\377'#\14\377,'\15\377/*\16\377" \ - "3-\17\37760\20\37782\20\377\20392\21\377\32KD\40\377\312\302\207\377" \ - "\344\333\231\377\343\333\230\377\343\333\226\377\343\332\223\377\343" \ - "\332\222\377\343\331\220\377\343\331\216\377\261\250g\377>7\25\37792" \ - "\21\37771\20\3775/\17\3771,\17\377,'\16\377'#\14\377#\36\12\377\37\33" \ - "\11\377\31\25\7\377\25\22\6\377\20\16\4\377\13\11\3\377\6\5\2\377\3\3" \ - "\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\346\0\0\0\377\10""555\377" \ - "ggg\377fff\377eee\377ddd\377ccc\377bbb\377aaa\377\202```\377\1___\377" \ - "\202^^^\377\6]]]\377\\\\\\\377[[[\377ZZZ\377YYY\377XXX\377\202WWW\377" \ - "\11YXV\377[ZV\377_]W\377a_W\377ebX\377heX\377jgX\377nkX\377qmX\377\203" \ - "soY\377\1\271\265\233\377\203\346\343\311\377\204\347\343\312\377\3\346" \ - "\343\305\377\346\342\277\377\346\342\276\377\204\346\342\277\377\14X" \ - "Q0\37792\21\37760\20\3773-\17\377-(\16\377'#\14\377\"\35\12\377\33\27" \ - "\10\377\24\21\5\377\16\14\4\377\10\7\3\377\4\3\1\377\206\0\0\0\377\202" \ - "\1\1\0\377\4\2\2\1\377\3\3\1\377\4\3\1\377\5\4\1\377\203\5\4\2\377\203" \ - "\6\4\2\377\202\7\5\2\377\20\10\6\2\377\12\10\3\377\15\11\3\377\17\13" \ - "\4\377\23\17\5\377\26\21\6\377\31\25\7\377\35\31\10\377!\34\11\377%\40" \ - "\12\377*$\14\377-&\15\3772+\16\3775-\17\37770\17\377:2\20\377\202;3\21" \ - "\377\32:2\21\377LD\40\377\323\312\215\377\344\333\231\377\343\333\230" \ - "\377\343\332\225\377\343\332\223\377\343\332\222\377\343\331\220\377" \ - "\343\331\216\377\254\242b\377;4\23\37792\21\37771\20\3774.\20\3770+\17" \ - "\377,'\15\377'#\14\377#\36\12\377\36\32\11\377\31\25\7\377\24\21\5\377" \ - "\17\15\5\377\12\11\3\377\5\4\2\377\3\3\1\377\377\0\0\0\377\377\0\0\0" \ - "\377\345\0\0\0\377\7+++\377fff\377eee\377ddd\377ccc\377bbb\377aaa\377" \ - "\202```\377\2___\377^^^\377\202]]]\377\6\\\\\\\377[[[\377ZZZ\377YYY\377" \ - "XXX\377WWW\377\202VVV\377\13VVU\377WVT\377ZXU\377][V\377`^U\377daV\377" \ - "gdV\377jgV\377miW\377plV\377rnW\377\202rmW\377\2\305\301\250\377\346" \ - "\343\311\377\203\347\343\312\377\3\347\343\313\377\346\343\310\377\346" \ - "\342\302\377\202\346\342\277\377\202\346\342\300\377\203\346\342\301" \ - "\377\14XQ0\37792\21\37760\20\3773-\17\377-(\16\377'#\14\377\"\35\12\377" \ - "\33\27\10\377\24\21\5\377\16\14\4\377\10\7\3\377\4\3\1\377\204\0\0\0" \ - "\377\12\1\1\0\377\2\2\1\377\3\3\1\377\5\4\1\377\5\4\2\377\10\6\2\377" \ - "\11\7\3\377\13\11\3\377\14\11\3\377\15\11\3\377\202\16\12\3\377\202\15" \ - "\12\3\377\2\14\12\3\377\15\12\4\377\202\14\11\4\377\17\16\12\4\377\17" \ - "\14\4\377\21\15\5\377\23\20\6\377\26\22\6\377\32\26\7\377\36\32\10\377" \ - "\"\35\12\377&\40\13\377+%\14\377.(\16\3772+\17\3775.\20\37781\20\377" \ - ";3\21\377\203;4\21\377\12XQ*\377\333\321\222\377\344\333\231\377\343" \ - "\333\230\377\343\332\225\377\343\332\223\377\343\332\222\377\343\331" \ - "\220\377\343\331\215\377\243\230\\\377\20292\21\377\15""60\20\3774.\20" \ - "\377/*\16\377+&\15\377&!\13\377\"\35\12\377\34\30\10\377\30\25\7\377" \ - "\22\17\5\377\16\14\4\377\11\10\3\377\5\4\1\377\2\2\1\377\377\0\0\0\377" \ - "\377\0\0\0\377\343\0\0\0\377\1\36\36\36\377\202ddd\377\3ccc\377bbb\377" \ - "aaa\377\202```\377\4___\377^^^\377]]]\377\\\\\\\377\202[[[\377\4ZZZ\377" \ - "YYY\377XXX\377WWW\377\202VVV\377\20UUU\377TTT\377UUT\377VUR\377XWT\377" \ - "[YT\377`]T\377c`U\377fcU\377jfU\377lhU\377okV\377pmU\377qmV\377plU\377" \ - "\325\320\270\377\202\347\343\312\377\202\347\343\313\377\1\346\343\306" \ - "\377\202\346\342\300\377\203\346\342\301\377\204\346\342\302\377\14X" \ - "Q1\37792\21\37760\20\3773-\17\377-(\16\377'#\14\377\"\35\12\377\33\27" \ - "\10\377\24\21\5\377\16\14\4\377\10\7\3\377\4\3\1\377\203\0\0\0\377\13" \ - "\2\2\1\377\3\3\1\377\5\3\1\377\10\6\2\377\13\11\3\377\16\12\3\377\17" \ - "\13\4\377\20\15\4\377\21\16\5\377\23\17\5\377\24\17\6\377\202\24\20\6" \ - "\377\1\25\21\6\377\202\24\20\6\377\23\23\17\5\377\22\17\5\377\21\16\5" \ - "\377\21\15\4\377\21\16\5\377\23\17\5\377\24\17\5\377\27\22\6\377\30\23" \ - "\6\377\34\26\7\377\40\32\10\377$\35\11\377(!\13\377+%\14\3770)\16\377" \ - "4,\17\3777/\17\377;2\20\377=4\21\377\202>5\21\377\6=5\21\377ia6\377\340" \ - "\327\227\377\344\333\231\377\343\333\227\377\343\332\225\377\202\343" \ - "\332\222\377\3\343\331\217\377\343\331\215\377\223\212Q\377\20292\21" \ - "\377\15""60\20\3773-\17\377.)\16\377*%\15\377&!\13\377!\34\11\377\33" \ - "\27\10\377\27\24\6\377\21\16\5\377\15\13\4\377\10\7\3\377\4\3\1\377\1" \ - "\1\0\377\377\0\0\0\377\377\0\0\0\377\341\0\0\0\377\5\17\17\17\377___" \ - "\377ccc\377bbb\377aaa\377\202```\377\5___\377^^^\377]]]\377\\\\\\\377" \ - "[[[\377\202ZZZ\377\3YYY\377XXX\377WWW\377\202VVV\377\16UUU\377TTT\377" \ - "SSS\377RRR\377SSR\377UUQ\377WVR\377ZXR\377_\\R\377a^S\377eaS\377idS\377" \ - "kgS\377miT\377\202okT\377\2plU\377\344\341\310\377\203\347\343\313\377" \ - "\1\346\343\304\377\202\346\342\301\377\203\346\342\302\377\202\346\342" \ - "\303\377\1\346\343\303\377\202\346\343\304\377\14ZT3\37792\21\37760\20" \ - "\3773-\17\377-(\16\377'#\14\377\"\35\12\377\33\27\10\377\24\21\5\377" \ - "\16\14\4\377\10\7\3\377\4\3\1\377\202\1\1\0\377\12\4\3\1\377\6\4\1\377" \ - "\12\7\2\377\15\11\3\377\16\13\4\377\21\15\5\377\24\17\6\377\25\21\6\377" \ - "\30\23\6\377\30\24\6\377\202\33\26\7\377\204\35\27\7\377\5\34\26\7\377" \ - "\33\26\6\377\32\24\6\377\31\23\5\377\30\22\6\377\202\26\21\5\377\15\27" \ - "\22\6\377\27\21\5\377\31\23\5\377\33\25\6\377\36\27\7\377\"\33\10\377" \ - "%\36\11\377*\"\13\377-%\14\3773*\16\3775,\16\37790\20\377<3\21\377\204" \ - "\77""5\21\377\30\200xI\377\344\333\233\377\343\333\231\377\343\333\227" \ - "\377\343\332\224\377\343\332\222\377\343\332\221\377\343\331\217\377" \ - "\343\331\214\377xp=\377;3\21\37792\20\37760\20\3772-\17\377-(\16\377" \ - ")%\14\377$\37\13\377\40\33\11\377\32\26\7\377\25\22\6\377\20\16\4\377" \ - "\13\11\3\377\6\5\2\377\3\3\1\377\377\0\0\0\377\377\0\0\0\377\340\0\0" \ - "\0\377\4\4\4\4\377RRR\377bbb\377aaa\377\202```\377\7___\377^^^\377]]" \ - "]\377\\\\\\\377[[[\377ZZZ\377YYY\377\202XXX\377\1WWW\377\202VVV\377\27" \ - "UUU\377TTT\377SSS\377RRR\377QQQ\377PPP\377RQP\377SSO\377VUQ\377YWP\377" \ - "]ZP\377`]Q\377d`Q\377hdR\377jfQ\377mhR\377oiS\377nhR\377yt]\377\347\343" \ - "\313\377\347\343\314\377\346\343\312\377\346\342\303\377\203\346\342" \ - "\302\377\2\346\342\303\377\346\343\303\377\202\346\343\304\377\204\346" \ - "\343\305\377\31b\\<\37792\21\37760\20\3773-\17\377-(\16\377'#\14\377" \ - "\"\35\12\377\33\27\10\377\25\22\6\377\16\14\4\377\10\7\3\377\5\3\1\377" \ - "\5\4\1\377\6\3\1\377\11\7\2\377\15\12\4\377\17\14\4\377\22\17\5\377\26" \ - "\21\6\377\30\24\6\377\33\26\7\377\36\30\7\377\40\32\10\377\"\34\10\377" \ - "#\34\11\377\204$\35\11\377\10$\35\12\377#\34\11\377\"\33\11\377!\32\11" \ - "\377!\31\10\377\37\27\7\377\34\25\7\377\32\23\6\377\202\31\22\6\377\14" \ - "\32\23\6\377\33\24\6\377\35\26\7\377\40\30\10\377\"\33\11\377&\36\12" \ - "\377+\"\14\377/%\15\3773*\17\3777.\17\377;1\21\377\77""4\21\377\202@" \ - "5\21\377\202A6\21\377\30\237\226a\377\344\333\232\377\343\333\231\377" \ - "\343\333\226\377\343\332\224\377\343\332\222\377\343\331\220\377\343" \ - "\331\216\377\340\326\207\377f].\377;4\21\377;2\20\3776/\17\3772,\17\377" \ - ",'\16\377'#\14\377#\36\12\377\36\32\11\377\31\25\7\377\23\20\5\377\17" \ - "\15\5\377\12\11\3\377\5\4\2\377\2\2\1\377\377\0\0\0\377\377\0\0\0\377" \ - "\337\0\0\0\377\2===\377aaa\377\202```\377\10___\377^^^\377]]]\377\\\\" \ - "\\\377[[[\377ZZZ\377YYY\377XXX\377\202WWW\377\202VVV\377\27UUU\377TT" \ - "T\377SSS\377RRR\377QQQ\377PPP\377OOO\377NNN\377PON\377RQN\377UTO\377" \ - "XVN\377\\YN\377`]Q\377c`P\377gcP\377ieP\377kfQ\377mhQ\377lgP\377\203" \ - "~h\377\347\343\314\377\346\343\310\377\202\346\342\302\377\2\346\342" \ - "\303\377\346\343\303\377\202\346\343\304\377\206\346\343\305\377\34\346" \ - "\343\306\377d^>\37792\21\37760\20\3773-\17\377-(\16\377($\14\377#\36" \ - "\12\377\33\27\10\377\26\22\6\377\20\15\4\377\14\11\3\377\11\7\2\377\11" \ - "\6\3\377\14\11\3\377\20\14\4\377\22\17\5\377\27\22\6\377\32\25\6\377" \ - "\36\30\7\377!\33\10\377\"\33\11\377%\36\11\377'\40\12\377*\"\13\377+" \ - "#\14\377,#\14\377-$\14\377\202-%\14\377\11-$\14\377,#\14\377+!\13\377" \ - "*!\13\377(\37\12\377&\35\11\377$\34\11\377!\31\10\377\40\30\7\377\203" \ - "\36\26\6\377\14\37\27\7\377\40\30\7\377!\31\10\377%\34\11\377*!\12\377" \ - ",#\14\3771'\15\3775*\16\3779.\20\377<2\21\377@5\21\377B7\22\377\202A" \ - "6\22\377\31D;\26\377\301\271\200\377\344\333\232\377\343\333\230\377" \ - "\343\333\226\377\343\332\223\377\343\332\222\377\343\331\220\377\343" \ - "\331\215\377\326\313\177\377OF\36\377=5\21\377:2\21\37770\17\3773,\17" \ - "\377-'\15\377'\"\13\377\"\35\12\377\34\30\10\377\27\24\6\377\22\17\5" \ - "\377\15\13\4\377\10\7\3\377\4\3\1\377\1\1\0\377\377\0\0\0\377\377\0\0" \ - "\0\377\335\0\0\0\377\1$$$\377\202```\377\11___\377^^^\377]]]\377\\\\" \ - "\\\377[[[\377ZZZ\377YYY\377XXX\377WWW\377\203VVV\377\32UUU\377TTT\377" \ - "SSS\377RRR\377QQQ\377PPP\377OOO\377NNN\377MMM\377MML\377NML\377POL\377" \ - "SRL\377VTL\377[XM\377_[O\377a_N\377ebO\377idO\377jfP\377lfO\377kfO\377" \ - "\214\207p\377\346\343\310\377\346\342\302\377\346\343\303\377\202\346" \ - "\343\304\377\205\346\343\305\377\202\346\343\306\377\203\346\343\307" \ - "\377\30lfG\37792\21\37771\20\3773-\17\377.)\16\377)$\14\377#\37\12\377" \ - "\35\31\10\377\27\24\6\377\22\16\5\377\17\14\4\377\16\13\4\377\17\14\4" \ - "\377\21\16\5\377\26\21\6\377\31\24\6\377\36\27\7\377!\32\10\377#\34\11" \ - "\377'\40\13\377+\"\14\377-$\14\377/&\15\3771(\15\377\2024*\16\377\203" \ - "5*\16\377\30""5)\16\3775*\16\3774*\15\3772(\15\377/%\14\377.$\13\377" \ - "+!\13\377)\37\11\377&\34\11\377\"\31\7\377\40\27\7\377\40\30\7\377\40" \ - "\27\6\377\40\30\7\377!\30\7\377#\32\10\377&\35\11\377*\40\12\377.%\14" \ - "\3774*\15\3777,\17\377<0\20\377@3\21\377B6\22\377\203C7\22\377\5WL#\377" \ - "\331\320\222\377\344\333\231\377\343\333\230\377\343\332\225\377\202" \ - "\343\332\222\377\21\343\331\217\377\343\331\214\377\274\263l\377A9\24" \ - "\377>5\21\377;2\20\3776/\17\3772+\17\377,&\15\377(\"\13\377\"\36\11\377" \ - "\32\26\7\377\25\22\6\377\20\16\4\377\13\11\3\377\6\5\2\377\3\3\1\377" \ - "\377\0\0\0\377\377\0\0\0\377\334\0\0\0\377\13\13\13\13\377ZZZ\377___" \ - "\377^^^\377]]]\377\\\\\\\377[[[\377ZZZ\377YYY\377XXX\377WWW\377\202V" \ - "VV\377\202UUU\377\10TTT\377SSS\377RRR\377QQQ\377PPP\377OOO\377NNN\377" \ - "MMM\377\202LLL\377\12LLK\377LLJ\377ONJ\377RQK\377VTL\377YVK\377^ZM\377" \ - "`]L\377daM\377gcM\377\202jeN\377\3jeM\377\204\177b\377\346\343\303\377" \ - "\202\346\343\304\377\203\346\343\305\377\202\346\343\306\377\204\346" \ - "\343\307\377\203\346\343\310\377\12rmO\37792\21\37771\20\3774-\20\377" \ - "0*\16\377+%\14\377$\40\12\377\37\32\11\377\31\26\7\377\26\21\6\377\202" \ - "\23\17\5\377\16\24\17\5\377\30\22\5\377\34\26\6\377!\32\10\377$\34\11" \ - "\377(\40\13\377,#\14\377/%\15\3772(\15\3775*\16\3777,\17\3779.\17\377" \ - ":/\20\377;0\20\377\204=1\20\377\30<0\20\377;.\20\3779-\17\3777+\17\377" \ - "4)\16\3773'\15\3771%\14\377-\"\13\377*\37\12\377'\34\11\377$\31\10\377" \ - "#\30\10\377\"\30\10\377#\30\10\377#\31\10\377&\34\11\377)\36\12\377-" \ - "\"\13\3772&\15\3774)\15\377:.\17\377>3\21\377@5\21\377C7\22\377\202D" \ - "9\22\377\31D7\22\377yn@\377\344\333\233\377\344\333\231\377\343\333\227" \ - "\377\343\332\224\377\343\332\222\377\343\332\221\377\343\331\216\377" \ - "\343\331\212\377\233\220R\377@6\21\377>5\21\377<3\21\3776.\17\3771+\17" \ - "\377,&\15\377&!\13\377!\34\11\377\31\25\7\377\23\20\5\377\16\14\4\377" \ - "\11\10\3\377\5\4\1\377\2\2\1\377\377\0\0\0\377\377\0\0\0\377\333\0\0" \ - "\0\377\11FFF\377^^^\377]]]\377\\\\\\\377[[[\377ZZZ\377YYY\377XXX\377" \ - "WWW\377\202VVV\377\2UUU\377TTT\377\202SSS\377\6RRR\377QQQ\377PPP\377" \ - "OOO\377NNN\377MMM\377\202LLL\377\20KKK\377JJJ\377JJI\377KKI\377MLH\377" \ - "QOI\377USJ\377XUJ\377\\XK\377_\\J\377c^K\377gcM\377ieM\377idL\377JD&" \ - "\377\205\177`\377\204\346\343\305\377\202\346\343\306\377\202\346\343" \ - "\307\377\202\346\343\310\377\205\346\343\311\377\32zuX\377:2\21\377:" \ - "1\20\3776/\17\3772+\17\377-&\15\377'\40\13\377\"\34\11\377\36\30\7\377" \ - "\33\26\6\377\31\23\5\377\30\22\5\377\32\24\6\377\37\27\7\377\"\33\11" \ - "\377(\37\12\377+!\13\377/%\14\3774)\15\3776,\17\3778.\17\377<0\20\377" \ - ">2\21\377\77""4\20\377A5\21\377B6\21\377\203C6\21\377'C7\21\377C6\21" \ - "\377A4\21\377@2\20\377\77""1\20\377<.\20\3779,\17\3777*\16\3774(\15\377" \ - "1%\14\377-\"\12\377*\36\11\377(\34\10\377&\32\10\377$\30\10\377%\31\10" \ - "\377'\33\10\377)\35\11\377+\40\12\3770$\14\3774(\15\3779,\17\377</\20" \ - "\377@3\21\377D7\22\377F9\23\377F:\23\377F:\22\377E8\22\377\256\243m\377" \ - "\344\333\232\377\343\333\231\377\343\333\226\377\343\332\223\377\343" \ - "\332\222\377\343\331\220\377\343\331\215\377\343\331\211\377ka0\377\202" \ - "@5\21\377\14;2\21\3776-\16\3771*\16\377+%\14\377%\40\13\377\35\31\10" \ - "\377\27\24\6\377\21\16\5\377\14\12\4\377\7\6\2\377\4\3\1\377\1\1\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\331\0\0\0\377\10(((\377]]]\377\\\\\\\377" \ - "[[[\377ZZZ\377YYY\377XXX\377WWW\377\202VVV\377\3UUU\377TTT\377SSS\377" \ - "\202RRR\377\5QQQ\377PPP\377OOO\377NNN\377MMM\377\202LLL\377\22KKK\377" \ - "JJJ\377III\377HHH\377HHG\377IIG\377LKH\377ONH\377SQH\377VSG\377[WI\377" \ - "^[I\377b]I\377e`K\377gcJ\377JD&\37792\21\377\215\210h\377\202\346\343" \ - "\305\377\1\346\343\306\377\203\346\343\307\377\1\346\343\310\377\203" \ - "\346\343\311\377\204\346\343\312\377\30\346\343\313\377\201|]\377;4\21" \ - "\377:2\21\37770\20\3773+\17\377/'\15\377*#\13\377$\35\11\377!\32\10\377" \ - "\40\31\10\377\37\27\7\377\40\30\7\377!\31\10\377%\34\11\377*!\12\377" \ - ".$\14\3772(\15\3775*\16\377:.\17\377=1\20\377\77""3\21\377C6\21\377D" \ - "7\22\377\202F9\22\377\202H:\23\377\203I;\23\377\31H:\22\377G9\22\377" \ - "F8\22\377E7\21\377B5\20\377\77""2\20\377>1\20\377:.\17\3776*\15\3773" \ - "'\14\377/#\13\377*\37\11\377)\35\10\377'\33\10\377&\33\10\377'\33\10" \ - "\377)\35\10\377)\35\11\377-\"\12\3772'\14\3776*\15\377;.\17\377\77""2" \ - "\17\377B5\21\377F8\22\377\202H;\23\377\31G9\23\377RE\35\377\326\314\217" \ - "\377\344\333\232\377\343\333\230\377\343\332\225\377\343\332\222\377" \ - "\343\332\221\377\343\331\217\377\343\331\214\377\324\310|\377NC\32\377" \ - "A6\22\377@5\22\377;1\21\3775,\16\3771)\15\377*$\14\377\"\35\12\377\32" \ - "\26\7\377\24\21\5\377\17\15\4\377\12\11\3\377\5\4\2\377\2\2\1\377\377" \ - "\0\0\0\377\377\0\0\0\377\330\0\0\0\377\7\12\12\12\377WWW\377[[[\377Z" \ - "ZZ\377YYY\377XXX\377WWW\377\202VVV\377\5UUU\377TTT\377SSS\377RRR\377" \ - "QQQ\377\202PPP\377\3OOO\377NNN\377MMM\377\202LLL\377\5KKK\377JJJ\377" \ - "III\377HHH\377GGG\377\202FFF\377\12HHE\377KJE\377MLF\377QOF\377VSF\377" \ - "YVG\377]ZG\377a]I\377b^H\377GA#\377\20292\21\377\2\225\220q\377\346\343" \ - "\306\377\202\346\343\307\377\202\346\343\310\377\202\346\343\311\377" \ - "\203\346\343\312\377\202\346\343\313\377\203\346\343\314\377\27\216\212" \ - "k\377=5\21\377=4\21\37790\20\3776-\16\3771(\15\377+#\13\377(!\13\377" \ - "&\36\12\377$\34\11\377$\33\11\377%\34\11\377'\35\11\377*\40\12\377/%" \ - "\14\3774*\15\3778,\17\377=0\20\377\77""3\20\377C7\21\377F8\22\377H:\23" \ - "\377I;\23\377\202H:\23\377\202I;\23\377\203J;\23\377\203K<\24\377\27" \ - "J:\23\377I:\23\377F7\22\377D5\21\377@2\20\377>/\20\3779+\16\3775'\15" \ - "\3771$\14\377-\40\12\377)\35\11\377*\34\11\377)\34\10\377*\34\11\377" \ - ")\35\11\377,\40\12\3770#\14\3774'\14\3779,\16\377>0\17\377@3\20\377E" \ - "7\21\377H:\22\377\203I;\23\377\30\200sD\377\344\333\233\377\344\333\231" \ - "\377\343\333\227\377\343\332\224\377\343\332\222\377\343\331\220\377" \ - "\343\331\216\377\343\331\212\377\252\235\\\377C7\22\377A6\22\377\77""4" \ - "\21\377:0\20\3774+\16\3770'\15\377*#\13\377\35\31\10\377\30\25\7\377" \ - "\22\17\5\377\15\13\4\377\10\7\3\377\4\3\1\377\1\1\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\327\0\0\0\377\5;;;\377ZZZ\377YYY\377XXX\377WWW\377\202" \ - "VVV\377\6UUU\377TTT\377SSS\377RRR\377QQQ\377PPP\377\202OOO\377\2NNN\377" \ - "MMM\377\202LLL\377\7KKK\377JJJ\377III\377HHH\377GGG\377FFF\377EEE\377" \ - "\202DDD\377\12FFC\377IHD\377LKD\377PND\377TQF\377XUF\377\\YF\377_[G\377" \ - "E\77#\37771\20\377\20292\21\377\2\237\232|\377\346\343\307\377\202\346" \ - "\343\310\377\202\346\343\311\377\202\346\343\312\377\202\346\343\313" \ - "\377\203\346\343\314\377\203\346\343\315\377\12\231\223w\377\77""5\21" \ - "\377>5\21\377;1\20\3777.\17\3773*\16\377/&\15\377,#\14\377+\"\13\377" \ - "+!\12\377\202*!\12\377\16,\"\13\3771%\15\3775*\16\377:.\17\377>1\20\377" \ - "B5\21\377F8\22\377I;\23\377H:\23\377I;\23\377J;\23\377WJ\"\377\200uR" \ - "\377\257\247\207\377\202\307\301\243\377\4\310\302\241\377\274\264\222" \ - "\377\237\226s\377th@\377\203N=\24\377\12L;\23\377I9\22\377F6\21\377C" \ - "3\20\377\77/\20\377;,\16\3776(\15\3772$\14\377.\40\12\377+\36\11\377" \ - "\203)\34\10\377#,\37\11\377/\"\12\3773&\14\3777*\15\377<.\17\377@2\20" \ - "\377D6\21\377G9\22\377I:\23\377J;\23\377I;\23\377H:\23\377\274\262x\377" \ - "\344\333\232\377\343\333\230\377\343\333\226\377\343\332\223\377\343" \ - "\332\222\377\343\331\217\377\343\331\214\377\343\331\210\377od1\377D" \ - "7\22\377C7\22\377\77""4\21\377:/\20\3774*\17\377-%\14\377$\37\12\377" \ - "\33\27\10\377\25\22\6\377\20\16\4\377\13\11\3\377\5\4\2\377\2\2\1\377" \ - "\377\0\0\0\377\377\0\0\0\377\326\0\0\0\377\4\25\25\25\377YYY\377XXX\377" \ - "WWW\377\202VVV\377\10UUU\377TTT\377SSS\377RRR\377QQQ\377PPP\377OOO\377" \ - "NNN\377\202MMM\377\202LLL\377\11KKK\377JJJ\377III\377HHH\377GGG\377F" \ - "FF\377EEE\377DDD\377CCC\377\202BBB\377\12DDA\377GFA\377KJC\377NLB\377" \ - "SPC\377WSD\377[WE\377FA(\3775/\17\37782\20\377\20292\21\377\2\247\241" \ - "\204\377\346\343\310\377\202\346\343\311\377\202\346\343\312\377\1\346" \ - "\343\313\377\203\346\343\314\377\203\346\343\315\377\1\346\343\316\377" \ - "\202\347\343\316\377\32\244\237\203\377A6\21\377@5\22\377>3\21\377:/" \ - "\20\3775*\16\3773)\15\3771'\15\3770%\14\377/%\13\3770%\14\3771%\14\377" \ - "2&\15\3776*\16\377;.\17\377@2\20\377C6\21\377H:\22\377I:\23\377J;\23" \ - "\377K<\24\377\\N(\377\250\240\201\377\344\341\307\377\346\343\311\377" \ - "\346\343\310\377\202\346\343\307\377\1\346\343\306\377\202\346\343\305" \ - "\377\17\346\343\304\377\326\321\261\377\211|X\377N=\24\377O>\24\377N" \ - "=\23\377L;\22\377H8\21\377E5\21\377A1\17\377=-\16\3778)\15\3773$\13\377" \ - "0\40\11\377+\35\10\377\202*\34\10\377\11+\35\10\377-\37\11\3772$\13\377" \ - "6(\15\377;+\16\377\77/\20\377C4\20\377H8\22\377J:\23\377\203K<\24\377" \ - "\30_R&\377\340\330\230\377\344\333\231\377\343\333\227\377\343\332\224" \ - "\377\343\332\222\377\343\332\221\377\343\331\216\377\343\331\212\377" \ - "\316\301v\377K\77\26\377E8\22\377A6\21\377>3\21\3778-\17\3773*\16\377" \ - "+#\13\377\36\32\11\377\31\25\7\377\22\17\5\377\16\14\4\377\10\7\3\377" \ - "\4\3\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\325\0\0\0\377\2HHH\377" \ - "WWW\377\202VVV\377\11UUU\377TTT\377SSS\377RRR\377QQQ\377PPP\377OOO\377" \ - "NNN\377MMM\377\203LLL\377\11KKK\377JJJ\377III\377HHH\377GGG\377FFF\377" \ - "EEE\377DDD\377CCC\377\202BBB\377\202AAA\377\12BB\77\377ED@\377IHA\377" \ - "MJ@\377ROB\377VRC\377FC-\3770+\17\3775/\17\37782\20\377\20292\21\377" \ - "\2\251\245\210\377\346\343\311\377\202\346\343\312\377\1\346\343\313" \ - "\377\202\346\343\314\377\203\346\343\315\377\1\346\343\316\377\202\347" \ - "\343\316\377\203\347\344\317\377\1\260\253\220\377\202A6\22\377\6\77" \ - "4\21\377<0\20\3778.\17\3776+\16\3774)\15\3774)\16\377\2024(\15\377\6" \ - "5)\15\3778+\16\377;.\17\377\77""2\20\377E6\21\377H:\23\377\202K<\24\377" \ - "\4L=\24\377\203xU\377\341\337\306\377\346\343\313\377\202\346\343\312" \ - "\377\202\346\343\311\377\3\346\343\310\377\346\343\307\377\346\343\306" \ - "\377\203\346\343\305\377\31\346\343\304\377\311\301\237\377cR(\377Q\77" \ - "\24\377Q>\24\377N<\23\377K9\22\377G5\21\377C1\20\377>,\16\3779(\15\377" \ - "3#\13\3770\40\12\377-\36\11\377,\35\11\377+\34\10\377-\36\10\3771\"\12" \ - "\3775&\14\377;+\15\377=.\17\377B2\17\377E6\21\377H9\22\377L;\23\377\202" \ - "N=\24\377\30L=\24\377\246\232d\377\344\333\233\377\343\333\231\377\343" \ - "\333\226\377\343\332\223\377\343\332\222\377\343\331\217\377\343\331" \ - "\214\377\343\331\211\377\231\216P\377F:\23\377E8\22\377@5\21\377<1\20" \ - "\3777,\17\3771'\15\377#\37\12\377\33\27\10\377\26\23\6\377\20\16\4\377" \ - "\13\11\3\377\6\5\2\377\2\2\1\377\377\0\0\0\377\377\0\0\0\377\324\0\0" \ - "\0\377\1\33\33\33\377\202VVV\377\11UUU\377TTT\377SSS\377RRR\377QQQ\377" \ - "PPP\377OOO\377NNN\377MMM\377\202LLL\377\202KKK\377\10JJJ\377III\377H" \ - "HH\377GGG\377FFF\377EEE\377DDD\377CCC\377\202BBB\377\2AAA\377@@@\377" \ - "\202\77\77\77\377\12AA>\377DB>\377GF\77\377LI\77\377PMA\377GC2\377+&" \ - "\16\3770+\17\3775/\17\37782\20\377\20292\21\377\3\256\252\215\377\346" \ - "\343\312\377\346\343\313\377\202\346\343\314\377\202\346\343\315\377" \ - "\1\346\343\316\377\202\347\343\316\377\205\347\344\317\377\2\347\344" \ - "\320\377\274\270\237\377\202C7\22\377\5@5\21\377>2\21\377<0\20\377;." \ - "\20\377:.\17\377\2029,\17\377\7""9,\16\377:.\17\377=/\17\377@2\20\377" \ - "E6\21\377J:\23\377L<\23\377\202N=\24\377\1\233\220q\377\202\346\343\315" \ - "\377\202\346\343\314\377\2\346\343\313\377\346\343\312\377\202\346\343" \ - "\311\377\1\346\343\310\377\202\346\343\307\377\203\346\343\305\377\3" \ - "\346\343\304\377\330\321\262\377pa7\377\202R\77\24\377\24O=\23\377L9" \ - "\22\377G5\20\377A0\20\377=+\15\3777'\14\3773\"\12\3770\37\11\377.\36" \ - "\11\377-\35\11\377.\36\11\3770\40\12\3775#\13\3779(\15\377=-\17\377A" \ - "1\17\377E4\21\377H7\21\377L;\22\377N=\23\377\202N=\24\377\30ZJ\37\377" \ - "\335\326\225\377\344\333\232\377\343\333\230\377\343\332\225\377\343" \ - "\332\222\377\343\332\221\377\343\331\216\377\343\331\212\377\335\321" \ - "\202\377YK\37\377H;\23\377E8\22\377\77""4\20\377;/\20\3775*\16\377+$" \ - "\13\377\37\33\11\377\31\25\7\377\23\20\5\377\16\14\4\377\10\7\3\377\4" \ - "\3\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\323\0\0\0\377\12DDD\377" \ - "UUU\377TTT\377SSS\377RRR\377QQQ\377PPP\377OOO\377NNN\377MMM\377\202L" \ - "LL\377\1KKK\377\202JJJ\377\7III\377HHH\377GGG\377FFF\377EEE\377DDD\377" \ - "CCC\377\202BBB\377\4AAA\377@@@\377\77\77\77\377>>>\377\202===\377\12" \ - "\77\77<\377B@<\377FD>\377KH>\377HE8\377'\"\17\377+&\15\3770+\17\3775" \ - "/\17\37782\20\377\20292\21\377\3\264\257\224\377\346\343\313\377\346" \ - "\343\314\377\202\346\343\315\377\2\346\343\316\377\347\343\316\377\204" \ - "\347\344\317\377\204\347\344\320\377\7\347\344\321\377\310\303\255\377" \ - "D9\22\377D7\22\377C7\22\377A4\21\377\77""2\20\377\202\77""1\20\377\2" \ - "=0\20\377=0\17\377\202\77""1\20\377\4B3\20\377E6\21\377I9\22\377M<\23" \ - "\377\202N=\24\377\5\216\202a\377\347\344\317\377\347\343\316\377\346" \ - "\343\316\377\346\343\315\377\202\346\343\314\377\1\346\343\313\377\202" \ - "\346\343\312\377\2\346\343\311\377\346\343\310\377\202\346\343\307\377" \ - "\1\346\343\306\377\202\346\343\305\377\30\346\343\304\377\332\324\264" \ - "\377eS(\377S@\24\377S>\24\377P<\23\377K8\21\377G4\20\377A/\16\377=*\15" \ - "\3778%\13\3773!\12\3770\36\11\377.\35\10\377.\36\10\3770\37\11\3773\"" \ - "\12\3778&\14\377<+\15\377@.\16\377E3\20\377H5\21\377M:\23\377O=\24\377" \ - "\202P>\24\377\30O>\24\377\230\213W\377\344\333\233\377\343\333\231\377" \ - "\343\333\226\377\343\332\223\377\343\332\222\377\343\331\217\377\343" \ - "\331\214\377\343\331\210\377\253\237\\\377I;\23\377H:\23\377D7\22\377" \ - "\77""3\20\3779.\17\3774)\15\377\"\35\12\377\33\27\10\377\26\23\6\377" \ - "\20\16\4\377\13\11\3\377\5\4\2\377\2\2\1\377\377\0\0\0\377\377\0\0\0" \ - "\377\322\0\0\0\377\11\5\5\5\377222\377HHH\377RRR\377QQQ\377PPP\377OO" \ - "O\377NNN\377MMM\377\202LLL\377\3KKK\377JJJ\377III\377\202HHH\377\5GG" \ - "G\377FFF\377EEE\377DDD\377CCC\377\202BBB\377\6AAA\377@@@\377\77\77\77" \ - "\377>>>\377===\377<<<\377\202;;;\377\12>=;\377A@;\377DB<\377GE:\377'" \ - "#\23\377$\37\13\377+&\15\3770+\17\3775/\17\37782\20\377\20292\21\377" \ - "\5\264\257\225\377\346\343\314\377\346\343\315\377\346\343\316\377\347" \ - "\343\316\377\204\347\344\317\377\202\347\344\320\377\204\347\344\321" \ - "\377\10\347\344\322\377\326\323\277\377F:\23\377G9\23\377E8\22\377C6" \ - "\21\377B5\21\377A4\20\377\202A3\20\377\12B3\20\377C4\20\377D5\21\377" \ - "E6\21\377H8\22\377N<\23\377O>\24\377P>\24\377o`;\377\345\342\316\377" \ - "\202\347\344\317\377\202\347\343\316\377\202\346\343\315\377\202\346" \ - "\343\314\377\2\346\343\313\377\346\343\312\377\202\346\343\311\377\202" \ - "\346\343\307\377\1\346\343\306\377\202\346\343\305\377\27\346\343\304" \ - "\377\310\277\236\377YC\30\377VB\25\377S@\24\377P;\23\377L8\21\377G3\20" \ - "\377A.\16\377=)\15\3777$\13\3773\40\12\3770\35\11\3770\35\10\3770\36" \ - "\10\3773!\11\3777$\13\377;(\14\377\77-\16\377D2\17\377G5\20\377L9\22" \ - "\377O=\23\377\203Q\77\24\377\30ZH\34\377\335\326\226\377\344\333\232" \ - "\377\343\333\230\377\343\332\225\377\343\332\222\377\343\332\221\377" \ - "\343\331\216\377\343\331\212\377\343\331\207\377gY(\377I;\23\377H:\22" \ - "\377B5\21\377>1\20\3778+\17\377'!\13\377\37\33\11\377\31\25\7\377\22" \ - "\17\5\377\15\13\4\377\10\7\3\377\4\3\1\377\1\1\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\324\0\0\0\377\3\10\10\10\377\35\35\35\377777\377\203LLL\377" \ - "\4KKK\377JJJ\377III\377HHH\377\202GGG\377\4FFF\377EEE\377DDD\377CCC\377" \ - "\202BBB\377\24AAA\377@@@\377\77\77\77\377>>>\377===\377<<<\377;;;\377" \ - ":::\377999\377::9\377<;9\377\77>9\377C@:\377*'\33\377\36\32\11\377$\37" \ - "\13\377+&\15\3770+\17\3775/\17\37782\20\377\20292\21\377\2\264\257\225" \ - "\377\346\343\315\377\202\347\343\316\377\203\347\344\317\377\202\347" \ - "\344\320\377\202\347\344\321\377\203\347\344\322\377\202\347\344\323" \ - "\377\3\343\340\317\377H;\23\377I;\23\377\202G9\22\377\3F7\21\377F7\22" \ - "\377E6\21\377\202F6\21\377\10G7\21\377H7\21\377I9\22\377N;\22\377P>\24" \ - "\377Q\77\24\377R\77\24\377\303\275\245\377\202\347\344\320\377\203\347" \ - "\344\317\377\3\347\343\316\377\346\343\316\377\346\343\315\377\202\346" \ - "\343\314\377\2\346\343\313\377\346\343\312\377\202\346\343\311\377\3" \ - "\346\343\310\377\346\343\307\377\346\343\306\377\202\346\343\305\377" \ - "\30\346\343\304\377\215\177V\377XC\25\377WB\25\377R>\23\377O:\22\377" \ - "K6\20\377G1\17\377\77,\16\377:&\14\3775\"\12\3771\37\11\3770\34\10\377" \ - "1\35\10\3772\37\11\3775\"\13\377:'\14\377\77+\16\377C/\17\377G4\17\377" \ - "K8\21\377N;\22\377R>\24\377S\77\24\377\202R\77\24\377\27\237\223\\\377" \ - "\344\333\233\377\343\333\231\377\343\333\226\377\343\332\223\377\343" \ - "\332\222\377\343\331\217\377\343\331\214\377\343\331\210\377\262\247" \ - "a\377K<\24\377I:\23\377G9\22\377A4\20\377<.\20\377/&\15\377\"\35\12\377" \ - "\33\27\10\377\25\22\6\377\17\15\4\377\12\11\3\377\5\4\2\377\2\2\1\377" \ - "\377\0\0\0\377\377\0\0\0\377\327\0\0\0\377\3\5\5\5\377\33\33\33\3774" \ - "44\377\202HHH\377\2GGG\377FFF\377\202EEE\377\2DDD\377CCC\377\202BBB\377" \ - "\26AAA\377@@@\377\77\77\77\377>>>\377===\377<<<\377;;;\377:::\377999" \ - "\377888\377777\377887\377:97\377=<7\3771/'\377\30\25\7\377\36\32\11\377" \ - "$\37\13\377+&\15\3770+\17\3775/\17\37782\20\377\20292\21\377\2\264\257" \ - "\225\377\347\343\316\377\203\347\344\317\377\202\347\344\320\377\202" \ - "\347\344\321\377\202\347\344\322\377\204\347\344\323\377\202\347\344" \ - "\324\377\4SF!\377I;\23\377H:\22\377H:\23\377\202I9\22\377\203H8\22\377" \ - "\4I9\22\377K9\22\377M<\23\377P=\24\377\202R\77\24\377\2|nI\377\347\344" \ - "\322\377\202\347\344\321\377\202\347\344\320\377\203\347\344\317\377" \ - "\1\347\343\316\377\202\346\343\315\377\3\346\343\314\377\346\343\313" \ - "\377\346\343\312\377\202\346\343\311\377\3\346\343\310\377\346\343\307" \ - "\377\346\343\306\377\202\346\343\305\377\13\326\320\257\377[E\30\377" \ - "YC\25\377WA\24\377R=\23\377N9\21\377H3\17\377C.\16\377=)\14\377:%\13" \ - "\3773\40\11\377\2021\35\10\377\11""2\36\10\3775\"\12\377:&\13\377=*\15" \ - "\377B/\17\377F3\17\377K7\21\377N:\22\377Q=\23\377\202S@\24\377\30T\77" \ - "\24\377`L\37\377\340\330\230\377\344\333\231\377\343\333\227\377\343" \ - "\332\224\377\343\332\222\377\343\331\220\377\343\331\215\377\343\331" \ - "\211\377\343\331\206\377jZ)\377L=\24\377I:\23\377E6\21\377\77""2\20\377" \ - "5*\16\377$\37\13\377\36\32\11\377\30\25\7\377\21\16\5\377\15\13\4\377" \ - "\7\6\2\377\3\3\1\377\377\0\0\0\377\377\0\0\0\377\332\0\0\0\377\3\5\5" \ - "\5\377!!!\377<<<\377\202DDD\377\1CCC\377\202BBB\377\12AAA\377@@@\377" \ - "\77\77\77\377>>>\377===\377<<<\377;;;\377:::\377999\377888\377\20277" \ - "7\377\17""666\377776\377875\377750\377\25\22\11\377\30\25\7\377\36\32" \ - "\11\377$\37\13\377+&\15\3770+\17\3775/\17\37782\20\37792\21\377:2\21" \ - "\377\264\257\227\377\202\347\344\317\377\202\347\344\320\377\202\347" \ - "\344\321\377\202\347\344\322\377\203\347\344\323\377\1\347\344\324\377" \ - "\202\347\345\324\377\202\347\345\325\377\10bV1\377K<\24\377K<\23\377" \ - "K;\23\377J:\23\377J:\22\377K:\22\377L:\22\377\202M;\23\377\7O=\23\377" \ - "Q>\24\377R\77\24\377T\77\24\377S@\24\377\256\246\211\377\347\344\323" \ - "\377\202\347\344\322\377\202\347\344\321\377\1\347\344\320\377\203\347" \ - "\344\317\377\1\347\343\316\377\202\346\343\315\377\3\346\343\314\377" \ - "\346\343\313\377\346\343\312\377\202\346\343\311\377\202\346\343\307" \ - "\3773\346\343\306\377\346\343\305\377\346\343\304\377{i>\377[D\26\377" \ - "YC\25\377V\77\24\377Q9\22\377M6\21\377G0\17\377B+\16\377=&\14\3777\"" \ - "\11\3773\36\10\3771\35\7\3772\36\10\3776\"\11\3779$\12\377=)\14\377C" \ - "-\16\377G1\17\377K6\20\377N:\22\377Q<\23\377T@\25\377VB\25\377UA\25\377" \ - "TA\24\377\256\243k\377\344\333\233\377\343\333\231\377\343\333\226\377" \ - "\343\332\223\377\343\332\222\377\343\331\217\377\343\331\214\377\343" \ - "\331\210\377\263\247`\377N=\24\377L<\23\377I9\22\377C5\21\377\77""1\20" \ - "\377'\"\13\377!\34\11\377\32\26\7\377\24\21\5\377\17\15\5\377\11\10\3" \ - "\377\5\4\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\334\0\0\0\377\2" \ - "\21\21\21\377,,,\377\202AAA\377\11@@@\377\77\77\77\377>>>\377===\377" \ - "<<<\377;;;\377:::\377999\377888\377\202777\377\23""666\377555\377444" \ - "\377554\377764\377\31\27\22\377\21\16\5\377\30\25\7\377\36\32\11\377" \ - "$\37\13\377+&\15\3770+\17\3775/\17\37782\20\377:2\21\377;3\21\377\254" \ - "\250\217\377\347\344\317\377\347\344\320\377\202\347\344\321\377\202" \ - "\347\344\322\377\202\347\344\323\377\1\347\344\324\377\202\347\345\324" \ - "\377\203\347\345\325\377\202\347\345\326\377\20thF\377N=\24\377M<\23" \ - "\377N=\23\377M=\23\377M<\23\377N=\24\377O=\24\377P=\24\377Q>\24\377R" \ - ">\24\377T\77\24\377S@\24\377UA\25\377VB\25\377\335\332\306\377\203\347" \ - "\344\323\377\202\347\344\322\377\1\347\344\321\377\202\347\344\320\377" \ - "\202\347\344\317\377\6\347\343\316\377\346\343\316\377\346\343\315\377" \ - "\346\343\314\377\346\343\313\377\346\343\312\377\202\346\343\311\377" \ - "\202\346\343\307\377\202\346\343\305\377\26\244\230q\377[E\26\377[C\25" \ - "\377YA\24\377T=\23\377O8\22\377J3\17\377E.\16\377>(\14\377:$\12\3776" \ - "\37\11\3772\34\10\3772\35\10\3775\37\11\377:$\13\377='\13\377B,\15\377" \ - "G1\17\377I4\17\377N9\21\377R<\23\377U@\24\377\203WB\25\377\27r`0\377" \ - "\344\334\234\377\344\333\231\377\343\333\227\377\343\332\224\377\343" \ - "\332\222\377\343\331\220\377\343\331\215\377\343\331\211\377\341\327" \ - "\205\377dS#\377N=\24\377L;\23\377H8\22\377A2\20\377/'\15\377#\36\12\377" \ - "\35\31\10\377\27\24\6\377\21\16\5\377\14\12\4\377\6\5\2\377\3\3\1\377" \ - "\377\0\0\0\377\377\0\0\0\377\336\0\0\0\377\11\7\7\7\377###\377;;;\377" \ - "===\377<<<\377;;;\377:::\377999\377888\377\202777\377\24""666\377555" \ - "\377444\377333\377222\377332\377#\"\40\377\13\11\3\377\20\16\4\377\27" \ - "\24\6\377\36\32\11\377$\37\13\377+&\15\3770+\17\3775/\17\37792\20\377" \ - ";3\21\377<4\21\377\253\246\215\377\347\344\320\377\202\347\344\321\377" \ - "\1\347\344\322\377\203\347\344\323\377\1\347\345\324\377\203\347\345" \ - "\325\377\203\347\345\326\377\202\347\345\327\377\6\204xX\377N=\24\377" \ - "O>\24\377O=\23\377P>\24\377P=\24\377\202Q>\24\377\10R>\24\377S>\24\377" \ - "S@\24\377T@\25\377VB\25\377WB\25\377`N#\377\347\345\325\377\202\347\345" \ - "\324\377\203\347\344\323\377\1\347\344\322\377\202\347\344\321\377\1" \ - "\347\344\320\377\202\347\344\317\377\26\347\343\316\377\346\343\316\377" \ - "\346\343\315\377\346\343\314\377\346\343\313\377\346\343\312\377\346" \ - "\343\311\377\346\343\310\377\346\343\307\377\346\343\306\377\346\343" \ - "\305\377\301\266\224\377_E\26\377^E\26\377[B\25\377W>\23\377R9\21\377" \ - "M5\17\377F.\16\377B*\14\377<%\12\3778\40\11\377\2024\35\10\377\12""5" \ - "\37\10\3779#\12\377<%\13\377@+\15\377E0\17\377I3\20\377M7\20\377R;\22" \ - "\377V@\23\377XB\25\377\202XC\25\377\30WB\25\377\306\274\200\377\344\333" \ - "\232\377\343\333\230\377\343\332\225\377\343\332\222\377\343\332\221" \ - "\377\343\331\216\377\343\331\212\377\343\331\207\377\246\227S\377P>\24" \ - "\377N=\23\377I9\22\377E6\21\3776+\17\377&!\13\377\40\33\11\377\31\25" \ - "\7\377\23\20\5\377\16\14\4\377\10\7\3\377\4\3\1\377\1\1\0\377\377\0\0" \ - "\0\377\377\0\0\0\377\337\0\0\0\377\5\4\4\4\377\33\33\33\377666\37799" \ - "9\377888\377\202777\377\26""666\377555\377444\377333\377222\377111\377" \ - "000\377//.\377\12\11\6\377\12\11\3\377\20\16\4\377\27\24\6\377\36\32" \ - "\11\377$\37\13\377*%\15\3770+\17\3776/\17\377;3\20\377<4\21\377>5\21" \ - "\377\253\246\215\377\347\344\321\377\202\347\344\322\377\202\347\344" \ - "\323\377\202\347\345\324\377\202\347\345\325\377\202\347\345\326\377" \ - "\204\347\345\327\377\3\347\345\330\377\223\210k\377P>\24\377\202Q\77" \ - "\24\377\10Q>\24\377R\77\24\377S\77\24\377T\77\24\377T@\25\377UA\25\377" \ - "VA\25\377WB\25\377\202XC\25\377\2t`9\377\347\345\326\377\202\347\345" \ - "\325\377\2\347\345\324\377\347\344\324\377\202\347\344\323\377\1\347" \ - "\344\322\377\202\347\344\321\377\1\347\344\320\377\202\347\344\317\377" \ - "!\347\343\316\377\346\343\316\377\346\343\315\377\346\343\314\377\346" \ - "\343\313\377\346\343\312\377\346\343\311\377\346\343\310\377\346\343" \ - "\307\377\346\343\306\377\311\302\240\377`G\27\377_F\26\377\\C\25\377" \ - "Y@\24\377T;\22\377O6\21\377I0\16\377D,\15\377\77'\14\377:\"\11\3777\37" \ - "\10\3774\34\7\3776\36\10\3779\"\11\377=&\13\377A)\14\377E/\16\377J3\17" \ - "\377N7\21\377Q:\22\377U>\23\377YB\25\377\203YC\25\377\27\223\203N\377" \ - "\344\334\234\377\343\333\231\377\343\333\226\377\343\332\223\377\343" \ - "\332\222\377\343\331\217\377\343\331\214\377\343\331\210\377\335\320" \ - "\177\377YF\32\377Q\77\24\377M<\23\377H7\21\377>1\17\377'#\14\377#\36" \ - "\12\377\33\27\10\377\25\22\6\377\17\15\4\377\12\11\3\377\5\4\2\377\2" \ - "\2\1\377\377\0\0\0\377\377\0\0\0\377\341\0\0\0\377\32\3\3\3\377\32\32" \ - "\32\377333\377666\377555\377444\377333\377222\377111\377000\377///\377" \ - "...\377\30\30\27\377\5\4\2\377\12\11\3\377\20\16\4\377\27\24\6\377\35" \ - "\31\10\377$\37\13\377*%\15\3771+\16\37770\17\377<4\21\377>5\21\377\77" \ - "5\21\377\242\236\203\377\202\347\344\322\377\3\347\344\323\377\347\344" \ - "\324\377\347\345\324\377\202\347\345\325\377\202\347\345\326\377\202" \ - "\347\345\327\377\203\347\345\330\377\202\347\345\331\377\13\243\232\201" \ - "\377Q\77\24\377R\77\24\377S\77\24\377T\77\24\377S@\24\377T@\25\377UA" \ - "\25\377VA\25\377WB\25\377XC\25\377\202YC\25\377\3ZD\25\377xc<\377\347" \ - "\345\327\377\202\347\345\326\377\202\347\345\325\377\1\347\345\324\377" \ - "\202\347\344\323\377\202\347\344\322\377\2\347\344\321\377\347\344\320" \ - "\377\202\347\344\317\377:\347\343\316\377\346\343\316\377\346\343\315" \ - "\377\346\343\314\377\346\343\313\377\346\343\312\377\346\343\311\377" \ - "\346\343\310\377\346\343\307\377\322\313\253\377bH\27\377aG\26\377_D" \ - "\25\377[A\24\377V;\22\377P6\20\377K1\17\377F,\15\377A'\14\377<#\12\377" \ - "9\37\11\3775\35\10\3776\36\10\3779!\11\377=$\13\377A)\14\377E,\15\377" \ - "I1\16\377N6\20\377R:\22\377U=\23\377X@\24\377ZC\25\377[D\26\377[C\26" \ - "\377eO\36\377\340\330\231\377\344\333\232\377\343\333\227\377\343\332" \ - "\224\377\343\332\222\377\343\331\220\377\343\331\215\377\343\331\211" \ - "\377\343\331\206\377\213{\77\377R\77\24\377P=\24\377L:\23\377F6\21\377" \ - "*%\14\377$\37\13\377\36\32\11\377\30\25\7\377\21\16\5\377\14\12\4\377" \ - "\7\6\2\377\3\3\1\377\377\0\0\0\377\377\0\0\0\377\343\0\0\0\377\30\3\3" \ - "\3\377\32\32\32\377111\377222\377111\377000\377///\377...\377---\377" \ - "&&&\377\3\3\2\377\5\4\2\377\12\11\3\377\20\16\4\377\27\24\6\377\35\31" \ - "\10\377$\37\13\377,'\15\3772,\16\37780\20\377>5\21\377@6\21\377@5\21" \ - "\377\232\224z\377\202\347\344\323\377\3\347\344\324\377\347\345\324\377" \ - "\347\345\325\377\202\347\345\326\377\202\347\345\327\377\202\347\345" \ - "\330\377\205\347\345\331\377\7\263\255\225\377S\77\24\377T\77\24\377" \ - "S@\24\377UA\25\377VB\25\377WB\25\377\202XC\25\377\202YC\25\377\4ZD\25" \ - "\377[C\26\377[D\26\377mW-\377\203\347\345\327\377\202\347\345\326\377" \ - "\2\347\345\325\377\347\345\324\377\202\347\344\323\377\202\347\344\322" \ - "\377\2\347\344\321\377\347\344\320\377\202\347\344\317\377\2\347\343" \ - "\316\377\346\343\315\377\202\346\343\314\377\1\346\343\312\377\202\346" \ - "\343\311\3773\346\343\307\377\305\273\232\377dG\26\377dH\26\377aE\25" \ - "\377\\A\24\377X=\22\377S8\20\377N3\17\377I.\15\377D(\14\377\77$\12\377" \ - ";\40\11\3778\36\10\3777\34\10\377:\40\11\377<#\12\377A'\14\377D,\15\377" \ - "I0\16\377M5\20\377R9\21\377V=\22\377Y@\24\377[B\25\377[E\26\377\\D\26" \ - "\377[D\26\377\274\257u\377\344\333\233\377\343\333\231\377\343\332\225" \ - "\377\343\332\222\377\343\332\221\377\343\331\216\377\343\331\212\377" \ - "\343\331\207\377\303\266i\377T\77\24\377R\77\24\377O=\23\377J8\22\377" \ - "1*\16\377&!\13\377!\34\11\377\31\25\7\377\23\20\5\377\16\14\4\377\10" \ - "\7\3\377\4\3\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\344\0\0\0\377" \ - "\4\6\6\6\377\"\"\"\377///\377...\377\202---\377\22,,,\377\15\15\15\377" \ - "\2\2\1\377\5\4\2\377\12\11\3\377\20\16\4\377\27\24\6\377\35\31\10\377" \ - "$\40\12\377,'\14\3773,\17\37790\20\377>5\21\377@5\21\377A6\22\377\226" \ - "\217t\377\347\344\323\377\347\344\324\377\202\347\345\325\377\1\347\345" \ - "\326\377\203\347\345\327\377\1\347\345\330\377\206\347\345\331\377\6" \ - "\347\346\331\377\304\275\253\377S@\24\377UA\25\377VB\25\377WB\25\377" \ - "\202XC\25\377\202YC\25\377\10ZD\25\377[D\26\377\\D\26\377[E\26\377]E" \ - "\26\377aI\32\377\342\337\320\377\347\345\330\377\202\347\345\327\377" \ - "\202\347\345\326\377\4\347\345\325\377\347\345\324\377\347\344\324\377" \ - "\347\344\323\377\202\347\344\322\377\2\347\344\321\377\347\344\320\377" \ - "\202\347\344\317\377\37\347\343\316\377\346\343\315\377\346\343\314\377" \ - "\346\343\313\377\346\343\312\377\346\343\311\377\346\343\310\377\264" \ - "\247\203\377eJ\27\377dH\27\377bF\26\377]A\25\377X=\23\377T9\21\377O4" \ - "\17\377I.\15\377D*\14\377@&\12\377<!\11\377:\36\10\3779\36\7\377;!\10" \ - "\377>#\12\377A'\13\377E+\15\377I/\16\377N4\20\377Q8\21\377V=\23\377Y" \ - "@\24\377[C\25\377\202^E\26\377\30]E\26\377\216{G\377\344\334\234\377" \ - "\344\333\231\377\343\333\226\377\343\332\223\377\343\332\222\377\343" \ - "\331\217\377\343\331\214\377\343\331\210\377\343\330\204\377kW%\377S" \ - "@\24\377Q>\24\377L9\22\3778-\17\377($\14\377#\36\12\377\34\30\10\377" \ - "\26\23\6\377\17\15\4\377\12\11\3\377\5\4\2\377\2\2\1\377\377\0\0\0\377" \ - "\377\0\0\0\377\346\0\0\0\377\25\16\16\16\377'''\377,,,\377+++\377\"\"" \ - "\"\377\0\0\0\377\2\2\1\377\5\4\1\377\12\11\3\377\17\15\4\377\26\23\6" \ - "\377\36\33\10\377%\40\12\377-&\15\3775-\17\377:1\20\377\77""5\21\377" \ - "A6\22\377C7\22\377\220\207k\377\347\344\324\377\202\347\345\325\377\1" \ - "\347\345\326\377\202\347\345\327\377\202\347\345\330\377\204\347\345" \ - "\331\377\1\347\346\331\377\203\347\346\332\377\2\326\324\304\377VB\25" \ - "\377\202WB\25\377\1XC\25\377\202YC\25\377\12[C\26\377[D\26\377\\D\26" \ - "\377[E\26\377]E\26\377^E\26\377_F\26\377_F\27\377\301\271\242\377\347" \ - "\345\331\377\202\347\345\330\377\202\347\345\327\377\6\347\345\326\377" \ - "\347\345\325\377\347\345\324\377\347\344\324\377\347\344\323\377\347" \ - "\344\322\377\202\347\344\321\377\1\347\344\320\377\202\347\344\317\377" \ - "8\346\343\316\377\346\343\315\377\346\343\314\377\346\343\313\377\346" \ - "\343\312\377\346\343\311\377\224\200V\377gK\27\377eI\27\377bF\26\377" \ - "_C\24\377Z>\22\377V:\21\377P4\20\377K/\16\377F*\14\377B'\13\377>#\12" \ - "\377:\37\11\3779\36\10\377:\40\10\377>$\11\377B&\12\377D*\14\377I.\16" \ - "\377O3\20\377Q7\20\377V;\22\377Z@\24\377[B\25\377_E\26\377_F\27\377_" \ - "E\26\377gP\37\377\342\332\232\377\344\333\232\377\343\333\227\377\343" \ - "\332\224\377\343\332\222\377\343\331\220\377\343\331\215\377\343\331" \ - "\211\377\343\330\204\377\240\220L\377UA\25\377S@\24\377P<\23\377\77""2" \ - "\20\377*%\15\377$\37\13\377\36\32\11\377\30\25\7\377\21\16\5\377\14\12" \ - "\4\377\6\5\2\377\3\3\1\377\377\0\0\0\377\377\0\0\0\377\347\0\0\0\377" \ - "\23\2\2\2\377\25\25\25\377(((\377\15\15\15\377\0\0\0\377\1\1\0\377\5" \ - "\4\1\377\11\10\3\377\17\15\4\377\30\24\6\377\36\32\10\377&\40\13\377" \ - ".'\15\3776-\17\377;1\21\377\77""5\22\377C7\22\377D7\22\377\210~b\377" \ - "\202\347\345\325\377\1\347\345\326\377\202\347\345\327\377\1\347\345" \ - "\330\377\204\347\345\331\377\1\347\346\331\377\202\347\346\332\377\203" \ - "\347\346\333\377\3\345\344\330\377XE\30\377XC\25\377\202YC\25\377\202" \ - "ZC\26\377\11[C\26\377\\D\26\377]E\26\377^E\26\377_F\26\377_F\27\377`" \ - "G\27\377aG\27\377\232\212i\377\202\347\345\331\377\202\347\345\330\377" \ - "\202\347\345\327\377\7\347\345\326\377\347\345\325\377\347\345\324\377" \ - "\347\344\324\377\347\344\323\377\347\344\322\377\347\344\321\377\202" \ - "\347\344\320\377\2\347\344\317\377\347\343\316\377\202\346\343\315\377" \ - "\20\346\343\314\377\346\343\312\377\341\336\302\377oT\"\377hK\27\377" \ - "gJ\27\377cF\26\377`B\24\377[>\22\377W:\21\377Q3\17\377M/\16\377I+\14" \ - "\377C&\13\377A#\11\377=!\10\377\202<\40\10\377$\77#\12\377B'\13\377E" \ - "*\14\377I.\15\377N3\17\377R6\20\377W;\22\377Y>\23\377\\B\24\377_E\26" \ - "\377aG\27\377`G\27\377_F\27\377\304\270}\377\344\333\232\377\343\333" \ - "\230\377\343\332\225\377\343\332\222\377\343\332\221\377\343\331\216" \ - "\377\343\331\211\377\343\331\206\377\311\275n\377WB\25\377UA\25\377S" \ - ">\24\377F6\21\377,'\15\377&!\13\377\40\33\11\377\31\25\7\377\23\20\5" \ - "\377\16\14\4\377\10\7\3\377\4\3\1\377\1\1\0\377\377\0\0\0\377\377\0\0" \ - "\0\377\350\0\0\0\377\1\5\5\5\377\202\0\0\0\377\20\1\1\0\377\5\4\1\377" \ - "\11\10\3\377\21\16\4\377\27\24\6\377\40\34\11\377(!\13\3770(\15\3775" \ - ",\16\377=2\21\377A5\22\377D7\22\377E8\22\377}sT\377\347\345\325\377\347" \ - "\345\326\377\202\347\345\327\377\1\347\345\330\377\204\347\345\331\377" \ - "\202\347\346\332\377\203\347\346\333\377\203\347\346\334\377\4iU,\377" \ - "YC\25\377ZD\25\377ZC\26\377\202ZB\25\377\12\\C\25\377[C\25\377]D\25\377" \ - "^E\26\377`F\26\377aG\27\377bH\27\377cH\27\377iO\40\377\334\331\311\377" \ - "\203\347\345\331\377\1\347\345\330\377\202\347\345\327\377\3\347\345" \ - "\326\377\347\345\325\377\347\345\324\377\202\347\344\323\377\3\347\344" \ - "\322\377\347\344\321\377\347\344\320\377\202\347\344\317\377\5\347\343" \ - "\316\377\346\343\315\377\346\343\314\377\346\343\313\377\263\245\201" \ - "\377\202jL\30\3771hJ\27\377dF\26\377aB\24\377\\=\23\377W9\21\377R4\17" \ - "\377M/\15\377I+\14\377D'\12\377B$\11\377\77\"\10\377>\40\10\377\77!\10" \ - "\377@#\11\377D&\12\377F*\14\377J.\16\377M2\17\377R7\20\377W;\22\377Z" \ - ">\23\377^C\24\377aE\26\377bG\26\377bH\27\377aG\27\377\237\215V\377\344" \ - "\333\233\377\343\333\231\377\343\333\226\377\343\332\223\377\343\332" \ - "\222\377\343\331\217\377\343\331\212\377\343\331\207\377\343\330\202" \ - "\377p]'\377XC\25\377S@\24\377M:\22\377-(\16\377'#\14\377#\36\12\377\33" \ - "\27\10\377\25\22\6\377\17\15\4\377\12\11\3\377\5\4\1\377\1\1\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\353\0\0\0\377\17\1\1\0\377\5\4\1\377\13\11\3" \ - "\377\21\16\5\377\30\24\7\377!\34\11\377)\"\13\3770'\15\3777-\17\377=" \ - "2\21\377B6\22\377E8\22\377F:\23\377shG\377\347\345\326\377\202\347\345" \ - "\327\377\1\347\345\330\377\203\347\345\331\377\2\347\346\331\377\347" \ - "\346\332\377\203\347\346\333\377\203\347\346\334\377\3\314\310\270\377" \ - "\257\246\220\377eQ%\377\202[C\26\377\1[C\25\377\202[B\25\377\13\\B\25" \ - "\377[B\25\377]C\25\377_D\26\377`E\26\377bG\26\377dH\27\377dG\26\377d" \ - "I\27\377\233\211h\377\347\346\331\377\203\347\345\331\377\1\347\345\330" \ - "\377\202\347\345\327\377\3\347\345\326\377\347\345\325\377\347\345\324" \ - "\377\202\347\344\323\377\3\347\344\322\377\347\344\321\377\347\344\320" \ - "\377\202\347\344\317\377\4\346\343\316\377\346\343\315\377\341\335\304" \ - "\377wZ'\377\202lM\30\377\13hI\27\377eF\25\377bC\24\377\\=\22\377W8\20" \ - "\377S4\20\377N/\15\377J+\14\377G(\13\377B#\12\377A\"\11\377\202@\"\11" \ - "\377$A#\11\377C&\12\377G*\14\377M/\16\377P3\16\377T8\20\377Y<\22\377" \ - "[@\23\377^B\25\377aE\25\377cG\26\377dH\27\377cH\27\377\201k7\377\344" \ - "\334\234\377\344\333\231\377\343\333\227\377\343\332\224\377\343\332" \ - "\222\377\343\331\217\377\343\331\214\377\343\331\210\377\343\330\204" \ - "\377\232\210E\377YC\25\377WB\25\377R>\23\377/)\16\377)%\14\377$\37\13" \ - "\377\35\31\10\377\27\24\6\377\21\16\5\377\13\11\3\377\5\4\2\377\2\2\1" \ - "\377\377\0\0\0\377\377\0\0\0\377\353\0\0\0\377\16\1\1\0\377\5\3\1\377" \ - "\13\11\3\377\22\16\5\377\31\25\6\377\"\33\11\377)!\13\3770'\15\3778-" \ - "\17\377\77""3\21\377B6\21\377F:\23\377H;\23\377h[:\377\202\347\345\327" \ - "\377\1\347\345\330\377\203\347\345\331\377\202\347\346\332\377\202\347" \ - "\346\333\377\11\316\311\271\377\260\250\221\377\222\206g\377vf\77\377" \ - "[D\30\377YC\25\377[C\26\377[D\26\377[E\26\377\202[B\25\377\2[B\24\377" \ - "Y@\24\377\202[A\24\377\12\\B\24\377^C\25\377aE\25\377bG\26\377dH\27\377" \ - "eJ\27\377fJ\27\377gK\27\377\302\272\242\377\347\346\331\377\203\347\345" \ - "\331\377\2\347\345\330\377\347\345\327\377\202\347\345\326\377\6\347" \ - "\345\325\377\347\344\324\377\347\344\323\377\347\344\322\377\347\344" \ - "\321\377\347\344\320\377\202\347\344\317\377\3\347\343\316\377\346\343" \ - "\315\377\230\202W\377\202mM\30\377\30kK\27\377iI\26\377eD\25\377aA\23" \ - "\377\\=\22\377W7\20\377T4\17\377O/\16\377L+\14\377H'\13\377D$\12\377" \ - "C#\11\377B\"\11\377B#\11\377C$\12\377F'\13\377J-\15\377N1\16\377S5\20" \ - "\377W:\21\377Z<\22\377^A\23\377`D\25\377cF\26\377\202dH\27\377\30dI\27" \ - "\377fJ\31\377\336\326\227\377\344\333\232\377\343\333\230\377\343\332" \ - "\224\377\343\332\222\377\343\331\220\377\343\331\215\377\343\331\211" \ - "\377\343\330\204\377\302\265f\377[C\26\377YC\25\377U@\24\3776.\17\377" \ - "+&\15\377&!\13\377\37\33\11\377\31\25\7\377\22\17\5\377\15\13\4\377\7" \ - "\6\2\377\3\3\1\377\377\0\0\0\377\377\0\0\0\377\353\0\0\0\377\20\3\2\0" \ - "\377\6\4\1\377\15\12\4\377\23\17\5\377\33\26\6\377\"\33\10\377*!\13\377" \ - "2(\15\3778-\17\377\77""3\21\377D7\22\377H;\23\377I;\23\377^Q+\377\347" \ - "\345\327\377\347\345\330\377\203\347\345\331\377\37\330\327\307\377\271" \ - "\263\234\377\227\214p\377whD\377ZE\31\377VB\25\377WB\25\377XC\25\377" \ - "YC\25\377ZD\25\377[C\26\377\\D\26\377]E\26\377[D\25\377[B\24\377Y@\24" \ - "\377Z@\24\377Z\77\23\377Y\77\23\377Z@\23\377\\@\24\377]C\24\377`C\25" \ - "\377bF\26\377dH\27\377gJ\27\377hJ\27\377hK\27\377pT\"\377\316\307\263" \ - "\377\347\346\331\377\203\347\345\331\377\5\347\345\330\377\347\345\327" \ - "\377\347\345\326\377\347\345\325\377\347\345\324\377\202\347\344\323" \ - "\377\3\347\344\322\377\347\344\321\377\347\344\320\377\202\347\344\317" \ - "\377\1\252\231s\377\202oN\31\3774nM\31\377kJ\27\377hG\26\377eD\25\377" \ - "`@\23\377\\;\21\377X7\21\377S2\16\377O.\15\377L+\14\377H(\12\377F%\12" \ - "\377E%\12\377F&\12\377G'\12\377H(\13\377L,\14\377N/\15\377R3\17\377V" \ - "7\20\377Y:\22\377\\\77\23\377_B\23\377bE\25\377dF\26\377eH\27\377fJ\27" \ - "\377eJ\27\377dH\27\377\303\266y\377\344\333\233\377\343\333\230\377\343" \ - "\332\225\377\343\332\222\377\343\332\221\377\343\331\216\377\343\331" \ - "\211\377\343\331\206\377\341\326\200\377cK\33\377[C\26\377XB\24\377;" \ - "1\21\377,'\16\377&!\13\377!\34\11\377\32\26\7\377\24\21\5\377\16\14\4" \ - "\377\10\7\3\377\4\3\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\351\0" \ - "\0\0\377\14\1\0\0\377\3\1\0\377\7\4\2\377\16\12\3\377\24\17\5\377\33" \ - "\25\6\377\"\33\11\377+!\13\3772'\15\3778-\17\377\77""3\21\377E8\22\377" \ - "\202I;\23\377\12SD\35\377\347\345\330\377\315\311\267\377\247\240\207" \ - "\377\205yY\377dU.\377R\77\24\377S\77\24\377S@\24\377UA\25\377\202WB\25" \ - "\377\11XC\25\377YC\25\377[C\26\377[D\26\377\\D\26\377[D\26\377[C\25\377" \ - "ZA\24\377Y@\24\377\202X>\23\377\1X=\22\377\202Y>\22\377\7Z>\23\377]A" \ - "\24\377_C\24\377aD\25\377dF\26\377gJ\27\377iK\27\377\202jL\30\377\3r" \ - "V\"\377\305\273\244\377\347\346\331\377\202\347\345\331\377\1\347\345" \ - "\330\377\202\347\345\327\377\11\347\345\326\377\347\345\325\377\347\345" \ - "\324\377\347\344\323\377\347\344\322\377\347\344\321\377\347\344\320" \ - "\377\344\341\313\377\242\213c\377\202qO\30\377\13pN\31\377nM\30\377k" \ - "I\27\377iF\25\377eB\24\377`>\22\377]:\21\377Y6\20\377U2\17\377Q.\15\377" \ - "N,\14\377\203K)\13\377'K*\14\377L+\14\377L,\14\377O/\15\377R3\16\377" \ - "V6\17\377Y9\21\377\\=\22\377_A\24\377aC\25\377cF\26\377eH\26\377gJ\27" \ - "\377hJ\27\377gJ\27\377gK\27\377\251\227^\377\344\333\233\377\343\333" \ - "\231\377\343\333\226\377\343\332\223\377\343\332\221\377\343\331\216" \ - "\377\343\331\212\377\343\331\207\377\343\330\201\377\204o4\377[E\26\377" \ - "ZC\25\377\77""4\20\377-(\16\377($\14\377#\36\12\377\34\30\10\377\25\22" \ - "\6\377\17\15\4\377\12\11\3\377\5\4\1\377\1\1\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\350\0\0\0\377\31\1\0\0\377\3\1\0\377\4\2\1\377\10\5\2\377" \ - "\16\11\3\377\24\17\5\377\33\24\6\377\"\32\10\377+!\12\3771&\14\3779-" \ - "\17\377\77""2\20\377E7\21\377I;\23\377K<\24\377L=\24\377VG\40\377N=\24" \ - "\377P>\24\377Q\77\24\377R\77\24\377T\77\24\377TA\24\377UA\25\377WB\25" \ - "\377\202XC\25\377\202YC\25\377\1ZC\25\377\202ZB\25\377\4[B\24\377Y@\24" \ - "\377Y\77\23\377W<\22\377\202V;\22\377\12V;\21\377V:\22\377W;\22\377Y" \ - "=\22\377[>\22\377]\77\23\377_B\24\377cE\26\377gI\27\377jK\30\377\203" \ - "lM\30\377\3lM\27\377\241\215j\377\337\333\314\377\202\347\345\331\377" \ - "\12\347\345\330\377\347\345\327\377\347\345\326\377\347\345\325\377\347" \ - "\345\324\377\347\344\324\377\347\344\323\377\347\344\322\377\315\302" \ - "\246\377\212m>\377\203rP\31\377\17pN\27\377nL\27\377jH\26\377gE\24\377" \ - "dB\23\377`>\21\377]9\21\377X6\20\377U3\16\377S0\15\377P/\15\377O-\14" \ - "\377O,\14\377P.\15\377Q.\15\377\202S1\16\377$U4\17\377W6\20\377Z9\20" \ - "\377]=\22\377`A\23\377bB\24\377eF\25\377fG\26\377hJ\27\377iK\27\377j" \ - "L\30\377hK\27\377hJ\27\377\217yA\377\344\334\234\377\344\333\231\377" \ - "\343\333\226\377\343\332\223\377\343\332\222\377\343\331\217\377\343" \ - "\331\214\377\343\331\207\377\343\330\202\377\251\225N\377^E\26\377\\" \ - "D\26\377D7\21\377/*\16\377)%\14\377$\37\13\377\35\31\10\377\27\24\6\377" \ - "\20\16\4\377\13\11\3\377\5\4\2\377\2\2\1\377\377\0\0\0\377\377\0\0\0" \ - "\377\350\0\0\0\377\17\3\1\0\377\4\2\1\377\5\3\1\377\12\6\2\377\17\12" \ - "\3\377\24\17\5\377\34\24\6\377\"\31\10\377*\40\12\3771%\15\3778+\17\377" \ - "\77""1\20\377D6\21\377I:\23\377L=\24\377\202N=\24\377\14P>\24\377Q\77" \ - "\24\377R\77\24\377T\77\24\377S@\24\377UA\25\377VA\25\377V@\24\377WA\24" \ - "\377XA\24\377XA\25\377X@\24\377\202Y@\24\377\24Y@\23\377X\77\23\377W" \ - "=\23\377V;\22\377T9\21\377S7\20\377R7\20\377S8\20\377U9\20\377V8\21\377" \ - "W9\22\377X:\21\377[=\23\377^\77\23\377aC\25\377fF\26\377jJ\27\377kL\30" \ - "\377mM\30\377nM\30\377\202oN\31\377\13uV\"\377\243\216i\377\310\275\246" \ - "\377\345\343\327\377\347\345\330\377\347\345\327\377\347\345\326\377" \ - "\347\345\325\377\334\330\303\377\273\255\215\377\222wJ\377\204tQ\31\377" \ - "\13sO\31\377pM\27\377mJ\27\377jG\26\377gD\24\377e@\23\377a>\22\377^:" \ - "\21\377\\9\21\377Y6\17\377W4\17\377\202T1\15\377\20U1\16\377U3\16\377" \ - "V4\17\377W5\17\377Y7\17\377[8\20\377]:\21\377_=\22\377a@\23\377cB\24" \ - "\377eD\25\377hH\26\377iJ\27\377kL\27\377kL\30\377kM\30\377\202jL\30\377" \ - "\27|c.\377\344\334\234\377\344\333\231\377\343\333\227\377\343\332\224" \ - "\377\343\332\222\377\343\331\217\377\343\331\214\377\343\331\210\377" \ - "\343\330\204\377\303\264e\377_F\26\377^E\26\377H9\22\3770+\17\377+&\15" \ - "\377%!\13\377\37\33\11\377\30\25\7\377\21\16\5\377\14\12\4\377\6\5\2" \ - "\377\3\3\1\377\377\0\0\0\377\377\0\0\0\377\347\0\0\0\377\22\2\1\0\377" \ - "\3\2\0\377\4\3\1\377\7\4\1\377\13\6\2\377\17\12\4\377\24\16\5\377\33" \ - "\23\6\377!\30\7\377)\36\12\3770$\14\3777*\16\377=0\17\377B4\21\377H9" \ - "\22\377L;\23\377N=\24\377P>\24\377\202Q>\24\377\2R>\24\377S>\24\377\202" \ - "R>\24\377\2S\77\23\377S>\23\377\202U>\23\377\33U=\23\377V=\23\377V=\22" \ - "\377U<\23\377V<\22\377U:\22\377T9\21\377T8\20\377Q6\17\377P4\20\377O" \ - "3\17\377P3\16\377R4\20\377R5\17\377T6\20\377V8\20\377X:\21\377]>\22\377" \ - "aA\23\377dD\25\377hH\26\377kK\27\377mM\30\377oN\30\377pO\31\377qO\30" \ - "\377qP\30\377\203rP\31\377\1\206j8\377\202\213n>\377\2\203d1\377uQ\32" \ - "\377\202tQ\31\377\202uR\31\377\36uQ\31\377tQ\31\377rM\30\377pL\27\377" \ - "mI\26\377kG\25\377iE\24\377fB\23\377d\77\22\377a<\21\377_:\20\377^8\20" \ - "\377[6\20\377Z5\20\377Y5\17\377[6\20\377\\9\21\377]:\20\377^:\20\377" \ - "_<\21\377`>\21\377a@\22\377cB\23\377fC\24\377hF\25\377iG\26\377kJ\27" \ - "\377kK\27\377lL\27\377lM\27\377\202lM\30\377\30kM\30\377lO\32\377\342" \ - "\332\232\377\344\333\232\377\343\333\230\377\343\332\224\377\343\332" \ - "\222\377\343\331\220\377\343\331\215\377\343\331\210\377\343\330\204" \ - "\377\336\322{\377bI\31\377_F\27\377M<\23\3771,\17\377,'\15\377&!\13\377" \ - "\40\33\11\377\31\25\7\377\23\20\5\377\15\13\4\377\7\6\2\377\4\3\1\377" \ - "\377\0\0\0\377\377\0\0\0\377\346\0\0\0\377\22\1\0\0\377\3\2\0\377\4\3" \ - "\1\377\6\4\1\377\10\5\1\377\13\7\2\377\17\11\3\377\25\17\5\377\32\23" \ - "\5\377\40\30\7\377(\35\11\377/#\13\3774(\15\377;.\17\377@2\17\377D5\21" \ - "\377H8\22\377L:\22\377\202N<\23\377\14P=\23\377Q<\23\377P<\23\377Q<\23" \ - "\377Q<\22\377R<\22\377R:\22\377Q:\22\377R:\22\377R:\21\377S:\21\377R" \ - "9\21\377\202R8\21\377\5R7\20\377Q5\20\377O4\20\377N3\20\377N1\17\377" \ - "\202M0\16\377\17M/\15\377O1\17\377R3\17\377U5\17\377W6\20\377Z;\21\377" \ - "_>\22\377cB\24\377gE\25\377jI\26\377mK\27\377oN\30\377qO\31\377rP\31" \ - "\377sP\31\377\202tQ\31\377\2uQ\32\377tQ\31\377\204uR\31\377\202vS\32" \ - "\377\16uR\31\377uQ\31\377uQ\30\377tP\30\377rM\27\377qL\27\377oJ\26\377" \ - "mH\25\377kE\24\377iD\23\377fA\23\377d\77\22\377b<\21\377`;\20\377\202" \ - "^9\20\377\22_:\20\377`;\21\377b=\22\377d\77\22\377d@\23\377e@\23\377" \ - "fB\24\377hD\25\377iF\25\377jH\25\377jH\26\377lJ\26\377nK\30\377oN\30" \ - "\377oM\30\377nM\30\377mM\30\377lM\27\377\202lM\30\377\27\330\314\217" \ - "\377\344\333\232\377\343\333\230\377\343\332\225\377\343\332\222\377" \ - "\343\331\220\377\343\331\215\377\343\331\211\377\343\331\206\377\343" \ - "\330~\377|d*\377aG\27\377P=\24\3772-\17\377,'\16\377'#\14\377\"\35\12" \ - "\377\32\26\7\377\24\21\5\377\16\14\4\377\10\7\3\377\4\3\1\377\1\1\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\344\0\0\0\377\26\1\0\0\377\3\1\0\377\4\2" \ - "\1\377\6\4\1\377\10\5\1\377\11\5\1\377\13\6\2\377\20\12\3\377\24\16\4" \ - "\377\32\22\5\377\40\26\7\377&\32\10\377+\40\12\3773'\14\3778+\16\377" \ - "=/\17\377B2\17\377F5\21\377H6\21\377J8\22\377L9\22\377M9\21\377\202M" \ - ":\22\377\10M9\21\377N9\21\377N7\21\377O7\21\377P7\22\377O7\20\377O6\20" \ - "\377O6\21\377\202O5\20\377\10N4\20\377N4\17\377M2\17\377M0\17\377M1\16" \ - "\377K.\15\377J,\14\377J,\15\377\202L-\15\377\16O/\16\377R2\16\377U5\17" \ - "\377Y8\20\377^<\22\377a\77\23\377eB\24\377hF\25\377jG\26\377mK\27\377" \ - "pN\27\377rO\31\377sP\31\377uQ\31\377\202uR\31\377\202vS\32\377\202wR" \ - "\31\377\21wS\31\377wR\30\377xS\30\377wR\30\377wR\31\377vQ\31\377uO\30" \ - "\377sN\30\377rL\27\377qK\27\377oJ\26\377mH\26\377kE\25\377iC\24\377h" \ - "B\23\377gA\23\377e>\21\377\202d>\21\377+f@\22\377gB\23\377hC\23\377i" \ - "D\24\377iE\24\377jF\25\377lH\26\377lI\26\377mJ\27\377nK\27\377oL\27\377" \ - "pN\30\377pN\27\377pO\30\377qO\30\377pO\31\377oN\30\377oN\31\377\205j" \ - "4\377\301\262x\377\344\334\234\377\344\333\233\377\343\333\230\377\343" \ - "\332\225\377\343\332\222\377\343\332\221\377\343\331\215\377\343\331" \ - "\211\377\343\331\206\377\343\330\201\377\221|:\377bH\27\377S@\25\377" \ - "3-\17\377.)\16\377($\14\377#\36\12\377\34\30\10\377\25\22\6\377\17\15" \ - "\4\377\11\10\3\377\5\4\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\344" \ - "\0\0\0\377\25\2\1\0\377\4\2\1\377\5\3\1\377\7\4\1\377\11\5\1\377\13\6" \ - "\2\377\15\7\2\377\20\11\3\377\25\15\3\377\31\17\5\377\40\25\6\377$\31" \ - "\7\377)\36\11\3770#\13\3775&\14\377;+\15\377>-\15\377A0\17\377D2\17\377" \ - "F3\20\377G4\17\377\202H5\20\377\5I5\20\377K5\17\377K4\20\377K4\21\377" \ - "K3\20\377\202K2\17\377\33J2\17\377K1\17\377L0\17\377L0\16\377J0\16\377" \ - "K/\16\377L/\16\377K.\15\377J-\15\377J,\15\377I*\14\377H(\13\377I)\13" \ - "\377K+\14\377L,\14\377O.\15\377U2\17\377X7\17\377\\9\20\377`=\21\377" \ - "cA\23\377fC\24\377iF\25\377lI\26\377nJ\27\377pM\27\377rM\30\377\202t" \ - "P\30\377\202vQ\31\377\3wR\30\377xS\31\377xS\32\377\202yS\32\377\35xT" \ - "\32\377xS\32\377wR\30\377wR\31\377vP\30\377uO\30\377tN\27\377sM\27\377" \ - "rK\26\377pI\26\377nG\25\377lE\24\377kD\24\377jC\24\377iB\23\377jC\24" \ - "\377kD\24\377lE\25\377lF\25\377mH\26\377nI\25\377oJ\26\377pL\26\377q" \ - "L\27\377qM\27\377rM\30\377sN\30\377sO\31\377tQ\31\377\202sP\31\377\202" \ - "rP\31\377\33\210l5\377\302\264{\377\344\335\242\377\344\334\240\377\344" \ - "\334\234\377\344\333\233\377\343\333\231\377\343\333\226\377\343\332" \ - "\222\377\343\332\221\377\343\331\216\377\343\331\212\377\343\331\206" \ - "\377\343\330\201\377\251\226N\377dG\26\377U@\25\3774.\20\377/*\16\377" \ - ")%\14\377#\36\12\377\35\31\10\377\26\23\6\377\20\16\4\377\12\11\3\377" \ - "\5\4\2\377\2\2\1\377\377\0\0\0\377\377\0\0\0\377\343\0\0\0\377\25\2\1" \ - "\0\377\3\2\0\377\4\3\1\377\7\4\1\377\11\5\1\377\12\6\2\377\15\7\2\377" \ - "\16\7\2\377\17\10\2\377\24\13\4\377\30\16\5\377\35\22\6\377\"\27\6\377" \ - "(\33\10\377-\37\12\3771$\13\3776&\14\377;)\15\377=+\15\377\77-\16\377" \ - "A/\16\377\202D0\17\377\17E1\17\377G1\17\377G0\17\377F/\17\377F.\16\377" \ - "G.\16\377F.\16\377G-\15\377H.\16\377G-\15\377H-\15\377H,\15\377I,\15" \ - "\377H,\15\377I+\14\377\202H*\14\377\31H)\14\377H(\13\377G'\12\377G&\12" \ - "\377I'\12\377L*\14\377O.\15\377S0\16\377V4\17\377Z7\17\377^:\20\377a" \ - ">\22\377e@\23\377hC\24\377iE\25\377lH\25\377nI\26\377pL\26\377rL\27\377" \ - "tN\27\377uO\30\377vP\31\377wR\30\377xS\32\377yT\31\377\204zT\32\377\13" \ - "yS\31\377yR\30\377xQ\30\377wP\30\377vN\27\377uM\27\377tL\27\377rJ\26" \ - "\377rI\26\377pH\25\377oG\25\377\202nG\25\377\12oG\25\377pI\26\377qJ\26" \ - "\377rL\27\377sM\27\377sN\30\377tN\27\377uO\30\377uP\27\377vQ\30\377\202" \ - "vR\31\377\1vS\32\377\202uR\31\377\36tQ\31\377\224zC\377\307\272\203\377" \ - "\344\335\246\377\344\335\245\377\344\335\242\377\344\334\240\377\344" \ - "\334\235\377\344\333\233\377\343\333\231\377\343\333\226\377\343\332" \ - "\223\377\343\332\221\377\343\331\216\377\343\331\212\377\343\331\207" \ - "\377\343\330\201\377\275\254\\\377dH\27\377XC\25\3775/\17\3770+\17\377" \ - "*%\15\377$\37\13\377\36\32\11\377\30\25\7\377\21\16\5\377\13\11\3\377" \ - "\5\4\2\377\2\2\1\377\377\0\0\0\377\377\0\0\0\377\342\0\0\0\377\32\1\0" \ - "\0\377\3\1\0\377\4\3\1\377\6\4\1\377\10\5\1\377\12\6\2\377\14\7\2\377" \ - "\15\7\2\377\16\10\2\377\21\11\3\377\24\13\3\377\30\16\4\377\33\21\5\377" \ - "!\25\6\377&\31\7\377*\34\10\377.\40\11\3772#\13\3776%\14\377:(\14\377" \ - "<)\14\377=+\16\377\77,\16\377@,\15\377A-\15\377B+\16\377\202B+\15\377" \ - "\3C+\15\377C*\15\377D*\15\377\203D*\14\377\37D)\14\377E)\14\377E(\13" \ - "\377F)\13\377E'\13\377F'\13\377G'\13\377F'\12\377F&\12\377F%\12\377G" \ - "%\12\377J'\12\377L)\13\377N,\14\377R0\15\377U1\16\377X5\17\377]7\20\377" \ - "_;\21\377a=\21\377e@\22\377hB\23\377iD\24\377lF\24\377nH\26\377qJ\26" \ - "\377rM\27\377tN\27\377vP\27\377wQ\31\377yR\30\377\202{T\32\377\202|U" \ - "\31\377\202|T\31\377\10{S\32\377{S\31\377zR\31\377zQ\31\377xP\30\377" \ - "wO\30\377vM\27\377uM\27\377\203sJ\27\377.tK\27\377tL\27\377uM\27\377" \ - "uN\27\377wO\27\377wP\27\377wQ\31\377yR\30\377yS\31\377yT\31\377yS\32" \ - "\377yT\32\377xS\31\377wS\31\377~[\"\377\246\217X\377\324\312\227\377" \ - "\345\336\253\377\344\336\250\377\344\335\246\377\344\335\245\377\344" \ - "\335\243\377\344\334\240\377\344\334\235\377\344\334\234\377\343\333" \ - "\231\377\343\333\226\377\343\332\223\377\343\332\222\377\343\331\216" \ - "\377\343\331\212\377\343\331\207\377\343\330\202\377\317\301k\377fJ\27" \ - "\377ZC\26\37760\20\3771,\17\377+&\15\377%!\13\377\37\33\11\377\31\25" \ - "\7\377\21\16\5\377\14\12\4\377\6\5\2\377\3\3\1\377\377\0\0\0\377\377" \ - "\0\0\0\377\342\0\0\0\377\30\2\1\0\377\4\2\1\377\5\3\1\377\10\5\1\377" \ - "\11\5\1\377\13\6\2\377\15\7\2\377\16\10\2\377\20\11\2\377\22\11\3\377" \ - "\25\13\3\377\26\15\3\377\33\20\5\377\37\23\5\377#\26\6\377(\32\7\377" \ - ",\35\11\3770\37\11\3772\"\12\3775#\12\3778%\13\377:&\14\377<'\14\377" \ - "<'\13\377\202='\14\377\16>'\14\377\77&\13\377\77'\14\377@'\13\377@&\13" \ - "\377A&\13\377A&\12\377B'\13\377B&\13\377D&\12\377C&\12\377C%\13\377E" \ - "&\12\377E%\12\377\202F%\12\377\31G%\11\377H%\12\377I&\12\377J'\12\377" \ - "K(\12\377O+\13\377R.\15\377T/\15\377X3\16\377[5\17\377]8\17\377`:\21" \ - "\377c<\21\377f\77\22\377hA\23\377jC\24\377lE\24\377oH\25\377sK\26\377" \ - "tL\27\377vN\27\377yQ\30\377{R\32\377|T\31\377}U\32\377\206|T\32\377\202" \ - "|S\31\377\4{R\31\377zQ\30\377yO\27\377wO\30\377\202wN\30\377\5xO\30\377" \ - "xP\27\377yQ\31\377zR\31\377{S\31\377\202|T\31\377\202|U\31\377&}V\32" \ - "\377|V\31\377{U\32\377zT\32\377\222t<\377\276\253y\377\341\332\253\377" \ - "\345\337\257\377\345\337\255\377\345\336\253\377\344\336\251\377\344" \ - "\335\246\377\344\335\245\377\344\335\243\377\344\334\240\377\344\334" \ - "\235\377\344\334\234\377\344\333\231\377\343\333\226\377\343\332\223" \ - "\377\343\332\222\377\343\331\217\377\343\331\212\377\343\331\207\377" \ - "\343\330\202\377\336\322y\377gJ\27\377[C\26\37760\20\3771,\17\377,'\15" \ - "\377&!\13\377\40\33\11\377\31\25\7\377\22\17\5\377\14\12\4\377\7\6\2" \ - "\377\3\3\1\377\377\0\0\0\377\377\0\0\0\377\341\0\0\0\377\33\2\1\0\377" \ - "\3\2\0\377\4\3\1\377\7\4\1\377\11\5\1\377\12\6\2\377\15\7\2\377\16\7" \ - "\2\377\17\10\2\377\22\11\3\377\24\12\3\377\25\13\3\377\27\15\4\377\32" \ - "\17\4\377\35\21\5\377!\23\5\377&\27\6\377)\32\7\377-\34\10\3770\35\10" \ - "\3772\37\12\3775!\12\3777#\12\3778#\12\377:$\13\377:$\12\377<$\12\377" \ - "\202;#\12\377'<#\12\377=\"\12\377>#\11\377>$\11\377\77$\12\377@#\12\377" \ - "B$\11\377A$\11\377B$\12\377B#\12\377D$\11\377E%\11\377E$\11\377G%\12" \ - "\377I&\12\377J&\12\377J'\12\377K(\12\377M)\13\377O*\13\377R,\14\377S" \ - "-\14\377V0\15\377Z3\16\377\\5\16\377^7\17\377a9\20\377d<\21\377f=\21" \ - "\377h@\22\377lC\23\377oG\24\377rJ\26\377uL\27\377wO\30\377yQ\31\377|" \ - "S\31\377|T\32\377}T\31\377\203~V\31\377\202\177V\32\377\3~T\31\377}T" \ - "\31\377}S\31\377\202|S\31\377\1|R\31\377\202|R\27\377\3|S\31\377}S\31" \ - "\377}T\31\377\202~V\31\377\202~V\33\377)\177W\33\377~V\33\377~V\32\377" \ - "}U\32\377\210d*\377\261\233g\377\327\314\240\377\345\340\264\377\345" \ - "\340\262\377\345\337\261\377\345\337\257\377\345\337\255\377\345\336" \ - "\253\377\344\336\251\377\344\336\247\377\344\335\245\377\344\335\243" \ - "\377\344\334\240\377\344\334\235\377\344\334\234\377\344\333\231\377" \ - "\343\333\227\377\343\332\223\377\343\332\222\377\343\331\217\377\343" \ - "\331\214\377\343\331\207\377\343\330\202\377\343\327}\377rV\36\377ZD" \ - "\25\37760\20\3772-\17\377,'\16\377&!\13\377!\34\11\377\31\25\7\377\23" \ - "\20\5\377\15\13\4\377\7\6\2\377\4\3\1\377\377\0\0\0\377\377\0\0\0\377" \ - "\340\0\0\0\377\37\1\0\0\377\3\1\0\377\4\2\1\377\6\4\1\377\10\5\1\377" \ - "\12\6\2\377\14\7\2\377\15\7\2\377\17\10\2\377\21\11\3\377\23\12\3\377" \ - "\25\13\3\377\26\14\3\377\30\15\4\377\33\16\4\377\35\20\4\377!\21\4\377" \ - "#\24\5\377(\30\6\377*\30\6\377-\32\10\377/\34\10\3771\35\10\3773\36\10" \ - "\3775\37\11\3776\37\11\3777\40\11\3778\40\10\3778\40\11\3779\40\11\377" \ - ";\40\11\377\202;!\10\377\4<!\11\377>\"\11\377\77!\10\377@\"\10\377\202" \ - "B#\11\377$D$\11\377E%\11\377G%\11\377I&\12\377J'\12\377J(\12\377K(\12" \ - "\377L(\12\377N)\13\377O)\13\377P*\13\377Q+\13\377S,\13\377V.\14\377X" \ - "1\15\377[4\16\377]6\17\377_7\17\377b9\20\377e;\21\377g>\21\377kA\23\377" \ - "oF\24\377qH\25\377uL\27\377xN\30\377{R\30\377|S\31\377}T\31\377\177V" \ - "\32\377\200V\31\377\201V\31\377\201W\33\377\201V\31\377\201V\33\377\200" \ - "V\33\377\202\200V\32\377\1\177V\31\377\203~T\32\377\5\177V\31\377\200" \ - "V\33\377\201V\31\377\201W\33\377\202Y\32\377\202\202X\33\377*\201X\33" \ - "\377\200X\32\377\210c(\377\252\220\\\377\313\277\224\377\345\341\271" \ - "\377\345\340\267\377\345\340\266\377\345\340\264\377\345\340\262\377" \ - "\345\337\261\377\345\337\257\377\345\337\255\377\345\336\253\377\344" \ - "\336\251\377\344\336\247\377\344\335\245\377\344\335\243\377\344\334" \ - "\240\377\344\334\236\377\344\334\234\377\344\333\231\377\343\333\227" \ - "\377\343\332\224\377\343\332\222\377\343\331\217\377\343\331\214\377" \ - "\343\331\207\377\343\330\202\377\343\327}\377\201e)\377[C\26\37760\20" \ - "\3772-\17\377,'\16\377'#\14\377!\34\11\377\32\26\7\377\24\21\5\377\16" \ - "\14\4\377\10\7\3\377\4\3\1\377\377\0\0\0\377\377\0\0\0\377\340\0\0\0" \ - "\377*\2\1\0\377\4\2\1\377\5\3\1\377\7\4\1\377\11\5\1\377\13\6\2\377\15" \ - "\7\2\377\16\10\2\377\20\11\2\377\23\12\3\377\25\13\3\377\25\14\3\377" \ - "\30\15\4\377\32\16\4\377\33\17\4\377\36\20\4\377\37\20\5\377#\23\5\377" \ - "%\24\5\377(\26\6\377*\30\6\377-\32\7\3770\32\7\3772\34\7\3772\34\10\377" \ - "4\35\10\3775\35\7\3775\35\10\3777\36\10\3778\36\10\3779\36\10\3779\37" \ - "\7\377;\40\10\377=!\10\377\77!\10\377@\"\11\377B#\12\377D$\12\377F%\12" \ - "\377G'\12\377I(\12\377K)\13\377\202L*\13\377\33N+\13\377P,\14\377P+\14" \ - "\377Q+\13\377R,\13\377R+\13\377S+\13\377T-\14\377V-\14\377X/\15\377Z" \ - "1\15\377\\3\16\377_5\16\377b6\20\377e;\21\377g=\21\377kA\22\377oE\24" \ - "\377sI\25\377vM\26\377yN\27\377|Q\27\377}S\31\377\177V\31\377\200V\33" \ - "\377\201W\32\377\202Y\32\377\202\203Y\32\377\203\203Y\33\377\203\202" \ - "W\32\377\1\203Y\33\377\202\204Y\33\377\1\203Y\33\377\202\204Y\33\377" \ - "\202\203Y\33\377\4\212c*\377\250\215[\377\314\273\221\377\346\342\275" \ - "\377\202\345\341\273\377&\345\341\271\377\345\340\267\377\345\340\266" \ - "\377\345\340\264\377\345\340\262\377\345\337\261\377\345\337\257\377" \ - "\345\337\255\377\345\336\253\377\344\336\251\377\344\336\247\377\344" \ - "\335\245\377\344\335\243\377\344\334\240\377\344\334\236\377\344\334" \ - "\234\377\344\333\231\377\343\333\227\377\343\332\224\377\343\332\222" \ - "\377\343\331\217\377\343\331\214\377\343\331\207\377\343\330\202\377" \ - "\343\327}\377\214r2\377YC\25\37760\20\3773-\17\377-(\16\377'#\14\377" \ - "\"\35\12\377\33\27\10\377\24\21\5\377\16\14\4\377\10\7\3\377\4\3\1\377" \ - "\1\1\0\377\377\0\0\0\377\377\0\0\0\377\306\0\0\0\377\206\1\1\0\377\222" \ - "\0\0\0\3775\1\0\0\377\3\2\0\377\4\3\1\377\6\4\1\377\11\5\1\377\12\6\2" \ - "\377\15\7\2\377\16\7\2\377\17\10\2\377\22\11\3\377\24\12\3\377\25\14" \ - "\3\377\27\15\4\377\31\16\4\377\33\17\4\377\35\20\4\377\36\20\5\377!\21" \ - "\4\377#\22\5\377%\23\5\377(\25\5\377)\27\6\377,\30\6\377.\31\6\377/\32" \ - "\7\3770\32\7\3772\33\7\3774\34\10\3776\34\10\3778\35\10\3779\36\10\377" \ - ":\40\10\377<!\11\377\77#\11\377A#\11\377C%\11\377D%\13\377F&\13\377I" \ - "(\13\377K*\13\377L+\14\377M+\14\377P,\14\377Q-\14\377R.\14\377S/\15\377" \ - "T/\15\377T.\15\377S-\14\377U.\14\377T-\13\377V-\14\377U-\14\377\202X" \ - ".\14\377\17[1\14\377\\1\16\377^3\16\377`5\17\377d:\20\377i=\20\377lA" \ - "\22\377pE\23\377sH\24\377wL\26\377zN\30\377|R\31\377\177S\31\377\201" \ - "V\32\377\202W\32\377\202\204Y\33\377\203\205Y\32\377\204\206Y\32\377" \ - "\1\205Z\33\377\203\206Z\33\377\202\205Z\33\377\7\221j/\377\261\230h\377" \ - "\315\300\232\377\346\342\302\377\346\342\300\377\346\342\277\377\346" \ - "\342\275\377\202\345\341\273\377&\345\341\271\377\345\340\267\377\345" \ - "\340\266\377\345\340\264\377\345\340\262\377\345\337\261\377\345\337" \ - "\257\377\345\337\255\377\345\336\253\377\344\336\251\377\344\336\247" \ - "\377\344\335\245\377\344\335\243\377\344\334\240\377\344\334\236\377" \ - "\344\334\234\377\344\333\231\377\343\333\227\377\343\332\224\377\343" \ - "\332\222\377\343\331\217\377\343\331\214\377\343\331\207\377\343\330" \ - "\202\377\343\327}\377\225|8\377VB\25\37771\20\3773-\17\377-(\16\377(" \ - "$\14\377#\36\12\377\33\27\10\377\25\22\6\377\17\15\5\377\10\7\3\377\5" \ - "\4\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\303\0\0\0\377\3\1\1\0" \ - "\377\2\2\1\377\3\3\1\377\202\4\3\1\377\203\5\4\1\377\1\4\3\1\377\202" \ - "\3\3\1\377\202\1\1\0\377\216\0\0\0\377/\2\1\0\377\4\2\1\377\5\3\1\377" \ - "\10\5\1\377\11\5\1\377\14\7\2\377\15\7\2\377\17\10\2\377\21\11\3\377" \ - "\23\12\3\377\25\13\3\377\26\14\3\377\30\15\4\377\33\16\4\377\34\17\4" \ - "\377\36\20\4\377!\21\4\377!\22\5\377%\23\5\377(\25\5\377(\26\5\377+\30" \ - "\6\377-\31\6\377/\32\7\3770\32\7\3772\33\7\3775\35\7\3776\36\10\377:" \ - "\40\10\377;!\11\377<\"\11\377\77$\12\377B&\12\377C%\12\377D'\12\377G" \ - "(\14\377J*\14\377L,\14\377M-\14\377P.\15\377R1\16\377S0\16\377T0\16\377" \ - "U1\16\377W2\17\377X3\16\377W2\16\377\202Y2\15\377\26Y1\16\377X0\15\377" \ - "X/\15\377Y/\14\377Y.\14\377[/\15\377\\1\15\377[0\15\377^2\15\377b5\16" \ - "\377e8\16\377i;\20\377mA\21\377pD\24\377tI\25\377xL\26\377|P\30\377~" \ - "S\31\377\201V\32\377\203X\33\377\205Y\32\377\206Y\32\377\205\206[\33" \ - "\377\1\207\\\33\377\205\210\\\34\377\3\237}G\377\270\241u\377\326\313" \ - "\250\377\202\346\343\305\377\5\346\343\303\377\346\342\302\377\346\342" \ - "\300\377\346\342\277\377\346\342\275\377\202\345\341\273\377&\345\341" \ - "\271\377\345\340\267\377\345\340\266\377\345\340\264\377\345\340\262" \ - "\377\345\337\261\377\345\337\257\377\345\337\255\377\345\336\253\377" \ - "\344\336\251\377\344\336\247\377\344\335\245\377\344\335\243\377\344" \ - "\334\240\377\344\334\236\377\344\334\234\377\344\333\231\377\343\333" \ - "\227\377\343\332\224\377\343\332\222\377\343\331\217\377\343\331\214" \ - "\377\343\331\207\377\343\330\202\377\343\327}\377\234\204>\377T\77\24" \ - "\37771\20\3774.\20\377.)\16\377($\14\377#\36\12\377\33\27\10\377\25\22" \ - "\6\377\17\15\5\377\11\10\3\377\5\4\1\377\1\1\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\302\0\0\0\377\5\1\1\0\377\3\3\1\377\5\4\1\377\5\4\2\377\7" \ - "\6\2\377\205\10\7\3\377\5\7\6\2\377\6\5\2\377\5\4\2\377\5\4\1\377\4\3" \ - "\1\377\202\3\3\1\377\202\2\2\1\377\210\1\1\0\3770\2\1\0\377\4\3\0\377" \ - "\5\3\1\377\10\5\1\377\12\6\1\377\14\7\2\377\15\7\2\377\17\11\2\377\21" \ - "\12\2\377\23\12\3\377\26\15\4\377\27\16\4\377\32\17\5\377\35\20\5\377" \ - "\36\21\5\377!\21\4\377\"\22\6\377$\24\5\377&\25\6\377(\26\6\377*\30\6" \ - "\377-\32\6\3770\34\7\3771\33\10\3773\34\10\3776\37\10\3778\40\10\377" \ - ":\"\11\377;\"\11\377>#\12\377@&\12\377C'\13\377D(\13\377G)\14\377I+\14" \ - "\377K-\15\377M-\15\377O/\16\377Q0\16\377T2\17\377V4\17\377V4\16\377Y" \ - "6\17\377Z7\20\377[7\20\377]7\17\377]8\17\377^8\17\377\203]6\17\377\25" \ - "\\4\16\377\\3\16\377\\2\15\377\\1\15\377[0\15\377^1\15\377^2\15\377a" \ - "3\15\377b5\16\377e8\20\377i=\21\377nA\22\377rE\23\377wI\25\377{M\26\377" \ - "~Q\27\377\201U\31\377\204X\32\377\204Y\33\377\207[\33\377\207\\\33\377" \ - "\202\210\\\33\377\204\211\\\34\377\10\212]\34\377\223i-\377\252\214Z" \ - "\377\310\270\222\377\340\332\277\377\346\343\311\377\346\343\310\377" \ - "\346\343\307\377\202\346\343\305\377\5\346\343\303\377\346\342\302\377" \ - "\346\342\300\377\346\342\277\377\346\342\275\377\202\345\341\273\377" \ - "&\345\341\271\377\345\340\267\377\345\340\266\377\345\340\264\377\345" \ - "\340\262\377\345\337\261\377\345\337\257\377\345\337\255\377\345\336" \ - "\253\377\344\336\251\377\344\336\247\377\344\335\245\377\344\335\243" \ - "\377\344\334\240\377\344\334\236\377\344\334\234\377\344\333\231\377" \ - "\343\333\227\377\343\332\224\377\343\332\222\377\343\331\217\377\343" \ - "\331\214\377\343\331\207\377\343\330\202\377\343\327}\377\244\214C\377" \ - "P>\24\37771\20\3774.\20\377.)\16\377)%\14\377#\36\12\377\34\30\10\377" \ - "\26\23\6\377\17\15\4\377\11\10\3\377\5\4\1\377\1\1\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\301\0\0\0\377\6\2\2\1\377\4\3\1\377\6\5\2\377\10\7\3\377" \ - "\12\11\3\377\14\12\4\377\202\15\13\4\377\202\16\14\4\377\10\15\13\4\377" \ - "\14\12\4\377\13\11\3\377\12\11\3\377\11\10\3\377\10\7\3\377\7\6\2\377" \ - "\6\5\2\377\202\5\4\2\377\203\5\4\1\377\205\4\3\1\377G\6\3\1\377\7\4\2" \ - "\377\12\6\2\377\14\7\2\377\15\10\3\377\20\12\3\377\23\13\3\377\24\14" \ - "\3\377\26\15\4\377\30\16\4\377\31\17\5\377\34\21\6\377\36\22\5\377\37" \ - "\23\5\377\"\25\6\377$\26\6\377(\27\6\377)\27\6\377+\31\6\377-\32\7\377" \ - "0\34\10\3772\35\10\3775\36\11\3777\40\11\3779\"\11\377;#\11\377=$\13" \ - "\377\77%\13\377B'\13\377E)\13\377E*\15\377H,\15\377K-\15\377L/\15\377" \ - "N/\16\377P1\16\377T3\17\377U5\17\377W6\20\377Y8\20\377[9\20\377]:\20" \ - "\377_;\21\377`;\21\377a<\21\377b=\21\377b<\21\377c=\21\377c<\21\377b" \ - ":\21\377b9\20\377b8\16\377a5\20\377_5\17\377^4\16\377_3\15\377_2\15\377" \ - "a2\15\377b4\16\377e7\17\377i9\17\377m>\21\377pA\22\377uF\23\377yK\25" \ - "\377|O\27\377\177R\30\377\203V\32\377\205Y\33\377\210[\33\377\211\\\34" \ - "\377\204\212]\34\377\13\217b#\377\246\204P\377\275\247}\377\330\316\261" \ - "\377\346\343\316\377\346\343\315\377\346\343\313\377\346\343\312\377" \ - "\346\343\311\377\346\343\310\377\346\343\306\377\202\346\343\305\377" \ - "\5\346\343\303\377\346\342\302\377\346\342\300\377\346\342\277\377\346" \ - "\341\275\377\202\345\341\273\377&\345\341\271\377\345\340\267\377\345" \ - "\340\266\377\345\340\264\377\345\340\262\377\345\337\261\377\345\337" \ - "\257\377\345\337\255\377\345\336\253\377\344\336\251\377\344\336\247" \ - "\377\344\335\245\377\344\335\243\377\344\334\240\377\344\334\236\377" \ - "\344\334\234\377\344\333\231\377\343\333\227\377\343\332\223\377\343" \ - "\332\222\377\343\331\217\377\343\331\214\377\343\331\207\377\343\330" \ - "\202\377\343\327}\377\246\216B\377L=\24\37771\20\3774.\20\377.)\16\377" \ - ")%\14\377#\36\12\377\34\30\10\377\26\23\6\377\17\15\4\377\11\10\3\377" \ - "\5\4\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\300\0\0\0\377\10\3\3" \ - "\1\377\5\4\1\377\7\6\2\377\12\11\3\377\15\13\4\377\17\15\4\377\21\16" \ - "\5\377\22\17\5\377\204\23\20\5\377\10\22\17\5\377\21\16\5\377\20\16\4" \ - "\377\17\15\5\377\16\14\4\377\15\13\4\377\14\12\4\377\13\11\3\377\202" \ - "\12\11\3\377\203\11\10\3\377\203\10\7\3\377-\11\7\3\377\13\11\3\377\15" \ - "\12\4\377\17\13\4\377\21\14\4\377\22\15\5\377\25\16\5\377\26\17\5\377" \ - "\30\20\5\377\33\21\5\377\36\23\6\377\37\24\5\377!\25\6\377#\27\6\377" \ - "%\30\6\377(\31\7\377*\32\10\377-\34\10\3770\35\10\3772\37\11\3773\40" \ - "\11\3777\"\12\3779#\12\377:%\13\377<%\13\377\77&\13\377@(\14\377C*\14" \ - "\377F+\15\377H-\15\377J/\16\377L0\16\377N1\17\377O3\17\377S4\20\377U" \ - "6\17\377W6\20\377X8\21\377[:\21\377];\21\377_=\21\377`>\22\377c@\23\377" \ - "e@\23\377fA\23\377\203hB\23\377\36hA\23\377g\77\22\377g>\21\377g=\21" \ - "\377f<\20\377d:\21\377c7\20\377c7\17\377b4\16\377b4\15\377b4\16\377e" \ - "6\17\377g8\16\377l<\20\377o@\21\377rD\22\377vH\25\377zL\26\377\177Q\30" \ - "\377\203U\32\377\207Y\32\377\211\\\33\377\212]\34\377\213^\34\377\216" \ - "b!\377\243\200L\377\272\242x\377\321\303\245\377\346\342\317\377\347" \ - "\344\320\377\202\347\344\317\377\7\346\343\316\377\346\343\314\377\346" \ - "\343\313\377\346\343\312\377\346\343\311\377\346\343\307\377\346\343" \ - "\306\377\202\346\343\305\377\5\346\342\303\377\346\342\302\377\346\342" \ - "\300\377\346\342\276\377\346\341\275\377\202\345\341\273\377&\345\341" \ - "\271\377\345\340\267\377\345\340\266\377\345\340\264\377\345\340\262" \ - "\377\345\337\261\377\345\337\257\377\345\337\255\377\345\336\253\377" \ - "\344\336\251\377\344\336\247\377\344\335\245\377\344\335\243\377\344" \ - "\334\240\377\344\334\235\377\344\334\234\377\344\333\231\377\343\333" \ - "\227\377\343\332\223\377\343\332\222\377\343\331\217\377\343\331\212" \ - "\377\343\331\207\377\343\330\202\377\343\327}\377\246\217B\377G9\23\377" \ - "71\20\3774.\20\377/*\16\377)%\14\377#\36\12\377\34\30\10\377\26\23\6" \ - "\377\17\15\4\377\11\10\3\377\5\4\1\377\1\1\0\377\377\0\0\0\377\377\0" \ - "\0\0\377\277\0\0\0\377\11\2\2\1\377\5\4\1\377\10\7\3\377\13\11\3\377" \ - "\17\15\5\377\21\16\5\377\24\21\5\377\27\24\6\377\30\25\7\377\205\31\25" \ - "\7\377\10\30\25\7\377\27\24\6\377\25\22\6\377\24\21\5\377\23\20\5\377" \ - "\22\17\5\377\21\16\5\377\20\16\4\377\203\17\15\4\377\202\17\15\5\377" \ - "\202\16\14\4\3770\20\14\4\377\21\15\5\377\23\17\5\377\25\20\5\377\27" \ - "\22\6\377\31\22\6\377\34\23\6\377\35\24\6\377\40\26\7\377!\26\7\377$" \ - "\31\7\377&\33\10\377)\34\10\377*\34\10\377+\35\10\3770\37\11\3770\40" \ - "\11\3773!\12\3775\"\13\3777#\13\377:&\13\377<'\13\377>'\14\377A*\15\377" \ - "C,\15\377E-\15\377G-\15\377I/\16\377L0\17\377M2\17\377P4\20\377R5\20" \ - "\377T7\20\377V9\22\377X9\21\377[;\21\377]<\21\377_>\22\377`>\23\377b" \ - "@\23\377eC\23\377gC\24\377iE\24\377iE\25\377kF\25\377mG\25\377nG\25\377" \ - "mG\25\377\202mE\24\377\7mC\24\377kA\23\377i\77\22\377i=\20\377f:\17\377" \ - "f8\17\377e6\17\377\202e5\16\377\23h8\16\377j9\20\377m>\21\377p@\22\377" \ - "vE\23\377yI\25\377~N\27\377\202S\30\377\205W\31\377\211[\33\377\213^" \ - "\34\377\214^\34\377\223h*\377\345\341\317\377\347\345\324\377\347\344" \ - "\323\377\347\344\322\377\347\344\321\377\347\344\320\377\202\347\344" \ - "\317\3776\346\343\315\377\346\343\314\377\346\343\313\377\346\343\312" \ - "\377\346\343\311\377\346\343\307\377\346\343\306\377\346\343\305\377" \ - "\346\343\304\377\346\342\303\377\346\342\302\377\346\342\300\377\346" \ - "\342\276\377\346\341\275\377\345\341\273\377\345\341\272\377\345\341" \ - "\271\377\345\340\267\377\345\340\266\377\345\340\263\377\345\340\262" \ - "\377\345\337\261\377\345\337\256\377\345\337\255\377\345\336\253\377" \ - "\344\336\251\377\344\335\246\377\344\335\245\377\344\335\243\377\337" \ - "\325\230\377\275\247i\377\344\334\234\377\344\333\231\377\343\333\226" \ - "\377\343\332\223\377\343\332\222\377\343\331\217\377\343\331\212\377" \ - "\343\331\207\377\343\330\202\377\343\327{\377\250\220D\377@6\21\3777" \ - "1\20\3774.\20\377/*\16\377)%\14\377#\36\12\377\34\30\10\377\26\23\6\377" \ - "\17\15\4\377\11\10\3\377\5\4\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0" \ - "\377\276\0\0\0\377\13\1\1\0\377\5\4\1\377\7\6\2\377\13\11\3\377\17\15" \ - "\4\377\23\20\5\377\27\24\6\377\31\25\7\377\34\30\10\377\36\32\11\377" \ - "\40\33\11\377\202!\34\11\377\6\40\33\11\377\37\33\11\377\36\32\11\377" \ - "\35\31\10\377\33\27\10\377\32\26\7\377\202\31\25\7\377\1\30\25\7\377" \ - "\202\27\24\6\377\202\26\23\6\377\203\25\22\6\377\6\26\22\6\377\26\23" \ - "\6\377\30\24\6\377\32\25\6\377\35\26\7\377\37\27\7\377\202!\31\7\377" \ - "\77$\32\10\377'\34\11\377)\35\11\377*\36\11\377,\37\12\377.\40\12\377" \ - "1\"\12\3772#\13\3775$\13\3777&\14\377:'\14\377=)\15\377=*\15\377@+\15" \ - "\377D-\16\377E.\16\377F.\16\377I1\16\377K2\17\377N3\20\377P6\17\377R" \ - "7\20\377T9\21\377V:\21\377W:\21\377Z<\22\377\\=\22\377^\77\23\377`A\23" \ - "\377bA\24\377dC\24\377fD\24\377hF\25\377iG\26\377lH\26\377mI\26\377o" \ - "K\26\377qL\26\377sK\27\377sM\27\377sL\27\377rJ\26\377rI\26\377qG\25\377" \ - "pE\24\377nD\23\377l@\21\377j>\21\377h;\20\377h9\17\377g8\16\377h7\15" \ - "\377i8\17\377l:\20\377o\77\21\377tB\22\377xG\24\377{K\25\377\200P\27" \ - "\377\204T\31\377\210X\32\377\213\\\34\377\216_\35\377\202\217_\34\377" \ - ">\342\337\314\377\347\344\324\377\347\344\323\377\347\344\322\377\347" \ - "\344\321\377\347\344\320\377\347\344\317\377\347\343\316\377\346\343" \ - "\315\377\346\343\314\377\346\343\313\377\346\343\312\377\346\343\311" \ - "\377\346\343\307\377\346\343\306\377\346\343\305\377\346\343\304\377" \ - "\346\342\303\377\346\342\301\377\346\342\300\377\346\342\276\377\346" \ - "\341\275\377\345\341\273\377\345\341\272\377\345\341\271\377\345\340" \ - "\267\377\345\340\265\377\345\340\263\377\345\340\262\377\345\337\260" \ - "\377\345\337\256\377\345\337\255\377\345\336\253\377\344\336\250\377" \ - "\344\335\246\377\344\335\245\377\315\276\203\377\214h+\377\245\212L\377" \ - "\344\334\234\377\343\333\231\377\343\333\226\377\343\332\223\377\343" \ - "\332\222\377\343\331\216\377\343\331\212\377\343\331\207\377\343\330" \ - "\201\377\343\327{\377\252\222F\377:2\21\37771\20\3774.\20\377/*\16\377" \ - ")%\14\377#\36\12\377\34\30\10\377\26\23\6\377\17\15\4\377\11\10\3\377" \ - "\5\4\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\275\0\0\0\377\13\1\1" \ - "\0\377\3\3\1\377\6\5\2\377\13\11\3\377\17\15\4\377\23\20\5\377\30\25" \ - "\7\377\33\27\10\377\37\33\11\377#\36\12\377$\37\13\377\205&!\13\377\1" \ - "$\37\13\377\202#\36\12\377\4\"\35\12\377\40\33\11\377\37\33\11\377\36" \ - "\32\11\377\202\35\31\10\377\202\34\30\10\377\203\33\27\10\3770\35\31" \ - "\10\377\36\32\11\377!\34\11\377\"\33\11\377#\34\11\377%\35\11\377(\36" \ - "\11\377)\37\11\377+\40\13\377-\"\13\377/#\13\3771%\14\3773%\14\3775'" \ - "\14\3778'\14\377;)\15\377<+\15\377=+\15\377A.\17\377C/\17\377D0\17\377" \ - "G1\16\377H2\17\377L4\17\377N5\20\377O6\21\377Q7\21\377T8\21\377V:\22" \ - "\377X<\22\377Z>\22\377\\\77\23\377]\77\23\377`B\24\377bB\24\377cD\24" \ - "\377eD\25\377hF\26\377jH\26\377kI\26\377mK\27\377pK\27\377pM\27\377s" \ - "M\30\377tO\30\377uO\31\377wQ\30\377xQ\31\377\202xP\30\377\24uM\27\377" \ - "uK\26\377sI\25\377sF\24\377oC\23\377nA\22\377m>\22\377k;\17\377j9\17" \ - "\377h8\17\377l9\17\377o;\20\377q\77\21\377wD\22\377yG\24\377~L\26\377" \ - "\202Q\30\377\205U\32\377\212Y\32\377\216]\33\377\203\217_\34\377>\326" \ - "\312\256\377\347\344\324\377\347\344\323\377\347\344\322\377\347\344" \ - "\321\377\347\344\320\377\347\344\317\377\347\343\316\377\346\343\315" \ - "\377\346\343\314\377\346\343\313\377\346\343\312\377\346\343\310\377" \ - "\346\343\307\377\346\343\306\377\346\343\305\377\346\343\304\377\346" \ - "\342\302\377\346\342\301\377\346\342\300\377\346\342\276\377\346\341" \ - "\274\377\345\341\273\377\345\341\272\377\345\341\270\377\345\340\267" \ - "\377\345\340\265\377\345\340\263\377\345\337\261\377\345\337\260\377" \ - "\345\337\256\377\345\337\255\377\344\336\252\377\344\336\250\377\340" \ - "\327\240\377\262\230\\\377\203Z\35\377\202Y\32\377\256\224U\377\344\333" \ - "\233\377\343\333\231\377\343\333\226\377\343\332\223\377\343\332\221" \ - "\377\343\331\216\377\343\331\212\377\343\331\206\377\343\330\201\377" \ - "\343\327{\377\244\215B\37792\21\37771\20\3774.\20\377/*\16\377)%\14\377" \ - "#\36\12\377\34\30\10\377\26\23\6\377\17\15\4\377\11\10\3\377\5\4\1\377" \ - "\1\1\0\377\377\0\0\0\377\377\0\0\0\377\275\0\0\0\377\14\2\2\1\377\5\4" \ - "\1\377\11\10\3\377\16\14\4\377\22\17\5\377\30\25\7\377\34\30\10\377!" \ - "\34\11\377$\37\13\377'#\14\377+&\15\377,'\15\377\202,'\16\377\6,'\15" \ - "\377+&\15\377*%\15\377)%\14\377($\14\377'#\14\377\202&!\13\377\202$\37" \ - "\13\377\205#\36\12\377K\"\36\12\377#\37\12\377%\40\13\377'\40\13\377" \ - ")!\13\377+\"\13\377-$\14\377.%\14\3771%\15\3772&\15\3773'\15\3776)\15" \ - "\3778+\16\377;+\16\377=-\16\377>-\16\377@.\17\377C0\17\377E1\20\377F" \ - "3\17\377H4\20\377K6\21\377M7\21\377P9\22\377Q9\21\377S:\21\377V<\22\377" \ - "W=\22\377Z>\23\377[@\24\377]A\24\377_A\24\377aD\24\377cD\25\377eF\26" \ - "\377fG\26\377iH\26\377kJ\27\377lJ\26\377mL\27\377pN\27\377rN\30\377t" \ - "P\31\377tP\30\377vQ\30\377xR\31\377yT\31\377{T\32\377|U\31\377}U\32\377" \ - "|T\32\377{R\31\377yN\27\377wM\26\377uI\26\377sF\24\377qB\23\377p@\21" \ - "\377n>\21\377l;\21\377l9\20\377m:\20\377p<\20\377s@\21\377wE\22\377z" \ - "H\25\377\177M\26\377\204R\27\377\210V\31\377\214Z\33\377\215^\33\377" \ - "\220_\34\377\221`\34\377\222a\35\377\310\266\222\377\202\347\344\323" \ - "\377\2\347\344\322\377\347\344\320\377\202\347\344\317\377\7\347\343" \ - "\316\377\346\343\315\377\346\343\314\377\346\343\312\377\346\343\311" \ - "\377\346\343\310\377\346\343\307\377\202\346\343\305\377\23\346\343\304" \ - "\377\346\342\302\377\346\342\301\377\346\342\277\377\346\342\276\377" \ - "\346\341\274\377\345\341\273\377\345\341\272\377\345\341\270\377\345" \ - "\340\267\377\345\340\264\377\345\340\263\377\345\337\261\377\345\337" \ - "\260\377\345\337\256\377\345\336\254\377\344\336\252\377\306\263z\377" \ - "\222j+\377\202\205Z\33\377\31\203Y\33\377\264\232\\\377\344\333\233\377" \ - "\343\333\231\377\343\332\225\377\343\332\222\377\343\332\221\377\343" \ - "\331\216\377\343\331\211\377\343\331\206\377\343\330\201\377\343\327" \ - "{\377\230\201;\37792\21\37771\20\3774.\20\377.)\16\377)%\14\377#\36\12" \ - "\377\34\30\10\377\26\23\6\377\17\15\4\377\11\10\3\377\5\4\1\377\1\1\0" \ - "\377\377\0\0\0\377\377\0\0\0\377\274\0\0\0\377\15\1\1\0\377\3\3\1\377" \ - "\7\6\2\377\14\12\4\377\21\16\5\377\26\23\6\377\33\27\10\377!\34\11\377" \ - "%!\13\377)%\14\377,'\16\3770+\17\3772-\17\377\2023-\17\377\7""2-\17\377" \ - "1,\17\377/*\16\377.)\16\377-(\16\377,'\16\377,'\15\377\202+&\15\377\1" \ - "*%\15\377\203)%\14\377\202($\14\377\1)$\14\377\202+%\15\377D.&\15\377" \ - "0'\15\3771(\15\3775*\16\3774)\16\3777+\17\3779,\17\377;.\17\377=/\20" \ - "\377>/\17\377@1\17\377C2\20\377E3\20\377G5\20\377H5\20\377K7\21\377M" \ - "9\21\377O:\21\377Q:\22\377R;\22\377U=\23\377X\77\23\377Y@\24\377Z@\24" \ - "\377]B\24\377^C\24\377`E\25\377cE\25\377cF\26\377eH\27\377hI\27\377j" \ - "J\27\377kK\27\377mK\30\377oM\30\377pN\30\377rO\30\377sP\31\377uQ\31\377" \ - "vR\31\377xS\31\377zT\31\377zT\32\377|V\31\377}V\32\377~V\32\377\177W" \ - "\33\377\200W\32\377~T\31\377|R\27\377{O\27\377xM\26\377wJ\25\377uF\23" \ - "\377qB\23\377p@\21\377o=\20\377n:\17\377o;\17\377q>\17\377uA\21\377y" \ - "E\23\377|J\25\377\202M\26\377\205R\30\377\211V\32\377\214[\33\377\217" \ - "^\34\377\202\222a\35\377\6\223a\35\377\272\236q\377\347\344\323\377\347" \ - "\344\322\377\347\344\321\377\347\344\320\377\202\347\344\317\377\7\346" \ - "\343\316\377\346\343\315\377\346\343\314\377\346\343\312\377\346\343" \ - "\311\377\346\343\310\377\346\343\307\377\202\346\343\305\377\24\346\343" \ - "\303\377\346\342\302\377\346\342\301\377\346\342\277\377\346\342\275" \ - "\377\346\341\274\377\345\341\273\377\345\341\272\377\345\340\270\377" \ - "\345\340\266\377\345\340\264\377\345\340\263\377\345\337\261\377\345" \ - "\337\260\377\345\337\256\377\323\303\216\377\240{\77\377\210\\\34\377" \ - "\207[\34\377\206Z\33\377\202\205Z\33\377\30\300\254m\377\344\333\233" \ - "\377\343\333\230\377\343\332\225\377\343\332\222\377\343\332\221\377" \ - "\343\331\215\377\343\331\211\377\343\331\206\377\343\330\201\377\343" \ - "\326x\377\214y6\37792\21\37771\20\3774.\20\377.)\16\377($\14\377#\36" \ - "\12\377\34\30\10\377\25\22\6\377\17\15\5\377\11\10\3\377\5\4\1\377\1" \ - "\1\0\377\377\0\0\0\377\377\0\0\0\377\274\0\0\0\377\14\1\1\0\377\5\4\1" \ - "\377\11\10\3\377\17\15\5\377\24\21\5\377\31\25\7\377\37\33\11\377$\37" \ - "\13\377)%\14\377-(\16\3772-\17\37760\20\377\20271\20\377\20360\20\377" \ - "\5""5/\17\3774.\20\3773-\17\3772-\17\3771,\17\377\2020+\17\377\202/*" \ - "\16\377\203.)\16\377\14/)\16\3770)\16\3771+\17\3774+\17\3775,\17\377" \ - "6,\16\3778-\17\3779.\17\377<0\20\377>1\20\377\77""2\17\377@2\17\377\202" \ - "D5\21\377KG6\21\377H7\22\377J8\22\377L9\22\377O:\23\377P;\23\377R=\23" \ - "\377S>\23\377V@\24\377X@\24\377ZA\24\377[B\25\377]C\25\377_D\25\377a" \ - "E\25\377bG\26\377dH\27\377fH\27\377hJ\27\377jK\30\377kL\30\377lM\27\377" \ - "nM\31\377pO\31\377qP\30\377sP\31\377uQ\32\377uR\31\377vS\32\377wS\31" \ - "\377zT\31\377zT\32\377\210f1\377\233\177R\377\254\226p\377\276\255\222" \ - "\377\243\207\\\377\202X\33\377\201V\33\377\177U\31\377~R\30\377|O\27" \ - "\377zL\26\377wI\25\377tD\23\377tB\22\377s@\21\377o<\20\377q<\20\377s" \ - ">\20\377vC\22\377zE\23\377~J\24\377\201N\26\377\207S\31\377\212X\31\377" \ - "\216\\\33\377\221_\34\377\223a\35\377\224b\35\377\225c\35\377\257\213" \ - "U\377\347\344\323\377\347\344\322\377\347\344\321\377\347\344\320\377" \ - "\347\344\317\377\347\343\316\377\346\343\315\377\346\343\314\377\346" \ - "\343\313\377\346\343\312\377\346\343\311\377\346\343\307\377\346\343" \ - "\306\377\202\346\343\305\377\5\346\342\303\377\346\342\302\377\346\342" \ - "\300\377\346\342\277\377\346\342\275\377\202\345\341\273\377\10\345\341" \ - "\271\377\345\340\270\377\345\340\266\377\345\340\264\377\345\340\262" \ - "\377\345\337\261\377\327\314\230\377\252\210L\377\202\213^\34\377\1\212" \ - "]\34\377\202\210\\\34\377\32\207[\33\377\205Z\33\377\317\277\201\377" \ - "\344\333\232\377\343\333\230\377\343\332\225\377\343\332\222\377\343" \ - "\331\220\377\343\331\215\377\343\331\211\377\343\330\204\377\343\330" \ - "~\377\343\326x\377}m0\37792\21\37771\20\3773-\17\377.)\16\377($\14\377" \ - "#\36\12\377\33\27\10\377\25\22\6\377\17\15\5\377\11\10\3\377\5\4\1\377" \ - "\1\1\0\377\377\0\0\0\377\377\0\0\0\377\274\0\0\0\377\14\3\3\1\377\6\5" \ - "\2\377\14\12\4\377\21\16\5\377\27\24\6\377\34\30\10\377#\36\12\377'#" \ - "\14\377,'\16\3771,\17\37760\20\37782\20\377\20492\21\377\20282\20\377" \ - "\1""71\20\377\20360\20\377\2025/\17\377\2044.\20\37703-\17\3775.\17\377" \ - "6/\20\3777/\17\37790\20\377:0\20\377<2\21\377>3\21\377\77""3\20\377A" \ - "4\21\377B5\21\377E7\21\377F8\22\377I9\22\377H9\22\377K9\22\377M;\23\377" \ - "O=\23\377Q=\23\377R>\24\377U@\24\377WA\24\377YB\25\377ZC\25\377[B\25" \ - "\377^E\25\377_E\26\377aG\26\377cH\26\377dH\27\377eH\27\377hJ\27\377i" \ - "K\27\377jL\30\377lM\30\377lM\27\377nM\30\377pO\31\377qP\30\377rP\31\377" \ - "vT\36\377\214o@\377\237\210`\377\256\235|\377\276\257\227\377\322\312" \ - "\271\377\344\341\331\377\350\347\341\377\203\350\347\342\377\35\301\257" \ - "\224\377\202Y\33\377\203Y\33\377\202V\31\377\200S\30\377~Q\27\377{M\27" \ - "\377zJ\25\377yG\24\377wD\22\377sA\21\377s\77\21\377s=\20\377u\77\20\377" \ - "wA\21\377|F\23\377\200K\25\377\203N\26\377\210S\30\377\215Y\32\377\217" \ - "\\\32\377\222_\34\377\225b\35\377\225d\35\377\226d\35\377\243u8\377\347" \ - "\344\323\377\347\344\322\377\347\344\321\377\202\347\344\317\377\17\347" \ - "\343\316\377\346\343\315\377\346\343\314\377\346\343\313\377\346\343" \ - "\312\377\346\343\311\377\346\343\307\377\346\343\306\377\346\343\305" \ - "\377\346\343\304\377\346\342\303\377\346\342\302\377\346\342\300\377" \ - "\346\342\276\377\346\341\275\377\202\345\341\273\377'\345\341\271\377" \ - "\345\340\267\377\345\340\266\377\345\340\264\377\327\312\232\377\260" \ - "\217T\377\220a\36\377\217_\34\377\216_\35\377\214^\34\377\213^\34\377" \ - "\212]\34\377\211\\\34\377\210\\\34\377\207[\33\377\336\324\224\377\344" \ - "\333\232\377\343\333\227\377\343\332\224\377\343\332\222\377\343\331" \ - "\220\377\343\331\214\377\343\331\210\377\343\330\204\377\343\330~\377" \ - "\342\326u\377eY&\37792\21\37771\20\3773-\17\377-(\16\377'#\14\377\"\35" \ - "\12\377\33\27\10\377\25\22\6\377\16\14\4\377\10\7\3\377\4\3\1\377\1\1" \ - "\0\377\377\0\0\0\377\377\0\0\0\377\273\0\0\0\377\14\1\1\0\377\4\3\1\377" \ - "\10\7\3\377\16\14\4\377\23\20\5\377\31\25\7\377\40\33\11\377%!\13\377" \ - "+&\15\377/*\16\3774.\20\37782\20\377\20292\21\377\3\232\221^\377\201" \ - "zM\377F>\33\377\20592\21\377\20382\20\377\20571\20\377\20291\20\377\7" \ - "<3\21\377>4\21\377\77""4\21\377@5\21\377A6\21\377C7\21\377E8\22\377\202" \ - "H:\22\377\35J:\23\377L;\23\377M=\23\377O=\24\377Q>\24\377S\77\24\377" \ - "T@\25\377VA\25\377XC\25\377YC\25\377[D\26\377[E\26\377_E\26\377_F\27" \ - "\377aG\27\377cH\27\377dI\27\377eJ\27\377gJ\27\377hK\27\377jL\30\377}" \ - "b3\377\206nA\377\240\212f\377\253\233{\377\271\254\221\377\320\310\266" \ - "\377\334\331\314\377\347\346\336\377\202\347\346\337\377\203\350\347" \ - "\340\377\205\350\347\341\377\2\324\313\271\377\204Y\33\377\202\205Y\33" \ - "\377\31\202V\31\377\202S\31\377\177O\30\377|K\26\377yI\24\377wE\23\377" \ - "wC\22\377vA\21\377v>\20\377v\77\21\377yC\22\377}F\23\377\201K\25\377" \ - "\206O\26\377\210T\30\377\213X\32\377\220\\\32\377\222_\33\377\226b\35" \ - "\377\230c\36\377\227d\36\377\232f\40\377\345\341\316\377\347\344\321" \ - "\377\347\344\320\377\202\347\344\317\377\7\346\343\316\377\346\343\315" \ - "\377\346\343\314\377\346\343\312\377\346\343\311\377\346\343\310\377" \ - "\346\343\307\377\202\346\343\305\377\14\346\343\304\377\346\342\302\377" \ - "\346\342\301\377\346\342\300\377\346\342\276\377\346\341\274\377\345" \ - "\341\273\377\345\341\272\377\345\341\271\377\345\340\267\377\326\306" \ - "\226\377\255\212M\377\202\222a\35\377\1\220`\34\377\202\217_\34\377\36" \ - "\216_\35\377\216^\35\377\213^\34\377\212]\34\377\211\\\34\377\217f&\377" \ - "\344\334\234\377\344\333\231\377\343\333\227\377\343\332\224\377\343" \ - "\332\222\377\343\331\217\377\343\331\214\377\343\331\210\377\343\330" \ - "\202\377\343\327}\377\342\326u\377PG\35\37792\21\37760\20\3773-\17\377" \ - "-(\16\377'#\14\377\"\35\12\377\32\26\7\377\24\21\5\377\16\14\4\377\10" \ - "\7\3\377\4\3\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\273\0\0\0\377" \ - "\13\2\2\1\377\5\4\2\377\12\11\3\377\20\16\4\377\26\23\6\377\33\27\10" \ - "\377#\36\12\377'#\14\377,'\16\3772-\17\37760\20\377\20292\21\377\10S" \ - "M%\377\344\333\231\377\344\334\234\377\344\334\236\377\274\264\177\377" \ - "\217\210Z\377ph@\377NG#\377\21092\21\377\14:2\21\377;4\21\377>5\21\377" \ - "\77""5\21\377@5\21\377A6\22\377C7\22\377E8\22\377F:\23\377I;\23\377H" \ - ":\23\377K<\24\377\202N=\24\377\22P>\24\377Q\77\24\377S\77\24\377S@\24" \ - "\377VB\25\377XC\25\377YC\25\377[C\26\377\\D\26\377`G\30\377zf;\377}g" \ - "\77\377\230\210d\377\230\207c\377\263\246\213\377\267\254\217\377\315" \ - "\307\261\377\330\323\301\377\202\347\345\331\377\1\347\346\332\377\202" \ - "\347\346\333\377\1\347\346\334\377\202\347\346\335\377\202\347\346\336" \ - "\377\202\347\346\337\377\1\350\346\337\377\206\350\347\340\377\30\347" \ - "\345\335\377\210_\"\377\206Z\33\377\205Z\33\377\204W\32\377\203U\30\377" \ - "\201R\30\377\177M\26\377}K\25\377zG\24\377yD\22\377wA\21\377v>\21\377" \ - "w\77\21\377{D\22\377~F\23\377\202J\25\377\206O\26\377\213T\30\377\216" \ - "X\31\377\221\\\33\377\225`\34\377\230b\35\377\231e\36\377\202\232e\36" \ - "\377\14\333\317\264\377\347\344\321\377\347\344\320\377\347\344\317\377" \ - "\347\343\316\377\346\343\315\377\346\343\314\377\346\343\313\377\346" \ - "\343\312\377\346\343\311\377\346\343\310\377\346\343\306\377\202\346" \ - "\343\305\377\15\346\343\303\377\346\342\302\377\346\342\301\377\346\342" \ - "\277\377\346\342\275\377\346\341\274\377\345\341\273\377\345\341\272" \ - "\377\314\271\207\377\250\202C\377\225c\35\377\224b\35\377\223a\35\377" \ - "\202\222a\35\377\1\221`\34\377\203\217_\34\377\1\216^\35\377\202\213" \ - "^\34\377\30\237{;\377\344\334\234\377\343\333\231\377\343\333\226\377" \ - "\343\332\223\377\343\332\222\377\343\331\217\377\343\331\212\377\343" \ - "\331\207\377\343\330\202\377\343\327}\377\342\325r\377@8\24\37792\21" \ - "\37760\20\3772-\17\377,'\16\377&!\13\377!\34\11\377\32\26\7\377\23\20" \ - "\5\377\15\13\4\377\7\6\2\377\4\3\1\377\377\0\0\0\377\377\0\0\0\377\273" \ - "\0\0\0\377\14\1\1\0\377\3\3\1\377\7\6\2\377\14\12\4\377\21\16\5\377\30" \ - "\25\7\377\36\32\11\377$\37\13\377*%\15\377/*\16\3774.\20\37771\20\377" \ - "\20292\21\377\16\211\201P\377\344\333\231\377\344\334\234\377\344\334" \ - "\235\377\344\334\240\377\344\335\243\377\344\335\245\377\344\335\246" \ - "\377\344\336\250\377\301\273\214\377\262\254\177\377\240\232p\377\231" \ - "\222j\377~wQ\377\202~wS\377\26_X5\377^W2\377^V3\377`W3\377bX4\377cZ5" \ - "\377eZ5\377g[5\377g[7\377h[6\377j]7\377\202wS\377\212\177[\377\214\177" \ - "\\\377\215\201\\\377\232\217k\377\254\242\202\377\255\242\202\377\256" \ - "\245\205\377\313\304\251\377\313\305\252\377\333\330\300\377\202\347" \ - "\344\321\377\5\347\344\322\377\347\344\323\377\347\345\324\377\347\345" \ - "\325\377\347\345\326\377\202\347\345\327\377\1\347\345\330\377\202\347" \ - "\345\331\377\2\347\346\331\377\347\346\332\377\202\347\346\333\377\202" \ - "\347\346\334\377\202\347\346\335\377\202\347\346\336\377\203\347\346" \ - "\337\377\202\350\346\337\377\202\350\347\340\377\34\350\346\337\377\234" \ - "yE\377\207[\34\377\207Z\33\377\207Y\32\377\204V\31\377\204S\27\377\202" \ - "P\27\377~L\26\377|I\24\377{F\23\377zC\22\377x@\21\377zA\21\377|C\22\377" \ - "\200H\23\377\203K\24\377\210P\27\377\213S\30\377\220X\32\377\224\\\33" \ - "\377\226a\34\377\231c\35\377\232e\36\377\233f\36\377\234f\37\377\320" \ - "\276\234\377\347\344\320\377\202\347\344\317\377\31\347\343\316\377\346" \ - "\343\315\377\346\343\314\377\346\343\313\377\346\343\312\377\346\343" \ - "\311\377\346\343\307\377\346\343\306\377\346\343\305\377\346\343\304" \ - "\377\346\342\303\377\346\342\302\377\346\342\300\377\346\342\277\377" \ - "\346\342\275\377\337\327\260\377\304\252v\377\242s0\377\227d\36\377\230" \ - "c\36\377\230d\36\377\225d\35\377\225c\35\377\224b\35\377\223a\35\377" \ - "\202\222a\35\377\1\220`\34\377\202\217_\34\377\16\216^\35\377\214^\34" \ - "\377\263\226U\377\344\333\233\377\343\333\231\377\343\333\226\377\343" \ - "\332\222\377\343\332\221\377\343\331\216\377\343\331\212\377\343\331" \ - "\207\377\343\330\201\377\343\327{\377\323\305h\377\20292\21\377\12""6" \ - "0\20\3771,\17\377,'\15\377&!\13\377\40\33\11\377\31\25\7\377\22\17\5" \ - "\377\15\13\4\377\7\6\2\377\3\3\1\377\377\0\0\0\377\377\0\0\0\377\273" \ - "\0\0\0\377\14\1\1\0\377\4\3\1\377\10\7\3\377\16\14\4\377\23\20\5\377" \ - "\31\25\7\377!\34\11\377&!\13\377,'\15\3771,\17\37760\20\37782\20\377" \ - "\20292\21\377\23\252\242h\377\343\333\231\377\344\333\233\377\344\334" \ - "\234\377\344\334\240\377\344\335\242\377\344\335\244\377\344\335\246" \ - "\377\344\336\247\377\344\336\252\377\345\336\254\377\345\337\256\377" \ - "\345\337\260\377\345\337\261\377\345\340\262\377\345\340\264\377\345" \ - "\340\266\377\345\340\270\377\345\341\271\377\202\345\341\273\377\17\346" \ - "\341\275\377\346\342\277\377\346\342\300\377\346\342\302\377\346\342" \ - "\303\377\346\343\304\377\346\343\305\377\346\343\306\377\346\343\307" \ - "\377\346\343\310\377\346\343\311\377\346\343\312\377\346\343\314\377" \ - "\346\343\315\377\346\343\316\377\202\347\344\317\377\3\347\344\320\377" \ - "\347\344\321\377\347\344\322\377\202\347\344\323\377\5\347\345\324\377" \ - "\347\345\325\377\347\345\326\377\347\345\327\377\347\345\330\377\203" \ - "\347\345\331\377\2\347\346\331\377\347\346\332\377\202\347\346\333\377" \ - "\202\347\346\334\377\203\347\346\335\377\204\347\346\336\377\204\347" \ - "\346\337\377$\262\230r\377\210\\\34\377\211\\\33\377\210Z\32\377\207" \ - "W\32\377\205T\31\377\203R\27\377\203M\26\377~K\25\377~H\24\377|E\22\377" \ - "|C\21\377{B\21\377~D\22\377\200G\23\377\205L\25\377\212P\27\377\215T" \ - "\30\377\221Y\31\377\225]\33\377\227`\34\377\231d\35\377\234f\36\377\235" \ - "f\37\377\236g\37\377\305\253\200\377\347\344\320\377\347\344\317\377" \ - "\347\343\316\377\346\343\315\377\346\343\314\377\346\343\313\377\346" \ - "\343\312\377\346\343\311\377\346\343\310\377\346\343\307\377\202\346" \ - "\343\305\377\7\346\343\304\377\346\342\302\377\346\342\301\377\346\342" \ - "\300\377\323\302\227\377\266\221V\377\237k%\377\202\233f\36\377\10\232" \ - "e\36\377\231d\36\377\230d\36\377\226c\36\377\226b\35\377\225b\35\377" \ - "\224b\35\377\223a\35\377\202\222a\35\377\1\220`\34\377\202\217_\34\377" \ - "\31\216_\35\377\310\263r\377\344\333\232\377\343\333\230\377\343\332" \ - "\225\377\343\332\222\377\343\332\221\377\343\331\215\377\343\331\211" \ - "\377\343\331\206\377\343\330\201\377\343\326x\377\275\257W\37792\21\377" \ - "82\20\37760\20\3771,\17\377+&\15\377&!\13\377\37\33\11\377\31\25\7\377" \ - "\22\17\5\377\14\12\4\377\6\5\2\377\3\3\1\377\377\0\0\0\377\377\0\0\0" \ - "\377\273\0\0\0\377\13\2\2\1\377\5\4\1\377\11\10\3\377\17\15\5\377\25" \ - "\22\6\377\33\27\10\377\"\35\12\377'#\14\377-(\16\3773-\17\37771\20\377" \ - "\20392\21\377\33\263\254p\377\343\333\230\377\344\333\232\377\344\334" \ - "\234\377\344\334\237\377\344\335\241\377\344\335\243\377\344\335\245" \ - "\377\344\336\247\377\344\336\251\377\345\336\253\377\345\337\255\377" \ - "\345\337\257\377\345\337\261\377\345\340\262\377\345\340\264\377\345" \ - "\340\266\377\345\340\267\377\345\341\271\377\345\341\272\377\345\341" \ - "\273\377\346\341\274\377\346\342\276\377\346\342\300\377\346\342\301" \ - "\377\346\342\302\377\346\343\304\377\202\346\343\305\377\10\346\343\307" \ - "\377\346\343\310\377\346\343\311\377\346\343\312\377\346\343\313\377" \ - "\346\343\314\377\346\343\315\377\347\343\316\377\202\347\344\317\377" \ - "\6\347\344\320\377\347\344\321\377\347\344\322\377\347\344\323\377\347" \ - "\344\324\377\347\345\325\377\202\347\345\326\377\2\347\345\327\377\347" \ - "\345\330\377\203\347\345\331\377\2\347\346\331\377\347\346\332\377\202" \ - "\347\346\333\377\203\347\346\334\377\203\347\346\335\377\206\347\346" \ - "\336\377\27\303\262\225\377\212]\34\377\213]\33\377\212[\32\377\210Y" \ - "\33\377\207V\31\377\206R\27\377\203P\26\377\201M\26\377\200I\24\377~" \ - "G\23\377}D\22\377}C\22\377\200E\22\377\203H\23\377\207L\25\377\212P\26" \ - "\377\216U\30\377\222Y\32\377\226^\33\377\230`\34\377\232d\35\377\236" \ - "f\36\377\202\237h\37\377\1\275\233h\377\202\347\344\317\377\10\347\343" \ - "\316\377\346\343\315\377\346\343\314\377\346\343\313\377\346\343\312" \ - "\377\346\343\311\377\346\343\307\377\346\343\306\377\202\346\343\305" \ - "\377\5\346\343\303\377\337\326\261\377\305\250t\377\252z8\377\237h\37" \ - "\377\202\236g\37\377\13\235f\37\377\234f\37\377\233e\36\377\232d\35\377" \ - "\231d\35\377\227c\35\377\226c\35\377\226b\35\377\225b\35\377\225c\35" \ - "\377\224b\35\377\202\222a\35\377\1\221`\34\377\202\217_\34\377\30\334" \ - "\316\217\377\344\333\232\377\343\333\227\377\343\332\224\377\343\332" \ - "\222\377\343\331\220\377\343\331\215\377\343\331\210\377\343\330\204" \ - "\377\343\330~\377\343\326x\377\237\225J\37792\21\37782\20\3775/\17\377" \ - "0+\17\377+&\15\377$\37\13\377\36\32\11\377\30\25\7\377\21\16\5\377\13" \ - "\11\3\377\6\5\2\377\3\3\1\377\377\0\0\0\377\377\0\0\0\377\273\0\0\0\377" \ - "\13\3\3\1\377\5\4\2\377\12\11\3\377\17\15\4\377\26\23\6\377\34\30\10" \ - "\377#\36\12\377)%\14\377.)\16\3774.\20\37782\20\377\20392\21\377\33\241" \ - "\231b\377\343\333\227\377\344\333\232\377\344\334\234\377\344\334\236" \ - "\377\344\334\240\377\344\335\243\377\344\335\245\377\344\336\247\377" \ - "\344\336\251\377\345\336\253\377\345\337\255\377\345\337\256\377\345" \ - "\337\260\377\345\340\262\377\345\340\263\377\345\340\265\377\345\340" \ - "\267\377\345\341\270\377\345\341\272\377\345\341\273\377\346\341\274" \ - "\377\346\342\275\377\346\342\277\377\346\342\300\377\346\342\302\377" \ - "\346\343\303\377\202\346\343\305\377\3\346\343\306\377\346\343\307\377" \ - "\346\343\311\377\202\346\343\312\377\3\346\343\314\377\346\343\315\377" \ - "\346\343\316\377\202\347\344\317\377\3\347\344\320\377\347\344\321\377" \ - "\347\344\322\377\202\347\344\323\377\3\347\345\324\377\347\345\325\377" \ - "\347\345\326\377\202\347\345\327\377\1\347\345\330\377\204\347\345\331" \ - "\377\202\347\346\332\377\202\347\346\333\377\203\347\346\334\377\207" \ - "\347\346\335\377\1\327\317\275\377\202\213^\34\377\24\214]\33\377\213" \ - "Z\32\377\212X\32\377\206S\30\377\206Q\27\377\204N\26\377\201J\24\377" \ - "\200H\23\377\200E\22\377\177D\22\377\200E\22\377\203I\23\377\210N\25" \ - "\377\213Q\26\377\217U\31\377\224Y\31\377\226^\33\377\231a\34\377\235" \ - "e\35\377\237g\36\377\202\240i\37\377\4\265\213Q\377\347\344\317\377\347" \ - "\343\316\377\346\343\315\377\202\346\343\314\377\12\346\343\312\377\346" \ - "\343\311\377\346\343\310\377\346\343\307\377\346\343\306\377\342\333" \ - "\272\377\314\264\204\377\263\210I\377\242i\37\377\240h\37\377\202\240" \ - "i\37\377\202\237h\37\377\4\236g\36\377\235f\36\377\234d\36\377\231d\35" \ - "\377\202\230c\35\377\"\227c\35\377\226b\35\377\230b\35\377\226b\35\377" \ - "\225c\35\377\224b\35\377\223a\35\377\222a\35\377\221`\34\377\231m*\377" \ - "\344\334\234\377\344\333\231\377\343\333\227\377\343\332\223\377\343" \ - "\332\222\377\343\331\217\377\343\331\214\377\343\331\210\377\343\330" \ - "\202\377\343\327}\377\342\326u\377\205{9\37792\21\37782\20\3775/\17\377" \ - "/*\16\377*%\15\377$\37\13\377\35\31\10\377\27\24\6\377\20\16\4\377\12" \ - "\11\3\377\5\4\2\377\2\2\1\377\377\0\0\0\377\377\0\0\0\377\273\0\0\0\377" \ - "\12\3\3\1\377\6\5\2\377\13\11\3\377\20\16\4\377\27\24\6\377\35\31\10" \ - "\377#\36\12\377)%\14\377/*\16\3775/\17\377\20292\21\377\26JB\35\3779" \ - "2\21\377rk=\377\343\333\227\377\344\333\231\377\344\334\234\377\344\334" \ - "\235\377\344\334\240\377\344\335\242\377\344\335\245\377\344\335\246" \ - "\377\344\336\250\377\344\336\252\377\345\336\254\377\345\337\256\377" \ - "\345\337\260\377\345\337\261\377\345\340\263\377\345\340\264\377\345" \ - "\340\266\377\345\340\270\377\345\341\271\377\202\345\341\273\377\6\346" \ - "\341\275\377\346\342\276\377\346\342\300\377\346\342\301\377\346\342" \ - "\302\377\346\343\304\377\202\346\343\305\377\10\346\343\307\377\346\343" \ - "\310\377\346\343\311\377\346\343\312\377\346\343\313\377\346\343\314" \ - "\377\346\343\315\377\347\343\316\377\202\347\344\317\377\3\347\344\320" \ - "\377\347\344\321\377\347\344\322\377\202\347\344\323\377\3\347\345\324" \ - "\377\347\345\325\377\347\345\326\377\202\347\345\327\377\1\347\345\330" \ - "\377\204\347\345\331\377\2\347\346\331\377\347\346\332\377\204\347\346" \ - "\333\377\207\347\346\334\377&\346\344\332\377\217d%\377\216_\35\377\215" \ - "^\34\377\214[\33\377\212X\31\377\211V\32\377\210S\30\377\206O\26\377" \ - "\204L\25\377\202I\23\377\201F\23\377\201E\22\377\202F\22\377\205J\23" \ - "\377\211M\25\377\215Q\26\377\220V\30\377\224Y\31\377\230]\33\377\232" \ - "a\34\377\237e\36\377\240h\37\377\242i\37\377\241i\37\377\254y7\377\347" \ - "\344\317\377\347\343\316\377\346\343\315\377\346\343\314\377\346\343" \ - "\313\377\346\343\312\377\346\343\311\377\342\333\275\377\317\270\213" \ - "\377\270\217R\377\246m\"\377\244j\37\377\203\243i\37\377\202\241i\37" \ - "\377\6\240h\37\377\237g\36\377\237f\36\377\235d\35\377\233b\35\377\232" \ - "b\35\377\203\230b\35\377\1\230c\35\377\202\230b\35\377\36\226b\35\377" \ - "\225d\35\377\224b\35\377\223a\35\377\222a\35\377\257\214J\377\344\333" \ - "\233\377\343\333\231\377\343\333\226\377\343\332\223\377\343\332\221" \ - "\377\343\331\216\377\343\331\212\377\343\331\207\377\343\330\202\377" \ - "\343\327{\377\342\325r\377e\\'\37792\21\37771\20\3774.\20\377.)\16\377" \ - ")%\14\377#\36\12\377\34\30\10\377\26\23\6\377\17\15\4\377\11\10\3\377" \ - "\5\4\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\273\0\0\0\377\12\3\3" \ - "\1\377\6\5\2\377\13\11\3\377\21\16\5\377\27\24\6\377\35\31\10\377$\37" \ - "\13\377*%\15\3770+\17\37760\20\377\20292\21\377\36F>\32\377MF!\377@8" \ - "\26\377\323\311\211\377\343\333\231\377\344\333\233\377\344\334\234\377" \ - "\344\334\237\377\344\335\241\377\344\335\244\377\344\335\246\377\344" \ - "\336\247\377\344\336\251\377\345\336\253\377\345\337\255\377\345\337" \ - "\257\377\345\337\261\377\345\340\262\377\345\340\264\377\345\340\266" \ - "\377\345\340\267\377\345\341\271\377\345\341\272\377\345\341\273\377" \ - "\346\341\274\377\346\342\276\377\346\342\277\377\346\342\301\377\346" \ - "\342\302\377\346\343\303\377\202\346\343\305\377\12\346\343\306\377\346" \ - "\343\307\377\346\343\310\377\346\343\311\377\346\343\312\377\346\343" \ - "\314\377\346\343\315\377\346\343\316\377\347\343\316\377\347\344\317" \ - "\377\202\347\344\320\377\7\347\344\321\377\347\344\322\377\347\344\323" \ - "\377\347\344\324\377\347\345\324\377\347\345\325\377\347\345\326\377" \ - "\202\347\345\327\377\202\347\345\330\377\204\347\345\331\377\203\347" \ - "\346\332\377\211\347\346\333\377!\246\202P\377\217_\34\377\216^\34\377" \ - "\215\\\33\377\215[\32\377\214X\32\377\212U\30\377\210Q\27\377\207N\26" \ - "\377\206L\25\377\204H\23\377\203F\22\377\204G\22\377\210J\24\377\212" \ - "M\25\377\216Q\27\377\222U\30\377\225Z\32\377\231_\32\377\235b\34\377" \ - "\240f\36\377\241g\37\377\243i\37\377\244j\37\377\245l\"\377\345\341\311" \ - "\377\346\343\315\377\346\343\314\377\346\343\313\377\340\331\274\377" \ - "\316\266\212\377\271\215R\377\247m#\377\203\246l\40\377\202\246k\37\377" \ - "\10\245j\37\377\244j\37\377\243h\37\377\241h\36\377\240g\36\377\240f" \ - "\36\377\236d\36\377\235b\34\377\203\232a\34\377#\231a\35\377\230b\35" \ - "\377\231b\35\377\230c\35\377\230b\35\377\226c\35\377\226d\36\377\225" \ - "d\35\377\224b\35\377\223a\35\377\310\262p\377\344\333\232\377\343\333" \ - "\230\377\343\332\225\377\343\332\222\377\343\332\221\377\343\331\215" \ - "\377\343\331\211\377\343\331\206\377\343\330\201\377\343\327{\377\342" \ - "\325r\377C<\26\37792\21\37760\20\3773-\17\377-(\16\377'#\14\377\"\35" \ - "\12\377\33\27\10\377\24\21\5\377\17\15\5\377\11\10\3\377\5\4\1\377\1" \ - "\1\0\377\377\0\0\0\377\377\0\0\0\377\273\0\0\0\377\12\3\3\1\377\6\5\2" \ - "\377\13\11\3\377\21\16\5\377\27\24\6\377\36\32\11\377$\37\13\377+&\15" \ - "\3770+\17\37760\20\377\20392\21\377\36f^2\37792\21\377ld8\377\343\333" \ - "\230\377\344\333\232\377\344\334\234\377\344\334\236\377\344\334\240" \ - "\377\344\335\243\377\344\335\245\377\344\336\247\377\344\336\251\377" \ - "\345\336\253\377\345\337\255\377\345\337\256\377\345\337\260\377\345" \ - "\337\261\377\345\340\263\377\345\340\264\377\345\340\266\377\345\341" \ - "\270\377\345\341\272\377\345\341\273\377\346\341\274\377\346\342\275" \ - "\377\346\342\277\377\346\342\300\377\346\342\301\377\346\342\302\377" \ - "\346\343\304\377\202\346\343\305\377\10\346\343\307\377\346\343\310\377" \ - "\346\343\311\377\346\343\312\377\346\343\313\377\346\343\314\377\346" \ - "\343\315\377\346\343\316\377\202\347\344\317\377\1\347\344\320\377\202" \ - "\347\344\321\377\6\347\344\322\377\347\344\323\377\347\344\324\377\347" \ - "\345\324\377\347\345\325\377\347\345\326\377\203\347\345\327\377\1\347" \ - "\345\330\377\205\347\345\331\377\1\347\346\331\377\204\347\346\332\377" \ - "\205\347\346\333\377\2\272\242{\377\217_\34\377\202\216^\34\377\31\216" \ - "\\\33\377\213X\32\377\213V\30\377\212S\30\377\210P\26\377\207M\25\377" \ - "\206J\24\377\205G\22\377\206H\23\377\207K\24\377\214N\25\377\217Q\26" \ - "\377\223U\27\377\227Z\31\377\232_\33\377\236c\34\377\240e\35\377\243" \ - "h\36\377\245j\37\377\246k\37\377\246l\40\377\336\325\267\377\333\315" \ - "\254\377\306\247v\377\266\210F\377\207\250l\40\377\10\247l\40\377\246" \ - "k\40\377\245j\37\377\245i\37\377\243h\36\377\241f\35\377\240d\35\377" \ - "\237c\34\377\202\234a\34\377\2\233`\34\377\232`\33\377\202\232a\34\377" \ - "\5\231a\34\377\230b\35\377\231b\35\377\230c\35\377\230d\35\377\202\230" \ - "d\36\377\16\225d\35\377\225d\37\377\337\323\222\377\344\333\231\377\343" \ - "\333\227\377\343\332\224\377\343\332\222\377\343\331\220\377\343\331" \ - "\214\377\343\331\210\377\343\330\204\377\343\330~\377\343\326x\377\311" \ - "\276a\377\20292\21\377\13""60\20\3772-\17\377,'\16\377&!\13\377!\34\11" \ - "\377\31\25\7\377\23\20\5\377\16\14\4\377\10\7\3\377\4\3\1\377\1\1\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\273\0\0\0\377\13\3\3\1\377\6\5\2\377\13" \ - "\11\3\377\20\16\4\377\27\24\6\377\35\31\10\377$\37\13\377*%\15\3770+" \ - "\17\3775/\17\37782\20\377\20292\21\377\1rk<\377\20292\21\377\33\203|" \ - "L\377\344\333\231\377\344\334\234\377\344\334\235\377\344\334\240\377" \ - "\344\335\243\377\344\335\245\377\344\335\246\377\344\336\250\377\344" \ - "\336\252\377\345\336\254\377\345\337\256\377\345\337\260\377\345\337" \ - "\261\377\345\340\262\377\345\340\264\377\345\340\266\377\345\340\267" \ - "\377\345\341\271\377\345\341\272\377\345\341\273\377\346\341\274\377" \ - "\346\342\276\377\346\342\277\377\346\342\301\377\346\342\302\377\346" \ - "\343\303\377\202\346\343\305\377\11\346\343\306\377\346\343\307\377\346" \ - "\343\310\377\346\343\311\377\346\343\312\377\346\343\313\377\346\343" \ - "\314\377\346\343\315\377\347\343\316\377\202\347\344\317\377\2\347\344" \ - "\320\377\347\344\321\377\202\347\344\322\377\4\347\344\323\377\347\344" \ - "\324\377\347\345\324\377\347\345\325\377\202\347\345\326\377\202\347" \ - "\345\327\377\202\347\345\330\377\207\347\345\331\377\202\347\346\331" \ - "\377\203\347\346\332\377\34\347\346\331\377\320\303\246\377\220`\34\377" \ - "\221`\35\377\221_\34\377\217]\33\377\217Z\32\377\216X\31\377\214T\27" \ - "\377\212Q\27\377\212N\25\377\211L\25\377\210I\23\377\207I\23\377\211" \ - "J\23\377\215N\25\377\221R\26\377\224U\30\377\230Z\31\377\233^\33\377" \ - "\237c\34\377\241f\35\377\245i\37\377\246l\40\377\247k\40\377\250l\40" \ - "\377\254s*\377\250m\40\377\210\251m\40\377\11\250l\37\377\250j\37\377" \ - "\246i\37\377\245h\36\377\244g\36\377\242e\35\377\241d\35\377\240b\35" \ - "\377\236a\33\377\202\234_\33\377\202\233_\33\377\202\232`\33\377!\232" \ - "a\34\377\231a\34\377\231b\35\377\231d\35\377\230d\35\377\231d\36\377" \ - "\227d\36\377\230d\36\377\247\177:\377\344\333\233\377\343\333\231\377" \ - "\343\333\226\377\343\332\223\377\343\332\222\377\343\331\217\377\343" \ - "\331\214\377\343\331\207\377\343\330\202\377\343\327}\377\342\326u\377" \ - "\242\226H\37792\21\37782\20\37760\20\3770+\17\377+&\15\377&!\13\377\37" \ - "\33\11\377\31\25\7\377\22\17\5\377\14\12\4\377\7\6\2\377\3\3\1\377\377" \ - "\0\0\0\377\377\0\0\0\377\274\0\0\0\377\13\2\2\1\377\5\4\2\377\12\11\3" \ - "\377\20\16\4\377\26\23\6\377\35\31\10\377#\36\12\377)%\14\377/*\16\377" \ - "4.\20\37782\20\377\20292\21\377\2wo\77\377C<\31\377\20292\21\377\33y" \ - "rE\377\336\325\227\377\344\334\234\377\344\334\237\377\344\335\241\377" \ - "\344\335\244\377\344\335\246\377\344\336\247\377\344\336\251\377\345" \ - "\336\253\377\345\337\255\377\345\337\257\377\345\337\261\377\345\340" \ - "\262\377\345\340\263\377\345\340\265\377\345\340\267\377\345\341\270" \ - "\377\345\341\272\377\345\341\273\377\346\341\274\377\346\342\275\377" \ - "\346\342\277\377\346\342\300\377\346\342\301\377\346\342\302\377\346" \ - "\343\304\377\202\346\343\305\377\3\346\343\306\377\346\343\307\377\346" \ - "\343\311\377\202\346\343\312\377\1\346\343\314\377\202\346\343\315\377" \ - "\1\347\343\316\377\202\347\344\317\377\2\347\344\320\377\347\344\321" \ - "\377\202\347\344\322\377\202\347\344\323\377\1\347\345\324\377\202\347" \ - "\345\325\377\1\347\345\326\377\203\347\345\327\377\202\347\345\330\377" \ - "\213\347\345\331\377\27\341\335\317\377\222b\40\377\222a\35\377\222a" \ - "\34\377\221]\33\377\220[\32\377\220Y\32\377\216V\30\377\214R\27\377\213" \ - "P\26\377\212M\25\377\211J\24\377\210I\23\377\213K\23\377\216N\25\377" \ - "\221S\27\377\224V\30\377\230Y\30\377\234]\33\377\237a\34\377\242e\35" \ - "\377\244g\36\377\250l\40\377\204\251m\40\377\202\253n\40\3776\252n!\377" \ - "\252m!\377\252m\40\377\252l\40\377\251k\40\377\250j\37\377\251j\36\377" \ - "\250i\36\377\247h\36\377\245f\35\377\245e\35\377\243d\35\377\241b\34" \ - "\377\236`\33\377\235^\33\377\235]\32\377\233]\31\377\233^\33\377\232" \ - "^\32\377\233`\33\377\232`\34\377\232a\34\377\233b\34\377\232c\35\377" \ - "\233c\35\377\233e\36\377\232e\36\377\231e\36\377\227d\36\377\303\251" \ - "e\377\344\333\232\377\343\333\230\377\343\332\225\377\343\332\222\377" \ - "\343\332\221\377\343\331\216\377\343\331\212\377\343\331\206\377\343" \ - "\330\201\377\343\327{\377\342\325r\377yn1\37792\21\37782\20\3775/\17" \ - "\377/*\16\377*%\15\377$\37\13\377\36\32\11\377\27\24\6\377\21\16\5\377" \ - "\13\11\3\377\6\5\2\377\3\3\1\377\377\0\0\0\377\377\0\0\0\377\274\0\0" \ - "\0\377\13\1\1\0\377\5\4\1\377\11\10\3\377\17\15\4\377\25\22\6\377\33" \ - "\27\10\377#\36\12\377($\14\377.)\16\3773-\17\37771\20\377\20292\21\377" \ - "\2OH\"\377wp@\377\20392\21\377&SM&\377\276\266~\377\344\334\236\377\344" \ - "\334\240\377\344\335\243\377\344\335\245\377\344\335\246\377\344\336" \ - "\250\377\345\336\253\377\345\337\255\377\345\337\256\377\345\337\260" \ - "\377\345\337\261\377\345\340\263\377\345\340\264\377\345\340\266\377" \ - "\345\340\267\377\345\341\271\377\345\341\272\377\345\341\273\377\346" \ - "\341\274\377\346\342\276\377\346\342\277\377\346\342\301\377\346\342" \ - "\302\377\346\342\303\377\346\343\304\377\346\343\305\377\346\343\306" \ - "\377\346\343\307\377\346\343\310\377\346\343\311\377\346\343\312\377" \ - "\346\343\313\377\346\343\314\377\346\343\315\377\346\343\316\377\347" \ - "\343\316\377\202\347\344\317\377\2\347\344\320\377\347\344\321\377\202" \ - "\347\344\322\377\202\347\344\323\377\202\347\345\324\377\1\347\345\325" \ - "\377\202\347\345\326\377\203\347\345\327\377\204\347\345\330\377\210" \ - "\347\345\331\377\30\243yA\377\224b\35\377\224a\34\377\224`\34\377\223" \ - "]\33\377\221Z\31\377\220X\31\377\216U\30\377\216Q\27\377\214O\26\377" \ - "\213L\24\377\213K\23\377\214L\24\377\217N\25\377\222Q\25\377\226U\27" \ - "\377\231Z\30\377\234]\32\377\237`\33\377\243d\35\377\245h\36\377\250" \ - "j\37\377\251l\40\377\253n\40\377\202\252n!\377\10\252m\40\377\253m\40" \ - "\377\252l\40\377\253m\40\377\252l\37\377\252k\37\377\252j\37\377\250" \ - "h\36\377\202\247g\36\377\15\246f\35\377\245d\35\377\244c\33\377\242`" \ - "\33\377\240_\32\377\237]\33\377\235\\\32\377\233[\32\377\233\\\32\377" \ - "\234\\\31\377\234]\33\377\233^\33\377\233`\33\377\202\234b\34\377\37" \ - "\234c\35\377\234d\35\377\234e\36\377\234f\37\377\233f\36\377\232f\40" \ - "\377\337\323\222\377\344\333\231\377\343\333\227\377\343\332\224\377" \ - "\343\332\222\377\343\331\220\377\343\331\215\377\343\331\211\377\343" \ - "\330\204\377\343\330~\377\343\326x\377\342\325n\377OG\34\37792\21\377" \ - "71\20\3774.\20\377.)\16\377)%\14\377#\36\12\377\34\30\10\377\26\23\6" \ - "\377\17\15\4\377\12\11\3\377\5\4\2\377\1\1\0\377\377\0\0\0\377\377\0" \ - "\0\0\377\274\0\0\0\377\13\1\1\0\377\4\3\1\377\10\7\3\377\16\14\4\377" \ - "\24\21\5\377\32\26\7\377\"\35\12\377'#\14\377,'\16\3772-\17\37760\20" \ - "\377\20392\21\377\1\241\231`\377\20592\21\377\31nf<\377\307\276\207\377" \ - "\344\335\242\377\344\335\244\377\344\335\246\377\344\336\247\377\344" \ - "\336\251\377\345\336\253\377\345\337\255\377\345\337\257\377\345\337" \ - "\261\377\345\340\262\377\345\340\263\377\345\340\265\377\345\340\267" \ - "\377\345\341\270\377\345\341\272\377\345\341\273\377\346\341\274\377" \ - "\346\341\275\377\346\342\276\377\346\342\300\377\346\342\301\377\346" \ - "\342\302\377\346\343\303\377\202\346\343\305\377\12\346\343\306\377\346" \ - "\343\307\377\346\343\310\377\346\343\311\377\346\343\312\377\346\343" \ - "\313\377\346\343\314\377\346\343\315\377\346\343\316\377\347\343\316" \ - "\377\202\347\344\317\377\1\347\344\320\377\202\347\344\321\377\1\347" \ - "\344\322\377\202\347\344\323\377\2\347\344\324\377\347\345\324\377\202" \ - "\347\345\325\377\202\347\345\326\377\205\347\345\327\377\210\347\345" \ - "\330\377\30\266\230j\377\224b\35\377\225b\35\377\225`\35\377\225^\34" \ - "\377\223\\\32\377\222X\30\377\221V\30\377\217S\27\377\216P\26\377\216" \ - "N\25\377\216L\24\377\216M\24\377\220N\25\377\223Q\26\377\227T\27\377" \ - "\232Y\31\377\235]\32\377\240a\34\377\243c\35\377\245e\35\377\250i\37" \ - "\377\251k\37\377\252l\40\377\202\254m\40\377\2\254l\40\377\254m\37\377" \ - "\202\253k\37\377\202\253j\36\377\12\251i\36\377\251g\35\377\250f\35\377" \ - "\247d\34\377\247d\35\377\245b\34\377\243a\33\377\241_\33\377\240]\32" \ - "\377\236[\31\377\202\234Z\30\377\31\234Z\32\377\234[\32\377\234\\\32" \ - "\377\234^\33\377\234_\33\377\234a\34\377\235b\34\377\235d\34\377\235" \ - "e\35\377\236f\36\377\234f\37\377\233f\36\377\260\211E\377\344\333\233" \ - "\377\343\333\231\377\343\333\226\377\343\332\223\377\343\332\222\377" \ - "\343\331\217\377\343\331\214\377\343\331\210\377\343\330\202\377\343" \ - "\327}\377\342\326u\377\315\301`\377\20292\21\377\13""60\20\3772-\17\377" \ - ",'\16\377'#\14\377\"\35\12\377\32\26\7\377\24\21\5\377\17\15\5\377\11" \ - "\10\3\377\5\4\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\275\0\0\0\377" \ - "\13\3\3\1\377\7\6\2\377\15\13\4\377\22\17\5\377\31\25\7\377\40\33\11" \ - "\377&!\13\377+&\15\3770+\17\37760\20\37782\20\377\20292\21\377\2\234" \ - "\222Y\377MF!\377\20692\21\377\30c\\5\377\250\241p\377\340\331\241\377" \ - "\344\336\247\377\344\336\251\377\345\336\253\377\345\337\255\377\345" \ - "\337\256\377\345\337\260\377\345\337\261\377\345\340\263\377\345\340" \ - "\264\377\345\340\266\377\345\340\267\377\345\341\271\377\345\341\272" \ - "\377\345\341\273\377\346\341\274\377\346\342\276\377\346\342\277\377" \ - "\346\342\300\377\346\342\302\377\346\342\303\377\346\343\304\377\202" \ - "\346\343\305\377\12\346\343\306\377\346\343\307\377\346\343\310\377\346" \ - "\343\311\377\346\343\312\377\346\343\313\377\346\343\314\377\346\343" \ - "\315\377\346\343\316\377\347\343\316\377\202\347\344\317\377\1\347\344" \ - "\320\377\202\347\344\321\377\202\347\344\322\377\202\347\344\323\377" \ - "\2\347\344\324\377\347\345\324\377\203\347\345\325\377\203\347\345\326" \ - "\377\211\347\345\327\377\36\311\266\224\377\225d\35\377\226d\36\377\226" \ - "b\35\377\226`\34\377\226]\33\377\224Z\33\377\222W\30\377\222U\30\377" \ - "\221R\26\377\220O\26\377\217M\24\377\220N\24\377\221N\24\377\224Q\26" \ - "\377\227T\27\377\233X\27\377\235[\31\377\240^\32\377\243b\34\377\245" \ - "d\35\377\247g\35\377\251i\36\377\253k\36\377\253k\37\377\254j\37\377" \ - "\253k\36\377\254j\37\377\253i\37\377\253i\36\377\202\252g\36\3771\251" \ - "f\35\377\250e\35\377\250d\34\377\246b\33\377\246a\32\377\244`\32\377" \ - "\243^\31\377\241\\\32\377\237Z\31\377\235Y\31\377\235X\31\377\234X\30" \ - "\377\234Y\30\377\235Z\32\377\234\\\32\377\235]\32\377\236`\32\377\236" \ - "a\34\377\236c\34\377\237d\35\377\237f\36\377\237g\36\377\236g\37\377" \ - "\234f\37\377\314\265s\377\344\333\232\377\343\333\230\377\343\332\225" \ - "\377\343\332\222\377\343\332\221\377\343\331\216\377\343\331\212\377" \ - "\343\331\206\377\343\330\201\377\343\327{\377\342\325r\377\234\220C\377" \ - "92\21\37782\20\37760\20\3771,\17\377,'\15\377&!\13\377\40\33\11\377\31" \ - "\25\7\377\23\20\5\377\15\13\4\377\7\6\2\377\4\3\1\377\377\0\0\0\377\377" \ - "\0\0\0\377\276\0\0\0\377\13\3\3\1\377\6\5\2\377\13\11\3\377\21\16\5\377" \ - "\30\25\7\377\36\32\11\377$\37\13\377*%\15\377/*\16\3775/\17\37782\20" \ - "\377\20292\21\377\2lc5\377\216\205P\377\21092\21\377\16A9\30\377phA\377" \ - "\250\241s\377\326\320\235\377\345\336\253\377\345\337\255\377\345\337" \ - "\257\377\345\337\261\377\345\340\262\377\345\340\263\377\345\340\265" \ - "\377\345\340\267\377\345\341\270\377\345\341\271\377\202\345\341\273" \ - "\377\7\346\341\275\377\346\342\276\377\346\342\277\377\346\342\301\377" \ - "\346\342\302\377\346\342\303\377\346\343\304\377\202\346\343\305\377" \ - "\202\346\343\307\377\202\346\343\311\377\6\346\343\312\377\346\343\313" \ - "\377\346\343\314\377\346\343\315\377\346\343\316\377\347\343\316\377" \ - "\202\347\344\317\377\202\347\344\320\377\202\347\344\321\377\1\347\344" \ - "\322\377\203\347\344\323\377\1\347\344\324\377\202\347\345\324\377\203" \ - "\347\345\325\377\211\347\345\326\377Q\335\326\300\377\226d\35\377\230" \ - "d\36\377\227c\35\377\227`\34\377\227^\34\377\225\\\32\377\224Y\31\377" \ - "\223W\27\377\222T\27\377\221Q\26\377\221O\25\377\221N\24\377\222O\25" \ - "\377\225Q\26\377\230S\27\377\233W\30\377\236Z\31\377\237]\32\377\243" \ - "`\33\377\245c\34\377\247d\34\377\251g\35\377\251h\35\377\252g\36\377" \ - "\253h\36\377\254h\36\377\253h\36\377\254h\35\377\253g\35\377\253f\35" \ - "\377\252e\34\377\251c\34\377\251b\33\377\250a\33\377\246`\33\377\245" \ - "_\32\377\244]\32\377\243\\\31\377\242Z\31\377\240Y\30\377\236X\27\377" \ - "\235V\30\377\234W\30\377\235Y\30\377\234Z\30\377\234[\32\377\235^\32" \ - "\377\236_\33\377\237b\34\377\240d\35\377\240e\36\377\240h\37\377\240" \ - "i\37\377\237h\37\377\243p)\377\341\330\227\377\344\333\231\377\343\333" \ - "\227\377\343\332\224\377\343\332\222\377\343\331\217\377\343\331\214" \ - "\377\343\331\210\377\343\330\204\377\343\330~\377\343\326x\377\342\325" \ - "n\377ja(\37792\21\37782\20\3775/\17\377/*\16\377*%\15\377$\37\13\377" \ - "\36\32\11\377\30\25\7\377\21\16\5\377\14\12\4\377\6\5\2\377\3\3\1\377" \ - "\377\0\0\0\377\377\0\0\0\377\276\0\0\0\377\13\2\2\1\377\5\4\2\377\12" \ - "\11\3\377\17\15\4\377\26\23\6\377\34\30\10\377#\36\12\377($\14\377-(" \ - "\16\3773-\17\37771\20\377\20292\21\377\3@8\25\377\314\301}\377>7\25\377" \ - "\21192\21\377\30:2\21\377;4\21\377XN)\377\177wN\377\247\237s\377\305" \ - "\275\220\377\345\337\261\377\345\340\262\377\345\340\264\377\345\340" \ - "\266\377\345\340\267\377\345\341\271\377\345\341\272\377\345\341\273" \ - "\377\346\341\274\377\346\342\275\377\346\342\276\377\346\342\300\377" \ - "\346\342\301\377\346\342\302\377\346\343\303\377\346\343\304\377\346" \ - "\343\305\377\346\343\306\377\202\346\343\307\377\202\346\343\311\377" \ - "\3\346\343\312\377\346\343\313\377\346\343\314\377\202\346\343\315\377" \ - "\1\347\343\316\377\203\347\344\317\377\1\347\344\320\377\202\347\344" \ - "\321\377\202\347\344\322\377\204\347\344\323\377\1\347\344\324\377\202" \ - "\347\345\324\377\212\347\345\325\377\32\241s3\377\231d\36\377\230d\35" \ - "\377\230b\35\377\230`\34\377\227^\32\377\226[\32\377\225X\30\377\223" \ - "U\30\377\222R\26\377\223P\25\377\222O\25\377\223O\25\377\226Q\25\377" \ - "\231S\26\377\233U\27\377\235Y\31\377\240\\\32\377\243^\31\377\246a\32" \ - "\377\246b\33\377\250d\34\377\251e\34\377\253f\35\377\253g\35\377\253" \ - "f\34\377\202\254f\34\377\4\254e\34\377\253d\33\377\252b\33\377\252a\32" \ - "\377\202\251`\32\377.\246]\31\377\245]\31\377\244[\30\377\244Z\31\377" \ - "\243X\30\377\237X\27\377\237V\27\377\236W\27\377\236X\27\377\235Y\31" \ - "\377\236[\31\377\236]\31\377\240_\33\377\240b\34\377\241d\35\377\241" \ - "f\35\377\241f\36\377\241i\37\377\240h\37\377\240i\37\377\300\240\\\377" \ - "\344\333\232\377\343\333\230\377\343\332\225\377\343\332\222\377\343" \ - "\332\221\377\343\331\216\377\343\331\212\377\343\331\207\377\343\330" \ - "\202\377\343\327}\377\342\326u\377\325\310d\377>6\23\37792\21\37771\20" \ - "\3773-\17\377-(\16\377($\14\377#\36\12\377\34\30\10\377\26\23\6\377\17" \ - "\15\4\377\12\11\3\377\5\4\2\377\2\2\1\377\377\0\0\0\377\377\0\0\0\377" \ - "\276\0\0\0\377\13\1\1\0\377\4\3\1\377\10\7\3\377\16\14\4\377\24\21\5" \ - "\377\32\26\7\377!\34\11\377&!\13\377,'\16\3772-\17\37760\20\377\2039" \ - "2\21\377\2\245\234`\377un>\377\21192\21\377\26;3\21\377;4\21\377>5\21" \ - "\377@6\21\377@6\22\377C7\22\377D7\22\377`U-\377}rI\377\213\200W\377\247" \ - "\236u\377\270\260\210\377\310\301\230\377\331\323\254\377\345\341\273" \ - "\377\346\341\274\377\346\342\275\377\346\342\277\377\346\342\300\377" \ - "\346\342\301\377\346\342\302\377\346\343\303\377\202\346\343\305\377" \ - "\3\346\343\306\377\346\343\307\377\346\343\310\377\202\346\343\311\377" \ - "\3\346\343\312\377\346\343\313\377\346\343\314\377\202\346\343\315\377" \ - "\1\347\343\316\377\203\347\344\317\377\4\335\327\277\377\322\310\254" \ - "\377\322\310\255\377\332\323\273\377\203\347\344\322\377\205\347\344" \ - "\323\377\203\347\344\324\377\203\347\345\324\377\203\347\344\324\377" \ - "C\266\224c\377\232e\36\377\233d\35\377\231c\35\377\231a\34\377\231_\33" \ - "\377\227[\31\377\226Z\31\377\225U\30\377\225T\27\377\224Q\26\377\224" \ - "P\25\377\225P\25\377\227P\25\377\231S\26\377\233T\27\377\236X\27\377" \ - "\241Z\30\377\243]\31\377\245_\32\377\246`\33\377\250b\34\377\251c\33" \ - "\377\252c\33\377\253d\33\377\253c\33\377\253d\34\377\253c\33\377\253" \ - "c\34\377\253a\33\377\252a\33\377\252`\33\377\251_\32\377\251]\31\377" \ - "\246\\\31\377\245[\30\377\244Y\30\377\243X\27\377\243W\27\377\241V\26" \ - "\377\237U\27\377\237X\27\377\237Y\30\377\240Z\30\377\240]\32\377\241" \ - "_\32\377\242a\33\377\243d\35\377\243f\35\377\243g\36\377\244h\37\377" \ - "\243i\37\377\241i\37\377\242k!\377\337\322\220\377\344\333\231\377\343" \ - "\333\227\377\343\332\224\377\343\332\222\377\343\331\220\377\343\331" \ - "\215\377\343\331\211\377\343\331\206\377\343\330\201\377\343\327{\377" \ - "\342\325r\377\240\225F\377\20292\21\377\13""60\20\3772-\17\377,'\16\377" \ - "&!\13\377!\34\11\377\32\26\7\377\24\21\5\377\16\14\4\377\11\10\3\377" \ - "\4\3\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\277\0\0\0\377\13\3\3" \ - "\1\377\7\6\2\377\15\13\4\377\22\17\5\377\31\25\7\377\37\33\11\377%!\13" \ - "\377+&\15\3770+\17\3775/\17\37782\20\377\20292\21\377\2h`3\377\301\267" \ - "v\377\21192\21\377\13;3\21\377<4\21\377>5\21\377@6\21\377@6\22\377C7" \ - "\22\377D9\22\377F:\23\377H;\23\377H:\23\377K<\24\377\202N=\24\377\15" \ - "P>\24\377R\77\24\377[H\34\377q`7\377sb7\377ub7\377\205sJ\377\222\203" \ - "[\377\223\204[\377\225\205[\377\227\206\\\377\226\206]\377\230\205\\" \ - "\377\202\231\207^\377\16\232\210]\377\233\210_\377\235\211`\377\226\200" \ - "T\377\210m=\377\211n=\377\212m=\377\211k:\377uR\31\377wR\31\377yT\32" \ - "\377zT\32\377|V\31\377\252\220e\377\203\347\344\321\377\204\347\344\322" \ - "\377\212\347\344\323\377\14\311\265\220\377\233f\36\377\234f\36\377\234" \ - "d\35\377\233b\34\377\232`\33\377\232^\33\377\230[\31\377\230X\30\377" \ - "\227T\27\377\226S\27\377\225Q\25\377\202\227P\25\377A\231R\26\377\235" \ - "U\26\377\236W\27\377\240Y\30\377\244[\31\377\245]\31\377\246_\31\377" \ - "\251`\32\377\252a\32\377\252b\32\377\253a\33\377\254c\34\377\254b\32" \ - "\377\254a\32\377\253`\33\377\254`\31\377\253_\31\377\252^\32\377\252" \ - "]\30\377\252\\\30\377\247[\31\377\246Y\30\377\245X\27\377\244V\27\377" \ - "\244W\26\377\242W\27\377\243W\27\377\241Y\30\377\241[\30\377\242]\31" \ - "\377\243_\32\377\244a\34\377\244d\34\377\245e\35\377\245h\36\377\245" \ - "i\37\377\246j\40\377\245j\37\377\243i\37\377\272\222M\377\344\333\233" \ - "\377\343\333\231\377\343\333\226\377\343\332\223\377\343\332\222\377" \ - "\343\331\217\377\343\331\214\377\343\331\210\377\343\330\204\377\343" \ - "\330~\377\343\326x\377\342\325n\377e\\&\37792\21\37782\20\3775/\17\377" \ - "0+\17\377+&\15\377%!\13\377\37\33\11\377\31\25\7\377\22\17\5\377\15\13" \ - "\4\377\7\6\2\377\3\3\1\377\377\0\0\0\377\377\0\0\0\377\300\0\0\0\377" \ - "\13\2\2\1\377\5\4\2\377\13\11\3\377\20\16\4\377\27\24\6\377\35\31\10" \ - "\377#\36\12\377)%\14\377.)\16\3773-\17\37771\20\377\20292\21\377\3;4" \ - "\23\377\323\313\202\377ib6\377\21092\21\377\202;3\21\377\6>5\21\377@" \ - "5\21\377@5\22\377C7\22\377D9\22\377F:\23\377\202I;\23\377\1K<\24\377" \ - "\202N=\24\377\35Q\77\24\377R\77\24\377T\77\24\377UA\25\377WB\25\377Y" \ - "C\25\377ZD\25\377\\D\26\377^E\26\377_F\27\377aG\27\377cH\27\377dI\27" \ - "\377fJ\27\377gJ\27\377iK\27\377kM\30\377lM\30\377mM\30\377oN\30\377q" \ - "P\30\377rP\31\377uQ\32\377uR\31\377wS\31\377yT\32\377zT\32\377}V\32\377" \ - "\212g0\377\203\347\344\320\377\204\347\344\321\377\212\347\344\322\377" \ - "\30\336\326\276\377\233f\36\377\234f\36\377\235e\36\377\235d\35\377\234" \ - "b\34\377\233_\33\377\233]\31\377\231Z\30\377\231W\30\377\230U\27\377" \ - "\230S\26\377\230Q\25\377\231Q\25\377\232R\25\377\236T\26\377\237U\27" \ - "\377\241X\30\377\244Y\27\377\245[\30\377\246\\\31\377\251]\31\377\252" \ - "^\32\377\253`\31\377\203\254`\31\377\1\254_\31\377\202\254^\31\3771\254" \ - "]\31\377\253\\\31\377\253[\30\377\252Z\30\377\252Y\30\377\251Y\27\377" \ - "\246W\27\377\245V\27\377\244V\25\377\244W\27\377\244Y\30\377\244Z\30" \ - "\377\244\\\32\377\244_\32\377\246b\33\377\247d\35\377\246f\35\377\247" \ - "h\35\377\247j\36\377\250k\37\377\247k\40\377\246k\37\377\244j\37\377" \ - "\331\310\206\377\344\333\231\377\343\333\227\377\343\332\224\377\343" \ - "\332\222\377\343\331\220\377\343\331\215\377\343\331\211\377\343\331" \ - "\206\377\343\330\201\377\343\327{\377\342\325r\377\317\302]\377;4\22" \ - "\37792\21\37771\20\3773-\17\377.)\16\377)%\14\377#\36\12\377\35\31\10" \ - "\377\27\24\6\377\20\16\4\377\13\11\3\377\5\4\2\377\2\2\1\377\377\0\0" \ - "\0\377\377\0\0\0\377\300\0\0\0\377\13\1\1\0\377\5\4\1\377\11\10\3\377" \ - "\17\15\5\377\24\21\5\377\32\26\7\377\"\35\12\377'#\14\377,'\16\3772-" \ - "\17\37760\20\377\20392\21\377\2\222\213S\377\273\262r\377\21092\21\377" \ - "+;2\20\377;3\21\377=4\21\377>4\21\377\77""4\21\377A5\21\377B6\21\377" \ - "E8\22\377G9\22\377H;\22\377K;\23\377M<\23\377N=\24\377Q\77\24\377R\77" \ - "\24\377S@\24\377VB\25\377WB\25\377YC\25\377[C\26\377[E\26\377^E\26\377" \ - "_F\27\377aG\27\377dH\27\377dI\27\377fJ\27\377hJ\27\377jL\30\377kM\30" \ - "\377lM\30\377nM\30\377pO\31\377qP\30\377sP\31\377tQ\31\377vS\32\377w" \ - "S\31\377zT\31\377{U\32\377}V\32\377~V\32\377\325\314\260\377\202\347" \ - "\344\317\377\204\347\344\320\377\212\347\344\321\377\30\347\344\320\377" \ - "\247u6\377\236g\37\377\237f\36\377\236d\36\377\236c\35\377\234_\33\377" \ - "\234^\33\377\233[\31\377\232Y\31\377\233W\27\377\232T\26\377\232S\26" \ - "\377\231R\25\377\233Q\25\377\236T\26\377\240V\26\377\242W\27\377\244" \ - "W\27\377\245Y\30\377\247[\31\377\251\\\30\377\253]\30\377\253^\31\377" \ - "\203\254]\31\377\1\254]\32\377\203\254\\\31\377#\254[\31\377\254[\30" \ - "\377\253Z\27\377\252Y\27\377\250Y\27\377\250X\27\377\247W\27\377\246" \ - "X\27\377\246Y\30\377\245[\30\377\246\\\31\377\247_\32\377\250a\33\377" \ - "\250d\34\377\250f\35\377\250g\36\377\250j\37\377\251k\37\377\251m\40" \ - "\377\250l\40\377\246l\40\377\273\221I\377\344\333\233\377\343\333\231" \ - "\377\343\333\226\377\343\332\223\377\343\332\222\377\343\331\217\377" \ - "\343\331\214\377\343\331\210\377\343\330\204\377\343\330~\377\343\326" \ - "x\377\342\325n\377\215\203:\377\20292\21\377\13""60\20\3771,\17\377," \ - "'\16\377&!\13\377\"\35\12\377\32\26\7\377\24\21\5\377\17\15\5\377\11" \ - "\10\3\377\5\4\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\300\0\0\0\377" \ - "\14\1\1\0\377\4\3\1\377\7\6\2\377\15\13\4\377\22\17\5\377\31\25\7\377" \ - "\37\33\11\377%!\13\377+&\15\3770+\17\3775/\17\37782\20\377\20292\21\377" \ - "\3QJ\"\377\341\330\214\377ld7\377\20692\21\377,92\20\377:1\20\377:2\20" \ - "\377;2\21\377<2\21\377=3\21\377>3\21\377\77""3\21\377A4\21\377D7\21\377" \ - "G8\21\377H9\22\377I9\22\377L;\22\377O=\24\377Q>\24\377R>\24\377S@\24" \ - "\377V@\24\377XC\25\377YC\25\377[C\25\377]D\25\377_E\26\377`E\26\377b" \ - "G\26\377cG\26\377eI\27\377gJ\27\377hK\30\377kK\30\377kL\30\377mM\30\377" \ - "nM\30\377pN\27\377sP\31\377uQ\31\377uR\31\377xS\31\377zT\32\377|V\31" \ - "\377}V\32\377~V\33\377\265\241z\377\207\347\344\317\377\211\347\344\320" \ - "\377\25\347\344\317\377\273\227d\377\236g\37\377\237h\36\377\237f\36" \ - "\377\237e\35\377\236b\34\377\236_\33\377\235\\\32\377\234Z\30\377\233" \ - "W\30\377\233U\27\377\233T\26\377\235S\25\377\234S\25\377\237S\26\377" \ - "\241U\26\377\243U\26\377\245W\27\377\246X\30\377\247Y\27\377\202\253" \ - "[\30\377\3\254\\\30\377\254\\\31\377\254]\30\377\202\255]\30\377\2\257" \ - "\\\30\377\255\\\30\377\202\255[\30\377\202\254[\27\377\17\254Z\27\377" \ - "\253Z\30\377\253Z\27\377\250Y\27\377\252Z\30\377\252\\\30\377\251^\32" \ - "\377\252_\32\377\252c\32\377\252d\34\377\251e\35\377\251h\35\377\252" \ - "j\36\377\252l\37\377\252l\40\377\202\251m\40\377\33\250m\"\377\335\314" \ - "\213\377\344\333\231\377\343\333\227\377\343\332\224\377\343\332\222" \ - "\377\343\331\220\377\343\331\215\377\343\331\211\377\343\331\207\377" \ - "\343\330\202\377\343\327}\377\342\326u\377\340\322j\377JB\31\37792\21" \ - "\37782\20\3775/\17\377/*\16\377+&\15\377%!\13\377\37\33\11\377\31\25" \ - "\7\377\22\17\5\377\15\13\4\377\7\6\2\377\3\3\1\377\377\0\0\0\377\377" \ - "\0\0\0\377\302\0\0\0\377\13\2\2\1\377\6\5\2\377\13\11\3\377\20\16\4\377" \ - "\27\24\6\377\34\30\10\377#\36\12\377($\14\377-(\16\3773-\17\37771\20" \ - "\377\20392\21\377\3\263\254j\377\303\272x\377;4\23\377\20492\21\377\33" \ - "82\20\37781\20\37791\20\377:1\20\37790\20\377:0\20\377;0\21\377;/\20" \ - "\377<0\20\377</\20\377\77""2\17\377A3\20\377D6\21\377F6\21\377H7\21\377" \ - "K9\22\377M:\22\377O;\22\377Q<\23\377R=\23\377U\77\23\377V@\24\377YA\24" \ - "\377ZA\24\377[B\25\377^C\25\377`D\25\377\202bF\26\377\22dG\26\377fH\27" \ - "\377hI\27\377iI\26\377kJ\27\377lJ\26\377nL\27\377qN\27\377tO\31\377u" \ - "Q\30\377xS\32\377zT\32\377|V\31\377}U\32\377\177W\33\377\231yD\377\346" \ - "\343\315\377\346\343\316\377\202\347\343\316\377\215\347\344\317\377" \ - "\25\314\270\221\377\237h\37\377\240h\36\377\240g\36\377\240e\35\377\240" \ - "c\34\377\236`\33\377\236^\33\377\235[\31\377\235Y\31\377\235V\30\377" \ - "\235U\26\377\236U\26\377\237S\26\377\240T\26\377\242U\26\377\244V\25" \ - "\377\246X\26\377\247W\27\377\252Y\27\377\253Z\30\377\202\254[\31\377" \ - "\2\255\\\30\377\257]\30\377\202\257\\\30\377\204\260\\\30\377\203\257" \ - "\\\30\377\36\254[\27\377\254Z\27\377\254\\\31\377\254]\31\377\254_\31" \ - "\377\253`\33\377\254c\34\377\254d\34\377\254f\34\377\254h\36\377\254" \ - "i\37\377\254l\37\377\254m\40\377\254n!\377\252n!\377\251m\40\377\277" \ - "\230Q\377\344\333\232\377\343\333\230\377\343\333\226\377\343\332\223" \ - "\377\343\332\222\377\343\331\217\377\343\331\214\377\343\331\210\377" \ - "\343\330\204\377\343\330~\377\343\326x\377\342\325n\377\257\243I\377" \ - "\20292\21\377\13""60\20\3773-\17\377-(\16\377($\14\377#\36\12\377\34" \ - "\30\10\377\26\23\6\377\20\16\4\377\13\11\3\377\5\4\2\377\2\2\1\377\377" \ - "\0\0\0\377\377\0\0\0\377\302\0\0\0\377\14\1\1\0\377\5\4\1\377\11\10\3" \ - "\377\17\15\5\377\24\21\5\377\32\26\7\377!\34\11\377&!\13\377,'\15\377" \ - "1,\17\37760\20\37782\20\377\20292\21\377\3i`4\377\343\331\216\377wp@" \ - "\377\20392\21\377\20282\20\377\6""70\20\37781\17\37780\20\37790\20\377" \ - "8/\17\3778.\17\377\2028-\17\377\17""9,\17\377:.\17\377</\17\377\77""1" \ - "\20\377A2\17\377D3\17\377G5\20\377H5\21\377J7\21\377M9\22\377O:\22\377" \ - "R;\22\377R<\23\377U=\23\377W>\23\377\202Y\77\23\377\24\\@\23\377]A\24" \ - "\377`C\24\377aD\24\377bD\25\377dE\25\377fF\25\377hG\26\377jH\26\377l" \ - "J\26\377oK\27\377rM\30\377tP\27\377wR\31\377zT\32\377}V\32\377~V\32\377" \ - "\177W\33\377\202Z\35\377\337\332\277\377\203\346\343\315\377\202\346" \ - "\343\316\377\213\347\343\316\377\26\337\327\276\377\237h\37\377\240h" \ - "\37\377\241g\36\377\241f\35\377\241d\35\377\240b\34\377\240_\33\377\240" \ - "\\\31\377\236Z\31\377\236X\27\377\237V\27\377\237U\27\377\240U\26\377" \ - "\242U\26\377\243V\26\377\245V\27\377\247W\27\377\250Y\27\377\253Z\27" \ - "\377\253Z\30\377\254[\27\377\202\257\\\30\377\2\260\\\30\377\261]\30" \ - "\377\202\262]\27\377\202\263^\30\377\202\262]\27\377-\261]\30\377\260" \ - "\\\30\377\257\\\30\377\260]\30\377\257]\30\377\255_\32\377\255a\32\377" \ - "\255b\32\377\257d\34\377\256f\35\377\256i\35\377\257j\36\377\256l\37" \ - "\377\256m\40\377\256o\40\377\255o!\377\253n!\377\255q%\377\336\317\216" \ - "\377\344\333\231\377\343\333\227\377\343\332\224\377\343\332\222\377" \ - "\343\331\220\377\343\331\215\377\343\331\211\377\343\331\207\377\343" \ - "\330\202\377\343\327}\377\342\326u\377\342\324j\377bY$\37792\21\3778" \ - "2\20\37760\20\3770+\17\377,'\15\377&!\13\377!\34\11\377\31\25\7\377\24" \ - "\21\5\377\17\15\5\377\11\10\3\377\5\4\1\377\1\1\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\303\0\0\0\377\13\3\3\1\377\7\6\2\377\15\13\4\377\22\17\5\377" \ - "\30\25\7\377\36\32\11\377$\37\13\377)%\14\377.)\16\3774.\20\37771\20" \ - "\377\20392\21\377\3\303\272u\377\323\313\203\377F>\32\377\20292\21\377" \ - "\4""82\20\37771\20\37781\20\37770\20\377\2027/\17\377\3""6-\17\3776+" \ - "\16\3775*\16\377\2024)\15\377\7""4(\15\3777*\16\377:+\16\377<-\16\377" \ - "\77.\16\377A/\17\377D1\17\377\202G3\20\377\14I5\20\377M7\20\377O7\21" \ - "\377P8\21\377R9\21\377T:\22\377W;\22\377X=\22\377Y>\23\377[\77\23\377" \ - "]\77\23\377_@\23\377\202aA\23\377\15dB\24\377gE\25\377jG\25\377mI\26" \ - "\377oK\27\377sM\27\377vP\31\377yS\31\377|U\31\377~V\32\377\177W\32\377" \ - "\202X\33\377\302\260\213\377\204\346\343\314\377\215\346\343\315\377" \ - "\13\255\177>\377\242i\37\377\241h\37\377\242g\36\377\242e\35\377\242" \ - "c\34\377\241a\33\377\240]\32\377\240[\32\377\240Z\30\377\237X\27\377" \ - "\202\241V\26\377\12\243V\26\377\245V\27\377\246W\27\377\250X\27\377\253" \ - "Z\27\377\254Z\27\377\254[\27\377\257\\\30\377\260\\\30\377\261]\30\377" \ - "\204\263^\30\377\202\263_\30\377\204\263^\30\377\35\261^\30\377\261^" \ - "\31\377\261a\31\377\261c\32\377\261c\34\377\260e\33\377\260f\34\377\260" \ - "i\35\377\260j\37\377\260l\37\377\260o\40\377\260o!\377\257p!\377\256" \ - "p!\377\254n!\377\311\250b\377\344\333\232\377\343\333\230\377\343\332" \ - "\225\377\343\332\222\377\343\332\221\377\343\331\217\377\343\331\214" \ - "\377\343\331\210\377\343\330\204\377\343\330~\377\343\326x\377\342\325" \ - "n\377\276\261P\377\20292\21\377\13""71\20\3773-\17\377.)\16\377)%\14" \ - "\377$\37\13\377\36\32\11\377\30\25\7\377\21\16\5\377\14\12\4\377\7\6" \ - "\2\377\3\3\1\377\377\0\0\0\377\377\0\0\0\377\304\0\0\0\377\13\2\2\1\377" \ - "\5\4\2\377\12\11\3\377\17\15\4\377\26\23\6\377\33\27\10\377\"\35\12\377" \ - "'#\14\377,'\16\3771,\17\37760\20\377\20392\21\377\3um<\377\343\331\216" \ - "\377\235\225]\377\20292\21\377082\20\37771\20\37781\20\3776/\20\3777" \ - "/\17\3776-\16\3775,\17\3775*\16\3774*\15\3773'\15\3772%\14\3771%\13\377" \ - "1%\14\3774&\14\3776'\14\3778(\14\377<+\15\377=+\16\377@,\17\377C0\17" \ - "\377D0\17\377G1\16\377H2\17\377L4\17\377M5\20\377O5\21\377Q5\20\377R" \ - "7\20\377U9\22\377W9\22\377W:\21\377Z;\22\377\\<\22\377^=\22\377`>\23" \ - "\377bA\23\377fC\24\377jF\25\377mI\26\377rL\27\377tN\27\377wQ\31\377|" \ - "T\31\377}V\32\377\177W\32\377\202X\33\377\240\202N\377\346\343\312\377" \ - "\203\346\343\313\377\215\346\343\314\377\26\301\243p\377\241i\37\377" \ - "\243i\37\377\243h\36\377\243f\36\377\243d\35\377\243a\33\377\242_\33" \ - "\377\241]\32\377\242[\31\377\243X\30\377\243X\27\377\244W\26\377\244" \ - "V\25\377\246X\26\377\250X\27\377\252Y\27\377\253Z\30\377\254[\27\377" \ - "\257\\\30\377\260\\\30\377\262]\27\377\202\263^\30\377\2\263_\30\377" \ - "\265_\31\377\204\266`\31\377-\265_\31\377\263_\30\377\263^\30\377\263" \ - "_\31\377\263a\32\377\262b\33\377\263d\33\377\262f\34\377\262h\35\377" \ - "\262j\35\377\262k\36\377\261m\37\377\261o\40\377\262p\40\377\261p!\377" \ - "\261q\"\377\257p!\377\266\2026\377\343\331\230\377\343\333\231\377\343" \ - "\333\226\377\343\332\223\377\343\332\222\377\343\331\220\377\343\331" \ - "\215\377\343\331\211\377\343\331\206\377\343\330\201\377\343\327}\377" \ - "\342\326u\377\342\324j\377pg*\37792\21\37782\20\37760\20\3771,\17\377" \ - ",'\16\377'#\14\377\"\35\12\377\33\27\10\377\25\22\6\377\17\15\4\377\12" \ - "\11\3\377\5\4\2\377\2\2\1\377\377\0\0\0\377\377\0\0\0\377\304\0\0\0\377" \ - "\14\1\1\0\377\4\3\1\377\10\7\3\377\16\14\4\377\23\20\5\377\31\25\7\377" \ - "\37\33\11\377%!\13\377*%\15\377/*\16\3774.\20\37782\20\377\20292\21\377" \ - "5;4\23\377\307\276x\377\341\330\215\377^V-\37792\21\37782\20\37771\20" \ - "\37781\20\3776/\20\3776.\17\3775,\16\3775+\17\3773)\16\3772(\15\3770" \ - "%\14\377/#\13\377.\"\12\377-!\12\377/!\12\3771\"\12\3773#\13\3776%\14" \ - "\3777&\14\377;(\15\377=*\15\377@+\15\377C,\16\377D-\16\377F.\16\377H" \ - "/\17\377K0\16\377M2\16\377N3\17\377P4\20\377R5\17\377T6\20\377W7\21\377" \ - "X7\20\377Y8\20\377]:\21\377_=\22\377cA\23\377gB\24\377jF\25\377oJ\26" \ - "\377sM\27\377vP\27\377zS\31\377}U\32\377\200X\32\377\202Y\32\377\206" \ - "^\"\377\341\335\300\377\206\346\343\312\377\207\346\343\313\377\203\346" \ - "\343\312\377\24\325\306\241\377\243i\37\377\244j\37\377\245i\37\377\244" \ - "h\36\377\245e\35\377\244d\34\377\244a\33\377\244_\31\377\243]\31\377" \ - "\244Z\31\377\243X\27\377\244V\27\377\245V\27\377\247W\27\377\250Y\27" \ - "\377\253Z\30\377\254[\27\377\257\\\30\377\260\\\30\377\202\263^\30\377" \ - "\4\263_\30\377\266`\31\377\267a\31\377\270`\31\377\204\271a\32\377-\270" \ - "`\31\377\267a\31\377\267a\32\377\266b\32\377\266c\32\377\266e\34\377" \ - "\266f\34\377\266i\35\377\266j\36\377\264l\37\377\263m\37\377\264n\40" \ - "\377\263p!\377\262q!\377\262r!\377\261q\"\377\257q!\377\330\303\177\377" \ - "\344\333\231\377\343\333\227\377\343\332\224\377\343\332\222\377\343" \ - "\332\221\377\343\331\216\377\343\331\212\377\343\331\207\377\343\330" \ - "\204\377\343\330~\377\343\326x\377\342\325n\377\303\266S\377;4\22\377" \ - "92\21\37771\20\3774.\20\377/*\16\377*%\15\377%!\13\377\37\33\11\377\31" \ - "\25\7\377\22\17\5\377\15\13\4\377\10\7\3\377\4\3\1\377\1\1\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\305\0\0\0\377\13\3\3\1\377\6\5\2\377\13\11\3" \ - "\377\20\16\4\377\26\23\6\377\34\30\10\377#\36\12\377($\14\377,'\16\377" \ - "2-\17\37760\20\377\20392\21\3775qi9\377\343\331\215\377\307\276{\377" \ - ">7\25\37792\21\37771\20\37781\20\3776/\20\3776.\17\3775,\17\3774*\17" \ - "\3773)\15\3770&\14\377.#\14\377-\"\13\377*\37\11\377*\36\11\377)\34\10" \ - "\377*\34\10\377.\37\11\3770\40\11\3773!\12\3775\"\13\3778$\13\377:%\13" \ - "\377='\14\377\77(\14\377A)\14\377C*\15\377E+\15\377H.\15\377J/\16\377" \ - "M0\16\377M0\15\377O1\16\377Q2\16\377S3\17\377U5\17\377X7\17\377\\9\21" \ - "\377_<\22\377e@\23\377iD\23\377lF\24\377qK\26\377uN\27\377zR\31\377}" \ - "U\31\377\200X\32\377\202Y\32\377\204Y\33\377\304\262\213\377\346\343" \ - "\310\377\206\346\343\311\377\205\346\343\312\377\204\346\343\311\377" \ - "\2\344\341\305\377\246n%\377\202\245j\37\377\25\246i\36\377\245f\35\377" \ - "\245d\35\377\245b\34\377\245`\32\377\244]\32\377\244[\30\377\244Y\30" \ - "\377\245X\27\377\246W\27\377\250X\27\377\253Z\27\377\254Z\27\377\257" \ - "\\\30\377\260\\\30\377\262]\27\377\263^\30\377\265_\31\377\266`\31\377" \ - "\270`\31\377\271a\31\377\206\273b\31\377\11\272c\32\377\271d\32\377\271" \ - "e\32\377\270f\33\377\270g\34\377\267j\34\377\267j\35\377\267m\37\377" \ - "\266n\40\377\202\266p\40\377\23\265r\"\377\264s!\377\263q!\377\262q\"" \ - "\377\304\235U\377\344\333\232\377\343\333\230\377\343\332\225\377\343" \ - "\332\223\377\343\332\222\377\343\331\217\377\343\331\214\377\343\331" \ - "\211\377\343\331\206\377\343\330\201\377\343\327{\377\342\325r\377\342" \ - "\323f\377mb(\377\20292\21\377\13""60\20\3772-\17\377,'\16\377'#\14\377" \ - "#\36\12\377\34\30\10\377\26\23\6\377\20\16\4\377\13\11\3\377\6\5\2\377" \ - "\2\2\1\377\377\0\0\0\377\377\0\0\0\377\306\0\0\0\377\14\1\1\0\377\5\4" \ - "\1\377\11\10\3\377\17\15\5\377\24\21\5\377\31\25\7\377\40\33\11\377&" \ - "!\13\377+&\15\377/*\16\3775/\17\37782\20\377\20292\21\3774;4\23\377\303" \ - "\272s\377\343\331\216\377\225\215V\37792\21\37782\20\37791\20\3776/\20" \ - "\3776.\17\3775,\17\3773*\16\3771'\15\377/%\14\377-\"\13\377+\40\12\377" \ - ")\36\11\377)\34\10\377(\33\10\377'\31\7\377)\31\10\377,\33\10\377.\34" \ - "\10\3772\37\11\3772\40\11\3775!\11\3779\"\12\377;$\12\377<$\12\377>&" \ - "\13\377@&\13\377D)\13\377E*\14\377G+\14\377I,\14\377K-\15\377L-\15\377" \ - "N.\15\377R0\16\377V2\17\377W5\17\377\\9\21\377a<\21\377f@\22\377jD\24" \ - "\377nI\26\377sL\27\377xP\30\377|T\32\377\200W\32\377\202Y\32\377\204" \ - "Y\33\377\244\206R\377\202\346\343\307\377\207\346\343\310\377\1\346\343" \ - "\311\377\206\346\343\310\377\31\346\343\307\377\266\215P\377\246k\37" \ - "\377\246k\40\377\246i\37\377\247h\36\377\246f\35\377\247d\35\377\246" \ - "a\32\377\244^\32\377\245]\31\377\245[\30\377\246Y\30\377\251Y\27\377" \ - "\250Y\27\377\253Z\30\377\255[\30\377\257\\\30\377\262]\27\377\263^\30" \ - "\377\263_\30\377\266`\31\377\271a\32\377\271a\31\377\273b\31\377\202" \ - "\274c\32\377\202\275c\32\377\37\274c\32\377\275d\32\377\274e\32\377\274" \ - "f\33\377\272h\34\377\271i\34\377\271k\35\377\271l\36\377\270m\36\377" \ - "\267n\37\377\270p\40\377\270r!\377\267s!\377\267s\"\377\265t\"\377\263" \ - "r!\377\271\2034\377\341\326\225\377\343\333\231\377\343\333\226\377\343" \ - "\332\224\377\343\332\222\377\343\331\220\377\343\331\215\377\343\331" \ - "\212\377\343\331\207\377\343\330\202\377\343\327}\377\342\326u\377\342" \ - "\325n\377\276\261P\377\20292\21\377\14""82\20\3774.\20\377/*\16\377*" \ - "%\15\377%!\13\377\37\33\11\377\31\25\7\377\23\20\5\377\16\14\4\377\11" \ - "\10\3\377\4\3\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\307\0\0\0\377" \ - "\13\3\3\1\377\7\6\2\377\14\12\4\377\21\16\5\377\27\24\6\377\35\31\10" \ - "\377#\36\12\377($\14\377-(\16\3772-\17\37760\20\377\20392\21\3774aY." \ - "\377\343\331\214\377\343\331\217\377ib6\37792\21\377;2\20\37791\20\377" \ - "7/\17\3775,\16\3774*\17\3772(\15\377/%\14\377.\"\13\377+\40\12\377)\36" \ - "\11\377(\33\10\377&\31\7\377&\31\6\377&\27\6\377(\27\6\377*\30\6\377" \ - "-\32\7\377/\33\7\3771\35\7\3773\35\10\3776\40\11\3779!\11\377;\"\12\377" \ - "=\"\12\377>#\12\377@%\13\377C&\13\377D'\13\377G(\14\377I)\14\377K+\14" \ - "\377M,\14\377Q-\15\377U1\16\377Y5\17\377^8\20\377b=\21\377hB\23\377m" \ - "F\25\377rJ\26\377wN\30\377|T\32\377\200V\32\377\202Y\33\377\205Z\33\377" \ - "\210_\37\377\340\331\273\377\202\346\343\306\377\215\346\343\307\377" \ - "\22\346\343\306\377\313\260\201\377\246k\37\377\247l\40\377\250j\37\377" \ - "\250i\36\377\250g\36\377\247d\35\377\246b\33\377\246`\33\377\247^\31" \ - "\377\246[\31\377\247[\31\377\252Y\30\377\252Y\27\377\254Z\27\377\257" \ - "\\\30\377\260\\\30\377\202\263^\30\377\7\266`\31\377\270`\31\377\271" \ - "a\31\377\273b\31\377\274c\32\377\276d\32\377\277d\32\377\202\300e\32" \ - "\377\14\300f\33\377\277g\33\377\276g\33\377\276j\34\377\276k\35\377\275" \ - "k\35\377\275m\36\377\273n\37\377\272p\40\377\271q\40\377\271r\40\377" \ - "\271t\"\377\202\270u\"\377\21\266t\"\377\264v$\377\333\305\202\377\344" \ - "\333\231\377\343\333\227\377\343\332\224\377\343\332\222\377\343\332" \ - "\221\377\343\331\216\377\343\331\214\377\343\331\210\377\343\330\204" \ - "\377\343\330~\377\343\327{\377\342\325r\377\342\323f\377`W\"\377\202" \ - "92\21\377\13""60\20\3772-\17\377,'\16\377'#\14\377#\36\12\377\34\30\10" \ - "\377\27\24\6\377\21\16\5\377\13\11\3\377\6\5\2\377\3\3\1\377\377\0\0" \ - "\0\377\377\0\0\0\377\310\0\0\0\377\14\1\1\0\377\5\4\1\377\11\10\3\377" \ - "\17\15\5\377\24\21\5\377\31\25\7\377\40\33\11\377&!\13\377+&\15\377/" \ - "*\16\3774.\20\37771\20\377\20392\21\377\4\257\246e\377\343\331\215\377" \ - "\330\315\207\377MF!\377\202;3\21\377-:1\20\3778/\17\3775+\16\3774*\16" \ - "\3771&\14\377.\"\13\377-\"\12\377)\36\11\377)\34\10\377&\31\7\377%\30" \ - "\6\377&\26\6\377%\25\5\377&\25\6\377)\27\6\377+\30\6\377.\31\6\3771\33" \ - "\7\3772\34\7\3775\35\7\3777\37\10\377:\40\10\377<!\10\377=\"\11\377@" \ - "#\11\377B$\11\377D%\12\377F'\12\377G(\12\377J)\13\377M*\13\377Q.\14\377" \ - "V2\15\377[6\17\377`:\21\377f@\22\377kD\24\377rI\26\377wN\27\377{S\31" \ - "\377\177V\32\377\202Y\33\377\205Z\33\377\206Z\33\377\300\254\202\377" \ - "\205\346\343\305\377\207\346\343\306\377\204\346\343\305\377\31\336\325" \ - "\262\377\246l\40\377\247l\40\377\251l\37\377\251j\36\377\247g\36\377" \ - "\250f\35\377\250c\34\377\250a\33\377\247_\31\377\247]\31\377\250[\30" \ - "\377\252Z\30\377\253Z\27\377\254[\27\377\257\\\30\377\261]\30\377\263" \ - "^\30\377\265_\31\377\267a\31\377\271a\31\377\273b\31\377\274c\32\377" \ - "\276d\32\377\300e\32\377\202\301e\32\377\13\302g\33\377\302h\33\377\302" \ - "i\34\377\300j\34\377\277k\35\377\277m\36\377\277o\37\377\276p\37\377" \ - "\276q\40\377\275q!\377\273t!\377\202\272u!\377\7\271v\"\377\270u\"\377" \ - "\266t\"\377\315\251b\377\344\333\231\377\343\333\230\377\343\332\225" \ - "\377\202\343\332\222\377\11\343\331\217\377\343\331\214\377\343\331\211" \ - "\377\343\331\206\377\343\330\201\377\343\327}\377\342\326u\377\342\324" \ - "j\377\246\231@\377\20292\21\377\14""71\20\3774.\20\377/*\16\377*%\15" \ - "\377%!\13\377\37\33\11\377\31\25\7\377\23\20\5\377\17\15\5\377\11\10" \ - "\3\377\5\4\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\311\0\0\0\377" \ - "\14\3\3\1\377\7\6\2\377\14\12\4\377\21\16\5\377\27\24\6\377\35\31\10" \ - "\377#\36\12\377'#\14\377,'\16\3771,\17\37760\20\37782\20\377\20292\21" \ - "\3774MF\40\377\334\321\205\377\343\331\216\377\277\267v\377\77""8\25" \ - "\377=5\21\377=4\21\377;1\21\3779/\20\3777,\17\3774)\15\3772%\15\3770" \ - "$\13\377,!\12\377*\36\11\377)\33\10\377'\31\7\377'\27\6\377%\26\6\377" \ - "%\24\6\377&\24\6\377(\25\5\377,\30\5\377.\31\6\3770\32\6\3772\32\6\377" \ - "4\34\7\3777\35\7\377:\36\7\377;\40\10\377=!\10\377\77\"\10\377B#\11\377" \ - "D$\11\377F%\11\377H&\12\377K'\12\377N+\13\377T/\15\377Y3\17\377^8\17" \ - "\377d=\21\377iB\23\377pH\25\377uM\27\377{Q\31\377~T\31\377\202Y\33\377" \ - "\205Z\33\377\206Z\33\377\237}E\377\346\343\304\377\217\346\343\305\377" \ - "\32\346\343\304\377\262\200=\377\250l\40\377\251l\37\377\250j\37\377" \ - "\250h\36\377\250f\35\377\250d\34\377\250b\34\377\251`\32\377\251]\31" \ - "\377\252\\\30\377\253[\30\377\253Z\30\377\255[\30\377\257\\\30\377\262" \ - "]\27\377\263^\30\377\266`\31\377\270`\31\377\273b\31\377\274c\32\377" \ - "\276d\32\377\300e\32\377\301e\32\377\303f\32\377\202\305i\33\377+\305" \ - "k\34\377\304k\35\377\303m\36\377\301n\36\377\300o\37\377\300p\37\377" \ - "\277r\40\377\277s!\377\276t!\377\275u\"\377\273u\"\377\273v\"\377\272" \ - "w#\377\270u\"\377\304\223G\377\344\333\232\377\343\333\230\377\343\333" \ - "\226\377\343\332\223\377\343\332\222\377\343\331\220\377\343\331\215" \ - "\377\343\331\212\377\343\331\207\377\343\330\202\377\343\327}\377\343" \ - "\326x\377\342\325n\377\331\313]\377JB\30\37792\21\37782\20\37760\20\377" \ - "1,\17\377,'\16\377'#\14\377#\36\12\377\34\30\10\377\27\24\6\377\21\16" \ - "\5\377\14\12\4\377\6\5\2\377\3\3\1\377\377\0\0\0\377\377\0\0\0\377\312" \ - "\0\0\0\377\14\1\1\0\377\5\4\1\377\11\10\3\377\17\15\5\377\24\21\5\377" \ - "\31\25\7\377\37\33\11\377%!\13\377*%\15\377.)\16\3774.\20\37771\20\377" \ - "\20392\21\3773\201yD\377\343\331\214\377\343\331\217\377\231\221Y\377" \ - "=5\21\377\77""5\21\377>4\21\377=2\21\377:/\20\3777,\17\3775*\16\3774" \ - "'\15\3771%\13\377/\"\13\377,\37\11\377+\35\10\377)\31\10\377)\30\6\377" \ - "(\26\5\377(\26\6\377(\25\5\377+\27\5\377-\30\6\3770\31\6\3771\31\6\377" \ - "3\33\7\3776\34\7\3779\35\7\377:\37\10\377<\40\10\377>!\10\377A\"\11\377" \ - "C#\11\377E$\11\377H%\12\377J&\12\377L)\12\377S.\15\377W1\16\377^8\17" \ - "\377c<\21\377h@\23\377oF\24\377tK\27\377yP\30\377~S\30\377\201W\32\377" \ - "\205Z\33\377\206Z\33\377\210^\37\377\334\322\257\377\203\346\343\303" \ - "\377\211\346\343\304\377\202\346\343\303\377\202\346\342\303\377\17\304" \ - "\244l\377\250l\40\377\251m\40\377\251j\40\377\251i\37\377\252h\35\377" \ - "\250e\35\377\251c\33\377\251a\32\377\252_\32\377\253]\30\377\253[\30" \ - "\377\254[\31\377\255[\30\377\260\\\30\377\202\263^\30\377'\266`\31\377" \ - "\271a\32\377\273b\31\377\274c\32\377\277d\32\377\301e\32\377\303f\32" \ - "\377\306i\34\377\306j\34\377\310l\36\377\307m\35\377\306n\36\377\305" \ - "o\37\377\304p\37\377\302q\40\377\301s\40\377\301t!\377\277t!\377\277" \ - "w!\377\276w#\377\275w#\377\273v\"\377\272w#\377\277\2066\377\341\325" \ - "\222\377\343\333\231\377\343\333\226\377\343\332\224\377\343\332\222" \ - "\377\343\331\220\377\343\331\216\377\343\331\212\377\343\331\210\377" \ - "\343\330\204\377\343\330~\377\343\327{\377\342\325r\377\342\323f\377" \ - "\204y/\377\20292\21\377\14""71\20\3774.\20\377.)\16\377*%\15\377%!\13" \ - "\377\37\33\11\377\31\25\7\377\23\20\5\377\16\14\4\377\11\10\3\377\5\4" \ - "\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\313\0\0\0\377\14\3\3\1\377" \ - "\7\6\2\377\14\12\4\377\21\16\5\377\26\23\6\377\34\30\10\377\"\35\12\377" \ - "'#\14\377,'\15\3771,\17\3775/\17\37782\20\377\20392\21\3772\273\262m" \ - "\377\343\331\215\377\343\331\217\377|sB\377\77""5\21\377@5\21\377\77" \ - "4\21\377>3\21\377<0\20\377:-\17\3778+\16\3775(\15\3773&\14\3770#\13\377" \ - "0\40\11\377.\36\11\377-\34\10\377+\31\7\377+\30\7\377*\27\6\377,\30\5" \ - "\377-\30\6\3770\31\6\3771\31\6\3773\33\7\3776\34\7\3779\35\7\377:\37" \ - "\10\377<\40\10\377>!\10\377A\"\11\377C#\11\377E$\11\377H%\12\377J&\12" \ - "\377L)\12\377Q,\14\377U0\15\377\\6\17\377a;\21\377g\77\22\377mE\24\377" \ - "sJ\26\377xO\27\377|S\31\377\201V\33\377\205Z\33\377\206Z\33\377\210\\" \ - "\34\377\270\237p\377\220\346\342\302\377E\327\310\236\377\250l\40\377" \ - "\251m\40\377\251l\40\377\252j\37\377\252h\36\377\252f\35\377\252d\34" \ - "\377\252c\32\377\252`\33\377\253^\31\377\254]\31\377\254\\\31\377\255" \ - "[\30\377\260\\\30\377\263^\30\377\263_\30\377\266`\31\377\271a\32\377" \ - "\273b\31\377\275c\32\377\300e\32\377\302g\32\377\305i\33\377\306j\34" \ - "\377\311m\35\377\311o\36\377\311p\37\377\307q\37\377\306q\37\377\306" \ - "s\37\377\304t\40\377\301t\40\377\302u\"\377\300v\"\377\277w\"\377\277" \ - "x$\377\275w#\377\273v\"\377\274{*\377\337\315\211\377\343\333\231\377" \ - "\343\333\227\377\343\332\224\377\343\332\222\377\343\332\221\377\343" \ - "\331\216\377\343\331\214\377\343\331\210\377\343\331\206\377\343\330" \ - "\201\377\343\327{\377\342\326u\377\342\324j\377\276\260K\377;4\22\377" \ - "92\21\37782\20\3775/\17\3770+\17\377,'\15\377'#\14\377\"\35\12\377\34" \ - "\30\10\377\26\23\6\377\20\16\4\377\14\12\4\377\6\5\2\377\3\3\1\377\377" \ - "\0\0\0\377\377\0\0\0\377\314\0\0\0\377\14\1\1\0\377\5\4\1\377\11\10\3" \ - "\377\16\14\4\377\23\20\5\377\31\25\7\377\37\33\11\377$\37\13\377)%\14" \ - "\377-(\16\3773-\17\37760\20\377\20392\21\377\24QJ\"\377\336\325\206\377" \ - "\343\331\215\377\341\330\216\377qg8\377@5\21\377@5\22\377@5\21\377\77" \ - "3\20\377=0\20\377<.\17\3779,\16\3777)\15\3775&\14\3773$\13\3772\"\12" \ - "\3770\40\11\3770\35\10\377.\34\10\377.\31\7\377\202.\31\6\377\35""0\31" \ - "\6\3771\31\6\3773\33\7\3776\34\7\3779\35\7\377:\37\10\377<\40\10\377" \ - ">!\10\377A\"\11\377C#\11\377E$\11\377H%\12\377J&\12\377K(\12\377P+\14" \ - "\377T.\15\377[4\16\377_8\21\377f>\21\377lC\23\377rI\26\377wM\27\377{" \ - "R\27\377\200V\32\377\204Y\33\377\206Z\33\377\210\\\34\377\226n1\377\345" \ - "\340\276\377\214\346\342\301\377\204\346\342\300\3776\256y3\377\251m" \ - "\40\377\252l\40\377\252k\37\377\253j\36\377\252g\36\377\252e\34\377\253" \ - "c\33\377\253a\33\377\254_\31\377\254]\31\377\254\\\31\377\255[\30\377" \ - "\260\\\30\377\263^\30\377\263_\30\377\267a\31\377\271a\32\377\273b\31" \ - "\377\275c\32\377\300f\33\377\303h\33\377\305j\34\377\310l\36\377\312" \ - "o\36\377\313q\37\377\312r\40\377\307s\37\377\307t!\377\307u\40\377\305" \ - "u!\377\302w!\377\302w#\377\301x#\377\300x\"\377\277y$\377\275w#\377\275" \ - "x%\377\332\302|\377\343\333\231\377\343\333\227\377\343\332\224\377\343" \ - "\332\222\377\343\332\221\377\343\331\217\377\343\331\214\377\343\331" \ - "\211\377\343\331\206\377\343\330\202\377\343\327}\377\342\326u\377\342" \ - "\325n\377\335\317`\377UK\33\377\20292\21\377\14""60\20\3773-\17\377-" \ - "(\16\377)%\14\377$\37\13\377\37\33\11\377\31\25\7\377\23\20\5\377\16" \ - "\14\4\377\11\10\3\377\5\4\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\315\0\0\0\377\14\3\3\1\377\6\5\2\377\13\11\3\377\20\16\4\377\26\23\6" \ - "\377\33\27\10\377!\34\11\377&!\13\377+&\15\377/*\16\3774.\20\37771\20" \ - "\377\20392\21\3772\207~G\377\343\331\212\377\343\331\216\377\337\325" \ - "\214\377e[.\377A6\22\377C7\22\377A6\21\377A4\21\377\77""2\17\377=0\17" \ - "\377;-\17\3779+\16\3778(\14\3776%\14\3775$\13\3772\40\11\3772\37\11\377" \ - "1\35\10\3771\34\7\3770\33\7\3771\32\7\3771\31\6\3773\33\7\3776\34\7\377" \ - "9\35\7\377:\37\10\377<\40\10\377>!\10\377A\"\11\377C#\11\377E$\11\377" \ - "H%\12\377J&\12\377K(\12\377O*\13\377S-\14\377Z3\16\377^7\17\377d<\21" \ - "\377jA\22\377qG\25\377uK\27\377{Q\27\377~T\32\377\204Y\33\377\206Z\33" \ - "\377\210\\\34\377\212]\34\377\317\276\223\377\205\346\342\277\377\202" \ - "\346\342\300\377\207\346\342\277\377\202\346\342\276\377\16\301\235b" \ - "\377\251m\40\377\252m\40\377\253l\40\377\254j\37\377\253i\36\377\253" \ - "f\35\377\253d\33\377\253c\34\377\254`\32\377\254^\31\377\254\\\31\377" \ - "\257\\\30\377\260\\\30\377\202\263^\30\377\31\266`\31\377\271a\32\377" \ - "\273b\31\377\275d\32\377\300g\33\377\303i\34\377\305l\34\377\307n\35" \ - "\377\311q\37\377\312r\40\377\311s\40\377\310u!\377\307u!\377\306v!\377" \ - "\305w\"\377\303x\"\377\302y$\377\302y#\377\301y#\377\277y$\377\276x$" \ - "\377\330\273t\377\344\333\231\377\343\333\227\377\343\332\225\377\202" \ - "\343\332\222\377\12\343\331\217\377\343\331\215\377\343\331\211\377\343" \ - "\331\207\377\343\330\202\377\343\330~\377\343\326x\377\342\325n\377\342" \ - "\323f\377\206z/\377\20292\21\377\14""71\20\3774.\20\377/*\16\377+&\15" \ - "\377&!\13\377!\34\11\377\33\27\10\377\26\23\6\377\20\16\4\377\13\11\3" \ - "\377\6\5\2\377\3\3\1\377\377\0\0\0\377\377\0\0\0\377\316\0\0\0\377\15" \ - "\1\1\0\377\4\3\1\377\10\7\3\377\15\13\4\377\22\17\5\377\30\25\7\377\35" \ - "\31\10\377#\36\12\377'#\14\377,'\16\3771,\17\37760\20\37782\20\377\202" \ - "92\21\377\7;4\23\377\266\254h\377\343\331\212\377\343\331\216\377\332" \ - "\317\211\377]R)\377C7\22\377\202D7\22\377)C6\21\377@3\20\377>0\17\377" \ - "=/\17\377<,\16\377;*\15\3779(\14\3778$\13\3775\"\13\3775!\12\3774\40" \ - "\10\3773\36\10\3773\35\10\3773\33\7\3774\34\7\3776\34\7\3779\35\7\377" \ - ":\37\10\377<\40\10\377>!\10\377A\"\11\377C#\11\377E$\11\377G%\12\377" \ - "J&\12\377K(\12\377O*\13\377S-\14\377X2\15\377^7\17\377c;\20\377i\77\22" \ - "\377oF\24\377tJ\26\377yO\30\377~S\31\377\202W\32\377\205Z\33\377\210" \ - "\\\34\377\211\\\34\377\251\211R\377\202\346\342\275\377\211\346\342\276" \ - "\377\202\346\342\275\377\202\346\341\275\377)\346\341\274\377\327\302" \ - "\224\377\251m\40\377\252m!\377\252l\40\377\253k\37\377\253i\37\377\254" \ - "g\35\377\254f\34\377\253c\33\377\254a\32\377\254_\31\377\254]\32\377" \ - "\257]\30\377\257\\\30\377\262]\27\377\263^\30\377\266`\31\377\270a\31" \ - "\377\274c\32\377\275e\32\377\300h\34\377\302j\35\377\305m\35\377\307" \ - "o\36\377\307r\37\377\310t\40\377\310u!\377\307v!\377\307w\"\377\306x" \ - "\"\377\306y#\377\305y#\377\303{#\377\302z$\377\301y#\377\276x#\377\325" \ - "\264k\377\344\333\231\377\343\333\227\377\343\332\225\377\202\343\332" \ - "\222\377\12\343\331\220\377\343\331\215\377\343\331\212\377\343\331\207" \ - "\377\343\330\204\377\343\330~\377\343\327{\377\342\325r\377\342\323f" \ - "\377\263\247G\377\20292\21\377\15""82\20\37760\20\3771,\17\377,'\16\377" \ - "'#\14\377#\36\12\377\35\31\10\377\30\25\7\377\22\17\5\377\15\13\4\377" \ - "\10\7\3\377\4\3\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\317\0\0\0" \ - "\377\14\2\2\1\377\5\4\2\377\12\11\3\377\17\15\4\377\24\21\5\377\31\25" \ - "\7\377\37\33\11\377$\37\13\377)%\14\377.)\16\3773-\17\37760\20\377\203" \ - "92\21\3772JA\32\377\320\305{\377\343\331\214\377\343\331\216\377\324" \ - "\312\204\377ZN$\377E8\22\377F9\23\377F8\22\377D6\21\377C4\21\377A2\17" \ - "\377\77/\16\377\77-\16\377=,\16\377;(\14\377:'\14\377:&\13\3779%\12\377" \ - "8\"\12\3777\40\11\3776\36\10\3777\37\10\3778\35\10\377:\36\7\3779\36" \ - "\10\377<\40\10\377>!\10\377A\"\11\377C#\11\377D$\11\377G%\12\377J&\12" \ - "\377K(\12\377N)\13\377R,\14\377V/\15\377\\5\16\377a9\20\377h>\21\377" \ - "nD\24\377rI\25\377xM\27\377|R\31\377\201V\32\377\206Y\32\377\207[\34" \ - "\377\211\\\34\377\215a\40\377\336\325\256\377\214\346\341\274\377\203" \ - "\345\341\273\377\36\344\337\271\377\257v-\377\253n\40\377\253m\40\377" \ - "\254m\37\377\254j\37\377\253h\36\377\254f\34\377\254d\34\377\254b\34" \ - "\377\254`\31\377\254]\31\377\255]\30\377\257]\30\377\261]\30\377\263" \ - "^\30\377\266a\31\377\270c\32\377\274e\33\377\275h\33\377\300j\34\377" \ - "\302l\35\377\304o\36\377\306q\37\377\307t\40\377\307t!\377\307v\"\377" \ - "\307w\"\377\307x\"\377\306z#\377\202\305z#\377\24\303{$\377\301z#\377" \ - "\300y$\377\323\257e\377\344\333\231\377\343\333\227\377\343\332\225\377" \ - "\343\332\223\377\343\332\222\377\343\331\220\377\343\331\215\377\343" \ - "\331\212\377\343\331\210\377\343\330\204\377\343\330\201\377\343\327" \ - "{\377\342\326u\377\342\324j\377\323\304T\377IA\27\377\20292\21\377\14" \ - "60\20\3773-\17\377.)\16\377)%\14\377$\37\13\377\37\33\11\377\31\25\7" \ - "\377\24\21\5\377\17\15\4\377\12\11\3\377\5\4\2\377\2\2\1\377\377\0\0" \ - "\0\377\377\0\0\0\377\320\0\0\0\377\15\1\1\0\377\3\3\1\377\7\6\2\377\14" \ - "\12\4\377\21\16\5\377\26\23\6\377\33\27\10\377\"\35\12\377&!\13\377+" \ - "&\15\377/*\16\3774.\20\37771\20\377\20292\21\3772;3\21\377_V(\377\340" \ - "\325\205\377\343\331\214\377\343\331\216\377\325\313\205\377cV*\377G" \ - "9\23\377H:\23\377H:\22\377G8\22\377E6\21\377D4\20\377C2\20\377@.\17\377" \ - "\77-\16\377\77+\16\377=)\14\377<'\13\377<%\13\377;%\12\377;#\11\377:" \ - "\"\11\377;\40\11\377:\40\10\377:\37\11\377<\40\10\377>!\10\377A\"\11" \ - "\377B\"\11\377D$\11\377G%\12\377J&\12\377K(\12\377N)\13\377Q+\13\377" \ - "U.\14\377[3\17\377_8\17\377f=\21\377kA\23\377qH\25\377vM\26\377{P\31" \ - "\377\200V\31\377\204Y\33\377\207[\34\377\211\\\34\377\213^\34\377\270" \ - "\235i\377\215\345\341\273\377\203\345\341\272\377\33\302\236_\377\253" \ - "n\40\377\253m\40\377\254l\40\377\254l\37\377\254j\36\377\255g\35\377" \ - "\254e\34\377\254c\34\377\255a\32\377\254^\31\377\255^\32\377\260]\30" \ - "\377\261]\31\377\263`\31\377\266b\31\377\270d\32\377\272f\34\377\276" \ - "i\34\377\277k\35\377\300m\36\377\303p\36\377\305r\37\377\306t\40\377" \ - "\307v\"\377\306w\"\377\306y\"\377\202\306z#\377\25\305{#\377\303{$\377" \ - "\302z$\377\301y#\377\326\263i\377\343\333\231\377\343\333\227\377\343" \ - "\332\225\377\343\332\223\377\343\332\222\377\343\331\220\377\343\331" \ - "\216\377\343\331\212\377\343\331\210\377\343\330\204\377\343\330\201" \ - "\377\343\327{\377\342\326u\377\342\324j\377\335\317`\377bX\40\377\202" \ - "92\21\377\15""71\20\3774.\20\377/*\16\377+&\15\377&!\13\377\"\35\12\377" \ - "\33\27\10\377\26\23\6\377\21\16\5\377\14\12\4\377\7\6\2\377\3\3\1\377" \ - "\1\1\0\377\377\0\0\0\377\377\0\0\0\377\321\0\0\0\377A\1\1\0\377\5\4\1" \ - "\377\11\10\3\377\16\14\4\377\23\20\5\377\31\25\7\377\35\31\10\377#\36" \ - "\12\377'#\14\377,'\15\3771,\17\3775/\17\37782\20\37792\21\377;3\21\377" \ - "=5\21\377~s\77\377\343\331\211\377\343\331\214\377\343\331\216\377\333" \ - "\321\211\377k^1\377I;\23\377H:\23\377I:\23\377H8\22\377H7\21\377G6\21" \ - "\377E3\21\377D1\17\377C/\17\377A-\16\377@+\15\377@)\15\377>(\14\377\77" \ - "&\13\377>%\13\377=#\12\377=#\11\377=\"\12\377>\"\11\377\77\"\10\377@" \ - "\"\11\377B\"\11\377D$\11\377G%\12\377J&\12\377J'\12\377M)\13\377Q+\13" \ - "\377T-\14\377Z2\16\377^7\20\377d;\20\377j\77\22\377pF\24\377uJ\26\377" \ - "zO\27\377~S\31\377\203X\33\377\206[\33\377\211\\\34\377\212]\34\377\223" \ - "i)\377\343\336\266\377\212\345\341\272\377\204\345\341\271\3772\345\341" \ - "\270\377\326\304\223\377\251m\40\377\252n!\377\254m\40\377\254k\37\377" \ - "\254i\37\377\255i\35\377\254f\34\377\254c\34\377\255a\32\377\254_\31" \ - "\377\255_\32\377\260_\31\377\261`\31\377\263b\32\377\266c\32\377\270" \ - "f\33\377\272h\34\377\276j\36\377\277n\36\377\277o\37\377\301q\37\377" \ - "\304t\40\377\305u!\377\305w\"\377\306x#\377\306z#\377\305{#\377\306{" \ - "#\377\303{%\377\303{$\377\302z%\377\327\270n\377\343\333\231\377\343" \ - "\333\227\377\343\332\225\377\343\332\223\377\343\332\222\377\343\331" \ - "\220\377\343\331\216\377\343\331\212\377\343\331\210\377\343\331\206" \ - "\377\343\330\201\377\343\327}\377\342\326u\377\342\325n\377\341\322`" \ - "\377\203w.\377\20292\21\377\15""82\20\3775/\17\3771,\17\377,'\16\377" \ - "'#\14\377#\36\12\377\35\31\10\377\30\25\7\377\23\20\5\377\16\14\4\377" \ - "\11\10\3\377\5\4\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\323\0\0" \ - "\0\377\31\3\3\1\377\6\5\2\377\13\11\3\377\17\15\4\377\24\21\5\377\31" \ - "\25\7\377\37\33\11\377$\37\13\377)%\14\377-(\16\3772-\17\37760\20\377" \ - "82\20\377;3\21\377<4\21\377>5\21\377\242\231X\377\343\331\211\377\343" \ - "\331\214\377\343\331\216\377\337\326\215\377wj8\377I;\23\377K<\24\377" \ - "K;\23\377\202J9\22\377%H6\21\377H5\20\377G3\20\377E1\20\377E0\17\377" \ - "D.\16\377C,\15\377C*\14\377A)\14\377A'\13\377A&\13\377A%\13\377B&\12" \ - "\377B$\11\377B$\12\377C#\11\377D$\11\377G%\12\377I&\12\377J'\12\377M" \ - ")\13\377P*\13\377S,\14\377W0\15\377\\5\17\377c:\20\377h>\22\377nD\24" \ - "\377sI\25\377yM\27\377~R\30\377\202V\31\377\205Z\33\377\210\\\34\377" \ - "\212]\34\377\214^\34\377\306\261~\377\211\345\341\270\377\202\345\340" \ - "\270\377\204\345\340\267\377\32\344\337\264\377\262{2\377\252n!\377\254" \ - "n\40\377\255l\37\377\254j\37\377\254h\36\377\255g\34\377\254e\34\377" \ - "\255c\34\377\256a\32\377\257b\32\377\260`\33\377\262b\32\377\262b\33" \ - "\377\266e\34\377\270g\34\377\271j\35\377\275m\36\377\277n\36\377\300" \ - "q\40\377\301r\40\377\301t\40\377\302w!\377\303x\"\377\305y\"\377\202" \ - "\305z#\377\202\303{$\377\5\303}(\377\332\274u\377\343\333\231\377\343" \ - "\333\227\377\343\332\225\377\202\343\332\222\377\13\343\331\220\377\343" \ - "\331\216\377\343\331\212\377\343\331\210\377\343\331\206\377\343\330" \ - "\201\377\343\327}\377\342\326u\377\342\325n\377\342\323f\377\243\226" \ - ";\377\20292\21\377\15""82\20\37760\20\3772-\17\377-(\16\377)%\14\377" \ - "$\37\13\377\37\33\11\377\31\25\7\377\24\21\5\377\17\15\4\377\12\11\3" \ - "\377\6\5\2\377\3\3\1\377\377\0\0\0\377\377\0\0\0\377\324\0\0\0\377(\1" \ - "\1\0\377\4\3\1\377\7\6\2\377\14\12\4\377\21\16\5\377\26\23\6\377\33\27" \ - "\10\377!\34\11\377&!\13\377*%\15\377.)\16\3773-\17\37760\20\377;3\21" \ - "\377<4\21\377>5\21\377D:\24\377\267\255g\377\343\331\211\377\343\331" \ - "\214\377\343\331\216\377\340\326\214\377\205yD\377K<\24\377N=\24\377" \ - "N<\23\377M<\23\377M:\22\377K8\21\377K7\21\377I6\20\377H3\17\377H1\17" \ - "\377F/\17\377F.\16\377E,\16\377D+\15\377E+\14\377D*\13\377D(\13\377\202" \ - "E'\13\377\3F&\12\377F%\12\377G%\12\377\202J'\12\377\22M)\13\377O)\13" \ - "\377R,\13\377V.\14\377[4\16\377a9\20\377f=\20\377kA\23\377qG\24\377w" \ - "L\26\377{P\27\377\200U\30\377\205Y\32\377\210\\\33\377\212]\34\377\213" \ - "^\34\377\234u7\377\345\340\266\377\207\345\340\267\377\205\345\340\266" \ - "\377\202\345\340\265\377\12\345\340\264\377\305\242d\377\253n\40\377" \ - "\253m\40\377\254m\40\377\254l\37\377\254j\36\377\254h\35\377\254f\34" \ - "\377\256e\34\377\202\255c\33\377\16\260d\33\377\261d\33\377\263e\33\377" \ - "\267h\34\377\270i\35\377\272l\36\377\273n\37\377\276p\37\377\277s\40" \ - "\377\300u!\377\302u\"\377\302w#\377\302x#\377\303z$\377\202\303{$\377" \ - "\6\302z$\377\305\202/\377\335\306\200\377\343\333\230\377\343\333\226" \ - "\377\343\332\224\377\202\343\332\222\377\14\343\331\220\377\343\331\216" \ - "\377\343\331\212\377\343\331\210\377\343\331\206\377\343\330\201\377" \ - "\343\327}\377\343\326x\377\342\325n\377\342\323f\377\264\247B\377>6\23" \ - "\377\20292\21\377\15""60\20\3773-\17\377.)\16\377*%\15\377&!\13\377!" \ - "\34\11\377\33\27\10\377\26\23\6\377\21\16\5\377\14\12\4\377\7\6\2\377" \ - "\4\3\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\325\0\0\0\377,\2\2\1" \ - "\377\5\4\1\377\10\7\3\377\15\13\4\377\22\17\5\377\30\25\7\377\34\30\10" \ - "\377\"\35\12\377&!\13\377+&\15\3770+\17\3774.\20\37791\20\377<4\21\377" \ - ">5\21\377@6\21\377F<\26\377\300\266m\377\343\331\211\377\343\331\214" \ - "\377\343\331\216\377\343\331\220\377\251\234`\377RB\30\377N=\24\377O" \ - "=\23\377P=\24\377O<\23\377O:\23\377M:\22\377M8\21\377L6\20\377K4\21\377" \ - "K3\20\377I1\20\377I/\16\377I-\15\377G-\15\377H,\15\377I+\14\377G)\13" \ - "\377I*\14\377J)\13\377J(\13\377\202K)\13\377\22M)\12\377P*\13\377R,\13" \ - "\377U-\14\377Z1\16\377^6\17\377d;\21\377i\77\22\377oE\24\377uI\25\377" \ - "zO\30\377\177S\31\377\204X\32\377\207[\33\377\212]\34\377\213^\34\377" \ - "\216_\35\377\313\272\207\377\202\345\340\264\377\202\345\340\265\377" \ - "\207\345\340\264\377\204\345\340\263\377\11\333\312\227\377\251m\40\377" \ - "\252n!\377\254m\40\377\254k\37\377\254j\37\377\254h\36\377\255h\35\377" \ - "\255g\34\377\202\257f\34\377\15\260f\34\377\261f\34\377\264g\34\377\266" \ - "j\35\377\267k\36\377\270m\36\377\273o\37\377\276r\40\377\277t!\377\300" \ - "u\"\377\300v\"\377\302y#\377\302{#\377\202\302z$\377\6\301z#\377\310" \ - "\215<\377\341\322\216\377\343\333\230\377\343\333\226\377\343\332\224" \ - "\377\202\343\332\222\377\14\343\331\217\377\343\331\215\377\343\331\212" \ - "\377\343\331\210\377\343\331\206\377\343\330\201\377\343\327}\377\343" \ - "\326x\377\342\325n\377\342\323f\377\303\265N\377B;\24\377\20292\21\377" \ - "\15""71\20\3774.\20\377/*\16\377+&\15\377&!\13\377\"\35\12\377\34\30" \ - "\10\377\30\25\7\377\22\17\5\377\16\14\4\377\10\7\3\377\5\4\1\377\1\1" \ - "\0\377\377\0\0\0\377\377\0\0\0\377\327\0\0\0\377.\3\3\1\377\5\4\2\377" \ - "\12\11\3\377\17\15\5\377\24\21\5\377\31\25\7\377\36\32\11\377#\36\12" \ - "\377'#\14\377,'\15\3770+\17\3776/\17\377:2\21\377>5\21\377@6\21\377@" \ - "6\22\377M@\30\377\306\275r\377\343\331\210\377\343\331\212\377\343\331" \ - "\216\377\343\331\220\377\305\272x\377`O#\377P>\24\377Q\77\24\377R>\24" \ - "\377R=\24\377Q<\23\377Q;\22\377Q:\22\377O8\22\377P8\21\377O6\20\377N" \ - "4\20\377M2\16\377M1\17\377L0\16\377L.\16\377L.\15\377M.\15\377M-\15\377" \ - "L,\14\377M+\14\377N,\14\377P,\13\377\202R,\14\377\17T-\14\377Y0\15\377" \ - "]4\17\377b9\20\377h=\21\377mC\23\377sH\25\377wM\27\377|Q\30\377\202V" \ - "\31\377\205Z\33\377\210\\\33\377\213^\34\377\216^\35\377\243~@\377\210" \ - "\345\340\263\377\205\345\340\262\377\203\345\337\261\377\10\266\204=" \ - "\377\252n!\377\253m\40\377\254m\37\377\254l\37\377\255k\37\377\255j\36" \ - "\377\256i\35\377\202\257h\35\377\14\260h\35\377\262i\35\377\264j\36\377" \ - "\266l\36\377\270m\37\377\270o\37\377\273q\40\377\275t!\377\276t!\377" \ - "\277w\"\377\300x\"\377\300y#\377\203\301y#\377\23\315\234O\377\342\327" \ - "\225\377\343\333\227\377\343\332\225\377\343\332\223\377\343\332\222" \ - "\377\343\332\221\377\343\331\217\377\343\331\215\377\343\331\212\377" \ - "\343\331\210\377\343\330\204\377\343\330\201\377\343\327}\377\343\326" \ - "x\377\342\325n\377\342\323f\377\311\273Q\377IA\26\377\20292\21\377\15" \ - "71\20\3775/\17\3770+\17\377,'\15\377'#\14\377#\36\12\377\36\32\11\377" \ - "\31\25\7\377\23\20\5\377\17\15\5\377\12\11\3\377\5\4\2\377\3\3\1\377" \ - "\377\0\0\0\377\377\0\0\0\377\330\0\0\0\377\33\1\1\0\377\3\3\1\377\6\5" \ - "\2\377\13\11\3\377\20\16\4\377\25\22\6\377\32\26\7\377\37\33\11\377$" \ - "\37\13\377($\14\377,'\16\3772,\17\37770\17\377=4\21\377@6\21\377@6\22" \ - "\377B7\22\377SF\34\377\314\301u\377\343\331\210\377\343\331\212\377\343" \ - "\331\215\377\343\331\217\377\331\317\207\377{k8\377R\77\24\377S\77\24" \ - "\377\202S@\24\377\14S\77\23\377S=\23\377R<\23\377R:\22\377S:\21\377Q" \ - "7\21\377Q7\20\377Q5\20\377P4\20\377P3\16\377P2\17\377O1\17\377\202P0" \ - "\16\377\25Q/\16\377R/\15\377R0\15\377T/\15\377T.\15\377V/\14\377Y1\16" \ - "\377\\4\17\377b9\20\377g=\21\377kA\23\377qF\24\377wK\26\377{O\27\377" \ - "\200S\30\377\204X\33\377\210[\33\377\213^\34\377\214^\34\377\217_\34" \ - "\377\320\277\214\377\213\345\337\261\377\204\345\337\260\377\25\312\255" \ - "p\377\253n\40\377\252n!\377\254m\40\377\255l\37\377\254l\37\377\256k" \ - "\37\377\256j\36\377\257j\36\377\260j\36\377\261j\36\377\262j\36\377\264" \ - "l\36\377\266n\37\377\267o\40\377\271r\40\377\271r!\377\273t\"\377\275" \ - "w\"\377\276w#\377\277x$\377\202\277y$\377\24\301})\377\327\272q\377\343" \ - "\333\231\377\343\333\227\377\343\332\225\377\343\332\223\377\343\332" \ - "\222\377\343\332\221\377\343\331\217\377\343\331\215\377\343\331\212" \ - "\377\343\331\207\377\343\330\204\377\343\330\201\377\343\327}\377\343" \ - "\326x\377\342\325n\377\342\323f\377\315\276Q\377JB\27\377\20292\21\377" \ - "\16""82\20\3775/\17\3771,\17\377,'\16\377($\14\377$\37\13\377\37\33\11" \ - "\377\31\25\7\377\25\22\6\377\20\16\4\377\13\11\3\377\6\5\2\377\3\3\1" \ - "\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\331\0\0\0\377\77\1\1\0\377" \ - "\4\3\1\377\7\6\2\377\14\12\4\377\21\16\5\377\26\23\6\377\32\26\7\377" \ - "\40\33\11\377$\37\13\377)%\14\377.(\16\3775.\17\377:1\20\377>5\21\377" \ - "@5\21\377B7\22\377D7\22\377ZO\40\377\317\302u\377\343\331\210\377\343" \ - "\331\212\377\343\331\215\377\343\331\217\377\343\332\221\377\245\230" \ - "]\377ZG\33\377TA\24\377VA\25\377WA\25\377WA\24\377V@\24\377V>\23\377" \ - "V=\22\377U<\22\377U;\22\377U9\21\377U:\22\377T8\20\377T7\20\377T6\20" \ - "\377U5\17\377T4\17\377U4\17\377V2\17\377U3\16\377V2\16\377W2\16\377Y" \ - "2\15\377[4\17\377^7\20\377c:\20\377g=\22\377lC\23\377pG\24\377vJ\25\377" \ - "{O\27\377\177S\31\377\203V\31\377\206Z\33\377\212\\\33\377\214^\34\377" \ - "\216_\35\377\245\200A\377\211\345\337\260\377\202\345\337\257\377\203" \ - "\345\337\256\377\23\345\337\255\377\340\327\243\377\252q%\377\252n!\377" \ - "\253m\40\377\254m\40\377\255m\37\377\255k\37\377\256k\37\377\260l\37" \ - "\377\260l\36\377\261l\37\377\263l\37\377\264m\37\377\266o\37\377\267" \ - "q!\377\271r!\377\272t!\377\273v!\377\202\275w\"\377\202\275w#\377\5\307" \ - "\216>\377\337\317\211\377\343\333\230\377\343\333\226\377\343\332\224" \ - "\377\202\343\332\222\377\15\343\331\220\377\343\331\216\377\343\331\214" \ - "\377\343\331\211\377\343\331\207\377\343\330\204\377\343\330\201\377" \ - "\343\327}\377\342\326u\377\342\325n\377\342\323f\377\315\276Q\377OF\30" \ - "\377\20292\21\377\16""82\20\37760\20\3772-\17\377-(\16\377)%\14\377$" \ - "\37\13\377\40\33\11\377\33\27\10\377\26\23\6\377\21\16\5\377\14\12\4" \ - "\377\7\6\2\377\4\3\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\333\0" \ - "\0\0\377\35\2\2\1\377\5\4\1\377\10\7\3\377\15\13\4\377\22\17\5\377\27" \ - "\24\6\377\33\27\10\377!\34\11\377%!\13\377*%\14\3770*\16\3775.\17\377" \ - ";2\21\377@5\21\377B7\22\377C7\22\377E8\22\377UH\35\377\305\271o\377\343" \ - "\331\207\377\343\331\211\377\343\331\214\377\343\331\216\377\343\331" \ - "\220\377\323\311\204\377|k8\377VB\25\377XC\25\377YC\25\377\202YB\25\377" \ - "\202Y@\24\377\36Z\77\23\377Y>\22\377X<\22\377Y<\22\377X;\21\377W:\21" \ - "\377X8\21\377X8\20\377X7\21\377Y6\20\377Y7\17\377Z7\20\377\\7\17\377" \ - "\\6\17\377^7\17\377`9\20\377d<\20\377h>\21\377lC\23\377qG\24\377vJ\26" \ - "\377zO\30\377~S\31\377\203V\31\377\205Y\32\377\211\\\33\377\213^\34\377" \ - "\216^\35\377\217_\34\377\316\275\207\377\207\345\337\256\377\204\345" \ - "\337\255\377\202\345\336\254\377\202\345\336\253\377\10\276\226Q\377" \ - "\251m\40\377\252n!\377\254n\40\377\255m\40\377\255m\37\377\257n\40\377" \ - "\260m\37\377\202\261n\37\377\36\262n\40\377\263o\40\377\265p\40\377\267" \ - "r!\377\270t\"\377\272v#\377\273w#\377\273v#\377\273v\"\377\275{(\377" \ - "\321\254b\377\343\332\226\377\343\333\227\377\343\332\225\377\343\332" \ - "\223\377\343\332\222\377\343\332\221\377\343\331\217\377\343\331\216" \ - "\377\343\331\214\377\343\331\211\377\343\331\207\377\343\330\202\377" \ - "\343\330~\377\343\327{\377\342\326u\377\342\325n\377\342\323f\377\310" \ - "\271P\377ME\27\377\20292\21\377\16""82\20\37760\20\3772-\17\377-(\16" \ - "\377)%\14\377%!\13\377!\34\11\377\33\27\10\377\27\24\6\377\22\17\5\377" \ - "\15\13\4\377\10\7\3\377\5\4\1\377\2\2\1\377\377\0\0\0\377\377\0\0\0\377" \ - "\335\0\0\0\377\40\2\2\1\377\5\4\2\377\11\10\3\377\16\14\4\377\22\17\5" \ - "\377\30\25\7\377\34\30\10\377!\34\11\377&!\13\377-'\15\3772+\17\3778" \ - "/\17\377=3\21\377@5\22\377C7\22\377E8\22\377G9\23\377PB\31\377\275\261" \ - "g\377\343\331\207\377\343\331\210\377\343\331\212\377\343\331\215\377" \ - "\343\331\217\377\343\332\221\377\262\245f\377`N\35\377YC\25\377[C\26" \ - "\377\\D\26\377\\C\25\377[B\25\377\202[A\24\377\34[@\23\377[\77\23\377" \ - "\\\77\23\377\\>\23\377]=\22\377\\<\22\377]<\21\377];\21\377];\22\377" \ - "^:\20\377_;\21\377_:\20\377`:\21\377b;\21\377f=\21\377jA\22\377nD\24" \ - "\377sI\25\377wM\26\377zO\27\377~S\31\377\202V\31\377\204Y\32\377\210" \ - "Z\33\377\213]\33\377\216^\35\377\217_\34\377\240y9\377\206\345\336\254" \ - "\377\205\345\336\253\377\202\344\336\252\377\202\344\336\251\377\17\327" \ - "\304\211\377\251m\40\377\253n\40\377\252n!\377\254n\40\377\256m\40\377" \ - "\256n\40\377\257n\40\377\260o\40\377\261n\40\377\261o\40\377\263p!\377" \ - "\265r\"\377\267s\"\377\270t!\377\202\271u\"\377\6\271v\"\377\307\225" \ - "F\377\337\317\213\377\343\333\227\377\343\333\226\377\343\332\224\377" \ - "\202\343\332\222\377\16\343\332\221\377\343\331\217\377\343\331\215\377" \ - "\343\331\212\377\343\331\210\377\343\331\206\377\343\330\202\377\343" \ - "\330~\377\343\327{\377\342\326u\377\342\325n\377\341\322`\377\302\262" \ - "G\377G\77\25\377\20292\21\377\16""82\20\37760\20\3772-\17\377.)\16\377" \ - "*%\15\377&!\13\377\"\35\12\377\34\30\10\377\30\25\7\377\22\17\5\377\16" \ - "\14\4\377\11\10\3\377\5\4\2\377\3\3\1\377\377\0\0\0\377\377\0\0\0\377" \ - "\337\0\0\0\377\35\3\3\1\377\5\4\2\377\12\11\3\377\17\15\5\377\23\20\5" \ - "\377\30\25\7\377\35\31\10\377\"\35\12\377(\"\13\377-&\15\3774,\17\377" \ - "9/\20\377>4\21\377C7\22\377D9\22\377F:\23\377I;\23\377N\77\26\377\261" \ - "\245^\377\343\331\206\377\343\331\210\377\343\331\212\377\343\331\215" \ - "\377\343\331\216\377\343\331\220\377\332\317\211\377\224\203J\377^G\30" \ - "\377\\D\26\377\202^E\26\377\37_E\26\377_D\25\377_C\24\377`C\25\377`C" \ - "\24\377_B\23\377`B\24\377aA\23\377`@\23\377`>\23\377`\77\22\377b\77\22" \ - "\377b>\22\377c>\22\377d>\21\377e\77\22\377g@\22\377lC\23\377qG\25\377" \ - "sJ\26\377xM\27\377{Q\27\377~S\31\377\202V\31\377\205Y\32\377\207Z\33" \ - "\377\212\\\33\377\214^\34\377\216_\35\377\217_\34\377\307\262x\377\204" \ - "\344\336\252\377\205\344\336\251\377\202\344\336\250\377\203\344\336" \ - "\247\377\15\344\335\246\377\264\2029\377\251m\40\377\252n!\377\254n!" \ - "\377\255n\40\377\256o\40\377\257o!\377\260o!\377\261o!\377\262q\40\377" \ - "\263r!\377\264s!\377\202\266t\"\377\27\267s!\377\275\2033\377\326\271" \ - "s\377\343\333\230\377\343\333\226\377\343\332\225\377\343\332\223\377" \ - "\343\332\222\377\343\332\221\377\343\331\220\377\343\331\216\377\343" \ - "\331\214\377\343\331\211\377\343\331\207\377\343\330\204\377\343\330" \ - "\201\377\343\327}\377\343\326x\377\342\325r\377\342\324j\377\341\322" \ - "`\377\261\244A\377A9\23\377\20292\21\377\16""82\20\37760\20\3772-\17" \ - "\377.)\16\377*%\15\377&!\13\377\"\35\12\377\35\31\10\377\30\25\7\377" \ - "\23\20\5\377\17\15\5\377\12\11\3\377\6\5\2\377\3\3\1\377\377\0\0\0\377" \ - "\377\0\0\0\377\340\0\0\0\377!\1\1\0\377\3\3\1\377\6\5\2\377\12\11\3\377" \ - "\17\15\4\377\24\21\5\377\31\25\7\377\35\31\10\377\"\36\12\377)#\14\377" \ - "/(\15\3775,\16\377:0\20\377@4\21\377C7\22\377F:\23\377H;\23\377H:\23" \ - "\377M>\26\377\241\224Q\377\343\330\204\377\343\331\207\377\343\331\211" \ - "\377\343\331\214\377\343\331\215\377\343\331\217\377\343\332\221\377" \ - "\322\310\201\377\217|E\377]E\26\377_F\26\377aG\27\377aG\26\377\203bF" \ - "\26\377\5bE\25\377cD\25\377dD\25\377dD\24\377dC\25\377\202eC\24\377\24" \ - "fB\24\377gC\23\377hC\23\377hB\24\377jD\24\377nF\24\377rI\26\377tK\27" \ - "\377xN\27\377|Q\27\377}S\31\377\202V\32\377\205Y\32\377\207[\33\377\211" \ - "\\\33\377\213^\34\377\216^\35\377\217_\34\377\231m,\377\340\330\242\377" \ - "\210\344\336\247\377\204\344\335\246\377\202\344\335\245\377\1\316\264" \ - "s\377\202\251m\40\377\20\252n!\377\254n!\377\255o!\377\256o\40\377\256" \ - "p\40\377\260p!\377\262q!\377\262r!\377\263r!\377\263s\"\377\271~-\377" \ - "\320\260h\377\343\332\226\377\343\333\226\377\343\332\225\377\343\332" \ - "\223\377\202\343\332\222\377\17\343\331\220\377\343\331\217\377\343\331" \ - "\215\377\343\331\212\377\343\331\210\377\343\331\206\377\343\330\204" \ - "\377\343\330\201\377\343\327}\377\343\326x\377\342\325r\377\342\324j" \ - "\377\341\322`\377\230\2157\377;4\22\377\20292\21\377\17""82\20\37760" \ - "\20\3772-\17\377.)\16\377*%\15\377&!\13\377\"\35\12\377\35\31\10\377" \ - "\31\25\7\377\24\21\5\377\17\15\4\377\13\11\3\377\6\5\2\377\4\3\1\377" \ - "\1\1\0\377\377\0\0\0\377\377\0\0\0\377\341\0\0\0\377'\1\1\0\377\4\3\1" \ - "\377\7\6\2\377\13\11\3\377\17\15\4\377\24\21\5\377\31\25\7\377\35\31" \ - "\10\377#\37\12\377+$\14\3771)\15\3776-\17\377<1\21\377A5\21\377D7\22" \ - "\377H;\23\377H:\23\377J;\23\377L=\24\377\177p7\377\334\320|\377\343\331" \ - "\206\377\343\331\210\377\343\331\212\377\343\331\214\377\343\331\216" \ - "\377\343\331\220\377\343\332\221\377\313\300{\377\207s<\377`G\27\377" \ - "bH\27\377dG\26\377dH\27\377eI\27\377eI\26\377eH\27\377fG\26\377gH\26" \ - "\377\202hG\26\377\2iF\25\377iG\26\377\202jF\25\377\16lF\24\377mF\25\377" \ - "pI\26\377sJ\26\377uM\27\377yO\27\377|R\31\377~S\32\377\201V\32\377\205" \ - "Y\32\377\206Z\33\377\210\\\33\377\212]\34\377\214^\34\377\202\217_\34" \ - "\377\1\270\233^\377\205\344\335\246\377\204\344\335\245\377\202\344\335" \ - "\244\377\203\344\335\243\377\2\342\332\237\377\255w,\377\202\251m\40" \ - "\377\15\252n!\377\254n!\377\255o!\377\256p!\377\257q!\377\260q\"\377" \ - "\261q\"\377\266z,\377\315\252a\377\342\327\224\377\343\333\226\377\343" \ - "\332\225\377\343\332\224\377\202\343\332\222\377\17\343\332\221\377\343" \ - "\331\217\377\343\331\216\377\343\331\214\377\343\331\211\377\343\331" \ - "\207\377\343\331\206\377\343\330\202\377\343\330~\377\343\327{\377\342" \ - "\326u\377\342\325n\377\342\323f\377\335\316Y\377|q)\377\20392\21\377" \ - "\17""82\20\37760\20\3772-\17\377.)\16\377*%\15\377&!\13\377\"\35\12\377" \ - "\35\31\10\377\31\25\7\377\24\21\5\377\17\15\4\377\13\11\3\377\7\6\2\377" \ - "\4\3\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\343\0\0\0\377>\1\1\0" \ - "\377\4\3\1\377\7\6\2\377\13\11\3\377\17\15\4\377\24\21\5\377\31\25\7" \ - "\377\35\31\10\377$\37\13\377+$\14\3771(\15\3777-\17\377=1\21\377@5\21" \ - "\377E8\22\377I;\23\377J;\23\377L=\24\377N=\24\377eU$\377\312\276n\377" \ - "\343\330\204\377\343\331\207\377\343\331\211\377\343\331\212\377\343" \ - "\331\215\377\343\331\216\377\343\331\220\377\343\332\222\377\313\300" \ - "|\377\223~F\377fK\31\377dH\27\377fJ\27\377gJ\27\377hK\30\377iK\27\377" \ - "kK\27\377kJ\27\377kI\27\377kI\26\377mJ\26\377nI\27\377nJ\26\377oJ\26" \ - "\377qJ\26\377rL\27\377tL\27\377wN\30\377zQ\31\377|S\31\377\177V\32\377" \ - "\202W\32\377\204Y\33\377\206[\33\377\210\\\33\377\212]\34\377\213^\34" \ - "\377\216^\35\377\217_\34\377\221c\37\377\332\314\221\377\203\344\335" \ - "\244\377\205\344\335\243\377\202\344\335\242\377\1\344\335\241\377\203" \ - "\344\334\240\377\2\310\252f\377\250l\40\377\202\251m\40\377\12\252n!" \ - "\377\253n!\377\255o!\377\256p!\377\267\2025\377\316\261j\377\342\331" \ - "\225\377\343\333\226\377\343\332\225\377\343\332\223\377\202\343\332" \ - "\222\377\20\343\332\221\377\343\331\220\377\343\331\216\377\343\331\214" \ - "\377\343\331\212\377\343\331\210\377\343\331\206\377\343\330\204\377" \ - "\343\330\201\377\343\327}\377\343\326x\377\342\325r\377\342\324j\377" \ - "\341\322`\377\315\276L\377ZQ\35\377\20392\21\377\17""71\20\3775/\17\377" \ - "2-\17\377-(\16\377*%\15\377&!\13\377\"\35\12\377\35\31\10\377\31\25\7" \ - "\377\24\21\5\377\17\15\4\377\13\11\3\377\7\6\2\377\4\3\1\377\1\1\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\345\0\0\0\377\21\1\1\0\377\4\3\1\377\7\6" \ - "\2\377\13\11\3\377\17\15\4\377\24\21\5\377\31\25\7\377\35\31\10\377#" \ - "\36\12\377-%\14\3772)\16\3778.\17\377>2\21\377B5\21\377F8\22\377I;\23" \ - "\377K<\24\377\202N=\24\377'VD\30\377\257\241Y\377\343\330\202\377\343" \ - "\331\206\377\343\331\207\377\343\331\211\377\343\331\214\377\343\331" \ - "\215\377\343\331\217\377\343\331\220\377\343\332\222\377\327\314\206" \ - "\377\246\224V\377tZ%\377gJ\27\377iK\27\377kM\30\377lM\30\377lL\27\377" \ - "mL\30\377nM\30\377oM\30\377qN\27\377qM\30\377rM\27\377tN\30\377sN\30" \ - "\377vO\30\377xP\30\377{S\31\377}T\31\377\177V\32\377\201W\32\377\204" \ - "Y\33\377\205Z\33\377\210\\\34\377\211\\\34\377\213^\34\377\214^\34\377" \ - "\202\217_\34\377\2\242{8\377\343\333\240\377\204\344\335\241\377\204" \ - "\344\334\240\377\202\344\334\237\377\1\344\334\236\377\202\344\334\235" \ - "\377\3\341\327\227\377\255x,\377\250l\40\377\202\251m\40\377\7\255s%" \ - "\377\275\221G\377\323\274v\377\343\333\227\377\343\333\226\377\343\332" \ - "\224\377\343\332\223\377\202\343\332\222\377\21\343\332\221\377\343\331" \ - "\220\377\343\331\216\377\343\331\215\377\343\331\212\377\343\331\210" \ - "\377\343\331\207\377\343\330\204\377\343\330\202\377\343\330~\377\343" \ - "\327{\377\342\326u\377\342\325n\377\342\324j\377\341\322`\377\254\237" \ - "\77\377E=\25\377\20392\21\377\17""71\20\3775/\17\3771,\17\377-(\16\377" \ - ")%\14\377&!\13\377\"\35\12\377\35\31\10\377\31\25\7\377\24\21\5\377\20" \ - "\16\4\377\13\11\3\377\7\6\2\377\4\3\1\377\1\1\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\347\0\0\0\377\20\1\1\0\377\4\3\1\377\7\6\2\377\13\11\3\377" \ - "\17\15\4\377\24\21\5\377\31\25\7\377\34\30\10\377!\35\11\377+$\14\377" \ - "5*\16\3778.\17\377>2\21\377C6\21\377G9\22\377J;\23\377\202N=\24\377(" \ - "P>\24\377R\77\24\377\206t8\377\326\312x\377\343\330\202\377\343\331\206" \ - "\377\343\331\210\377\343\331\211\377\343\331\214\377\343\331\215\377" \ - "\343\331\217\377\343\331\220\377\343\332\221\377\343\332\222\377\302" \ - "\263p\377\226\200F\377qT\37\377lM\30\377lM\27\377oN\31\377oN\30\377q" \ - "O\31\377sP\31\377sO\31\377sP\31\377uP\27\377vP\31\377wQ\31\377zR\31\377" \ - "|T\31\377~V\31\377\177V\32\377\202Y\33\377\203Y\33\377\205Z\33\377\207" \ - "[\33\377\210\\\34\377\212]\34\377\213^\34\377\216^\35\377\202\217_\34" \ - "\377\1\272\235[\377\203\344\334\237\377\203\344\334\236\377\202\344\334" \ - "\235\377\205\344\334\234\377\12\344\333\233\377\314\257h\377\247n!\377" \ - "\270\214D\377\316\264m\377\341\326\221\377\343\333\226\377\343\332\225" \ - "\377\343\332\224\377\343\332\223\377\202\343\332\222\377\21\343\332\221" \ - "\377\343\331\220\377\343\331\216\377\343\331\215\377\343\331\212\377" \ - "\343\331\211\377\343\331\207\377\343\331\206\377\343\330\202\377\343" \ - "\330~\377\343\327}\377\343\326x\377\342\325r\377\342\324j\377\342\323" \ - "f\377\331\312X\377yl'\377\20392\21\377\20""82\20\37760\20\3774.\20\377" \ - "0+\17\377,'\16\377)%\14\377%!\13\377!\34\11\377\35\31\10\377\31\25\7" \ - "\377\24\21\5\377\17\15\4\377\13\11\3\377\7\6\2\377\4\3\1\377\1\1\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\351\0\0\0\377=\1\1\0\377\4\3\1\377\7\6\2" \ - "\377\13\11\3\377\17\15\4\377\24\21\5\377\30\25\7\377\34\30\10\377!\34" \ - "\11\377&!\13\3773)\16\3779.\17\377\77""2\21\377C6\21\377G9\22\377J;\23" \ - "\377N=\24\377P>\24\377Q\77\24\377S\77\24\377aL\34\377\261\242Y\377\343" \ - "\330\201\377\343\330\204\377\343\331\206\377\343\331\210\377\343\331" \ - "\211\377\343\331\214\377\343\331\215\377\343\331\216\377\343\331\220" \ - "\377\343\332\221\377\343\332\222\377\341\327\217\377\277\257n\377\234" \ - "\206J\377z[$\377oN\30\377qP\30\377sP\31\377uQ\32\377uQ\30\377vR\31\377" \ - "xS\31\377yT\31\377zT\32\377}U\33\377}U\32\377\200W\32\377\202Y\32\377" \ - "\203Y\33\377\205Z\33\377\206Z\33\377\210\\\34\377\211\\\34\377\213^\34" \ - "\377\214^\34\377\216_\35\377\217_\34\377\221b\36\377\322\277\177\377" \ - "\207\344\334\234\377\1\344\333\233\377\202\344\333\232\377\1\344\333" \ - "\231\377\202\343\333\231\377\6\342\332\226\377\336\322\215\377\343\333" \ - "\226\377\343\332\225\377\343\332\224\377\343\332\223\377\203\343\332" \ - "\222\377\22\343\331\220\377\343\331\217\377\343\331\216\377\343\331\215" \ - "\377\343\331\212\377\343\331\211\377\343\331\207\377\343\331\206\377" \ - "\343\330\202\377\343\330\201\377\343\327}\377\343\327{\377\342\326u\377" \ - "\342\325n\377\342\323f\377\341\322`\377\261\244A\377OF\30\377\20392\21" \ - "\377\20""82\20\37760\20\3773-\17\377/*\16\377,'\15\377($\14\377$\37\13" \ - "\377!\34\11\377\34\30\10\377\30\25\7\377\24\21\5\377\17\15\4\377\13\11" \ - "\3\377\7\6\2\377\4\3\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\353" \ - "\0\0\0\377\"\1\1\0\377\4\3\1\377\7\6\2\377\13\11\3\377\17\15\4\377\23" \ - "\20\5\377\27\24\6\377\33\27\10\377\40\33\11\377#\36\12\377-%\15\3779" \ - "-\17\377\77""2\17\377D6\21\377H9\22\377L;\23\377O>\24\377Q\77\24\377" \ - "R\77\24\377S@\24\377VB\25\377}l2\377\320\304q\377\343\330\201\377\343" \ - "\330\204\377\343\331\206\377\343\331\210\377\343\331\211\377\343\331" \ - "\212\377\343\331\214\377\343\331\216\377\343\331\217\377\343\331\220" \ - "\377\343\332\221\377\202\343\332\222\377\25\322\304\200\377\261\234]" \ - "\377\225{@\377\200`&\377uR\31\377vS\32\377xS\31\377zT\32\377{U\32\377" \ - "}V\32\377~V\32\377\177W\32\377\201X\33\377\202Y\33\377\204Y\33\377\205" \ - "Z\33\377\207[\33\377\210\\\34\377\212]\34\377\213^\34\377\216^\35\377" \ - "\202\217_\34\377\2\233o+\377\337\324\222\377\203\344\333\232\377\202" \ - "\344\333\231\377\202\343\333\231\377\202\343\333\230\377\2\343\333\227" \ - "\377\343\333\226\377\202\343\332\225\377\2\343\332\224\377\343\332\223" \ - "\377\203\343\332\222\377\23\343\332\221\377\343\331\220\377\343\331\217" \ - "\377\343\331\215\377\343\331\214\377\343\331\212\377\343\331\211\377" \ - "\343\331\207\377\343\331\206\377\343\330\202\377\343\330\201\377\343" \ - "\327}\377\343\327{\377\342\326u\377\342\325r\377\342\324j\377\341\322" \ - "`\377\323\304T\377qf$\377\20492\21\377\20""71\20\3775/\17\3772-\17\377" \ - ".)\16\377+&\15\377'#\14\377#\36\12\377\40\33\11\377\33\27\10\377\30\25" \ - "\7\377\23\20\5\377\17\15\4\377\13\11\3\377\7\6\2\377\4\3\1\377\1\1\0" \ - "\377\377\0\0\0\377\377\0\0\0\377\355\0\0\0\377$\1\1\0\377\4\3\1\377\7" \ - "\6\2\377\12\11\3\377\17\15\5\377\22\17\5\377\27\24\6\377\32\26\7\377" \ - "\37\33\11\377#\36\12\377'\"\13\3773*\16\377>1\20\377D5\21\377I9\22\377" \ - "L;\23\377P>\24\377R\77\24\377T\77\24\377UA\25\377WB\25\377_J\31\377\244" \ - "\223L\377\336\322{\377\343\330\201\377\343\330\204\377\343\331\206\377" \ - "\343\331\207\377\343\331\210\377\343\331\212\377\343\331\214\377\343" \ - "\331\215\377\343\331\216\377\343\331\217\377\343\331\220\377\343\332" \ - "\221\377\203\343\332\222\377\22\331\314\205\377\301\257m\377\260\233" \ - "Z\377\241\206I\377\217o2\377\203_#\377}U\32\377~V\33\377\200X\32\377" \ - "\202X\33\377\203Y\33\377\205Z\33\377\206Z\33\377\207[\34\377\211\\\34" \ - "\377\212]\34\377\213^\34\377\216_\35\377\202\217_\34\377\1\255\213G\377" \ - "\202\343\333\230\377\202\343\333\227\377\202\343\333\226\377\202\343" \ - "\332\225\377\202\343\332\224\377\1\343\332\223\377\204\343\332\222\377" \ - "\25\343\332\221\377\343\331\220\377\343\331\217\377\343\331\216\377\343" \ - "\331\215\377\343\331\212\377\343\331\211\377\343\331\210\377\343\331" \ - "\207\377\343\331\206\377\343\330\202\377\343\330\201\377\343\327}\377" \ - "\343\327{\377\342\326u\377\342\325r\377\342\324j\377\342\323f\377\335" \ - "\316Y\377\227\2136\377B;\24\377\20392\21\377\21""82\20\37760\20\3774" \ - ".\20\3770+\17\377-(\16\377*%\15\377&!\13\377#\36\12\377\37\33\11\377" \ - "\32\26\7\377\27\24\6\377\22\17\5\377\17\15\5\377\12\11\3\377\7\6\2\377" \ - "\4\3\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\357\0\0\0\377$\1\1\0" \ - "\377\4\3\1\377\6\5\2\377\12\11\3\377\16\14\4\377\21\16\5\377\26\23\6" \ - "\377\31\25\7\377\35\31\10\377\"\35\12\377%!\13\377+%\14\3777,\17\377" \ - "D5\21\377H8\21\377L:\22\377Q>\24\377R\77\24\377TA\24\377WB\25\377XC\25" \ - "\377YC\25\377hR\37\377\254\235R\377\341\326}\377\343\330\201\377\343" \ - "\330\202\377\343\330\204\377\343\331\207\377\343\331\210\377\343\331" \ - "\211\377\343\331\212\377\343\331\214\377\343\331\215\377\343\331\216" \ - "\377\343\331\217\377\202\343\331\220\377\1\343\332\221\377\205\343\332" \ - "\222\377\7\343\332\223\377\320\302~\377\317\300|\377\310\267r\377\275" \ - "\247d\377\276\247d\377\275\247d\377\202\277\247d\377\202\300\250d\377" \ - "\5\306\260l\377\323\302}\377\323\301|\377\342\331\224\377\343\332\225" \ - "\377\203\343\332\224\377\202\343\332\223\377\205\343\332\222\377\2\343" \ - "\332\221\377\343\331\220\377\202\343\331\217\377\23\343\331\216\377\343" \ - "\331\215\377\343\331\214\377\343\331\212\377\343\331\211\377\343\331" \ - "\207\377\343\331\206\377\343\330\204\377\343\330\202\377\343\330~\377" \ - "\343\327}\377\343\327{\377\342\326u\377\342\325r\377\342\325n\377\342" \ - "\323f\377\341\322`\377\254\237\77\377QH\30\377\20492\21\377\21""71\20" \ - "\3775/\17\3772-\17\377/*\16\377,'\15\377($\14\377%!\13\377\"\35\12\377" \ - "\35\31\10\377\31\25\7\377\26\23\6\377\21\16\5\377\16\14\4\377\12\11\3" \ - "\377\6\5\2\377\4\3\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\361\0" \ - "\0\0\377\"\1\1\0\377\3\3\1\377\5\4\2\377\11\10\3\377\15\13\4\377\20\16" \ - "\4\377\24\21\5\377\31\25\7\377\34\30\10\377\40\33\11\377#\36\12\377&" \ - "!\13\377-&\15\3779.\17\377F6\21\377M:\23\377P=\24\377T\77\24\377VB\25" \ - "\377WB\25\377YC\25\377[C\26\377\\D\26\377pY$\377\264\244W\377\343\327" \ - "}\377\343\330~\377\343\330\202\377\343\330\204\377\343\331\206\377\343" \ - "\331\207\377\343\331\210\377\343\331\211\377\343\331\212\377\202\343" \ - "\331\214\377\2\343\331\215\377\343\331\216\377\202\343\331\217\377\1" \ - "\343\331\220\377\202\343\332\221\377\225\343\332\222\377\1\343\332\221" \ - "\377\202\343\331\220\377\202\343\331\217\377\4\343\331\216\377\343\331" \ - "\215\377\343\331\214\377\343\331\212\377\202\343\331\211\377\17\343\331" \ - "\210\377\343\331\206\377\343\330\204\377\343\330\202\377\343\330\201" \ - "\377\343\330~\377\343\327}\377\343\326x\377\342\326u\377\342\325r\377" \ - "\342\324j\377\342\323f\377\341\322`\377\254\237\77\377ZQ\35\377\2049" \ - "2\21\377\22""82\20\37760\20\3774.\20\3771,\17\377-(\16\377+&\15\377'" \ - "#\14\377$\37\13\377!\34\11\377\34\30\10\377\31\25\7\377\25\22\6\377\21" \ - "\16\5\377\15\13\4\377\11\10\3\377\5\4\2\377\3\3\1\377\1\1\0\377\377\0" \ - "\0\0\377\377\0\0\0\377\363\0\0\0\377\40\1\1\0\377\3\3\1\377\5\4\2\377" \ - "\10\7\3\377\14\12\4\377\17\15\4\377\23\20\5\377\27\24\6\377\32\26\7\377" \ - "\37\33\11\377#\36\12\377&!\13\377)%\14\377-'\15\3779.\20\377H8\21\377" \ - "P=\23\377R>\24\377VA\25\377XC\25\377ZD\25\377[D\26\377]E\26\377_F\26" \ - "\377w`(\377\263\243U\377\341\325z\377\343\330~\377\343\330\201\377\343" \ - "\330\202\377\343\330\204\377\343\331\206\377\202\343\331\207\377\3\343" \ - "\331\210\377\343\331\211\377\343\331\212\377\202\343\331\214\377\202" \ - "\343\331\215\377\202\343\331\216\377\202\343\331\217\377\205\343\331" \ - "\220\377\205\343\332\221\377\204\343\331\220\377\203\343\331\217\377" \ - "\202\343\331\216\377\202\343\331\215\377\1\343\331\214\377\202\343\331" \ - "\212\377\22\343\331\211\377\343\331\210\377\343\331\207\377\343\331\206" \ - "\377\343\330\204\377\343\330\202\377\343\330\201\377\343\330~\377\343" \ - "\327}\377\343\327{\377\343\326x\377\342\326u\377\342\325n\377\342\324" \ - "j\377\342\323f\377\337\317Z\377\250\233>\377ZQ\35\377\20492\21\377\23" \ - "82\20\37760\20\3775/\17\3772-\17\377/*\16\377,'\15\377)%\14\377&!\13" \ - "\377#\36\12\377\37\33\11\377\32\26\7\377\27\24\6\377\23\20\5\377\17\15" \ - "\4\377\14\12\4\377\10\7\3\377\5\4\2\377\3\3\1\377\1\1\0\377\377\0\0\0" \ - "\377\377\0\0\0\377\366\0\0\0\377\34\2\2\1\377\5\4\1\377\7\6\2\377\13" \ - "\11\3\377\16\14\4\377\21\16\5\377\25\22\6\377\31\25\7\377\35\31\10\377" \ - "!\34\11\377$\37\13\377'#\14\377*%\15\377,'\16\3777.\17\377F7\22\377R" \ - "=\24\377WA\25\377YC\25\377[C\26\377[E\26\377_E\26\377_F\27\377aG\27\377" \ - "pW\40\377\251\226J\377\330\313s\377\343\327}\377\202\343\330~\377\4\343" \ - "\330\201\377\343\330\202\377\343\330\204\377\343\331\206\377\202\343" \ - "\331\207\377\1\343\331\210\377\202\343\331\211\377\202\343\331\212\377" \ - "\203\343\331\214\377\215\343\331\215\377\202\343\331\214\377\203\343" \ - "\331\212\377\1\343\331\211\377\202\343\331\210\377\1\343\331\207\377" \ - "\202\343\331\206\377\17\343\330\204\377\343\330\202\377\343\330\201\377" \ - "\343\330~\377\343\327}\377\343\327{\377\343\326x\377\342\326u\377\342" \ - "\325r\377\342\325n\377\342\324j\377\341\322`\377\325\306U\377\224\210" \ - "6\377JB\27\377\20492\21\377\23""82\20\37771\20\37760\20\3773-\17\377" \ - "0+\17\377-(\16\377+&\15\377'#\14\377$\37\13\377!\34\11\377\35\31\10\377" \ - "\31\25\7\377\26\23\6\377\21\16\5\377\17\15\5\377\13\11\3\377\7\6\2\377" \ - "\5\4\1\377\2\2\1\377\377\0\0\0\377\377\0\0\0\377\371\0\0\0\377\40\1\1" \ - "\0\377\4\3\1\377\6\5\2\377\11\10\3\377\15\13\4\377\20\16\4\377\24\21" \ - "\5\377\30\25\7\377\33\27\10\377\37\33\11\377#\36\12\377%!\13\377($\14" \ - "\377+&\15\377-(\16\3773,\17\377\77""4\20\377M<\23\377YC\25\377[C\26\377" \ - "]E\26\377_F\26\377aG\27\377bH\27\377dG\26\377gM\30\377\221z6\377\277" \ - "\257[\377\343\326x\377\343\327{\377\343\327}\377\343\330~\377\202\343" \ - "\330\201\377\1\343\330\202\377\202\343\330\204\377\202\343\331\206\377" \ - "\202\343\331\207\377\203\343\331\210\377\213\343\331\211\377\203\343" \ - "\331\210\377\202\343\331\207\377\202\343\331\206\377\202\343\330\204" \ - "\377\2\343\330\202\377\343\330\201\377\202\343\330~\377\14\343\327}\377" \ - "\343\327{\377\343\326x\377\342\326u\377\342\325r\377\342\325n\377\342" \ - "\324j\377\342\323f\377\341\322`\377\257\243F\377pf$\377>6\23\377\204" \ - "92\21\377\24""82\20\37771\20\37760\20\3773-\17\3771,\17\377.)\16\377" \ - "+&\15\377($\14\377&!\13\377#\36\12\377\37\33\11\377\33\27\10\377\30\25" \ - "\7\377\24\21\5\377\20\16\4\377\15\13\4\377\11\10\3\377\6\5\2\377\4\3" \ - "\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\373\0\0\0\377\36\1\1\0\377" \ - "\3\3\1\377\5\4\2\377\10\7\3\377\13\11\3\377\17\15\5\377\22\17\5\377\26" \ - "\23\6\377\31\25\7\377\34\30\10\377\40\33\11\377#\36\12\377&!\13\377)" \ - "%\14\377,'\15\377.)\16\3771,\17\3775.\17\377D7\22\377Q>\24\377]E\26\377" \ - "_F\27\377aG\27\377dH\27\377dI\27\377fJ\27\377gJ\27\377sV\36\377\236\210" \ - "\77\377\305\264^\377\202\343\326x\377\2\343\327{\377\343\327}\377\202" \ - "\343\330~\377\202\343\330\201\377\203\343\330\202\377\204\343\330\204" \ - "\377\207\343\331\206\377\204\343\330\204\377\203\343\330\202\377\202" \ - "\343\330\201\377\1\343\330~\377\202\343\327}\377\2\343\327{\377\343\326" \ - "x\377\202\342\326u\377\10\342\325r\377\342\325n\377\342\324j\377\342" \ - "\323f\377\341\322`\377\263\247G\377\200v.\377IA\27\377\20592\21\377\25" \ - "82\20\37771\20\37760\20\3773-\17\3771,\17\377.)\16\377,'\15\377)%\14" \ - "\377&!\13\377#\36\12\377\40\33\11\377\34\30\10\377\31\25\7\377\26\23" \ - "\6\377\22\17\5\377\17\15\4\377\14\12\4\377\10\7\3\377\5\4\2\377\3\3\1" \ - "\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\376\0\0\0\377!\2\2\1\377\4" \ - "\3\1\377\6\5\2\377\12\11\3\377\15\13\4\377\20\16\4\377\23\20\5\377\27" \ - "\24\6\377\32\26\7\377\35\31\10\377!\34\11\377$\37\13\377&!\13\377)%\14" \ - "\377,'\15\377.)\16\3771,\17\3773-\17\3776/\17\377A6\21\377N=\23\377Y" \ - "C\25\377dG\26\377dH\27\377gK\27\377hJ\27\377jL\30\377kM\30\377vX\37\377" \ - "\231\2008\377\273\250U\377\331\313n\377\342\326u\377\202\343\326x\377" \ - "\202\343\327{\377\203\343\327}\377\205\343\330~\377\203\343\330\201\377" \ - "\205\343\330~\377\203\343\327}\377\202\343\327{\377\202\343\326x\377" \ - "\1\342\326u\377\202\342\325r\377\2\342\325n\377\342\324j\377\202\342" \ - "\323f\377\4\321\303Y\377\246\231@\377tj(\377G\77\26\377\20692\21\377" \ - "\25""82\20\37760\20\3775/\17\3773-\17\3771,\17\377.)\16\377,'\15\377" \ - ")%\14\377&!\13\377$\37\13\377!\34\11\377\36\32\11\377\32\26\7\377\27" \ - "\24\6\377\24\21\5\377\20\16\4\377\15\13\4\377\12\11\3\377\7\6\2\377\5" \ - "\4\1\377\2\2\1\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\202\0\0" \ - "\0\377$\1\1\0\377\3\3\1\377\5\4\2\377\10\7\3\377\13\11\3\377\17\15\5" \ - "\377\21\16\5\377\24\21\5\377\30\25\7\377\33\27\10\377\36\32\11\377\"" \ - "\35\12\377$\37\13\377&!\13\377)%\14\377,'\15\377.)\16\3770+\17\3773-" \ - "\17\3775/\17\37760\20\37791\20\377C7\22\377O>\24\377XC\25\377aG\27\377" \ - "jL\30\377lM\30\377lM\27\377nM\30\377pO\31\377\204f%\377\240\206<\377" \ - "\273\246O\377\321\301d\377\342\325r\377\203\342\326u\377\214\343\326" \ - "x\377\203\342\326u\377\203\342\325r\377\1\342\325n\377\202\342\324j\377" \ - "\202\342\323f\377\4\303\266S\377\240\224\77\377{p,\377SK\33\377\2079" \ - "2\21\377\27""82\20\37771\20\37760\20\3775/\17\3773-\17\3770+\17\377." \ - ")\16\377,'\15\377)%\14\377'#\14\377$\37\13\377\"\35\12\377\36\32\11\377" \ - "\33\27\10\377\30\25\7\377\25\22\6\377\21\16\5\377\17\15\5\377\13\11\3" \ - "\377\10\7\3\377\5\4\2\377\3\3\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0" \ - "\377\377\0\0\0\377\205\0\0\0\377(\2\2\1\377\4\3\1\377\6\5\2\377\11\10" \ - "\3\377\14\12\4\377\17\15\4\377\22\17\5\377\25\22\6\377\31\25\7\377\33" \ - "\27\10\377\37\33\11\377\"\35\12\377$\37\13\377&!\13\377)%\14\377+&\15" \ - "\377-(\16\377/*\16\3772-\17\3774.\20\3775/\17\37760\20\37771\20\3778" \ - "2\20\377;3\21\377C7\22\377K<\24\377P>\24\377YC\25\377aG\27\377gK\27\377" \ - "iK\27\377tQ\31\377vS\32\377\215l(\377\237\2048\377\257\230E\377\271\241" \ - "I\377\315\272[\377\320\277_\377\210\342\325n\377\204\342\324j\377\7\342" \ - "\323f\377\303\267W\377\276\261P\377\235\222B\377\215\2016\377tj*\377" \ - "ZR\36\377\21192\21\377\31""82\20\37771\20\37760\20\3775/\17\3774.\20" \ - "\3772-\17\377/*\16\377-(\16\377+&\15\377)%\14\377&!\13\377$\37\13\377" \ - "\"\35\12\377\37\33\11\377\33\27\10\377\31\25\7\377\25\22\6\377\22\17" \ - "\5\377\17\15\4\377\15\13\4\377\11\10\3\377\6\5\2\377\5\4\1\377\2\2\1" \ - "\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\207\0\0\0\377" \ - "\32\1\1\0\377\3\3\1\377\5\4\1\377\7\6\2\377\12\11\3\377\15\13\4\377\17" \ - "\15\4\377\22\17\5\377\25\22\6\377\31\25\7\377\33\27\10\377\36\32\11\377" \ - "\"\35\12\377$\37\13\377&!\13\377($\14\377+&\15\377,'\16\377.)\16\377" \ - "0+\17\3772-\17\3774.\20\3775/\17\37760\20\37771\20\37782\20\377\2119" \ - "2\21\377\1D9\22\377\202F:\23\377\1C7\22\377\20292\21\377\1IB\31\377\203" \ - "ZR!\377\204ZR\40\377\1@8\24\377\21592\21\377\20282\20\377\31""71\20\377" \ - "60\20\3775/\17\3774.\20\3772-\17\3770+\17\377.)\16\377,'\16\377+&\15" \ - "\377($\14\377&!\13\377$\37\13\377\"\35\12\377\37\33\11\377\33\27\10\377" \ - "\31\25\7\377\26\23\6\377\23\20\5\377\20\16\4\377\15\13\4\377\12\11\3" \ - "\377\7\6\2\377\5\4\2\377\3\3\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0" \ - "\377\377\0\0\0\377\213\0\0\0\377\30\2\2\1\377\4\3\1\377\5\4\2\377\10" \ - "\7\3\377\13\11\3\377\15\13\4\377\20\16\4\377\22\17\5\377\25\22\6\377" \ - "\30\25\7\377\32\26\7\377\35\31\10\377!\34\11\377#\36\12\377%!\13\377" \ - "'#\14\377)%\14\377+&\15\377,'\16\377.)\16\3770+\17\3772-\17\3774.\20" \ - "\3775/\17\377\20260\20\377\1""71\20\377\20282\20\377\23492\21\377\202" \ - "82\20\377\1""71\20\377\20260\20\377\30""5/\17\3773-\17\3772-\17\3770" \ - "+\17\377.)\16\377,'\16\377+&\15\377)%\14\377'#\14\377%!\13\377#\36\12" \ - "\377!\34\11\377\36\32\11\377\33\27\10\377\31\25\7\377\26\23\6\377\23" \ - "\20\5\377\20\16\4\377\16\14\4\377\13\11\3\377\10\7\3\377\5\4\2\377\4" \ - "\3\1\377\2\2\1\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\216\0\0" \ - "\0\377\33\1\1\0\377\2\2\1\377\4\3\1\377\5\4\2\377\10\7\3\377\13\11\3" \ - "\377\15\13\4\377\17\15\4\377\22\17\5\377\25\22\6\377\30\25\7\377\31\25" \ - "\7\377\34\30\10\377\37\33\11\377\"\35\12\377$\37\13\377&!\13\377'#\14" \ - "\377)%\14\377+&\15\377,'\16\377.)\16\377/*\16\3771,\17\3772-\17\3774" \ - ".\20\3775/\17\377\20360\20\377\20271\20\377\20382\20\377\21692\21\377" \ - "\20382\20\377\20271\20\377\20360\20\377\33""5/\17\3774.\20\3772-\17\377" \ - "1,\17\377/*\16\377.)\16\377,'\16\377+&\15\377)%\14\377'#\14\377&!\13" \ - "\377$\37\13\377\"\35\12\377\37\33\11\377\34\30\10\377\31\25\7\377\30" \ - "\25\7\377\25\22\6\377\22\17\5\377\20\16\4\377\16\14\4\377\13\11\3\377" \ - "\10\7\3\377\6\5\2\377\4\3\1\377\2\2\1\377\1\1\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\221\0\0\0\377\32\1\1\0\377\2\2\1\377\4\3\1\377" \ - "\5\4\2\377\10\7\3\377\13\11\3\377\15\13\4\377\17\15\4\377\21\16\5\377" \ - "\24\21\5\377\27\24\6\377\31\25\7\377\33\27\10\377\35\31\10\377\40\33" \ - "\11\377\"\35\12\377$\37\13\377&!\13\377'#\14\377)%\14\377*%\15\377,'" \ - "\15\377,'\16\377.)\16\377/*\16\3770+\17\377\2022-\17\377\2""3-\17\377" \ - "4.\20\377\2025/\17\377\22060\20\377\2025/\17\377\36""4.\20\3773-\17\377" \ - "2-\17\3771,\17\3770+\17\377/*\16\377.)\16\377,'\16\377,'\15\377*%\15" \ - "\377)%\14\377'#\14\377&!\13\377$\37\13\377\"\35\12\377\40\33\11\377\35" \ - "\31\10\377\33\27\10\377\31\25\7\377\27\24\6\377\24\21\5\377\21\16\5\377" \ - "\17\15\4\377\15\13\4\377\13\11\3\377\10\7\3\377\6\5\2\377\4\3\1\377\2" \ - "\2\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\225\0\0" \ - "\0\377\33\1\1\0\377\2\2\1\377\4\3\1\377\5\4\2\377\10\7\3\377\12\11\3" \ - "\377\14\12\4\377\17\15\5\377\20\16\4\377\22\17\5\377\25\22\6\377\27\24" \ - "\6\377\31\25\7\377\33\27\10\377\35\31\10\377\37\33\11\377\"\35\12\377" \ - "#\36\12\377%!\13\377&!\13\377'#\14\377)%\14\377*%\15\377+&\15\377,'\15" \ - "\377-(\16\377.)\16\377\202/*\16\377\1""0+\17\377\2021,\17\377\2032-\17" \ - "\377\2063-\17\377\2032-\17\377\2021,\17\377\36""0+\17\377/*\16\377.)" \ - "\16\377-(\16\377,'\16\377,'\15\377+&\15\377*%\15\377)%\14\377'#\14\377" \ - "&!\13\377$\37\13\377#\36\12\377\"\35\12\377\37\33\11\377\35\31\10\377" \ - "\33\27\10\377\31\25\7\377\27\24\6\377\25\22\6\377\22\17\5\377\20\16\4" \ - "\377\17\15\5\377\14\12\4\377\12\11\3\377\10\7\3\377\5\4\2\377\4\3\1\377" \ - "\2\2\1\377\1\1\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\231\0" \ - "\0\0\377\25\1\1\0\377\2\2\1\377\4\3\1\377\5\4\2\377\7\6\2\377\11\10\3" \ - "\377\13\11\3\377\15\13\4\377\17\15\4\377\21\16\5\377\23\20\5\377\25\22" \ - "\6\377\27\24\6\377\31\25\7\377\32\26\7\377\34\30\10\377\36\32\11\377" \ - "\40\33\11\377\"\35\12\377#\36\12\377$\37\13\377\202&!\13\377\4'#\14\377" \ - "($\14\377)%\14\377*%\15\377\202+&\15\377\1,'\15\377\203,'\16\377\206" \ - "-(\16\377\203,'\16\377\1,'\15\377\202+&\15\377\33*%\15\377)%\14\377(" \ - "$\14\377'#\14\377&!\13\377%!\13\377$\37\13\377#\36\12\377\"\35\12\377" \ - "\40\33\11\377\36\32\11\377\34\30\10\377\32\26\7\377\31\25\7\377\27\24" \ - "\6\377\25\22\6\377\23\20\5\377\21\16\5\377\17\15\4\377\15\13\4\377\13" \ - "\11\3\377\11\10\3\377\7\6\2\377\5\4\2\377\4\3\1\377\2\2\1\377\1\1\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\235\0\0\0\377\26\1\1\0\377" \ - "\2\2\1\377\3\3\1\377\5\4\1\377\6\5\2\377\10\7\3\377\12\11\3\377\14\12" \ - "\4\377\16\14\4\377\17\15\4\377\21\16\5\377\22\17\5\377\24\21\5\377\26" \ - "\23\6\377\30\25\7\377\31\25\7\377\33\27\10\377\34\30\10\377\36\32\11" \ - "\377\37\33\11\377!\34\11\377\"\35\12\377\202#\36\12\377\202$\37\13\377" \ - "\1%!\13\377\204&!\13\377\206'#\14\377\204&!\13\377\1%!\13\377\202$\37" \ - "\13\377\202#\36\12\377\26\"\35\12\377\40\33\11\377\37\33\11\377\35\31" \ - "\10\377\34\30\10\377\32\26\7\377\31\25\7\377\30\25\7\377\26\23\6\377" \ - "\24\21\5\377\22\17\5\377\21\16\5\377\17\15\4\377\16\14\4\377\14\12\4" \ - "\377\12\11\3\377\10\7\3\377\6\5\2\377\5\4\1\377\3\3\1\377\2\2\1\377\1" \ - "\1\0\377\377\0\0\0\377\377\0\0\0\377\312\0\0\0\377\206\1\1\1\377\321" \ - "\0\0\0\377\20\1\1\0\377\2\2\1\377\4\3\1\377\5\4\1\377\6\5\2\377\10\7" \ - "\3\377\12\11\3\377\13\11\3\377\15\13\4\377\17\15\5\377\20\16\4\377\21" \ - "\16\5\377\23\20\5\377\24\21\5\377\26\23\6\377\27\24\6\377\202\31\25\7" \ - "\377\6\32\26\7\377\33\27\10\377\34\30\10\377\35\31\10\377\36\32\11\377" \ - "\37\33\11\377\202\40\33\11\377\203!\34\11\377\204\"\35\12\377\203!\34" \ - "\11\377\202\40\33\11\377\6\37\33\11\377\36\32\11\377\35\31\10\377\34" \ - "\30\10\377\33\27\10\377\32\26\7\377\202\31\25\7\377\20\27\24\6\377\26" \ - "\23\6\377\24\21\5\377\23\20\5\377\21\16\5\377\20\16\4\377\17\15\5\377" \ - "\15\13\4\377\13\11\3\377\12\11\3\377\10\7\3\377\6\5\2\377\5\4\1\377\4" \ - "\3\1\377\2\2\1\377\1\1\0\377\226\0\0\0\377\206\1\1\1\377\266\0\0\0\377" \ - "\206\1\1\1\377\377\0\0\0\377\354\0\0\0\377\211\1\1\1\377\204\2\2\2\377" \ - "\210\1\1\1\377\210\0\0\0\377\227\1\1\1\377\214\0\0\0\377\223\1\1\1\377" \ - "\207\0\0\0\377\207\1\1\1\377\202\2\2\1\377\16\4\4\2\377\5\4\2\377\6\5" \ - "\2\377\7\6\3\377\10\7\3\377\12\11\4\377\13\12\4\377\15\13\5\377\16\14" \ - "\5\377\20\16\6\377\20\16\5\377\22\17\6\377\23\20\6\377\24\21\6\377\202" \ - "\25\22\6\377\3\26\23\6\377\27\24\6\377\30\25\7\377\203\31\25\7\377\1" \ - "\32\26\10\377\210\33\27\10\377\204\32\26\10\377\23\31\26\10\377\30\25" \ - "\7\377\27\24\7\377\26\23\7\377\25\22\6\377\24\21\6\377\23\20\6\377\22" \ - "\17\6\377\20\16\5\377\20\16\6\377\16\14\5\377\15\13\5\377\13\12\4\377" \ - "\12\11\4\377\10\7\3\377\7\6\3\377\6\5\2\377\5\4\2\377\4\4\2\377\202\2" \ - "\2\1\377\204\1\1\1\377\214\0\0\0\377\211\1\1\1\377\204\2\2\2\377\210" \ - "\1\1\1\377\205\0\0\0\377\215\1\1\1\377\206\0\0\0\377\230\1\1\1\377\204" \ - "\2\2\2\377\211\1\1\1\377\377\0\0\0\377\340\0\0\0\377\205\1\1\1\377\204" \ - "\2\2\2\377\214\3\3\3\377\204\2\2\2\377\211\1\1\1\377\205\2\2\2\377\213" \ - "\3\3\3\377\205\2\2\2\377\205\1\1\1\377\204\0\0\0\377\205\1\1\1\377\204" \ - "\2\2\2\377\211\3\3\3\377\205\2\2\2\377\210\1\1\1\377\205\2\2\2\377\204" \ - "\3\3\3\377\202\4\4\3\377\202\6\6\4\377\12\10\7\4\377\10\7\5\377\11\10" \ - "\5\377\12\11\5\377\13\12\5\377\14\13\5\377\15\13\5\377\16\14\6\377\17" \ - "\15\6\377\17\15\5\377\202\20\16\5\377\1\21\17\5\377\202\22\17\6\377\1" \ - "\23\20\6\377\202\24\21\6\377\1\25\22\7\377\204\26\23\7\377\202\27\24" \ - "\10\377\203\26\23\10\377\1\25\22\10\377\202\24\21\10\377\15\23\21\7\377" \ - "\22\20\7\377\22\20\10\377\21\17\7\377\20\16\7\377\17\15\7\377\16\14\6" \ - "\377\15\14\6\377\14\13\6\377\12\11\5\377\11\10\5\377\10\7\5\377\10\7" \ - "\4\377\202\6\6\4\377\202\4\4\3\377\1\3\3\3\377\206\2\2\2\377\204\1\1" \ - "\1\377\204\0\0\0\377\204\1\1\1\377\204\2\2\2\377\215\3\3\3\377\226\2" \ - "\2\2\377\206\1\1\1\377\206\2\2\2\377\202\3\3\3\377\212\2\2\2\377\216" \ - "\3\3\3\377\204\2\2\2\377\205\1\1\1\377\377\0\0\0\377\332\0\0\0\377\203" \ - "\1\1\1\377\202\2\2\2\377\205\3\3\3\377\216\4\4\4\377\220\3\3\3\377\215" \ - "\4\4\4\377\206\3\3\3\377\202\2\2\2\377\206\1\1\1\377\202\2\2\2\377\206" \ - "\3\3\3\377\212\4\4\4\377\220\3\3\3\377\211\4\4\4\377\5\5\5\4\377\6\6" \ - "\5\377\7\7\5\377\10\7\5\377\11\10\5\377\202\10\7\5\377\4\11\10\5\377" \ - "\12\11\5\377\13\12\6\377\14\13\6\377\202\15\14\6\377\1\16\14\6\377\202" \ - "\17\15\7\377\203\20\16\7\377\203\21\17\7\377\203\22\20\10\377\203\21" \ - "\17\10\377\202\20\16\10\377\1\17\15\7\377\202\16\15\7\377\5\15\14\7\377" \ - "\14\13\7\377\13\12\6\377\12\11\6\377\11\10\6\377\202\11\10\5\377\4\10" \ - "\7\5\377\7\7\5\377\6\6\5\377\5\5\4\377\207\4\4\4\377\205\3\3\3\377\204" \ - "\2\2\2\377\203\1\1\1\377\203\2\2\2\377\205\3\3\3\377\216\4\4\4\377\241" \ - "\3\3\3\377\233\4\4\4\377\205\3\3\3\377\202\2\2\2\377\203\1\1\1\377\377" \ - "\0\0\0\377\326\0\0\0\377\202\1\1\1\377\202\2\2\2\377\203\3\3\3\377\203" \ - "\4\4\4\377\204\5\5\5\377\212\6\6\6\377\205\5\5\5\377\213\4\4\4\377\205" \ - "\5\5\5\377\207\6\6\6\377\206\5\5\5\377\203\4\4\4\377\212\3\3\3\377\203" \ - "\4\4\4\377\207\5\5\5\377\1\6\6\6\377\230\5\5\5\377\210\6\6\6\377\202" \ - "\5\5\5\377\202\6\6\5\377\2\7\7\6\377\10\10\6\377\202\10\7\5\377\202\11" \ - "\10\5\377\1\11\10\6\377\202\12\11\6\377\203\13\12\6\377\1\14\13\7\377" \ - "\212\15\14\10\377\202\14\13\10\377\1\13\12\10\377\202\13\12\7\377\202" \ - "\12\11\7\377\2\11\11\7\377\10\10\7\377\202\7\7\6\377\210\6\6\6\377\205" \ - "\5\5\5\377\204\4\4\4\377\210\3\3\3\377\204\4\4\4\377\204\5\5\5\377\212" \ - "\6\6\6\377\251\5\5\5\377\223\6\6\6\377\204\5\5\5\377\203\4\4\4\377\203" \ - "\3\3\3\377\202\2\2\2\377\202\1\1\1\377\377\0\0\0\377\322\0\0\0\377\202" \ - "\1\1\1\377\202\2\2\2\377\202\3\3\3\377\202\4\4\4\377\202\5\5\5\377\203" \ - "\6\6\6\377\203\7\7\7\377\212\10\10\10\377\206\7\7\7\377\213\6\6\6\377" \ - "\203\7\7\7\377\211\10\10\10\377\203\7\7\7\377\203\6\6\6\377\215\5\5\5" \ - "\377\203\6\6\6\377\205\7\7\7\377\204\10\10\10\377\225\7\7\7\377\212\10" \ - "\10\10\377\205\7\7\7\377\1\6\6\6\377\202\7\7\6\377\202\10\10\7\377\204" \ - "\11\11\7\377\202\12\11\7\377\205\13\12\10\377\203\14\13\11\377\204\13" \ - "\13\11\377\202\12\12\11\377\202\11\11\10\377\215\10\10\10\377\204\7\7" \ - "\7\377\203\6\6\6\377\213\5\5\5\377\204\6\6\6\377\203\7\7\7\377\215\10" \ - "\10\10\377\214\7\7\7\377\205\6\6\6\377\223\7\7\7\377\225\10\10\10\377" \ - "\203\7\7\7\377\203\6\6\6\377\202\5\5\5\377\202\4\4\4\377\202\3\3\3\377" \ - "\202\2\2\2\377\202\1\1\1\377\377\0\0\0\377\316\0\0\0\377\202\1\1\1\377" \ - "\202\2\2\2\377\202\3\3\3\377\1\4\4\4\377\202\5\5\5\377\202\6\6\6\377" \ - "\202\7\7\7\377\202\10\10\10\377\203\11\11\11\377\212\12\12\12\377\224" \ - "\11\11\11\377\211\12\12\12\377\203\11\11\11\377\205\10\10\10\377\211" \ - "\7\7\7\377\205\10\10\10\377\205\11\11\11\377\203\12\12\12\377\226\11" \ - "\11\11\377\212\12\12\12\377\221\11\11\11\377\204\12\12\11\377\230\12" \ - "\12\12\377\204\11\11\11\377\222\10\10\10\377\203\11\11\11\377\222\12" \ - "\12\12\377\210\11\11\11\377\202\10\10\10\377\224\11\11\11\377\226\12" \ - "\12\12\377\203\11\11\11\377\202\10\10\10\377\202\7\7\7\377\202\6\6\6" \ - "\377\202\5\5\5\377\1\4\4\4\377\202\3\3\3\377\202\2\2\2\377\202\1\1\1" \ - "\377\377\0\0\0\377\313\0\0\0\377\202\1\1\1\377\1\2\2\2\377\202\3\3\3" \ - "\377\1\4\4\4\377\202\5\5\5\377\1\6\6\6\377\202\7\7\7\377\1\10\10\10\377" \ - "\202\11\11\11\377\202\12\12\12\377\203\13\13\13\377\212\14\14\14\377" \ - "\225\13\13\13\377\210\14\14\14\377\203\13\13\13\377\224\12\12\12\377" \ - "\204\13\13\13\377\204\14\14\14\377\225\13\13\13\377\212\14\14\14\377" \ - "\225\13\13\13\377\204\14\14\14\377\221\15\15\15\377\204\14\14\14\377" \ - "\203\13\13\13\377\221\12\12\12\377\204\13\13\13\377\225\14\14\14\377" \ - "\233\13\13\13\377\204\14\14\14\377\214\15\15\15\377\206\14\14\14\377" \ - "\203\13\13\13\377\202\12\12\12\377\202\11\11\11\377\1\10\10\10\377\202" \ - "\7\7\7\377\1\6\6\6\377\202\5\5\5\377\1\4\4\4\377\202\3\3\3\377\1\2\2" \ - "\2\377\202\1\1\1\377\377\0\0\0\377\310\0\0\0\377\202\1\1\1\377\1\2\2" \ - "\2\377\202\3\3\3\377\202\4\4\4\377\4\5\5\5\377\6\6\6\377\7\7\7\377\10" \ - "\10\10\377\202\11\11\11\377\1\12\12\12\377\202\13\13\13\377\202\14\14" \ - "\14\377\203\15\15\15\377\203\16\16\16\377\204\17\17\17\377\214\16\16" \ - "\16\377\212\15\15\15\377\213\16\16\16\377\204\15\15\15\377\217\14\14" \ - "\14\377\206\15\15\15\377\235\16\16\16\377\205\17\17\17\377\231\16\16" \ - "\16\377\207\17\17\17\377\206\20\20\20\377\210\17\17\17\377\202\16\16" \ - "\16\377\207\15\15\15\377\204\14\14\14\377\214\15\15\15\377\204\16\16" \ - "\16\377\203\17\17\17\377\204\16\16\16\377\206\17\17\17\377\207\16\16" \ - "\16\377\211\15\15\15\377\212\16\16\16\377\204\15\15\15\377\204\16\16" \ - "\16\377\221\17\17\17\377\203\16\16\16\377\203\15\15\15\377\202\14\14" \ - "\14\377\202\13\13\13\377\2\12\12\12\377\11\11\11\377\202\10\10\10\377" \ - "\3\7\7\7\377\6\6\6\377\5\5\5\377\202\4\4\4\377\202\3\3\3\377\1\2\2\2" \ - "\377\202\1\1\1\377\377\0\0\0\377\305\0\0\0\377\202\1\1\1\377\1\2\2\2" \ - "\377\202\3\3\3\377\5\4\4\4\377\5\5\5\377\6\6\6\377\7\7\7\377\10\10\10" \ - "\377\202\11\11\11\377\3\12\12\12\377\13\13\13\377\14\14\14\377\202\15" \ - "\15\15\377\1\16\16\16\377\202\17\17\17\377\204\20\20\20\377\206\21\21" \ - "\21\377\230\20\20\20\377\206\21\21\21\377\204\20\20\20\377\224\17\17" \ - "\17\377\235\20\20\20\377\211\21\21\21\377\227\20\20\20\377\205\21\21" \ - "\21\377\215\22\22\22\377\205\21\21\21\377\204\20\20\20\377\216\17\17" \ - "\17\377\210\20\20\20\377\224\21\21\21\377\216\20\20\20\377\203\21\21" \ - "\21\377\212\20\20\20\377\206\21\21\21\377\207\22\22\22\377\207\21\21" \ - "\21\377\204\20\20\20\377\202\17\17\17\377\1\16\16\16\377\202\15\15\15" \ - "\377\3\14\14\14\377\13\13\13\377\12\12\12\377\202\11\11\11\377\5\10\10" \ - "\10\377\7\7\7\377\6\6\6\377\5\5\5\377\4\4\4\377\202\3\3\3\377\1\2\2\2" \ - "\377\202\1\1\1\377\377\0\0\0\377\303\0\0\0\377\202\1\1\1\377\2\2\2\2" \ - "\377\3\3\3\377\202\4\4\4\377\13\5\5\5\377\6\6\6\377\7\7\7\377\10\10\10" \ - "\377\11\11\11\377\12\12\12\377\13\13\13\377\14\14\14\377\15\15\15\377" \ - "\16\16\16\377\17\17\17\377\202\20\20\20\377\202\21\21\21\377\202\22\22" \ - "\22\377\247\23\23\23\377\205\22\22\22\377\217\21\21\21\377\210\22\22" \ - "\22\377\233\23\23\23\377\204\24\24\24\377\232\23\23\23\377\224\24\24" \ - "\24\377\203\23\23\23\377\230\22\22\22\377\206\23\23\23\377\215\24\24" \ - "\24\377\204\23\23\23\377\210\22\22\22\377\223\23\23\23\377\220\24\24" \ - "\24\377\204\23\23\23\377\202\22\22\22\377\202\21\21\21\377\202\20\20" \ - "\20\377\13\17\17\17\377\16\16\16\377\15\15\15\377\14\14\14\377\13\13" \ - "\13\377\12\12\12\377\11\11\11\377\10\10\10\377\7\7\7\377\6\6\6\377\5" \ - "\5\5\377\202\4\4\4\377\2\3\3\3\377\2\2\2\377\202\1\1\1\377\377\0\0\0" \ - "\377\301\0\0\0\377\202\1\1\1\377\20\2\2\2\377\3\3\3\377\4\4\4\377\5\5" \ - "\5\377\6\6\6\377\7\7\7\377\10\10\10\377\11\11\11\377\12\12\12\377\13" \ - "\13\13\377\14\14\14\377\15\15\15\377\16\16\16\377\17\17\17\377\20\20" \ - "\20\377\21\21\21\377\202\22\22\22\377\1\23\23\23\377\202\24\24\24\377" \ - "\204\25\25\25\377\205\26\26\26\377\231\25\25\25\377\204\26\26\26\377" \ - "\204\25\25\25\377\227\24\24\24\377\214\25\25\25\377\206\26\26\26\377" \ - "\211\25\25\25\377\211\26\26\26\377\226\25\25\25\377\204\26\26\26\377" \ - "\220\27\27\27\377\203\26\26\26\377\204\25\25\25\377\222\24\24\24\377" \ - "\207\25\25\25\377\222\26\26\26\377\215\25\25\25\377\205\26\26\26\377" \ - "\211\25\25\25\377\203\26\26\26\377\215\27\27\27\377\203\26\26\26\377" \ - "\204\25\25\25\377\202\24\24\24\377\1\23\23\23\377\202\22\22\22\377\20" \ - "\21\21\21\377\20\20\20\377\17\17\17\377\16\16\16\377\15\15\15\377\14" \ - "\14\14\377\13\13\13\377\12\12\12\377\11\11\11\377\10\10\10\377\7\7\7" \ - "\377\6\6\6\377\5\5\5\377\4\4\4\377\3\3\3\377\2\2\2\377\202\1\1\1\377" \ - "\377\0\0\0\377\277\0\0\0\377\202\1\1\1\377\22\2\2\2\377\3\3\3\377\4\4" \ - "\4\377\5\5\5\377\6\6\6\377\7\7\7\377\10\10\10\377\11\11\11\377\12\12" \ - "\12\377\14\14\14\377\15\15\15\377\16\16\16\377\17\17\17\377\20\20\20" \ - "\377\21\21\21\377\22\22\22\377\23\23\23\377\24\24\24\377\202\25\25\25" \ - "\377\1\26\26\26\377\202\27\27\27\377\203\30\30\30\377\220\31\31\31\377" \ - "\216\30\30\30\377\204\31\31\31\377\203\30\30\30\377\232\27\27\27\377" \ - "\207\30\30\30\377\236\31\31\31\377\220\30\30\30\377\212\31\31\31\377" \ - "\212\32\32\32\377\206\31\31\31\377\203\30\30\30\377\225\27\27\27\377" \ - "\205\30\30\30\377\223\31\31\31\377\213\30\30\30\377\207\31\31\31\377" \ - "\207\30\30\30\377\207\31\31\31\377\206\32\32\32\377\207\31\31\31\377" \ - "\203\30\30\30\377\202\27\27\27\377\1\26\26\26\377\202\25\25\25\377\22" \ - "\24\24\24\377\23\23\23\377\22\22\22\377\21\21\21\377\20\20\20\377\17" \ - "\17\17\377\16\16\16\377\15\15\15\377\14\14\14\377\12\12\12\377\11\11" \ - "\11\377\10\10\10\377\7\7\7\377\6\6\6\377\5\5\5\377\4\4\4\377\3\3\3\377" \ - "\2\2\2\377\202\1\1\1\377\377\0\0\0\377\276\0\0\0\377\26\1\1\1\377\2\2" \ - "\2\377\3\3\3\377\4\4\4\377\5\5\5\377\6\6\6\377\7\7\7\377\10\10\10\377" \ - "\12\12\12\377\13\13\13\377\14\14\14\377\15\15\15\377\17\17\17\377\20" \ - "\20\20\377\21\21\21\377\22\22\22\377\23\23\23\377\24\24\24\377\25\25" \ - "\25\377\26\26\26\377\27\27\27\377\30\30\30\377\202\31\31\31\377\203\32" \ - "\32\32\377\244\33\33\33\377\210\32\32\32\377\207\31\31\31\377\221\32" \ - "\32\32\377\270\33\33\33\377\221\34\34\34\377\203\33\33\33\377\232\32" \ - "\32\32\377\207\33\33\33\377\212\34\34\34\377\205\33\33\33\377\210\32" \ - "\32\32\377\223\33\33\33\377\217\34\34\34\377\203\33\33\33\377\203\32" \ - "\32\32\377\202\31\31\31\377\26\30\30\30\377\27\27\27\377\26\26\26\377" \ - "\25\25\25\377\24\24\24\377\23\23\23\377\22\22\22\377\21\21\21\377\20" \ - "\20\20\377\17\17\17\377\15\15\15\377\14\14\14\377\13\13\13\377\12\12" \ - "\12\377\10\10\10\377\7\7\7\377\6\6\6\377\5\5\5\377\4\4\4\377\3\3\3\377" \ - "\2\2\2\377\1\1\1\377\377\0\0\0\377\275\0\0\0\377\24\1\1\1\377\2\2\2\377" \ - "\3\3\3\377\4\4\4\377\5\5\5\377\6\6\6\377\7\7\7\377\11\11\11\377\12\12" \ - "\12\377\13\13\13\377\15\15\15\377\16\16\16\377\17\17\17\377\20\20\20" \ - "\377\22\22\22\377\23\23\23\377\24\24\24\377\25\25\25\377\26\26\26\377" \ - "\30\30\30\377\202\31\31\31\377\2\32\32\32\377\33\33\33\377\202\34\34" \ - "\34\377\202\35\35\35\377\244\36\36\36\377\204\35\35\35\377\227\34\34" \ - "\34\377\205\35\35\35\377\270\36\36\36\377\221\37\37\37\377\203\36\36" \ - "\36\377\204\35\35\35\377\212\34\34\34\377\215\35\35\35\377\207\36\36" \ - "\36\377\211\37\37\37\377\205\36\36\36\377\211\35\35\35\377\223\36\36" \ - "\36\377\215\37\37\37\377\204\36\36\36\377\202\35\35\35\377\202\34\34" \ - "\34\377\2\33\33\33\377\32\32\32\377\202\31\31\31\377\24\30\30\30\377" \ - "\26\26\26\377\25\25\25\377\24\24\24\377\23\23\23\377\22\22\22\377\20" \ - "\20\20\377\17\17\17\377\16\16\16\377\15\15\15\377\13\13\13\377\12\12" \ - "\12\377\11\11\11\377\7\7\7\377\6\6\6\377\5\5\5\377\4\4\4\377\3\3\3\377" \ - "\2\2\2\377\1\1\1\377\377\0\0\0\377\273\0\0\0\377\202\1\1\1\377\202\3" \ - "\3\3\377\24\4\4\4\377\6\6\6\377\7\7\7\377\10\10\10\377\12\12\12\377\13" \ - "\13\13\377\15\15\15\377\16\16\16\377\20\20\20\377\21\21\21\377\22\22" \ - "\22\377\24\24\24\377\25\25\25\377\26\26\26\377\30\30\30\377\31\31\31" \ - "\377\32\32\32\377\33\33\33\377\34\34\34\377\35\35\35\377\202\36\36\36" \ - "\377\202\37\37\37\377\205\40\40\40\377\217!!!\377\215\40\40\40\377\202" \ - "!!!\377\205\40\40\40\377\231\37\37\37\377\206\40\40\40\377\267!!!\377" \ - "\217\"\"\"\377\203!!!\377\205\40\40\40\377\214\37\37\37\377\215\40\40" \ - "\40\377\221!!!\377\214\40\40\40\377\210!!!\377\206\40\40\40\377\205!" \ - "!!\377\213\"\"\"\377\204!!!\377\202\40\40\40\377\202\37\37\37\377\202" \ - "\36\36\36\377\24\35\35\35\377\34\34\34\377\33\33\33\377\32\32\32\377" \ - "\31\31\31\377\30\30\30\377\26\26\26\377\25\25\25\377\24\24\24\377\22" \ - "\22\22\377\21\21\21\377\20\20\20\377\16\16\16\377\15\15\15\377\13\13" \ - "\13\377\12\12\12\377\10\10\10\377\7\7\7\377\6\6\6\377\4\4\4\377\202\3" \ - "\3\3\377\202\1\1\1\377\377\0\0\0\377\272\0\0\0\377\32\1\1\1\377\2\2\2" \ - "\377\3\3\3\377\4\4\4\377\5\5\5\377\7\7\7\377\10\10\10\377\12\12\12\377" \ - "\13\13\13\377\15\15\15\377\16\16\16\377\20\20\20\377\21\21\21\377\23" \ - "\23\23\377\24\24\24\377\25\25\25\377\27\27\27\377\31\31\31\377\32\32" \ - "\32\377\33\33\33\377\34\34\34\377\35\35\35\377\36\36\36\377\37\37\37" \ - "\377\40\40\40\377!!!\377\202\"\"\"\377\250###\377\231\"\"\"\377\236#" \ - "##\377\1$$$\377\233###\377\204$$$\377\215%%%\377\203$$$\377\205###\377" \ - "\217\"\"\"\377\215###\377\216$$$\377\220###\377\1$$$\377\214###\377\204" \ - "$$$\377\211%%%\377\204$$$\377\203###\377\202\"\"\"\377\32!!!\377\40\40" \ - "\40\377\37\37\37\377\36\36\36\377\35\35\35\377\34\34\34\377\33\33\33" \ - "\377\32\32\32\377\31\31\31\377\27\27\27\377\25\25\25\377\24\24\24\377" \ - "\23\23\23\377\21\21\21\377\20\20\20\377\16\16\16\377\15\15\15\377\13" \ - "\13\13\377\12\12\12\377\10\10\10\377\7\7\7\377\5\5\5\377\4\4\4\377\3" \ - "\3\3\377\2\2\2\377\1\1\1\377\377\0\0\0\377\271\0\0\0\377\31\1\1\1\377" \ - "\2\2\2\377\3\3\3\377\4\4\4\377\5\5\5\377\6\6\6\377\10\10\10\377\11\11" \ - "\11\377\13\13\13\377\15\15\15\377\16\16\16\377\20\20\20\377\21\21\21" \ - "\377\23\23\23\377\24\24\24\377\26\26\26\377\30\30\30\377\31\31\31\377" \ - "\32\32\32\377\34\34\34\377\35\35\35\377\37\37\37\377\40\40\40\377!!!" \ - "\377\"\"\"\377\202###\377\1$$$\377\202%%%\377\245&&&\377\235%%%\377\270" \ - "&&&\377\206'''\377\211(((\377\205'''\377\203&&&\377\227%%%\377\210&&" \ - "&\377\215'''\377\205&&&\377\203%%%\377\226&&&\377\205'''\377\203(((\377" \ - "\210'''\377\202&&&\377\202%%%\377\1$$$\377\202###\377\31\"\"\"\377!!" \ - "!\377\40\40\40\377\37\37\37\377\35\35\35\377\34\34\34\377\32\32\32\377" \ - "\31\31\31\377\30\30\30\377\26\26\26\377\24\24\24\377\23\23\23\377\21" \ - "\21\21\377\20\20\20\377\16\16\16\377\15\15\15\377\13\13\13\377\11\11" \ - "\11\377\10\10\10\377\6\6\6\377\5\5\5\377\4\4\4\377\3\3\3\377\2\2\2\377" \ - "\1\1\1\377\377\0\0\0\377\267\0\0\0\377\202\1\1\1\377\202\3\3\3\377\25" \ - "\5\5\5\377\6\6\6\377\7\7\7\377\11\11\11\377\13\13\13\377\14\14\14\377" \ - "\16\16\16\377\20\20\20\377\21\21\21\377\23\23\23\377\25\25\25\377\26" \ - "\26\26\377\30\30\30\377\32\32\32\377\33\33\33\377\35\35\35\377\36\36" \ - "\36\377\40\40\40\377!!!\377\"\"\"\377###\377\202%%%\377\2&&&\377'''\377" \ - "\203(((\377\242)))\377\207(((\377\217'''\377\213(((\377\267)))\377\205" \ - "***\377\210+++\377\206***\377\202)))\377\233(((\377\205)))\377\214**" \ - "*\377\203)))\377\212(((\377\222)))\377\217***\377\202)))\377\203(((\377" \ - "\2'''\377&&&\377\202%%%\377\27###\377\"\"\"\377!!!\377\40\40\40\377\36" \ - "\36\36\377\35\35\35\377\33\33\33\377\32\32\32\377\30\30\30\377\26\26" \ - "\26\377\25\25\25\377\23\23\23\377\21\21\21\377\20\20\20\377\16\16\16" \ - "\377\14\14\14\377\13\13\13\377\11\11\11\377\7\7\7\377\6\6\6\377\5\5\5" \ - "\377\3\3\3\377\2\2\2\377\202\1\1\1\377\377\0\0\0\377\266\0\0\0\377\34" \ - "\1\1\1\377\2\2\2\377\3\3\3\377\4\4\4\377\5\5\5\377\7\7\7\377\10\10\10" \ - "\377\12\12\12\377\14\14\14\377\15\15\15\377\20\20\20\377\21\21\21\377" \ - "\23\23\23\377\24\24\24\377\26\26\26\377\30\30\30\377\32\32\32\377\33" \ - "\33\33\377\35\35\35\377\37\37\37\377\40\40\40\377\"\"\"\377###\377%%" \ - "%\377&&&\377'''\377(((\377)))\377\202***\377\207+++\377\211,,,\377\232" \ - "+++\377\223***\377\213+++\377\235,,,\377\222+++\377\206,,,\377\220--" \ - "-\377\203,,,\377\210+++\377\206***\377\220+++\377\207,,,\377\204---\377" \ - "\206,,,\377\215+++\377\206,,,\377\210+++\377\203,,,\377\215---\377\203" \ - ",,,\377\202+++\377\202***\377\34)))\377(((\377'''\377&&&\377%%%\377#" \ - "##\377\"\"\"\377\40\40\40\377\37\37\37\377\35\35\35\377\33\33\33\377" \ - "\32\32\32\377\30\30\30\377\26\26\26\377\24\24\24\377\23\23\23\377\21" \ - "\21\21\377\20\20\20\377\15\15\15\377\14\14\14\377\12\12\12\377\10\10" \ - "\10\377\7\7\7\377\5\5\5\377\4\4\4\377\3\3\3\377\2\2\2\377\1\1\1\377\377" \ - "\0\0\0\377\266\0\0\0\377\1\1\1\1\377\202\3\3\3\377\27\5\5\5\377\6\6\6" \ - "\377\10\10\10\377\11\11\11\377\13\13\13\377\15\15\15\377\17\17\17\377" \ - "\21\21\21\377\22\22\22\377\24\24\24\377\26\26\26\377\30\30\30\377\32" \ - "\32\32\377\34\34\34\377\36\36\36\377\37\37\37\377!!!\377###\377$$$\377" \ - "&&&\377'''\377(((\377***\377\202+++\377\2,,,\377---\377\247...\377\233" \ - "---\377\231...\377\207///\377\230...\377\205///\377\214000\377\204//" \ - "/\377\204...\377\224---\377\210...\377\217///\377\217...\377\203///\377" \ - "\213...\377\205///\377\207000\377\205///\377\203...\377\2---\377,,,\377" \ - "\202+++\377\27***\377(((\377'''\377&&&\377$$$\377###\377!!!\377\37\37" \ - "\37\377\36\36\36\377\34\34\34\377\32\32\32\377\30\30\30\377\26\26\26" \ - "\377\24\24\24\377\22\22\22\377\21\21\21\377\17\17\17\377\15\15\15\377" \ - "\13\13\13\377\11\11\11\377\10\10\10\377\6\6\6\377\5\5\5\377\202\3\3\3" \ - "\377\1\1\1\1\377\377\0\0\0\377\265\0\0\0\377\36\1\1\1\377\2\2\2\377\3" \ - "\3\3\377\4\4\4\377\5\5\5\377\7\7\7\377\11\11\11\377\12\12\12\377\14\14" \ - "\14\377\16\16\16\377\20\20\20\377\22\22\22\377\24\24\24\377\26\26\26" \ - "\377\30\30\30\377\32\32\32\377\33\33\33\377\36\36\36\377\37\37\37\377" \ - "!!!\377###\377%%%\377&&&\377(((\377***\377+++\377,,,\377---\377...\377" \ - "///\377\202000\377\244111\377\206000\377\220///\377\211000\377\27111" \ - "1\377\221222\377\203111\377\210000\377\204///\377\217000\377\211111\377" \ - "\203222\377\210111\377\212000\377\223111\377\215222\377\204111\377\202" \ - "000\377\36///\377...\377---\377,,,\377+++\377***\377(((\377&&&\377%%" \ - "%\377###\377!!!\377\37\37\37\377\36\36\36\377\33\33\33\377\32\32\32\377" \ - "\30\30\30\377\26\26\26\377\24\24\24\377\22\22\22\377\20\20\20\377\16" \ - "\16\16\377\14\14\14\377\12\12\12\377\11\11\11\377\7\7\7\377\5\5\5\377" \ - "\4\4\4\377\3\3\3\377\2\2\2\377\1\1\1\377\377\0\0\0\377\264\0\0\0\377" \ - "!\1\1\1\377\2\2\2\377\3\3\3\377\5\5\5\377\6\6\6\377\10\10\10\377\12\12" \ - "\12\377\13\13\13\377\15\15\15\377\17\17\17\377\21\21\21\377\23\23\23" \ - "\377\25\25\25\377\27\27\27\377\31\31\31\377\33\33\33\377\35\35\35\377" \ - "\37\37\37\377!!!\377###\377%%%\377'''\377)))\377***\377,,,\377---\377" \ - "///\377000\377LLL\377}}}\377\220\220\220\377\255\255\255\377\306\306" \ - "\306\377\205\326\326\326\377\5\267\267\267\377\256\256\256\377\205\205" \ - "\205\377ppp\377BBB\377\211444\377\203333\377\202444\377\1aaa\377\214" \ - "\205\205\205\377\3\204\204\204\377xxx\377TTT\377\223222\377\4JJJ\377" \ - "ggg\377\205\205\205\377\225\225\225\377\202\255\255\255\377\202\256\256" \ - "\256\377\4\242\242\242\377\205\205\205\377|||\377XXX\377\215444\377\2" \ - ";;;\377ttt\377\216\205\205\205\377\2rrr\377UUU\377\215444\377\2""999" \ - "\377iii\377\206\205\205\205\377\221\206\206\206\377\205\205\205\205\377" \ - "\3\204\204\204\377eee\377CCC\377\222222\377\5YYY\377\205\205\205\377" \ - "\232\232\232\377\255\255\255\377\317\317\317\377\205\326\326\326\377" \ - "\5\256\256\256\377\242\242\242\377\205\205\205\377fff\377666\377\211" \ - "444\377\202333\377\1\200\200\200\377\205\205\205\205\377\2UUU\377333" \ - "\377\212444\377\1EEE\377\207\205\205\205\377\1EEE\377\207555\377\5AA" \ - "A\377ppp\377\206\206\206\377\256\256\256\377\270\270\270\377\205\326" \ - "\326\326\377\40\305\305\305\377\255\255\255\377\220\220\220\377|||\377" \ - "KKK\377///\377---\377,,,\377***\377)))\377'''\377%%%\377###\377!!!\377" \ - "\37\37\37\377\35\35\35\377\33\33\33\377\31\31\31\377\27\27\27\377\25" \ - "\25\25\377\23\23\23\377\21\21\21\377\17\17\17\377\15\15\15\377\13\13" \ - "\13\377\12\12\12\377\10\10\10\377\6\6\6\377\5\5\5\377\3\3\3\377\2\2\2" \ - "\377\1\1\1\377\377\0\0\0\377\263\0\0\0\377\202\1\1\1\377\33\3\3\3\377" \ - "\4\4\4\377\5\5\5\377\7\7\7\377\11\11\11\377\12\12\12\377\14\14\14\377" \ - "\16\16\16\377\20\20\20\377\22\22\22\377\24\24\24\377\27\27\27\377\31" \ - "\31\31\377\33\33\33\377\35\35\35\377\37\37\37\377!!!\377###\377%%%\377" \ - "'''\377)))\377+++\377---\377...\377<<<\377\222\222\222\377\342\342\342" \ - "\377\217\377\377\377\377\2\311\311\311\377{{{\377\212666\377\2^^^\377" \ - "\336\336\336\377\220\377\377\377\377\4\361\361\361\377\256\256\256\377" \ - "TTT\377555\377\211444\377\203555\377\3YYY\377\247\247\247\377\354\354" \ - "\354\377\214\377\377\377\377\3\363\363\363\377\304\304\304\377sss\377" \ - "\211666\377\2}}}\377\366\366\366\377\221\377\377\377\377\3\356\356\356" \ - "\377\245\245\245\377RRR\377\211666\377\2xxx\377\354\354\354\377\240\377" \ - "\377\377\377\3\327\327\327\377\217\217\217\377\77\77\77\377\214555\377" \ - "\3RRR\377\251\251\251\377\356\356\356\377\216\377\377\377\377\3\370\370" \ - "\370\377\270\270\270\377aaa\377\203777\377\206666\377\1\363\363\363\377" \ - "\205\377\377\377\377\1\211\211\211\377\212666\377\2===\377\324\324\324" \ - "\377\206\377\377\377\377\1\240\240\240\377\206777\377\2~~~\377\311\311" \ - "\311\377\217\377\377\377\377\32\342\342\342\377\221\221\221\377:::\377" \ - "---\377+++\377)))\377'''\377%%%\377###\377!!!\377\37\37\37\377\35\35" \ - "\35\377\33\33\33\377\31\31\31\377\27\27\27\377\24\24\24\377\22\22\22" \ - "\377\20\20\20\377\16\16\16\377\14\14\14\377\12\12\12\377\11\11\11\377" \ - "\7\7\7\377\5\5\5\377\4\4\4\377\3\3\3\377\202\1\1\1\377\377\0\0\0\377" \ - "\262\0\0\0\377\33\1\1\1\377\2\2\2\377\3\3\3\377\4\4\4\377\6\6\6\377\10" \ - "\10\10\377\11\11\11\377\13\13\13\377\15\15\15\377\20\20\20\377\21\21" \ - "\21\377\24\24\24\377\25\25\25\377\30\30\30\377\32\32\32\377\34\34\34" \ - "\377\36\36\36\377\40\40\40\377###\377%%%\377'''\377)))\377+++\377---" \ - "\377///\377www\377\361\361\361\377\223\377\377\377\377\2\332\332\332" \ - "\377VVV\377\207888\377\2FFF\377\357\357\357\377\224\377\377\377\377\2" \ - "\246\246\246\377>>>\377\211777\377\2CCC\377\266\266\266\377\222\377\377" \ - "\377\377\2\323\323\323\377RRR\377\206888\377\2[[[\377\372\372\372\377" \ - "\224\377\377\377\377\2\370\370\370\377\212\212\212\377\207888\377\2b" \ - "bb\377\375\375\375\377\243\377\377\377\377\2\352\352\352\377aaa\377\211" \ - "777\377\3""999\377\241\241\241\377\372\372\372\377\223\377\377\377\377" \ - "\2\276\276\276\377BBB\377\203999\377\204888\377\1\363\363\363\377\205" \ - "\377\377\377\377\1\212\212\212\377\211888\377\2===\377\313\313\313\377" \ - "\206\377\377\377\377\1\262\262\262\377\205999\377\2WWW\377\332\332\332" \ - "\377\223\377\377\377\377\32\360\360\360\377vvv\377---\377+++\377)))\377" \ - "'''\377%%%\377###\377\40\40\40\377\36\36\36\377\34\34\34\377\32\32\32" \ - "\377\30\30\30\377\25\25\25\377\24\24\24\377\21\21\21\377\20\20\20\377" \ - "\15\15\15\377\13\13\13\377\11\11\11\377\10\10\10\377\6\6\6\377\4\4\4" \ - "\377\3\3\3\377\2\2\2\377\1\1\1\377\377\0\0\0\377\262\0\0\0\377\31\1\1" \ - "\1\377\2\2\2\377\3\3\3\377\5\5\5\377\6\6\6\377\10\10\10\377\12\12\12" \ - "\377\14\14\14\377\16\16\16\377\20\20\20\377\22\22\22\377\24\24\24\377" \ - "\27\27\27\377\31\31\31\377\33\33\33\377\36\36\36\377\40\40\40\377\"\"" \ - "\"\377$$$\377'''\377)))\377+++\377---\377///\377\231\231\231\377\226" \ - "\377\377\377\377\2\366\366\366\377ddd\377\206:::\377\1\224\224\224\377" \ - "\226\377\377\377\377\2\316\316\316\377EEE\377\207999\377\2NNN\377\341" \ - "\341\341\377\224\377\377\377\377\2\361\361\361\377]]]\377\205:::\377" \ - "\1\240\240\240\377\227\377\377\377\377\1\224\224\224\377\206:::\377\1" \ - "\271\271\271\377\245\377\377\377\377\2\363\363\363\377UUU\377\207999" \ - "\377\2>>>\377\311\311\311\377\226\377\377\377\377\2\341\341\341\377J" \ - "JJ\377\206:::\377\1\363\363\363\377\205\377\377\377\377\1\213\213\213" \ - "\377\211:::\377\1\271\271\271\377\206\377\377\377\377\2\276\276\276\377" \ - "<<<\377\204;;;\377\2eee\377\366\366\366\377\226\377\377\377\377\30\226" \ - "\226\226\377---\377+++\377)))\377'''\377$$$\377\"\"\"\377\40\40\40\377" \ - "\36\36\36\377\33\33\33\377\31\31\31\377\27\27\27\377\24\24\24\377\22" \ - "\22\22\377\20\20\20\377\16\16\16\377\14\14\14\377\12\12\12\377\10\10" \ - "\10\377\6\6\6\377\5\5\5\377\3\3\3\377\2\2\2\377\1\1\1\377\377\0\0\0\377" \ - "\262\0\0\0\377\30\1\1\1\377\3\3\3\377\4\4\4\377\5\5\5\377\7\7\7\377\11" \ - "\11\11\377\13\13\13\377\15\15\15\377\17\17\17\377\21\21\21\377\23\23" \ - "\23\377\25\25\25\377\30\30\30\377\32\32\32\377\34\34\34\377\37\37\37" \ - "\377!!!\377###\377&&&\377(((\377+++\377---\377///\377zzz\377\230\377" \ - "\377\377\377\2\357\357\357\377QQQ\377\205<<<\377\1\274\274\274\377\227" \ - "\377\377\377\377\1\303\303\303\377\206:::\377\2\77\77\77\377\334\334" \ - "\334\377\226\377\377\377\377\2\352\352\352\377JJJ\377\204<<<\377\1\272" \ - "\272\272\377\230\377\377\377\377\1jjj\377\205<<<\377\1\341\341\341\377" \ - "\246\377\377\377\377\1\325\325\325\377\207;;;\377\1\263\263\263\377\230" \ - "\377\377\377\377\2\324\324\324\377\77\77\77\377\202===\377\203<<<\377" \ - "\1\364\364\364\377\205\377\377\377\377\1\214\214\214\377\210<<<\377\1" \ - "\254\254\254\377\206\377\377\377\377\2\312\312\312\377BBB\377\204===" \ - "\377\2TTT\377\357\357\357\377\230\377\377\377\377\27vvv\377---\377++" \ - "+\377(((\377&&&\377###\377!!!\377\37\37\37\377\34\34\34\377\32\32\32" \ - "\377\30\30\30\377\25\25\25\377\23\23\23\377\21\21\21\377\17\17\17\377" \ - "\15\15\15\377\13\13\13\377\11\11\11\377\7\7\7\377\5\5\5\377\4\4\4\377" \ - "\3\3\3\377\1\1\1\377\377\0\0\0\377\261\0\0\0\377\31\1\1\1\377\2\2\2\377" \ - "\3\3\3\377\4\4\4\377\6\6\6\377\10\10\10\377\11\11\11\377\13\13\13\377" \ - "\15\15\15\377\20\20\20\377\22\22\22\377\24\24\24\377\26\26\26\377\31" \ - "\31\31\377\33\33\33\377\36\36\36\377\40\40\40\377###\377%%%\377'''\377" \ - "***\377,,,\377...\377\77\77\77\377\361\361\361\377\207\377\377\377\377" \ - "\3\355\355\355\377\251\251\251\377\212\212\212\377\204eee\377\4lll\377" \ - "\214\214\214\377\277\277\277\377\372\372\372\377\207\377\377\377\377" \ - "\2\306\306\306\377===\377\204>>>\377\1\306\306\306\377\206\377\377\377" \ - "\377\1\267\267\267\377\206\214\214\214\377\3\216\216\216\377\262\262" \ - "\262\377\341\341\341\377\210\377\377\377\377\1\201\201\201\377\205<<" \ - "<\377\1\241\241\241\377\207\377\377\377\377\3\366\366\366\377\300\300" \ - "\300\377\231\231\231\377\204\214\214\214\377\2\247\247\247\377\324\324" \ - "\324\377\210\377\377\377\377\1\251\251\251\377\204>>>\377\1\273\273\273" \ - "\377\205\377\377\377\377\2\375\375\375\377\247\247\247\377\207\214\214" \ - "\214\377\3\245\245\245\377\275\275\275\377\355\355\355\377\207\377\377" \ - "\377\377\1\326\326\326\377\205>>>\377\1\361\361\361\377\205\377\377\377" \ - "\377\2\364\364\364\377\240\240\240\377\211\214\214\214\377\1\320\320" \ - "\320\377\205\377\377\377\377\1\353\353\353\377\206\214\214\214\377\3" \ - "\227\227\227\377\273\273\273\377\364\364\364\377\207\377\377\377\377" \ - "\2qqq\377===\377\202<<<\377\202===\377\1kkk\377\210\377\377\377\377\3" \ - "\335\335\335\377\236\236\236\377\201\201\201\377\204eee\377\3www\377" \ - "\225\225\225\377\317\317\317\377\210\377\377\377\377\1\220\220\220\377" \ - "\205>>>\377\1\364\364\364\377\205\377\377\377\377\1\215\215\215\377\207" \ - ">>>\377\1\231\231\231\377\206\377\377\377\377\2\326\326\326\377FFF\377" \ - "\205\77\77\77\377\1\307\307\307\377\207\377\377\377\377\4\372\372\372" \ - "\377\302\302\302\377\216\216\216\377nnn\377\204eee\377\3\207\207\207" \ - "\377\251\251\251\377\357\357\357\377\207\377\377\377\377\30\360\360\360" \ - "\377===\377,,,\377***\377'''\377%%%\377###\377\40\40\40\377\36\36\36" \ - "\377\33\33\33\377\31\31\31\377\26\26\26\377\24\24\24\377\22\22\22\377" \ - "\20\20\20\377\15\15\15\377\13\13\13\377\11\11\11\377\10\10\10\377\6\6" \ - "\6\377\4\4\4\377\3\3\3\377\2\2\2\377\1\1\1\377\377\0\0\0\377\260\0\0" \ - "\0\377\30\1\1\1\377\2\2\2\377\3\3\3\377\5\5\5\377\6\6\6\377\10\10\10" \ - "\377\12\12\12\377\14\14\14\377\16\16\16\377\20\20\20\377\22\22\22\377" \ - "\25\25\25\377\27\27\27\377\32\32\32\377\34\34\34\377\37\37\37\377!!!" \ - "\377###\377&&&\377(((\377+++\377---\377000\377\232\232\232\377\206\377" \ - "\377\377\377\3\375\375\375\377\231\231\231\377DDD\377\211@@@\377\2VV" \ - "V\377\313\313\313\377\207\377\377\377\377\1ccc\377\204\77\77\77\377\1" \ - "\307\307\307\377\205\377\377\377\377\2\313\313\313\377@@@\377\205AAA" \ - "\377\204@@@\377\2zzz\377\355\355\355\377\206\377\377\377\377\2\346\346" \ - "\346\377@@@\377\203>>>\377\2GGG\377\364\364\364\377\206\377\377\377\377" \ - "\2\273\273\273\377KKK\377\202@@@\377\203AAA\377\203@@@\377\2ddd\377\331" \ - "\331\331\377\206\377\377\377\377\2\366\366\366\377FFF\377\203\77\77\77" \ - "\377\1\273\273\273\377\205\377\377\377\377\2\320\320\320\377@@@\377\206" \ - "AAA\377\203@@@\377\2GGG\377\254\254\254\377\207\377\377\377\377\1aaa" \ - "\377\204\77\77\77\377\1\364\364\364\377\205\377\377\377\377\2\243\243" \ - "\243\377@@@\377\211AAA\377\1\261\261\261\377\205\377\377\377\377\1\335" \ - "\335\335\377\204AAA\377\204@@@\377\2KKK\377\313\313\313\377\206\377\377" \ - "\377\377\1\271\271\271\377\205>>>\377\1\317\317\317\377\206\377\377\377" \ - "\377\2\355\355\355\377zzz\377\212@@@\377\2kkk\377\344\344\344\377\206" \ - "\377\377\377\377\2\357\357\357\377DDD\377\204@@@\377\1\364\364\364\377" \ - "\205\377\377\377\377\1\217\217\217\377\206\77\77\77\377\1\212\212\212" \ - "\377\206\377\377\377\377\2\335\335\335\377KKK\377\205@@@\377\1ddd\377" \ - "\207\377\377\377\377\2\305\305\305\377RRR\377\211@@@\377\2DDD\377\234" \ - "\234\234\377\207\377\377\377\377\27\231\231\231\377---\377+++\377(((" \ - "\377&&&\377###\377!!!\377\37\37\37\377\34\34\34\377\32\32\32\377\27\27" \ - "\27\377\25\25\25\377\22\22\22\377\20\20\20\377\16\16\16\377\14\14\14" \ - "\377\12\12\12\377\10\10\10\377\6\6\6\377\5\5\5\377\3\3\3\377\2\2\2\377" \ - "\1\1\1\377\377\0\0\0\377\260\0\0\0\377\30\1\1\1\377\2\2\2\377\3\3\3\377" \ - "\5\5\5\377\7\7\7\377\11\11\11\377\12\12\12\377\15\15\15\377\17\17\17" \ - "\377\21\21\21\377\23\23\23\377\25\25\25\377\30\30\30\377\32\32\32\377" \ - "\35\35\35\377\40\40\40\377\"\"\"\377%%%\377'''\377***\377,,,\377///\377" \ - "333\377\354\354\354\377\206\377\377\377\377\1\201\201\201\377\214AAA" \ - "\377\2BBB\377\302\302\302\377\206\377\377\377\377\1\267\267\267\377\204" \ - "@@@\377\1\307\307\307\377\205\377\377\377\377\1\274\274\274\377\210B" \ - "BB\377\203AAA\377\2WWW\377\362\362\362\377\206\377\377\377\377\1sss\377" \ - "\203\77\77\77\377\1\203\203\203\377\206\377\377\377\377\1\300\300\300" \ - "\377\202AAA\377\207BBB\377\202AAA\377\2JJJ\377\342\342\342\377\206\377" \ - "\377\377\377\1xxx\377\203@@@\377\1\274\274\274\377\205\377\377\377\377" \ - "\1\307\307\307\377\211BBB\377\203AAA\377\1\276\276\276\377\206\377\377" \ - "\377\377\1\223\223\223\377\204@@@\377\1\364\364\364\377\205\377\377\377" \ - "\377\1\233\233\233\377\212BBB\377\1\261\261\261\377\205\377\377\377\377" \ - "\1\336\336\336\377\207BBB\377\202AAA\377\2LLL\377\353\353\353\377\205" \ - "\377\377\377\377\1\350\350\350\377\204\77\77\77\377\1___\377\206\377" \ - "\377\377\377\2\364\364\364\377]]]\377\214AAA\377\2QQQ\377\346\346\346" \ - "\377\206\377\377\377\377\1\202\202\202\377\204AAA\377\1\364\364\364\377" \ - "\205\377\377\377\377\1\217\217\217\377\203AAA\377\202@@@\377\2zzz\377" \ - "\375\375\375\377\205\377\377\377\377\4\344\344\344\377SSS\377AAA\377" \ - "BBB\377\204AAA\377\1\261\261\261\377\206\377\377\377\377\1\276\276\276" \ - "\377\214AAA\377\2@@@\377\212\212\212\377\206\377\377\377\377\27\354\354" \ - "\354\377111\377,,,\377***\377'''\377%%%\377\"\"\"\377\40\40\40\377\35" \ - "\35\35\377\32\32\32\377\30\30\30\377\25\25\25\377\23\23\23\377\21\21" \ - "\21\377\17\17\17\377\15\15\15\377\12\12\12\377\11\11\11\377\7\7\7\377" \ - "\5\5\5\377\3\3\3\377\2\2\2\377\1\1\1\377\377\0\0\0\377\260\0\0\0\377" \ - "\27\1\1\1\377\2\2\2\377\4\4\4\377\5\5\5\377\7\7\7\377\11\11\11\377\13" \ - "\13\13\377\15\15\15\377\20\20\20\377\21\21\21\377\24\24\24\377\26\26" \ - "\26\377\31\31\31\377\33\33\33\377\36\36\36\377\40\40\40\377###\377&&" \ - "&\377(((\377+++\377---\377000\377bbb\377\206\377\377\377\377\2\300\300" \ - "\300\377AAA\377\213BBB\377\202AAA\377\2LLL\377\362\362\362\377\205\377" \ - "\377\377\377\2\362\362\362\377CCC\377\203AAA\377\1\307\307\307\377\205" \ - "\377\377\377\377\1\274\274\274\377\214BBB\377\1\211\211\211\377\206\377" \ - "\377\377\377\1\252\252\252\377\203@@@\377\1\260\260\260\377\205\377\377" \ - "\377\377\2\373\373\373\377RRR\377\214BBB\377\1zzz\377\206\377\377\377" \ - "\377\1\237\237\237\377\203AAA\377\1\274\274\274\377\205\377\377\377\377" \ - "\1\307\307\307\377\214BBB\377\1fff\377\206\377\377\377\377\1\263\263" \ - "\263\377\204AAA\377\1\364\364\364\377\205\377\377\377\377\1\233\233\233" \ - "\377\212BBB\377\1\261\261\261\377\205\377\377\377\377\1\336\336\336\377" \ - "\212BBB\377\1\246\246\246\377\206\377\377\377\377\1GGG\377\203@@@\377" \ - "\1\232\232\232\377\206\377\377\377\377\2\224\224\224\377AAA\377\213B" \ - "BB\377\202AAA\377\1ppp\377\206\377\377\377\377\1\274\274\274\377\204" \ - "BBB\377\1\364\364\364\377\205\377\377\377\377\2\220\220\220\377BBB\377" \ - "\203AAA\377\2nnn\377\370\370\370\377\205\377\377\377\377\2\353\353\353" \ - "\377]]]\377\207BBB\377\1\351\351\351\377\205\377\377\377\377\2\362\362" \ - "\362\377JJJ\377\214BBB\377\3AAA\377@@@\377\302\302\302\377\206\377\377" \ - "\377\377\26aaa\377---\377+++\377(((\377&&&\377###\377\40\40\40\377\36" \ - "\36\36\377\33\33\33\377\31\31\31\377\26\26\26\377\24\24\24\377\21\21" \ - "\21\377\17\17\17\377\15\15\15\377\13\13\13\377\11\11\11\377\7\7\7\377" \ - "\5\5\5\377\4\4\4\377\2\2\2\377\1\1\1\377\377\0\0\0\377\260\0\0\0\377" \ - "\27\1\1\1\377\3\3\3\377\4\4\4\377\5\5\5\377\7\7\7\377\11\11\11\377\13" \ - "\13\13\377\15\15\15\377\20\20\20\377\22\22\22\377\24\24\24\377\27\27" \ - "\27\377\31\31\31\377\34\34\34\377\37\37\37\377!!!\377$$$\377'''\377)" \ - "))\377,,,\377...\377111\377\224\224\224\377\206\377\377\377\377\1www" \ - "\377\217BBB\377\1\250\250\250\377\206\377\377\377\377\1___\377\203BB" \ - "B\377\1\307\307\307\377\205\377\377\377\377\1\274\274\274\377\214BBB" \ - "\377\2III\377\366\366\366\377\205\377\377\377\377\1\320\320\320\377\203" \ - "AAA\377\1\322\322\322\377\205\377\377\377\377\1\314\314\314\377\215B" \ - "BB\377\2DDD\377\370\370\370\377\205\377\377\377\377\1\266\266\266\377" \ - "\203BBB\377\1\274\274\274\377\205\377\377\377\377\1\307\307\307\377\215" \ - "BBB\377\1\353\353\353\377\205\377\377\377\377\1\305\305\305\377\204B" \ - "BB\377\1\364\364\364\377\205\377\377\377\377\1\233\233\233\377\212BB" \ - "B\377\1\261\261\261\377\205\377\377\377\377\1\336\336\336\377\212BBB" \ - "\377\1|||\377\206\377\377\377\377\1ZZZ\377\203AAA\377\1\314\314\314\377" \ - "\205\377\377\377\377\2\373\373\373\377III\377\217BBB\377\1\325\325\325" \ - "\377\205\377\377\377\377\1\355\355\355\377\204BBB\377\1\364\364\364\377" \ - "\205\377\377\377\377\1\220\220\220\377\203BBB\377\2ccc\377\364\364\364" \ - "\377\205\377\377\377\377\2\362\362\362\377ccc\377\207BBB\377\1___\377" \ - "\206\377\377\377\377\1\261\261\261\377\216BBB\377\2AAA\377hhh\377\206" \ - "\377\377\377\377\26\222\222\222\377...\377,,,\377)))\377&&&\377$$$\377" \ - "!!!\377\37\37\37\377\34\34\34\377\31\31\31\377\27\27\27\377\24\24\24" \ - "\377\22\22\22\377\20\20\20\377\15\15\15\377\13\13\13\377\11\11\11\377" \ - "\7\7\7\377\5\5\5\377\4\4\4\377\3\3\3\377\1\1\1\377\377\0\0\0\377\260" \ - "\0\0\0\377\27\1\1\1\377\3\3\3\377\4\4\4\377\6\6\6\377\10\10\10\377\12" \ - "\12\12\377\14\14\14\377\16\16\16\377\20\20\20\377\22\22\22\377\25\25" \ - "\25\377\27\27\27\377\32\32\32\377\34\34\34\377\37\37\37\377\"\"\"\377" \ - "%%%\377'''\377***\377---\377///\377222\377\272\272\272\377\205\377\377" \ - "\377\377\2\370\370\370\377III\377\217BBB\377\1jjj\377\206\377\377\377" \ - "\377\1\205\205\205\377\203BBB\377\1\307\307\307\377\205\377\377\377\377" \ - "\1\274\274\274\377\215BBB\377\1\323\323\323\377\205\377\377\377\377\1" \ - "\347\347\347\377\203BBB\377\1\351\351\351\377\205\377\377\377\377\1\266" \ - "\266\266\377\216BBB\377\1\347\347\347\377\205\377\377\377\377\1\301\301" \ - "\301\377\203BBB\377\1\274\274\274\377\205\377\377\377\377\1\307\307\307" \ - "\377\215BBB\377\1\314\314\314\377\205\377\377\377\377\1\307\307\307\377" \ - "\204BBB\377\1\364\364\364\377\205\377\377\377\377\1\233\233\233\377\212" \ - "BBB\377\1\261\261\261\377\205\377\377\377\377\1\336\336\336\377\212B" \ - "BB\377\1nnn\377\206\377\377\377\377\1ccc\377\203BBB\377\1\357\357\357" \ - "\377\205\377\377\377\377\1\323\323\323\377\220BBB\377\1\235\235\235\377" \ - "\206\377\377\377\377\1TTT\377\203BBB\377\1\364\364\364\377\205\377\377" \ - "\377\377\1\220\220\220\377\202BBB\377\2VVV\377\353\353\353\377\205\377" \ - "\377\377\377\2\370\370\370\377jjj\377\210BBB\377\1\205\205\205\377\206" \ - "\377\377\377\377\1~~~\377\217BBB\377\2AAA\377\357\357\357\377\205\377" \ - "\377\377\377\26\271\271\271\377///\377---\377***\377'''\377%%%\377\"" \ - "\"\"\377\37\37\37\377\34\34\34\377\32\32\32\377\27\27\27\377\25\25\25" \ - "\377\22\22\22\377\20\20\20\377\16\16\16\377\14\14\14\377\12\12\12\377" \ - "\10\10\10\377\6\6\6\377\4\4\4\377\3\3\3\377\1\1\1\377\377\0\0\0\377\257" \ - "\0\0\0\377\30\1\1\1\377\2\2\2\377\3\3\3\377\4\4\4\377\6\6\6\377\10\10" \ - "\10\377\12\12\12\377\14\14\14\377\16\16\16\377\20\20\20\377\23\23\23" \ - "\377\25\25\25\377\30\30\30\377\32\32\32\377\35\35\35\377\40\40\40\377" \ - "###\377%%%\377(((\377+++\377---\377000\377222\377\327\327\327\377\205" \ - "\377\377\377\377\1\331\331\331\377\220BBB\377\1KKK\377\206\377\377\377" \ - "\377\1\237\237\237\377\203BBB\377\1\307\307\307\377\205\377\377\377\377" \ - "\1\274\274\274\377\215BBB\377\1\270\270\270\377\205\377\377\377\377\2" \ - "\375\375\375\377FFF\377\202BBB\377\1\373\373\373\377\205\377\377\377" \ - "\377\1\246\246\246\377\215BBB\377\2VVV\377\370\370\370\377\205\377\377" \ - "\377\377\1\312\312\312\377\203BBB\377\1\274\274\274\377\205\377\377\377" \ - "\377\1\307\307\307\377\215BBB\377\1\277\277\277\377\205\377\377\377\377" \ - "\1\307\307\307\377\204BBB\377\1\364\364\364\377\205\377\377\377\377\1" \ - "\233\233\233\377\212BBB\377\1\261\261\261\377\205\377\377\377\377\1\336" \ - "\336\336\377\212BBB\377\1nnn\377\206\377\377\377\377\1ccc\377\202BBB" \ - "\377\1KKK\377\206\377\377\377\377\1\250\250\250\377\220BBB\377\1zzz\377" \ - "\206\377\377\377\377\1nnn\377\203BBB\377\1\364\364\364\377\205\377\377" \ - "\377\377\1\220\220\220\377\202BBB\377\1\320\320\320\377\205\377\377\377" \ - "\377\2\373\373\373\377sss\377\211BBB\377\1\235\235\235\377\206\377\377" \ - "\377\377\1VVV\377\217BBB\377\2AAA\377\313\313\313\377\205\377\377\377" \ - "\377\27\326\326\326\377000\377---\377+++\377(((\377%%%\377\"\"\"\377" \ - "\40\40\40\377\35\35\35\377\32\32\32\377\30\30\30\377\25\25\25\377\23" \ - "\23\23\377\20\20\20\377\16\16\16\377\14\14\14\377\12\12\12\377\10\10" \ - "\10\377\6\6\6\377\4\4\4\377\3\3\3\377\2\2\2\377\1\1\1\377\377\0\0\0\377" \ - "\256\0\0\0\377\30\1\1\1\377\2\2\2\377\3\3\3\377\4\4\4\377\6\6\6\377\10" \ - "\10\10\377\12\12\12\377\14\14\14\377\16\16\16\377\21\21\21\377\23\23" \ - "\23\377\25\25\25\377\30\30\30\377\33\33\33\377\35\35\35\377\40\40\40" \ - "\377###\377&&&\377(((\377+++\377...\377000\377333\377\354\354\354\377" \ - "\205\377\377\377\377\1\303\303\303\377\221BBB\377\1\370\370\370\377\205" \ - "\377\377\377\377\1\263\263\263\377\203BBB\377\1\307\307\307\377\205\377" \ - "\377\377\377\1\274\274\274\377\215BBB\377\1\250\250\250\377\206\377\377" \ - "\377\377\3MMM\377BBB\377DDD\377\206\377\377\377\377\1\355\355\355\377" \ - "\215\331\331\331\377\1\370\370\370\377\206\377\377\377\377\1\307\307" \ - "\307\377\203BBB\377\1\274\274\274\377\205\377\377\377\377\1\307\307\307" \ - "\377\215BBB\377\1\274\274\274\377\205\377\377\377\377\1\307\307\307\377" \ - "\204BBB\377\1\364\364\364\377\205\377\377\377\377\1\233\233\233\377\212" \ - "BBB\377\1\261\261\261\377\205\377\377\377\377\1\336\336\336\377\212B" \ - "BB\377\1nnn\377\206\377\377\377\377\1ccc\377\202BBB\377\1___\377\206" \ - "\377\377\377\377\1\226\226\226\377\220BBB\377\1jjj\377\206\377\377\377" \ - "\377\1\202\202\202\377\203BBB\377\1\364\364\364\377\205\377\377\377\377" \ - "\3\220\220\220\377BBB\377www\377\206\377\377\377\377\1\211\211\211\377" \ - "\212BBB\377\1\257\257\257\377\205\377\377\377\377\2\375\375\375\377D" \ - "DD\377\217BBB\377\2AAA\377\276\276\276\377\205\377\377\377\377\27\354" \ - "\354\354\377000\377...\377+++\377(((\377&&&\377###\377\40\40\40\377\35" \ - "\35\35\377\33\33\33\377\30\30\30\377\25\25\25\377\23\23\23\377\21\21" \ - "\21\377\16\16\16\377\14\14\14\377\12\12\12\377\10\10\10\377\6\6\6\377" \ - "\4\4\4\377\3\3\3\377\2\2\2\377\1\1\1\377\377\0\0\0\377\256\0\0\0\377" \ - "\30\1\1\1\377\2\2\2\377\3\3\3\377\4\4\4\377\6\6\6\377\10\10\10\377\12" \ - "\12\12\377\14\14\14\377\17\17\17\377\21\21\21\377\23\23\23\377\26\26" \ - "\26\377\31\31\31\377\33\33\33\377\36\36\36\377\40\40\40\377###\377&&" \ - "&\377)))\377+++\377...\377111\377444\377\370\370\370\377\205\377\377" \ - "\377\377\1\263\263\263\377\221BBB\377\1\353\353\353\377\205\377\377\377" \ - "\377\1\274\274\274\377\203BBB\377\1\307\307\307\377\205\377\377\377\377" \ - "\1\274\274\274\377\215BBB\377\1\237\237\237\377\206\377\377\377\377\3" \ - "RRR\377BBB\377MMM\377\233\377\377\377\377\1\257\257\257\377\203BBB\377" \ - "\1\274\274\274\377\205\377\377\377\377\1\307\307\307\377\215BBB\377\1" \ - "\274\274\274\377\205\377\377\377\377\1\307\307\307\377\204BBB\377\1\364" \ - "\364\364\377\205\377\377\377\377\1\233\233\233\377\212BBB\377\1\261\261" \ - "\261\377\205\377\377\377\377\1\336\336\336\377\212BBB\377\1nnn\377\206" \ - "\377\377\377\377\1ccc\377\202BBB\377\1jjj\377\206\377\377\377\377\1\207" \ - "\207\207\377\220BBB\377\1aaa\377\206\377\377\377\377\1\216\216\216\377" \ - "\203BBB\377\1\364\364\364\377\205\377\377\377\377\3\220\220\220\377B" \ - "BB\377\257\257\257\377\205\377\377\377\377\1\331\331\331\377\213BBB\377" \ - "\1\274\274\274\377\205\377\377\377\377\1\357\357\357\377\220BBB\377\2" \ - "AAA\377\260\260\260\377\205\377\377\377\377\27\370\370\370\377111\377" \ - "...\377+++\377)))\377&&&\377###\377\40\40\40\377\36\36\36\377\33\33\33" \ - "\377\31\31\31\377\26\26\26\377\23\23\23\377\21\21\21\377\17\17\17\377" \ - "\14\14\14\377\12\12\12\377\10\10\10\377\6\6\6\377\4\4\4\377\3\3\3\377" \ - "\2\2\2\377\1\1\1\377\377\0\0\0\377\256\0\0\0\377\27\1\1\1\377\2\2\2\377" \ - "\3\3\3\377\4\4\4\377\6\6\6\377\10\10\10\377\12\12\12\377\15\15\15\377" \ - "\17\17\17\377\21\21\21\377\24\24\24\377\26\26\26\377\31\31\31\377\33" \ - "\33\33\377\36\36\36\377\40\40\40\377###\377&&&\377)))\377+++\377...\377" \ - "111\377444\377\206\377\377\377\377\1\261\261\261\377\221BBB\377\1\351" \ - "\351\351\377\205\377\377\377\377\1\307\307\307\377\203BBB\377\1\307\307" \ - "\307\377\205\377\377\377\377\1\274\274\274\377\215BBB\377\1\233\233\233" \ - "\377\206\377\377\377\377\3XXX\377BBB\377MMM\377\233\377\377\377\377\1" \ - "zzz\377\203BBB\377\1\274\274\274\377\205\377\377\377\377\1\307\307\307" \ - "\377\215BBB\377\1\274\274\274\377\205\377\377\377\377\1\307\307\307\377" \ - "\204BBB\377\1\364\364\364\377\205\377\377\377\377\1\233\233\233\377\212" \ - "BBB\377\1\261\261\261\377\205\377\377\377\377\1\336\336\336\377\212B" \ - "BB\377\1nnn\377\206\377\377\377\377\1ccc\377\202BBB\377\1nnn\377\206" \ - "\377\377\377\377\1\205\205\205\377\220BBB\377\1XXX\377\206\377\377\377" \ - "\377\1\220\220\220\377\203BBB\377\1\364\364\364\377\205\377\377\377\377" \ - "\3\220\220\220\377BBB\377\277\277\277\377\205\377\377\377\377\1\312\312" \ - "\312\377\213BBB\377\1\305\305\305\377\205\377\377\377\377\1\351\351\351" \ - "\377\220BBB\377\2AAA\377\261\261\261\377\206\377\377\377\377\26""111" \ - "\377...\377+++\377)))\377&&&\377###\377\40\40\40\377\36\36\36\377\33" \ - "\33\33\377\31\31\31\377\26\26\26\377\23\23\23\377\21\21\21\377\17\17" \ - "\17\377\15\15\15\377\12\12\12\377\10\10\10\377\6\6\6\377\4\4\4\377\3" \ - "\3\3\377\2\2\2\377\1\1\1\377\377\0\0\0\377\256\0\0\0\377\27\1\1\1\377" \ - "\2\2\2\377\3\3\3\377\4\4\4\377\6\6\6\377\10\10\10\377\12\12\12\377\15" \ - "\15\15\377\17\17\17\377\21\21\21\377\24\24\24\377\26\26\26\377\31\31" \ - "\31\377\33\33\33\377\36\36\36\377!!!\377###\377&&&\377)))\377,,,\377" \ - "...\377111\377444\377\206\377\377\377\377\1\261\261\261\377\221BBB\377" \ - "\1\351\351\351\377\205\377\377\377\377\1\301\301\301\377\203BBB\377\1" \ - "\307\307\307\377\205\377\377\377\377\1\274\274\274\377\215BBB\377\1\233" \ - "\233\233\377\206\377\377\377\377\3OOO\377BBB\377MMM\377\232\377\377\377" \ - "\377\2\316\316\316\377DDD\377\203BBB\377\1\274\274\274\377\205\377\377" \ - "\377\377\1\307\307\307\377\215BBB\377\1\274\274\274\377\205\377\377\377" \ - "\377\1\307\307\307\377\204BBB\377\1\364\364\364\377\205\377\377\377\377" \ - "\1\233\233\233\377\212BBB\377\1\261\261\261\377\205\377\377\377\377\1" \ - "\336\336\336\377\212BBB\377\1nnn\377\206\377\377\377\377\1ccc\377\202" \ - "BBB\377\1nnn\377\206\377\377\377\377\1\205\205\205\377\220BBB\377\1_" \ - "__\377\206\377\377\377\377\1\220\220\220\377\203BBB\377\1\364\364\364" \ - "\377\205\377\377\377\377\3\220\220\220\377BBB\377\255\255\255\377\205" \ - "\377\377\377\377\2\366\366\366\377OOO\377\212BBB\377\1\307\307\307\377" \ - "\205\377\377\377\377\1\351\351\351\377\220BBB\377\2AAA\377\261\261\261" \ - "\377\205\377\377\377\377\27\375\375\375\377111\377...\377+++\377)))\377" \ - "&&&\377###\377\40\40\40\377\36\36\36\377\33\33\33\377\31\31\31\377\26" \ - "\26\26\377\24\24\24\377\21\21\21\377\17\17\17\377\15\15\15\377\12\12" \ - "\12\377\10\10\10\377\6\6\6\377\4\4\4\377\3\3\3\377\2\2\2\377\1\1\1\377" \ - "\377\0\0\0\377\256\0\0\0\377\30\1\1\1\377\2\2\2\377\3\3\3\377\4\4\4\377" \ - "\6\6\6\377\10\10\10\377\12\12\12\377\15\15\15\377\17\17\17\377\21\21" \ - "\21\377\24\24\24\377\26\26\26\377\31\31\31\377\33\33\33\377\36\36\36" \ - "\377\40\40\40\377###\377&&&\377)))\377+++\377...\377111\377444\377\370" \ - "\370\370\377\205\377\377\377\377\1\263\263\263\377\221BBB\377\1\362\362" \ - "\362\377\205\377\377\377\377\1\274\274\274\377\203BBB\377\1\307\307\307" \ - "\377\205\377\377\377\377\1\274\274\274\377\215BBB\377\1\244\244\244\377" \ - "\206\377\377\377\377\3MMM\377BBB\377MMM\377\230\377\377\377\377\3\370" \ - "\370\370\377\270\270\270\377KKK\377\204BBB\377\1\274\274\274\377\205" \ - "\377\377\377\377\1\307\307\307\377\215BBB\377\1\274\274\274\377\205\377" \ - "\377\377\377\1\307\307\307\377\204BBB\377\1\364\364\364\377\205\377\377" \ - "\377\377\1\233\233\233\377\212BBB\377\1\261\261\261\377\205\377\377\377" \ - "\377\1\336\336\336\377\212BBB\377\1nnn\377\206\377\377\377\377\1ccc\377" \ - "\202BBB\377\1lll\377\206\377\377\377\377\1\205\205\205\377\220BBB\377" \ - "\1ccc\377\206\377\377\377\377\1\213\213\213\377\203BBB\377\1\364\364" \ - "\364\377\205\377\377\377\377\3\220\220\220\377BBB\377sss\377\206\377" \ - "\377\377\377\1\307\307\307\377\212BBB\377\1\274\274\274\377\205\377\377" \ - "\377\377\1\364\364\364\377\220BBB\377\2AAA\377\260\260\260\377\205\377" \ - "\377\377\377\27\363\363\363\377111\377...\377+++\377)))\377&&&\377##" \ - "#\377\40\40\40\377\36\36\36\377\33\33\33\377\31\31\31\377\26\26\26\377" \ - "\23\23\23\377\21\21\21\377\17\17\17\377\15\15\15\377\12\12\12\377\10" \ - "\10\10\377\6\6\6\377\4\4\4\377\3\3\3\377\2\2\2\377\1\1\1\377\377\0\0" \ - "\0\377\256\0\0\0\377\30\1\1\1\377\2\2\2\377\3\3\3\377\4\4\4\377\6\6\6" \ - "\377\10\10\10\377\12\12\12\377\14\14\14\377\17\17\17\377\21\21\21\377" \ - "\23\23\23\377\26\26\26\377\31\31\31\377\33\33\33\377\36\36\36\377\40" \ - "\40\40\377###\377&&&\377)))\377+++\377...\377111\377444\377\356\356\356" \ - "\377\205\377\377\377\377\1\303\303\303\377\221BBB\377\1\373\373\373\377" \ - "\205\377\377\377\377\1\255\255\255\377\203BBB\377\1\307\307\307\377\205" \ - "\377\377\377\377\1\274\274\274\377\215BBB\377\1\255\255\255\377\206\377" \ - "\377\377\377\1FFF\377\202BBB\377\206\377\377\377\377\1\246\246\246\377" \ - "\230BBB\377\1\274\274\274\377\205\377\377\377\377\1\307\307\307\377\215" \ - "BBB\377\1\274\274\274\377\205\377\377\377\377\1\307\307\307\377\204B" \ - "BB\377\1\364\364\364\377\205\377\377\377\377\1\233\233\233\377\212BB" \ - "B\377\1\261\261\261\377\205\377\377\377\377\1\336\336\336\377\212BBB" \ - "\377\1nnn\377\206\377\377\377\377\1ccc\377\202BBB\377\1aaa\377\206\377" \ - "\377\377\377\1\224\224\224\377\220BBB\377\1nnn\377\206\377\377\377\377" \ - "\1~~~\377\203BBB\377\1\364\364\364\377\205\377\377\377\377\1\220\220" \ - "\220\377\202BBB\377\1\323\323\323\377\206\377\377\377\377\1\255\255\255" \ - "\377\211BBB\377\1\263\263\263\377\205\377\377\377\377\2\375\375\375\377" \ - "DDD\377\217BBB\377\2AAA\377\300\300\300\377\205\377\377\377\377\27\347" \ - "\347\347\377111\377...\377+++\377(((\377&&&\377###\377\40\40\40\377\36" \ - "\36\36\377\33\33\33\377\31\31\31\377\26\26\26\377\23\23\23\377\21\21" \ - "\21\377\17\17\17\377\14\14\14\377\12\12\12\377\10\10\10\377\6\6\6\377" \ - "\4\4\4\377\3\3\3\377\2\2\2\377\1\1\1\377\377\0\0\0\377\256\0\0\0\377" \ - "\30\1\1\1\377\2\2\2\377\3\3\3\377\4\4\4\377\6\6\6\377\10\10\10\377\12" \ - "\12\12\377\14\14\14\377\16\16\16\377\21\21\21\377\23\23\23\377\25\25" \ - "\25\377\30\30\30\377\33\33\33\377\35\35\35\377\40\40\40\377###\377&&" \ - "&\377(((\377+++\377...\377000\377333\377\331\331\331\377\205\377\377" \ - "\377\377\1\331\331\331\377\220BBB\377\1TTT\377\206\377\377\377\377\1" \ - "\231\231\231\377\203BBB\377\1\307\307\307\377\205\377\377\377\377\1\274" \ - "\274\274\377\215BBB\377\1\301\301\301\377\205\377\377\377\377\1\357\357" \ - "\357\377\203BBB\377\1\373\373\373\377\205\377\377\377\377\1\257\257\257" \ - "\377\230BBB\377\1\274\274\274\377\205\377\377\377\377\1\307\307\307\377" \ - "\215BBB\377\1\274\274\274\377\205\377\377\377\377\1\307\307\307\377\204" \ - "BBB\377\1\364\364\364\377\205\377\377\377\377\1\233\233\233\377\212B" \ - "BB\377\1\261\261\261\377\205\377\377\377\377\1\336\336\336\377\212BB" \ - "B\377\1nnn\377\206\377\377\377\377\1ccc\377\202BBB\377\1MMM\377\206\377" \ - "\377\377\377\1\253\253\253\377\220BBB\377\1\202\202\202\377\206\377\377" \ - "\377\377\1jjj\377\203BBB\377\1\364\364\364\377\205\377\377\377\377\1" \ - "\220\220\220\377\202BBB\377\2VVV\377\355\355\355\377\206\377\377\377" \ - "\377\1\244\244\244\377\210BBB\377\1\242\242\242\377\206\377\377\377\377" \ - "\1VVV\377\217BBB\377\2AAA\377\327\327\327\377\205\377\377\377\377\27" \ - "\317\317\317\377000\377...\377+++\377(((\377%%%\377###\377\40\40\40\377" \ - "\35\35\35\377\33\33\33\377\30\30\30\377\25\25\25\377\23\23\23\377\21" \ - "\21\21\377\16\16\16\377\14\14\14\377\12\12\12\377\10\10\10\377\6\6\6" \ - "\377\4\4\4\377\3\3\3\377\2\2\2\377\1\1\1\377\377\0\0\0\377\256\0\0\0" \ - "\377\30\1\1\1\377\2\2\2\377\3\3\3\377\4\4\4\377\6\6\6\377\10\10\10\377" \ - "\12\12\12\377\14\14\14\377\16\16\16\377\20\20\20\377\23\23\23\377\25" \ - "\25\25\377\30\30\30\377\32\32\32\377\35\35\35\377\40\40\40\377###\377" \ - "%%%\377(((\377+++\377---\377000\377222\377\274\274\274\377\205\377\377" \ - "\377\377\2\370\370\370\377III\377\217BBB\377\1\200\200\200\377\206\377" \ - "\377\377\377\1~~~\377\203BBB\377\1\307\307\307\377\205\377\377\377\377" \ - "\1\274\274\274\377\215BBB\377\1\336\336\336\377\205\377\377\377\377\1" \ - "\331\331\331\377\203BBB\377\1\351\351\351\377\205\377\377\377\377\1\301" \ - "\301\301\377\230BBB\377\1\274\274\274\377\205\377\377\377\377\1\307\307" \ - "\307\377\215BBB\377\1\274\274\274\377\205\377\377\377\377\1\307\307\307" \ - "\377\204BBB\377\1\364\364\364\377\205\377\377\377\377\1\233\233\233\377" \ - "\212BBB\377\1\261\261\261\377\205\377\377\377\377\1\336\336\336\377\212" \ - "BBB\377\1nnn\377\206\377\377\377\377\1ccc\377\203BBB\377\1\357\357\357" \ - "\377\205\377\377\377\377\1\323\323\323\377\220BBB\377\1\261\261\261\377" \ - "\206\377\377\377\377\1MMM\377\203BBB\377\1\364\364\364\377\205\377\377" \ - "\377\377\1\220\220\220\377\203BBB\377\2ccc\377\362\362\362\377\206\377" \ - "\377\377\377\1\231\231\231\377\207BBB\377\1\207\207\207\377\206\377\377" \ - "\377\377\1\205\205\205\377\217BBB\377\2HHH\377\370\370\370\377\205\377" \ - "\377\377\377\27\262\262\262\377000\377---\377+++\377(((\377%%%\377\"" \ - "\"\"\377\40\40\40\377\35\35\35\377\32\32\32\377\30\30\30\377\25\25\25" \ - "\377\23\23\23\377\20\20\20\377\16\16\16\377\14\14\14\377\12\12\12\377" \ - "\10\10\10\377\6\6\6\377\4\4\4\377\3\3\3\377\2\2\2\377\1\1\1\377\377\0" \ - "\0\0\377\257\0\0\0\377\27\1\1\1\377\3\3\3\377\4\4\4\377\6\6\6\377\10" \ - "\10\10\377\12\12\12\377\14\14\14\377\16\16\16\377\20\20\20\377\22\22" \ - "\22\377\25\25\25\377\27\27\27\377\32\32\32\377\34\34\34\377\37\37\37" \ - "\377\"\"\"\377%%%\377'''\377***\377---\377///\377222\377\231\231\231" \ - "\377\206\377\377\377\377\1|||\377\217BBB\377\1\274\274\274\377\206\377" \ - "\377\377\377\1VVV\377\203BBB\377\1\307\307\307\377\205\377\377\377\377" \ - "\1\274\274\274\377\214BBB\377\2OOO\377\375\375\375\377\205\377\377\377" \ - "\377\1\301\301\301\377\203BBB\377\1\327\327\327\377\205\377\377\377\377" \ - "\1\327\327\327\377\230BBB\377\1\274\274\274\377\205\377\377\377\377\1" \ - "\307\307\307\377\215BBB\377\1\274\274\274\377\205\377\377\377\377\1\307" \ - "\307\307\377\204BBB\377\1\364\364\364\377\205\377\377\377\377\1\233\233" \ - "\233\377\212BBB\377\1\261\261\261\377\205\377\377\377\377\1\336\336\336" \ - "\377\212BBB\377\1nnn\377\206\377\377\377\377\1ccc\377\203BBB\377\1\316" \ - "\316\316\377\205\377\377\377\377\2\375\375\375\377RRR\377\216BBB\377" \ - "\2DDD\377\351\351\351\377\205\377\377\377\377\1\344\344\344\377\204B" \ - "BB\377\1\364\364\364\377\205\377\377\377\377\1\220\220\220\377\204BB" \ - "B\377\2jjj\377\366\366\366\377\206\377\377\377\377\1\220\220\220\377" \ - "\206BBB\377\1aaa\377\206\377\377\377\377\1\274\274\274\377\217BBB\377" \ - "\1{{{\377\206\377\377\377\377\26\213\213\213\377///\377---\377***\377" \ - "'''\377$$$\377\"\"\"\377\37\37\37\377\34\34\34\377\32\32\32\377\27\27" \ - "\27\377\25\25\25\377\22\22\22\377\20\20\20\377\16\16\16\377\13\13\13" \ - "\377\11\11\11\377\10\10\10\377\6\6\6\377\4\4\4\377\3\3\3\377\1\1\1\377" \ - "\377\0\0\0\377\260\0\0\0\377\27\1\1\1\377\3\3\3\377\4\4\4\377\5\5\5\377" \ - "\7\7\7\377\11\11\11\377\13\13\13\377\15\15\15\377\20\20\20\377\22\22" \ - "\22\377\24\24\24\377\27\27\27\377\31\31\31\377\34\34\34\377\37\37\37" \ - "\377!!!\377$$$\377&&&\377)))\377,,,\377...\377111\377ddd\377\206\377" \ - "\377\377\377\2\327\327\327\377DDD\377\215BBB\377\2___\377\373\373\373" \ - "\377\205\377\377\377\377\1\351\351\351\377\204BBB\377\1\307\307\307\377" \ - "\205\377\377\377\377\1\274\274\274\377\214BBB\377\1\242\242\242\377\206" \ - "\377\377\377\377\1\230\230\230\377\203AAA\377\1\267\267\267\377\205\377" \ - "\377\377\377\2\375\375\375\377RRR\377\227BBB\377\1\274\274\274\377\205" \ - "\377\377\377\377\1\307\307\307\377\203BBB\377\206AAA\377\204BBB\377\1" \ - "\274\274\274\377\205\377\377\377\377\1\307\307\307\377\204BBB\377\1\364" \ - "\364\364\377\205\377\377\377\377\1\233\233\233\377\212BBB\377\1\261\261" \ - "\261\377\205\377\377\377\377\1\336\336\336\377\212BBB\377\1nnn\377\206" \ - "\377\377\377\377\1ccc\377\203BBB\377\1\233\233\233\377\206\377\377\377" \ - "\377\1\250\250\250\377\216BBB\377\1\211\211\211\377\206\377\377\377\377" \ - "\1\261\261\261\377\204BBB\377\1\364\364\364\377\205\377\377\377\377\1" \ - "\220\220\220\377\205BBB\377\2sss\377\370\370\370\377\206\377\377\377" \ - "\377\1\207\207\207\377\205BBB\377\2DDD\377\362\362\362\377\205\377\377" \ - "\377\377\2\373\373\373\377ZZZ\377\215BBB\377\2CCC\377\333\333\333\377" \ - "\206\377\377\377\377\26UUU\377...\377+++\377)))\377&&&\377$$$\377!!!" \ - "\377\36\36\36\377\34\34\34\377\31\31\31\377\27\27\27\377\24\24\24\377" \ - "\22\22\22\377\20\20\20\377\15\15\15\377\13\13\13\377\11\11\11\377\7\7" \ - "\7\377\5\5\5\377\4\4\4\377\3\3\3\377\1\1\1\377\377\0\0\0\377\260\0\0" \ - "\0\377\30\1\1\1\377\3\3\3\377\4\4\4\377\5\5\5\377\7\7\7\377\11\11\11" \ - "\377\13\13\13\377\15\15\15\377\17\17\17\377\21\21\21\377\24\24\24\377" \ - "\26\26\26\377\31\31\31\377\33\33\33\377\36\36\36\377\40\40\40\377###" \ - "\377&&&\377(((\377+++\377---\377000\377444\377\354\354\354\377\206\377" \ - "\377\377\377\2\250\250\250\377AAA\377\213BBB\377\2NNN\377\335\335\335" \ - "\377\206\377\377\377\377\1\250\250\250\377\204BBB\377\1\307\307\307\377" \ - "\205\377\377\377\377\1\274\274\274\377\213BBB\377\2nnn\377\373\373\373" \ - "\377\206\377\377\377\377\1bbb\377\203@@@\377\1\217\217\217\377\206\377" \ - "\377\377\377\1\253\253\253\377\227BBB\377\1\274\274\274\377\205\377\377" \ - "\377\377\1\307\307\307\377\215AAA\377\1\274\274\274\377\205\377\377\377" \ - "\377\1\307\307\307\377\204BBB\377\1\364\364\364\377\205\377\377\377\377" \ - "\1\233\233\233\377\212BBB\377\1\261\261\261\377\205\377\377\377\377\1" \ - "\336\336\336\377\204BBB\377\202AAA\377\204BBB\377\1nnn\377\206\377\377" \ - "\377\377\1ccc\377\202BBB\377\2AAA\377^^^\377\206\377\377\377\377\3\375" \ - "\375\375\377yyy\377AAA\377\211BBB\377\202AAA\377\2ggg\377\366\366\366" \ - "\377\206\377\377\377\377\1www\377\204BBB\377\1\364\364\364\377\205\377" \ - "\377\377\377\1\220\220\220\377\206AAA\377\2{{{\377\373\373\373\377\205" \ - "\377\377\377\377\2\375\375\375\377~~~\377\205BBB\377\1\263\263\263\377" \ - "\206\377\377\377\377\2\331\331\331\377KKK\377\212BBB\377\202AAA\377\1" \ - "\263\263\263\377\206\377\377\377\377\27\340\340\340\377000\377---\377" \ - "+++\377(((\377&&&\377###\377\40\40\40\377\36\36\36\377\33\33\33\377\31" \ - "\31\31\377\26\26\26\377\24\24\24\377\21\21\21\377\17\17\17\377\15\15" \ - "\15\377\13\13\13\377\11\11\11\377\7\7\7\377\5\5\5\377\4\4\4\377\2\2\2" \ - "\377\1\1\1\377\377\0\0\0\377\260\0\0\0\377\30\1\1\1\377\2\2\2\377\3\3" \ - "\3\377\5\5\5\377\7\7\7\377\11\11\11\377\12\12\12\377\15\15\15\377\17" \ - "\17\17\377\21\21\21\377\23\23\23\377\25\25\25\377\30\30\30\377\32\32" \ - "\32\377\35\35\35\377\37\37\37\377\"\"\"\377%%%\377'''\377***\377,,,\377" \ - "///\377111\377\226\226\226\377\207\377\377\377\377\2\274\274\274\377" \ - "QQQ\377\211AAA\377\2nnn\377\344\344\344\377\206\377\377\377\377\2\375" \ - "\375\375\377]]]\377\204BBB\377\1\307\307\307\377\205\377\377\377\377" \ - "\1\274\274\274\377\211BBB\377\3EEE\377\224\224\224\377\370\370\370\377" \ - "\206\377\377\377\377\1\324\324\324\377\204\77\77\77\377\2VVV\377\375" \ - "\375\375\377\206\377\377\377\377\2\243\243\243\377HHH\377\225BBB\377" \ - "\1\274\274\274\377\205\377\377\377\377\1\307\307\307\377\215@@@\377\1" \ - "\274\274\274\377\205\377\377\377\377\1\307\307\307\377\204BBB\377\1\364" \ - "\364\364\377\205\377\377\377\377\1\232\232\232\377\212AAA\377\1\261\261" \ - "\261\377\205\377\377\377\377\1\335\335\335\377\212AAA\377\1nnn\377\206" \ - "\377\377\377\377\1ccc\377\204AAA\377\1\320\320\320\377\206\377\377\377" \ - "\377\3\373\373\373\377\230\230\230\377EEE\377\211AAA\377\2\211\211\211" \ - "\377\366\366\366\377\206\377\377\377\377\2\346\346\346\377CCC\377\204" \ - "AAA\377\1\364\364\364\377\205\377\377\377\377\1\217\217\217\377\207@" \ - "@@\377\2\203\203\203\377\375\375\375\377\205\377\377\377\377\2\373\373" \ - "\373\377www\377\202BBB\377\202AAA\377\1eee\377\207\377\377\377\377\2" \ - "\335\335\335\377ggg\377\211AAA\377\2SSS\377\302\302\302\377\207\377\377" \ - "\377\377\27\213\213\213\377///\377,,,\377***\377'''\377%%%\377\"\"\"" \ - "\377\37\37\37\377\35\35\35\377\32\32\32\377\30\30\30\377\25\25\25\377" \ - "\23\23\23\377\21\21\21\377\17\17\17\377\15\15\15\377\12\12\12\377\10" \ - "\10\10\377\6\6\6\377\5\5\5\377\3\3\3\377\2\2\2\377\1\1\1\377\377\0\0" \ - "\0\377\260\0\0\0\377\31\1\1\1\377\2\2\2\377\3\3\3\377\5\5\5\377\6\6\6" \ - "\377\10\10\10\377\12\12\12\377\14\14\14\377\16\16\16\377\20\20\20\377" \ - "\22\22\22\377\25\25\25\377\27\27\27\377\32\32\32\377\34\34\34\377\37" \ - "\37\37\377!!!\377###\377&&&\377(((\377+++\377---\377000\377<<<\377\352" \ - "\352\352\377\207\377\377\377\377\4\366\366\366\377\300\300\300\377\223" \ - "\223\223\377qqq\377\203fff\377\3}}}\377\236\236\236\377\322\322\322\377" \ - "\210\377\377\377\377\1\267\267\267\377\205BBB\377\1\307\307\307\377\205" \ - "\377\377\377\377\1\344\344\344\377\210\263\263\263\377\2\300\300\300" \ - "\377\362\362\362\377\210\377\377\377\377\1www\377\205>>>\377\1\302\302" \ - "\302\377\207\377\377\377\377\2\364\364\364\377\302\302\302\377\217\263" \ - "\263\263\377\1\236\236\236\377\204@@@\377\1\274\274\274\377\205\377\377" \ - "\377\377\1\307\307\307\377\215\77\77\77\377\1\273\273\273\377\205\377" \ - "\377\377\377\1\307\307\307\377\204@@@\377\1\364\364\364\377\205\377\377" \ - "\377\377\1\232\232\232\377\212@@@\377\1\260\260\260\377\205\377\377\377" \ - "\377\1\335\335\335\377\212@@@\377\1mmm\377\206\377\377\377\377\1bbb\377" \ - "\203@@@\377\3\77\77\77\377hhh\377\375\375\375\377\207\377\377\377\377" \ - "\4\355\355\355\377\265\265\265\377\214\214\214\377hhh\377\203fff\377" \ - "\3\206\206\206\377\247\247\247\377\346\346\346\377\210\377\377\377\377" \ - "\1\203\203\203\377\202\77\77\77\377\203@@@\377\1\364\364\364\377\205" \ - "\377\377\377\377\1\216\216\216\377\210\77\77\77\377\1\214\214\214\377" \ - "\206\377\377\377\377\2\370\370\370\377mmm\377\204@@@\377\1\274\274\274" \ - "\377\210\377\377\377\377\3\322\322\322\377\236\236\236\377}}}\377\203" \ - "fff\377\4qqq\377\223\223\223\377\302\302\302\377\370\370\370\377\207" \ - "\377\377\377\377\30\351\351\351\377777\377---\377+++\377(((\377&&&\377" \ - "###\377!!!\377\36\36\36\377\34\34\34\377\31\31\31\377\27\27\27\377\25" \ - "\25\25\377\22\22\22\377\20\20\20\377\16\16\16\377\14\14\14\377\12\12" \ - "\12\377\10\10\10\377\6\6\6\377\4\4\4\377\3\3\3\377\2\2\2\377\1\1\1\377" \ - "\377\0\0\0\377\260\0\0\0\377\32\1\1\1\377\2\2\2\377\3\3\3\377\4\4\4\377" \ - "\6\6\6\377\10\10\10\377\11\11\11\377\13\13\13\377\15\15\15\377\20\20" \ - "\20\377\22\22\22\377\24\24\24\377\26\26\26\377\31\31\31\377\33\33\33" \ - "\377\36\36\36\377\40\40\40\377\"\"\"\377%%%\377'''\377***\377,,,\377" \ - "...\377000\377nnn\377\375\375\375\377\227\377\377\377\377\2\351\351\351" \ - "\377NNN\377\202AAA\377\203BBB\377\1\307\307\307\377\227\377\377\377\377" \ - "\1\266\266\266\377\206===\377\2XXX\377\372\372\372\377\227\377\377\377" \ - "\377\1\335\335\335\377\204\77\77\77\377\1\273\273\273\377\205\377\377" \ - "\377\377\1\306\306\306\377\203>>>\377\206===\377\204>>>\377\1\273\273" \ - "\273\377\205\377\377\377\377\1\307\307\307\377\204\77\77\77\377\1\364" \ - "\364\364\377\205\377\377\377\377\1\231\231\231\377\212\77\77\77\377\1" \ - "\260\260\260\377\205\377\377\377\377\1\335\335\335\377\212\77\77\77\377" \ - "\1lll\377\206\377\377\377\377\1```\377\205>>>\377\1\242\242\242\377\230" \ - "\377\377\377\377\1\306\306\306\377\206>>>\377\1\364\364\364\377\205\377" \ - "\377\377\377\1\215\215\215\377\211>>>\377\1\224\224\224\377\206\377\377" \ - "\377\377\2\364\364\364\377hhh\377\203\77\77\77\377\2QQQ\377\353\353\353" \ - "\377\227\377\377\377\377\31\375\375\375\377hhh\377...\377,,,\377***\377" \ - "'''\377%%%\377\"\"\"\377\40\40\40\377\35\35\35\377\33\33\33\377\31\31" \ - "\31\377\26\26\26\377\24\24\24\377\22\22\22\377\20\20\20\377\15\15\15" \ - "\377\13\13\13\377\11\11\11\377\10\10\10\377\6\6\6\377\4\4\4\377\3\3\3" \ - "\377\2\2\2\377\1\1\1\377\377\0\0\0\377\261\0\0\0\377\32\1\1\1\377\3\3" \ - "\3\377\4\4\4\377\5\5\5\377\7\7\7\377\11\11\11\377\13\13\13\377\15\15" \ - "\15\377\17\17\17\377\21\21\21\377\23\23\23\377\25\25\25\377\30\30\30" \ - "\377\32\32\32\377\34\34\34\377\37\37\37\377!!!\377###\377&&&\377(((\377" \ - "***\377---\377///\377111\377\202\202\202\377\375\375\375\377\225\377" \ - "\377\377\377\3\355\355\355\377bbb\377@@@\377\204AAA\377\2BBB\377\307" \ - "\307\307\377\226\377\377\377\377\2\305\305\305\377@@@\377\207;;;\377" \ - "\1\200\200\200\377\227\377\377\377\377\1\335\335\335\377\204===\377\1" \ - "\273\273\273\377\205\377\377\377\377\1\306\306\306\377\215<<<\377\1\272" \ - "\272\272\377\205\377\377\377\377\1\306\306\306\377\204===\377\1\364\364" \ - "\364\377\205\377\377\377\377\1\230\230\230\377\211===\377\2<<<\377\257" \ - "\257\257\377\205\377\377\377\377\1\335\335\335\377\212===\377\1jjj\377" \ - "\206\377\377\377\377\1^^^\377\206<<<\377\1\263\263\263\377\226\377\377" \ - "\377\377\2\321\321\321\377GGG\377\206<<<\377\1\364\364\364\377\205\377" \ - "\377\377\377\1\214\214\214\377\212<<<\377\1\237\237\237\377\206\377\377" \ - "\377\377\2\357\357\357\377___\377\203===\377\2___\377\352\352\352\377" \ - "\225\377\377\377\377\31\375\375\375\377\201\201\201\377///\377,,,\377" \ - "***\377(((\377&&&\377###\377!!!\377\37\37\37\377\34\34\34\377\32\32\32" \ - "\377\30\30\30\377\25\25\25\377\23\23\23\377\21\21\21\377\17\17\17\377" \ - "\15\15\15\377\13\13\13\377\11\11\11\377\7\7\7\377\5\5\5\377\4\4\4\377" \ - "\3\3\3\377\1\1\1\377\377\0\0\0\377\262\0\0\0\377\33\1\1\1\377\2\2\2\377" \ - "\3\3\3\377\5\5\5\377\6\6\6\377\10\10\10\377\12\12\12\377\14\14\14\377" \ - "\16\16\16\377\20\20\20\377\22\22\22\377\24\24\24\377\27\27\27\377\31" \ - "\31\31\377\33\33\33\377\35\35\35\377\40\40\40\377\"\"\"\377$$$\377&&" \ - "&\377(((\377+++\377---\377///\377111\377bbb\377\340\340\340\377\223\377" \ - "\377\377\377\3\304\304\304\377QQQ\377\77\77\77\377\203@@@\377\203AAA" \ - "\377\1\307\307\307\377\224\377\377\377\377\3\372\372\372\377\242\242" \ - "\242\377;;;\377\211999\377\2zzz\377\366\366\366\377\225\377\377\377\377" \ - "\2\335\335\335\377<<<\377\203;;;\377\1\271\271\271\377\205\377\377\377" \ - "\377\1\305\305\305\377\215:::\377\1\271\271\271\377\205\377\377\377\377" \ - "\1\305\305\305\377\204;;;\377\1\363\363\363\377\205\377\377\377\377\2" \ - "\227\227\227\377:::\377\206;;;\377\203:::\377\1\256\256\256\377\205\377" \ - "\377\377\377\1\334\334\334\377\202:::\377\205;;;\377\203:::\377\1hhh" \ - "\377\206\377\377\377\377\1]]]\377\207:::\377\2\213\213\213\377\363\363" \ - "\363\377\222\377\377\377\377\3\372\372\372\377\242\242\242\377\77\77" \ - "\77\377\207:::\377\1\363\363\363\377\205\377\377\377\377\1\213\213\213" \ - "\377\213:::\377\1\251\251\251\377\206\377\377\377\377\2\354\354\354\377" \ - "WWW\377\203;;;\377\2MMM\377\301\301\301\377\223\377\377\377\377\32\340" \ - "\340\340\377aaa\377///\377---\377+++\377(((\377&&&\377$$$\377\"\"\"\377" \ - "\40\40\40\377\35\35\35\377\33\33\33\377\31\31\31\377\27\27\27\377\24" \ - "\24\24\377\22\22\22\377\20\20\20\377\16\16\16\377\14\14\14\377\12\12" \ - "\12\377\10\10\10\377\6\6\6\377\5\5\5\377\3\3\3\377\2\2\2\377\1\1\1\377" \ - "\377\0\0\0\377\262\0\0\0\377\35\1\1\1\377\2\2\2\377\3\3\3\377\4\4\4\377" \ - "\6\6\6\377\10\10\10\377\11\11\11\377\13\13\13\377\15\15\15\377\17\17" \ - "\17\377\21\21\21\377\24\24\24\377\25\25\25\377\30\30\30\377\32\32\32" \ - "\377\34\34\34\377\36\36\36\377\40\40\40\377###\377%%%\377'''\377)))\377" \ - "+++\377---\377///\377000\377444\377{{{\377\306\306\306\377\216\377\377" \ - "\377\377\4\364\364\364\377\266\266\266\377hhh\377===\377\202>>>\377\202" \ - "\77\77\77\377\203@@@\377\2AAA\377\307\307\307\377\222\377\377\377\377" \ - "\3\350\350\350\377\246\246\246\377TTT\377\214777\377\3JJJ\377\246\246" \ - "\246\377\354\354\354\377\223\377\377\377\377\1\334\334\334\377\20499" \ - "9\377\1\271\271\271\377\205\377\377\377\377\1\304\304\304\377\215888" \ - "\377\1\271\271\271\377\205\377\377\377\377\1\305\305\305\377\204999\377" \ - "\1\363\363\363\377\205\377\377\377\377\1\226\226\226\377\210999\377\202" \ - "888\377\1\255\255\255\377\205\377\377\377\377\2\334\334\334\377888\377" \ - "\210999\377\2""888\377ggg\377\206\377\377\377\377\1[[[\377\203888\377" \ - "\205999\377\3EEE\377\226\226\226\377\332\332\332\377\216\377\377\377" \ - "\377\3\350\350\350\377\237\237\237\377PPP\377\203999\377\206888\377\1" \ - "\363\363\363\377\205\377\377\377\377\1\212\212\212\377\214888\377\1\264" \ - "\264\264\377\206\377\377\377\377\2\350\350\350\377NNN\377\204999\377" \ - "\3eee\377\264\264\264\377\363\363\363\377\216\377\377\377\377\34\305" \ - "\305\305\377zzz\377222\377...\377---\377+++\377)))\377'''\377%%%\377" \ - "###\377\40\40\40\377\36\36\36\377\34\34\34\377\32\32\32\377\30\30\30" \ - "\377\25\25\25\377\23\23\23\377\21\21\21\377\17\17\17\377\15\15\15\377" \ - "\13\13\13\377\11\11\11\377\10\10\10\377\6\6\6\377\4\4\4\377\3\3\3\377" \ - "\2\2\2\377\1\1\1\377\377\0\0\0\377\262\0\0\0\377\202\1\1\1\377!\3\3\3" \ - "\377\4\4\4\377\5\5\5\377\7\7\7\377\11\11\11\377\12\12\12\377\14\14\14" \ - "\377\16\16\16\377\20\20\20\377\22\22\22\377\24\24\24\377\26\26\26\377" \ - "\31\31\31\377\33\33\33\377\35\35\35\377\37\37\37\377!!!\377###\377%%" \ - "%\377'''\377)))\377+++\377,,,\377...\377///\377111\377222\377:::\377" \ - "ddd\377\206\206\206\377\236\236\236\377\257\257\257\377\261\261\261\377" \ - "\202\327\327\327\377\1\316\316\316\377\202\257\257\257\377\4\222\222" \ - "\222\377\201\201\201\377]]]\377:::\377\202;;;\377\1<<<\377\202===\377" \ - "\202>>>\377\202\77\77\77\377\202@@@\377\1\307\307\307\377\205\377\377" \ - "\377\377\1\327\327\327\377\203\214\214\214\377\202\213\213\213\377\1" \ - "\212\212\212\377\203\211\211\211\377\4\210\210\210\377ddd\377MMM\377" \ - "777\377\203666\377\216555\377\2TTT\377nnn\377\203\206\206\206\377\216" \ - "\207\207\207\377\1yyy\377\203777\377\2""666\377jjj\377\205\206\206\206" \ - "\377\1ooo\377\215666\377\1jjj\377\205\206\206\206\377\1ooo\377\20477" \ - "7\377\1\202\202\202\377\203\207\207\207\377\202\206\206\206\377\2\\\\" \ - "\\\377666\377\206777\377\203666\377\1eee\377\205\206\206\206\377\1xx" \ - "x\377\203666\377\204777\377\203666\377\1III\377\206\206\206\206\377\1" \ - "DDD\377\207666\377\203777\377\7""666\377GGG\377ooo\377\206\206\206\377" \ - "\250\250\250\377\257\257\257\377\275\275\275\377\202\327\327\327\377" \ - "\1\302\302\302\377\202\257\257\257\377\5\206\206\206\377vvv\377NNN\377" \ - "666\377777\377\211666\377\2""555\377\201\201\201\377\205\206\206\206" \ - "\377\2VVV\377555\377\213666\377\2""888\377\202\202\202\377\206\206\206" \ - "\206\377\1mmm\377\207777\377\3ZZZ\377\202\202\202\377\223\223\223\377" \ - "\202\257\257\257\377\1\315\315\315\377\202\327\327\327\377\40\261\261" \ - "\261\377\256\256\256\377\236\236\236\377\205\205\205\377ccc\377999\377" \ - "111\377///\377...\377,,,\377+++\377)))\377'''\377%%%\377###\377!!!\377" \ - "\37\37\37\377\34\34\34\377\32\32\32\377\31\31\31\377\26\26\26\377\24" \ - "\24\24\377\22\22\22\377\20\20\20\377\16\16\16\377\14\14\14\377\12\12" \ - "\12\377\11\11\11\377\7\7\7\377\5\5\5\377\4\4\4\377\3\3\3\377\202\1\1" \ - "\1\377\377\0\0\0\377\263\0\0\0\377\36\1\1\1\377\2\2\2\377\3\3\3\377\5" \ - "\5\5\377\6\6\6\377\10\10\10\377\12\12\12\377\13\13\13\377\15\15\15\377" \ - "\17\17\17\377\21\21\21\377\23\23\23\377\25\25\25\377\27\27\27\377\31" \ - "\31\31\377\33\33\33\377\35\35\35\377\37\37\37\377!!!\377###\377%%%\377" \ - "'''\377(((\377***\377+++\377---\377...\377///\377000\377111\377\2022" \ - "22\377\1""333\377\202444\377\202555\377\202666\377\1""777\377\202888" \ - "\377\202999\377\202:::\377\2;;;\377<<<\377\202===\377\1>>>\377\202\77" \ - "\77\77\377\2@@@\377\307\307\307\377\205\377\377\377\377\1\274\274\274" \ - "\377\202\77\77\77\377\10>>>\377===\377<<<\377;;;\377:::\377999\37788" \ - "8\377777\377\202666\377\202555\377\202444\377\1""333\377\216222\377\202" \ - "333\377\204444\377\217555\377\205444\377\224333\377\253444\377\20733" \ - "3\377\243444\377\202333\377\207222\377\203333\377\207444\377\207333\377" \ - "\204444\377\213555\377\204444\377\1""333\377\202222\377\36""111\3770" \ - "00\377///\377...\377---\377+++\377***\377(((\377'''\377%%%\377###\377" \ - "!!!\377\37\37\37\377\35\35\35\377\33\33\33\377\31\31\31\377\27\27\27" \ - "\377\25\25\25\377\23\23\23\377\21\21\21\377\17\17\17\377\15\15\15\377" \ - "\13\13\13\377\11\11\11\377\10\10\10\377\6\6\6\377\5\5\5\377\3\3\3\377" \ - "\2\2\2\377\1\1\1\377\377\0\0\0\377\264\0\0\0\377\35\1\1\1\377\2\2\2\377" \ - "\3\3\3\377\4\4\4\377\5\5\5\377\7\7\7\377\11\11\11\377\12\12\12\377\14" \ - "\14\14\377\16\16\16\377\20\20\20\377\22\22\22\377\24\24\24\377\25\25" \ - "\25\377\30\30\30\377\31\31\31\377\33\33\33\377\35\35\35\377\37\37\37" \ - "\377!!!\377###\377%%%\377&&&\377(((\377)))\377+++\377,,,\377---\377." \ - "..\377\202///\377\202000\377\202111\377\2""222\377333\377\202444\377" \ - "\1""555\377\202666\377\1""777\377\202888\377\1""999\377\202:::\377\2" \ - ";;;\377<<<\377\202===\377\3>>>\377\77\77\77\377\307\307\307\377\205\377" \ - "\377\377\377\12\273\273\273\377>>>\377===\377<<<\377;;;\377:::\37799" \ - "9\377888\377777\377666\377\202555\377\2""444\377333\377\202222\377\202" \ - "111\377\221000\377\203111\377\217222\377\205111\377\224000\377\25311" \ - "1\377\207000\377\243111\377\214000\377\207111\377\207000\377\204111\377" \ - "\214222\377\203111\377\202000\377\202///\377\35...\377---\377,,,\377" \ - "+++\377)))\377(((\377&&&\377%%%\377###\377!!!\377\37\37\37\377\35\35" \ - "\35\377\33\33\33\377\31\31\31\377\30\30\30\377\25\25\25\377\24\24\24" \ - "\377\22\22\22\377\20\20\20\377\16\16\16\377\14\14\14\377\12\12\12\377" \ - "\11\11\11\377\7\7\7\377\5\5\5\377\4\4\4\377\3\3\3\377\2\2\2\377\1\1\1" \ - "\377\377\0\0\0\377\265\0\0\0\377\1\1\1\1\377\202\3\3\3\377\27\5\5\5\377" \ - "\6\6\6\377\10\10\10\377\11\11\11\377\13\13\13\377\15\15\15\377\17\17" \ - "\17\377\20\20\20\377\22\22\22\377\24\24\24\377\26\26\26\377\30\30\30" \ - "\377\32\32\32\377\33\33\33\377\35\35\35\377\37\37\37\377!!!\377###\377" \ - "$$$\377%%%\377'''\377(((\377)))\377\202+++\377\1,,,\377\202---\377\1" \ - "...\377\202///\377\1""000\377\202111\377\2""222\377333\377\202444\377" \ - "\2""555\377666\377\202777\377\2""888\377999\377\202:::\377\5;;;\377<" \ - "<<\377===\377>>>\377\307\307\307\377\205\377\377\377\377\11\273\273\273" \ - "\377===\377<<<\377;;;\377:::\377999\377888\377777\377555\377\202444\377" \ - "\1""222\377\202111\377\1""000\377\202///\377\202...\377\215---\377\205" \ - "...\377\205///\377\211000\377\203///\377\235...\377\221///\377\214.." \ - ".\377\206///\377\214...\377\216///\377\204...\377\215///\377\203...\377" \ - "\210---\377\223...\377\204///\377\207000\377\205///\377\202...\377\202" \ - "---\377\1,,,\377\202+++\377\32)))\377(((\377'''\377%%%\377$$$\377\"\"" \ - "\"\377!!!\377\37\37\37\377\35\35\35\377\33\33\33\377\32\32\32\377\30" \ - "\30\30\377\26\26\26\377\24\24\24\377\22\22\22\377\20\20\20\377\17\17" \ - "\17\377\15\15\15\377\13\13\13\377\11\11\11\377\10\10\10\377\6\6\6\377" \ - "\5\5\5\377\3\3\3\377\2\2\2\377\1\1\1\377\377\0\0\0\377\266\0\0\0\377" \ - "\34\1\1\1\377\2\2\2\377\3\3\3\377\4\4\4\377\5\5\5\377\7\7\7\377\10\10" \ - "\10\377\12\12\12\377\14\14\14\377\15\15\15\377\17\17\17\377\21\21\21" \ - "\377\23\23\23\377\24\24\24\377\26\26\26\377\30\30\30\377\32\32\32\377" \ - "\33\33\33\377\35\35\35\377\37\37\37\377\40\40\40\377\"\"\"\377###\377" \ - "%%%\377&&&\377'''\377(((\377)))\377\202***\377\202+++\377\1,,,\377\202" \ - "---\377\2...\377///\377\202000\377\4""111\377222\377333\377444\377\202" \ - "555\377\3""666\377777\377888\377\202999\377\4:::\377;;;\377<<<\377\306" \ - "\306\306\377\205\377\377\377\377\14\272\272\272\377;;;\377:::\377999" \ - "\377888\377777\377666\377555\377444\377222\377111\377000\377\202///\377" \ - "\1...\377\202---\377\1,,,\377\204+++\377\204***\377\212+++\377\203,," \ - ",\377\216---\377\202,,,\377\234+++\377\222,,,\377\212+++\377\207,,,\377" \ - "\214+++\377\216,,,\377\203+++\377\216,,,\377\236+++\377\202,,,\377\214" \ - "---\377\202,,,\377\203+++\377\202***\377\34)))\377(((\377'''\377&&&\377" \ - "$$$\377###\377\"\"\"\377\40\40\40\377\37\37\37\377\35\35\35\377\33\33" \ - "\33\377\32\32\32\377\30\30\30\377\26\26\26\377\24\24\24\377\23\23\23" \ - "\377\21\21\21\377\17\17\17\377\15\15\15\377\14\14\14\377\12\12\12\377" \ - "\10\10\10\377\7\7\7\377\5\5\5\377\4\4\4\377\3\3\3\377\2\2\2\377\1\1\1" \ - "\377\377\0\0\0\377\267\0\0\0\377\33\1\1\1\377\2\2\2\377\3\3\3\377\5\5" \ - "\5\377\6\6\6\377\7\7\7\377\11\11\11\377\12\12\12\377\14\14\14\377\16" \ - "\16\16\377\20\20\20\377\21\21\21\377\23\23\23\377\24\24\24\377\26\26" \ - "\26\377\30\30\30\377\31\31\31\377\33\33\33\377\34\34\34\377\36\36\36" \ - "\377\37\37\37\377!!!\377\"\"\"\377###\377$$$\377%%%\377&&&\377\202''" \ - "'\377\2(((\377)))\377\202***\377\2+++\377,,,\377\202---\377\3...\377" \ - "///\377000\377\202111\377\1""222\377\202444\377\3""555\377666\377777" \ - "\377\202888\377\3""999\377:::\377\305\305\305\377\205\377\377\377\377" \ - "\16\271\271\271\377999\377888\377777\377666\377555\377444\377222\377" \ - "111\377000\377///\377...\377---\377,,,\377\202+++\377\202***\377\202" \ - ")))\377\217(((\377\202)))\377\210***\377\203+++\377\205***\377\241))" \ - ")\377\215***\377\217)))\377\202***\377\206)))\377\205(((\377\204)))\377" \ - "\212***\377\211)))\377\211***\377\204)))\377\214(((\377\211)))\377\203" \ - "(((\377\205)))\377\216***\377\202)))\377\202(((\377\202'''\377\33&&&" \ - "\377%%%\377$$$\377###\377\"\"\"\377!!!\377\37\37\37\377\36\36\36\377" \ - "\34\34\34\377\33\33\33\377\31\31\31\377\30\30\30\377\26\26\26\377\24" \ - "\24\24\377\23\23\23\377\21\21\21\377\20\20\20\377\16\16\16\377\14\14" \ - "\14\377\12\12\12\377\11\11\11\377\7\7\7\377\6\6\6\377\4\4\4\377\3\3\3" \ - "\377\2\2\2\377\1\1\1\377\377\0\0\0\377\270\0\0\0\377\31\1\1\1\377\2\2" \ - "\2\377\3\3\3\377\4\4\4\377\5\5\5\377\6\6\6\377\10\10\10\377\11\11\11" \ - "\377\13\13\13\377\15\15\15\377\16\16\16\377\20\20\20\377\21\21\21\377" \ - "\23\23\23\377\24\24\24\377\26\26\26\377\27\27\27\377\31\31\31\377\32" \ - "\32\32\377\34\34\34\377\35\35\35\377\36\36\36\377\40\40\40\377!!!\377" \ - "\"\"\"\377\202###\377\1$$$\377\202%%%\377\2&&&\377'''\377\202(((\377" \ - "\5)))\377***\377+++\377,,,\377---\377\202...\377\3///\377000\377111\377" \ - "\202222\377\1""444\377\202555\377\1""666\377\202777\377\1\304\304\304" \ - "\377\205\377\377\377\377\17\270\270\270\377777\377666\377555\377444\377" \ - "222\377111\377000\377///\377...\377---\377,,,\377+++\377***\377)))\377" \ - "\202(((\377\202'''\377\202&&&\377\214%%%\377\204&&&\377\207'''\377\205" \ - "(((\377\205'''\377\237&&&\377\216'''\377\216&&&\377\204'''\377\216&&" \ - "&\377\213'''\377\207&&&\377\213'''\377\204&&&\377\211%%%\377\223&&&\377" \ - "\205'''\377\203(((\377\206'''\377\203&&&\377\202%%%\377\1$$$\377\202" \ - "###\377\31\"\"\"\377!!!\377\40\40\40\377\36\36\36\377\35\35\35\377\34" \ - "\34\34\377\32\32\32\377\31\31\31\377\27\27\27\377\26\26\26\377\24\24" \ - "\24\377\23\23\23\377\21\21\21\377\20\20\20\377\16\16\16\377\14\14\14" \ - "\377\13\13\13\377\11\11\11\377\10\10\10\377\6\6\6\377\5\5\5\377\4\4\4" \ - "\377\3\3\3\377\2\2\2\377\1\1\1\377\377\0\0\0\377\271\0\0\0\377\31\1\1" \ - "\1\377\2\2\2\377\3\3\3\377\4\4\4\377\5\5\5\377\7\7\7\377\10\10\10\377" \ - "\12\12\12\377\13\13\13\377\15\15\15\377\16\16\16\377\20\20\20\377\21" \ - "\21\21\377\22\22\22\377\24\24\24\377\25\25\25\377\27\27\27\377\30\30" \ - "\30\377\31\31\31\377\33\33\33\377\34\34\34\377\35\35\35\377\36\36\36" \ - "\377\37\37\37\377\40\40\40\377\202!!!\377\1\"\"\"\377\202###\377\4$$" \ - "$\377%%%\377&&&\377'''\377\202(((\377\202***\377\4+++\377,,,\377---\377" \ - "...\377\202///\377\4""000\377111\377222\377333\377\202444\377\2""555" \ - "\377\304\304\304\377\205\377\377\377\377\1\270\270\270\377\202444\377" \ - "\6""222\377111\377000\377///\377...\377---\377\202+++\377\1***\377\202" \ - "(((\377\2'''\377&&&\377\202%%%\377\1$$$\377\203###\377\211\"\"\"\377" \ - "\206###\377\203$$$\377\214%%%\377\202$$$\377\236###\377\220$$$\377\215" \ - "###\377\204$$$\377\216###\377\214$$$\377\206###\377\213$$$\377\206##" \ - "#\377\204\"\"\"\377\226###\377\202$$$\377\211%%%\377\203$$$\377\204#" \ - "##\377\1\"\"\"\377\202!!!\377\31\40\40\40\377\37\37\37\377\36\36\36\377" \ - "\35\35\35\377\34\34\34\377\33\33\33\377\31\31\31\377\30\30\30\377\27" \ - "\27\27\377\25\25\25\377\24\24\24\377\22\22\22\377\21\21\21\377\20\20" \ - "\20\377\16\16\16\377\15\15\15\377\13\13\13\377\12\12\12\377\10\10\10" \ - "\377\7\7\7\377\5\5\5\377\4\4\4\377\3\3\3\377\2\2\2\377\1\1\1\377\377" \ - "\0\0\0\377\272\0\0\0\377\202\1\1\1\377\202\3\3\3\377\22\4\4\4\377\6\6" \ - "\6\377\7\7\7\377\10\10\10\377\12\12\12\377\13\13\13\377\15\15\15\377" \ - "\16\16\16\377\20\20\20\377\21\21\21\377\22\22\22\377\24\24\24\377\25" \ - "\25\25\377\26\26\26\377\27\27\27\377\31\31\31\377\32\32\32\377\33\33" \ - "\33\377\202\34\34\34\377\2\35\35\35\377\36\36\36\377\202\37\37\37\377" \ - "\1\40\40\40\377\202!!!\377\202###\377\7$$$\377%%%\377&&&\377'''\377(" \ - "((\377)))\377***\377\202+++\377\3,,,\377---\377...\377\202///\377\1""0" \ - "00\377\202111\377\2""222\377\303\303\303\377\205\377\377\377\377\1\267" \ - "\267\267\377\202111\377\14""000\377///\377...\377---\377+++\377***\377" \ - ")))\377(((\377'''\377&&&\377%%%\377$$$\377\202###\377\1\"\"\"\377\202" \ - "!!!\377\202\40\40\40\377\210\37\37\37\377\206\40\40\40\377\204!!!\377" \ - "\214\"\"\"\377\203!!!\377\233\40\40\40\377\224!!!\377\210\40\40\40\377" \ - "\211!!!\377\212\40\40\40\377\220!!!\377\202\40\40\40\377\217!!!\377\204" \ - "\40\40\40\377\204\37\37\37\377\207\40\40\40\377\202!!!\377\213\40\40" \ - "\40\377\204!!!\377\212\"\"\"\377\203!!!\377\203\40\40\40\377\202\37\37" \ - "\37\377\2\36\36\36\377\35\35\35\377\202\34\34\34\377\24\33\33\33\377" \ - "\32\32\32\377\31\31\31\377\27\27\27\377\26\26\26\377\25\25\25\377\24" \ - "\24\24\377\22\22\22\377\21\21\21\377\20\20\20\377\16\16\16\377\15\15" \ - "\15\377\13\13\13\377\12\12\12\377\10\10\10\377\7\7\7\377\6\6\6\377\4" \ - "\4\4\377\3\3\3\377\2\2\2\377\202\1\1\1\377\377\0\0\0\377\273\0\0\0\377" \ - "\24\1\1\1\377\2\2\2\377\3\3\3\377\4\4\4\377\5\5\5\377\6\6\6\377\7\7\7" \ - "\377\10\10\10\377\12\12\12\377\13\13\13\377\14\14\14\377\16\16\16\377" \ - "\17\17\17\377\20\20\20\377\22\22\22\377\23\23\23\377\24\24\24\377\25" \ - "\25\25\377\26\26\26\377\27\27\27\377\202\31\31\31\377\1\32\32\32\377" \ - "\202\33\33\33\377\202\34\34\34\377\6\35\35\35\377\36\36\36\377\37\37" \ - "\37\377\40\40\40\377!!!\377\"\"\"\377\202###\377\7$$$\377%%%\377&&&\377" \ - "'''\377(((\377)))\377***\377\202+++\377\2,,,\377---\377\202...\377\202" \ - "///\377\1\207\207\207\377\205\254\254\254\377\14\200\200\200\377///\377" \ - "...\377---\377,,,\377+++\377***\377)))\377(((\377'''\377&&&\377%%%\377" \ - "\202###\377\3\"\"\"\377!!!\377\40\40\40\377\202\37\37\37\377\202\36\36" \ - "\36\377\202\35\35\35\377\207\34\34\34\377\205\35\35\35\377\203\36\36" \ - "\36\377\217\37\37\37\377\306\36\36\36\377\203\35\35\35\377\210\36\36" \ - "\36\377\204\37\37\37\377\231\36\36\36\377\204\35\35\35\377\1\34\34\34" \ - "\377\206\35\35\35\377\223\36\36\36\377\214\37\37\37\377\204\36\36\36" \ - "\377\1\35\35\35\377\202\34\34\34\377\202\33\33\33\377\1\32\32\32\377" \ - "\202\31\31\31\377\20\27\27\27\377\26\26\26\377\25\25\25\377\24\24\24" \ - "\377\23\23\23\377\21\21\21\377\20\20\20\377\17\17\17\377\15\15\15\377" \ - "\14\14\14\377\13\13\13\377\12\12\12\377\10\10\10\377\7\7\7\377\6\6\6" \ - "\377\5\5\5\377\202\3\3\3\377\2\2\2\2\377\1\1\1\377\377\0\0\0\377\275" \ - "\0\0\0\377\26\1\1\1\377\2\2\2\377\3\3\3\377\4\4\4\377\5\5\5\377\6\6\6" \ - "\377\7\7\7\377\10\10\10\377\12\12\12\377\13\13\13\377\14\14\14\377\15" \ - "\15\15\377\17\17\17\377\20\20\20\377\21\21\21\377\22\22\22\377\23\23" \ - "\23\377\24\24\24\377\25\25\25\377\26\26\26\377\27\27\27\377\30\30\30" \ - "\377\203\31\31\31\377\202\32\32\32\377\12\33\33\33\377\34\34\34\377\35" \ - "\35\35\377\36\36\36\377\37\37\37\377\40\40\40\377!!!\377\"\"\"\377##" \ - "#\377$$$\377\202%%%\377\4&&&\377'''\377(((\377)))\377\202***\377\1++" \ - "+\377\213,,,\377\202+++\377\13***\377)))\377'''\377&&&\377%%%\377$$$" \ - "\377###\377\"\"\"\377!!!\377\40\40\40\377\37\37\37\377\202\36\36\36\377" \ - "\2\35\35\35\377\34\34\34\377\202\33\33\33\377\215\32\32\32\377\204\33" \ - "\33\33\377\220\34\34\34\377\242\33\33\33\377\210\34\34\34\377\245\33" \ - "\33\33\377\207\34\34\34\377\214\33\33\33\377\206\34\34\34\377\205\33" \ - "\33\33\377\213\32\32\32\377\222\33\33\33\377\216\34\34\34\377\203\33" \ - "\33\33\377\202\32\32\32\377\203\31\31\31\377\26\30\30\30\377\27\27\27" \ - "\377\26\26\26\377\25\25\25\377\24\24\24\377\23\23\23\377\22\22\22\377" \ - "\21\21\21\377\20\20\20\377\17\17\17\377\15\15\15\377\14\14\14\377\13" \ - "\13\13\377\11\11\11\377\10\10\10\377\7\7\7\377\6\6\6\377\5\5\5\377\4" \ - "\4\4\377\3\3\3\377\2\2\2\377\1\1\1\377\377\0\0\0\377\277\0\0\0\377\22" \ - "\1\1\1\377\2\2\2\377\3\3\3\377\4\4\4\377\5\5\5\377\6\6\6\377\7\7\7\377" \ - "\10\10\10\377\11\11\11\377\12\12\12\377\13\13\13\377\15\15\15\377\16" \ - "\16\16\377\17\17\17\377\20\20\20\377\21\21\21\377\22\22\22\377\23\23" \ - "\23\377\202\24\24\24\377\1\25\25\25\377\202\26\26\26\377\202\27\27\27" \ - "\377\2\30\30\30\377\31\31\31\377\202\32\32\32\377\12\33\33\33\377\34" \ - "\34\34\377\35\35\35\377\36\36\36\377\37\37\37\377\40\40\40\377!!!\377" \ - "\"\"\"\377###\377$$$\377\202%%%\377\2&&&\377'''\377\202(((\377\1)))\377" \ - "\211***\377\202)))\377\11(((\377'''\377&&&\377%%%\377$$$\377###\377!" \ - "!!\377\40\40\40\377\37\37\37\377\202\36\36\36\377\202\34\34\34\377\2" \ - "\33\33\33\377\32\32\32\377\202\31\31\31\377\202\30\30\30\377\213\27\27" \ - "\27\377\202\30\30\30\377\207\31\31\31\377\210\32\32\32\377\205\31\31" \ - "\31\377\232\30\30\30\377\224\31\31\31\377\212\30\30\30\377\210\31\31" \ - "\31\377\212\30\30\30\377\220\31\31\31\377\1\30\30\30\377\220\31\31\31" \ - "\377\203\30\30\30\377\207\27\27\27\377\222\30\30\30\377\206\31\31\31" \ - "\377\205\32\32\32\377\207\31\31\31\377\202\30\30\30\377\202\27\27\27" \ - "\377\202\26\26\26\377\1\25\25\25\377\202\24\24\24\377\22\23\23\23\377" \ - "\22\22\22\377\21\21\21\377\20\20\20\377\17\17\17\377\16\16\16\377\15" \ - "\15\15\377\13\13\13\377\12\12\12\377\11\11\11\377\10\10\10\377\7\7\7" \ - "\377\6\6\6\377\5\5\5\377\4\4\4\377\3\3\3\377\2\2\2\377\1\1\1\377\377" \ - "\0\0\0\377\300\0\0\0\377\202\1\1\1\377\3\2\2\2\377\3\3\3\377\4\4\4\377" \ - "\202\5\5\5\377\12\6\6\6\377\10\10\10\377\11\11\11\377\12\12\12\377\13" \ - "\13\13\377\14\14\14\377\15\15\15\377\16\16\16\377\17\17\17\377\20\20" \ - "\20\377\202\21\21\21\377\2\22\22\22\377\23\23\23\377\203\24\24\24\377" \ - "\202\25\25\25\377\6\26\26\26\377\27\27\27\377\30\30\30\377\31\31\31\377" \ - "\32\32\32\377\33\33\33\377\202\34\34\34\377\202\36\36\36\377\4\37\37" \ - "\37\377\40\40\40\377!!!\377\"\"\"\377\202###\377\2$$$\377%%%\377\202" \ - "&&&\377\212'''\377\1&&&\377\202%%%\377\202###\377\12!!!\377\40\40\40" \ - "\377\37\37\37\377\36\36\36\377\35\35\35\377\34\34\34\377\33\33\33\377" \ - "\32\32\32\377\31\31\31\377\30\30\30\377\202\27\27\27\377\1\26\26\26\377" \ - "\202\25\25\25\377\212\24\24\24\377\204\25\25\25\377\203\26\26\26\377" \ - "\216\27\27\27\377\202\26\26\26\377\232\25\25\25\377\224\26\26\26\377" \ - "\212\25\25\25\377\207\26\26\26\377\213\25\25\25\377\220\26\26\26\377" \ - "\202\25\25\25\377\217\26\26\26\377\203\25\25\25\377\206\24\24\24\377" \ - "\224\25\25\25\377\202\26\26\26\377\213\27\27\27\377\204\26\26\26\377" \ - "\203\25\25\25\377\203\24\24\24\377\2\23\23\23\377\22\22\22\377\202\21" \ - "\21\21\377\12\20\20\20\377\17\17\17\377\16\16\16\377\15\15\15\377\14" \ - "\14\14\377\13\13\13\377\12\12\12\377\11\11\11\377\10\10\10\377\6\6\6" \ - "\377\202\5\5\5\377\3\4\4\4\377\3\3\3\377\2\2\2\377\202\1\1\1\377\377" \ - "\0\0\0\377\301\0\0\0\377\202\1\1\1\377\1\2\2\2\377\202\3\3\3\377\13\4" \ - "\4\4\377\5\5\5\377\6\6\6\377\7\7\7\377\10\10\10\377\11\11\11\377\12\12" \ - "\12\377\13\13\13\377\14\14\14\377\15\15\15\377\16\16\16\377\202\17\17" \ - "\17\377\202\20\20\20\377\1\21\21\21\377\203\22\22\22\377\1\23\23\23\377" \ - "\202\24\24\24\377\7\25\25\25\377\26\26\26\377\27\27\27\377\30\30\30\377" \ - "\31\31\31\377\32\32\32\377\33\33\33\377\202\34\34\34\377\202\36\36\36" \ - "\377\3\37\37\37\377\40\40\40\377!!!\377\202\"\"\"\377\202###\377\212" \ - "$$$\377\202###\377\12\"\"\"\377!!!\377\40\40\40\377\37\37\37\377\36\36" \ - "\36\377\34\34\34\377\33\33\33\377\32\32\32\377\31\31\31\377\30\30\30" \ - "\377\202\27\27\27\377\202\25\25\25\377\1\24\24\24\377\202\23\23\23\377" \ - "\215\22\22\22\377\202\23\23\23\377\223\24\24\24\377\204\23\23\23\377" \ - "\207\22\22\22\377\204\23\23\23\377\207\22\22\22\377\205\23\23\23\377" \ - "\221\24\24\24\377\216\23\23\23\377\204\24\24\24\377\205\23\23\23\377" \ - "\205\22\22\22\377\205\23\23\23\377\212\24\24\24\377\210\23\23\23\377" \ - "\211\24\24\24\377\205\23\23\23\377\212\22\22\22\377\211\23\23\23\377" \ - "\205\22\22\22\377\203\23\23\23\377\220\24\24\24\377\203\23\23\23\377" \ - "\203\22\22\22\377\1\21\21\21\377\202\20\20\20\377\202\17\17\17\377\13" \ - "\16\16\16\377\15\15\15\377\14\14\14\377\13\13\13\377\12\12\12\377\11" \ - "\11\11\377\10\10\10\377\7\7\7\377\6\6\6\377\5\5\5\377\4\4\4\377\202\3" \ - "\3\3\377\1\2\2\2\377\202\1\1\1\377\377\0\0\0\377\303\0\0\0\377\202\1" \ - "\1\1\377\1\2\2\2\377\202\3\3\3\377\4\4\4\4\377\5\5\5\377\6\6\6\377\7" \ - "\7\7\377\202\10\10\10\377\4\11\11\11\377\12\12\12\377\13\13\13\377\14" \ - "\14\14\377\202\15\15\15\377\202\16\16\16\377\1\17\17\17\377\204\20\20" \ - "\20\377\3\21\21\21\377\22\22\22\377\23\23\23\377\202\24\24\24\377\7\25" \ - "\25\25\377\26\26\26\377\27\27\27\377\30\30\30\377\31\31\31\377\32\32" \ - "\32\377\33\33\33\377\202\34\34\34\377\3\35\35\35\377\36\36\36\377\37" \ - "\37\37\377\202\40\40\40\377\207!!!\377\202\"\"\"\377\203!!!\377\12\40" \ - "\40\40\377\37\37\37\377\36\36\36\377\35\35\35\377\34\34\34\377\33\33" \ - "\33\377\32\32\32\377\31\31\31\377\30\30\30\377\27\27\27\377\202\25\25" \ - "\25\377\3\24\24\24\377\23\23\23\377\22\22\22\377\202\21\21\21\377\202" \ - "\20\20\20\377\210\17\17\17\377\205\20\20\20\377\206\21\21\21\377\212" \ - "\22\22\22\377\205\21\21\21\377\230\20\20\20\377\225\21\21\21\377\212" \ - "\20\20\20\377\207\21\21\21\377\214\20\20\20\377\237\21\21\21\377\206" \ - "\20\20\20\377\202\17\17\17\377\225\20\20\20\377\205\21\21\21\377\207" \ - "\22\22\22\377\206\21\21\21\377\205\20\20\20\377\1\17\17\17\377\202\16" \ - "\16\16\377\202\15\15\15\377\4\14\14\14\377\13\13\13\377\12\12\12\377" \ - "\11\11\11\377\202\10\10\10\377\4\7\7\7\377\6\6\6\377\5\5\5\377\4\4\4" \ - "\377\202\3\3\3\377\1\2\2\2\377\202\1\1\1\377\377\0\0\0\377\306\0\0\0" \ - "\377\1\1\1\1\377\202\2\2\2\377\1\3\3\3\377\202\4\4\4\377\3\5\5\5\377" \ - "\6\6\6\377\7\7\7\377\202\10\10\10\377\1\11\11\11\377\202\12\12\12\377" \ - "\202\13\13\13\377\1\14\14\14\377\203\15\15\15\377\202\16\16\16\377\1" \ - "\17\17\17\377\202\20\20\20\377\4\21\21\21\377\22\22\22\377\23\23\23\377" \ - "\24\24\24\377\202\25\25\25\377\202\27\27\27\377\3\30\30\30\377\31\31" \ - "\31\377\32\32\32\377\202\33\33\33\377\2\34\34\34\377\35\35\35\377\202" \ - "\36\36\36\377\212\37\37\37\377\2\36\36\36\377\35\35\35\377\202\34\34" \ - "\34\377\12\33\33\33\377\32\32\32\377\31\31\31\377\30\30\30\377\26\26" \ - "\26\377\25\25\25\377\24\24\24\377\23\23\23\377\22\22\22\377\21\21\21" \ - "\377\202\20\20\20\377\2\17\17\17\377\16\16\16\377\215\15\15\15\377\203" \ - "\16\16\16\377\223\17\17\17\377\202\16\16\16\377\226\15\15\15\377\202" \ - "\16\16\16\377\205\17\17\17\377\221\16\16\16\377\206\15\15\15\377\214" \ - "\16\16\16\377\206\15\15\15\377\245\16\16\16\377\231\15\15\15\377\202" \ - "\16\16\16\377\220\17\17\17\377\204\16\16\16\377\203\15\15\15\377\1\14" \ - "\14\14\377\202\13\13\13\377\202\12\12\12\377\1\11\11\11\377\202\10\10" \ - "\10\377\3\7\7\7\377\6\6\6\377\5\5\5\377\202\4\4\4\377\1\3\3\3\377\202" \ - "\2\2\2\377\1\1\1\1\377\377\0\0\0\377\311\0\0\0\377\202\1\1\1\377\1\2" \ - "\2\2\377\202\3\3\3\377\202\4\4\4\377\1\5\5\5\377\202\6\6\6\377\2\7\7" \ - "\7\377\10\10\10\377\202\11\11\11\377\203\12\12\12\377\203\13\13\13\377" \ - "\202\14\14\14\377\3\15\15\15\377\16\16\16\377\17\17\17\377\202\20\20" \ - "\20\377\4\21\21\21\377\22\22\22\377\23\23\23\377\24\24\24\377\202\25" \ - "\25\25\377\3\26\26\26\377\27\27\27\377\30\30\30\377\202\31\31\31\377" \ - "\1\32\32\32\377\202\33\33\33\377\212\34\34\34\377\202\33\33\33\377\1" \ - "\32\32\32\377\202\31\31\31\377\14\27\27\27\377\26\26\26\377\25\25\25" \ - "\377\24\24\24\377\23\23\23\377\22\22\22\377\21\21\21\377\20\20\20\377" \ - "\17\17\17\377\16\16\16\377\15\15\15\377\14\14\14\377\202\13\13\13\377" \ - "\212\12\12\12\377\203\13\13\13\377\204\14\14\14\377\220\15\15\15\377" \ - "\203\14\14\14\377\226\13\13\13\377\227\14\14\14\377\211\13\13\13\377" \ - "\210\14\14\14\377\213\13\13\13\377\236\14\14\14\377\207\13\13\13\377" \ - "\204\12\12\12\377\222\13\13\13\377\204\14\14\14\377\214\15\15\15\377" \ - "\205\14\14\14\377\203\13\13\13\377\203\12\12\12\377\202\11\11\11\377" \ - "\2\10\10\10\377\7\7\7\377\202\6\6\6\377\1\5\5\5\377\202\4\4\4\377\202" \ - "\3\3\3\377\1\2\2\2\377\202\1\1\1\377\377\0\0\0\377\313\0\0\0\377\202" \ - "\1\1\1\377\202\2\2\2\377\202\3\3\3\377\202\4\4\4\377\202\5\5\5\377\1" \ - "\6\6\6\377\202\7\7\7\377\202\10\10\10\377\204\11\11\11\377\203\12\12" \ - "\12\377\5\13\13\13\377\14\14\14\377\15\15\15\377\16\16\16\377\17\17\17" \ - "\377\202\20\20\20\377\4\21\21\21\377\22\22\22\377\23\23\23\377\24\24" \ - "\24\377\202\25\25\25\377\3\26\26\26\377\27\27\27\377\30\30\30\377\203" \ - "\31\31\31\377\210\32\32\32\377\203\31\31\31\377\7\30\30\30\377\27\27" \ - "\27\377\26\26\26\377\25\25\25\377\24\24\24\377\23\23\23\377\22\22\22" \ - "\377\202\20\20\20\377\4\16\16\16\377\15\15\15\377\14\14\14\377\13\13" \ - "\13\377\202\12\12\12\377\1\11\11\11\377\213\10\10\10\377\203\11\11\11" \ - "\377\227\12\12\12\377\226\11\11\11\377\213\12\12\12\377\204\11\11\11" \ - "\377\206\12\12\12\377\214\11\11\11\377\205\12\12\12\377\222\11\11\11" \ - "\377\224\12\12\12\377\214\11\11\11\377\204\10\10\10\377\223\11\11\11" \ - "\377\224\12\12\12\377\204\11\11\11\377\202\10\10\10\377\202\7\7\7\377" \ - "\1\6\6\6\377\202\5\5\5\377\202\4\4\4\377\202\3\3\3\377\202\2\2\2\377" \ - "\202\1\1\1\377\377\0\0\0\377\316\0\0\0\377\202\1\1\1\377\202\2\2\2\377" \ - "\202\3\3\3\377\202\4\4\4\377\203\5\5\5\377\202\6\6\6\377\204\7\7\7\377" \ - "\203\10\10\10\377\1\11\11\11\377\202\12\12\12\377\6\13\13\13\377\14\14" \ - "\14\377\15\15\15\377\16\16\16\377\17\17\17\377\20\20\20\377\202\21\21" \ - "\21\377\2\22\22\22\377\23\23\23\377\202\24\24\24\377\1\25\25\25\377\202" \ - "\26\26\26\377\202\27\27\27\377\207\30\30\30\377\202\27\27\27\377\2\26" \ - "\26\26\377\25\25\25\377\202\24\24\24\377\2\22\22\22\377\21\21\21\377" \ - "\202\20\20\20\377\10\16\16\16\377\15\15\15\377\14\14\14\377\13\13\13" \ - "\377\12\12\12\377\11\11\11\377\10\10\10\377\7\7\7\377\202\6\6\6\377\206" \ - "\5\5\5\377\204\6\6\6\377\203\7\7\7\377\227\10\10\10\377\203\7\7\7\377" \ - "\220\6\6\6\377\203\7\7\7\377\211\10\10\10\377\221\7\7\7\377\202\6\6\6" \ - "\377\220\7\7\7\377\202\6\6\6\377\221\7\7\7\377\210\10\10\10\377\220\7" \ - "\7\7\377\224\6\6\6\377\204\7\7\7\377\224\10\10\10\377\204\7\7\7\377\202" \ - "\6\6\6\377\203\5\5\5\377\202\4\4\4\377\202\3\3\3\377\202\2\2\2\377\202" \ - "\1\1\1\377\377\0\0\0\377\322\0\0\0\377\202\1\1\1\377\202\2\2\2\377\203" \ - "\3\3\3\377\203\4\4\4\377\205\5\5\5\377\204\6\6\6\377\4\7\7\7\377\10\10" \ - "\10\377\11\11\11\377\12\12\12\377\202\13\13\13\377\202\15\15\15\377\2" \ - "\16\16\16\377\17\17\17\377\202\20\20\20\377\3\21\21\21\377\22\22\22\377" \ - "\23\23\23\377\203\24\24\24\377\202\25\25\25\377\204\26\26\26\377\203" \ - "\25\25\25\377\202\24\24\24\377\15\23\23\23\377\22\22\22\377\21\21\21" \ - "\377\20\20\20\377\17\17\17\377\16\16\16\377\15\15\15\377\14\14\14\377" \ - "\13\13\13\377\12\12\12\377\11\11\11\377\10\10\10\377\6\6\6\377\202\5" \ - "\5\5\377\1\4\4\4\377\206\3\3\3\377\204\4\4\4\377\205\5\5\5\377\225\6" \ - "\6\6\377\205\5\5\5\377\216\4\4\4\377\205\5\5\5\377\207\6\6\6\377\267" \ - "\5\5\5\377\210\6\6\6\377\225\5\5\5\377\215\4\4\4\377\207\5\5\5\377\223" \ - "\6\6\6\377\205\5\5\5\377\203\4\4\4\377\203\3\3\3\377\202\2\2\2\377\202" \ - "\1\1\1\377\377\0\0\0\377\326\0\0\0\377\203\1\1\1\377\203\2\2\2\377\204" \ - "\3\3\3\377\207\4\4\4\377\3\5\5\5\377\6\6\6\377\7\7\7\377\202\10\10\10" \ - "\377\4\11\11\11\377\12\12\12\377\13\13\13\377\14\14\14\377\202\15\15" \ - "\15\377\2\16\16\16\377\17\17\17\377\202\20\20\20\377\1\21\21\21\377\202" \ - "\22\22\22\377\1\23\23\23\377\206\24\24\24\377\1\23\23\23\377\202\22\22" \ - "\22\377\1\21\21\21\377\202\20\20\20\377\15\17\17\17\377\16\16\16\377" \ - "\15\15\15\377\14\14\14\377\13\13\13\377\12\12\12\377\11\11\11\377\10" \ - "\10\10\377\7\7\7\377\6\6\6\377\5\5\5\377\4\4\4\377\3\3\3\377\202\2\2" \ - "\2\377\202\1\1\1\377\203\2\2\2\377\206\3\3\3\377\233\4\4\4\377\222\3" \ - "\3\3\377\215\4\4\4\377\261\3\3\3\377\215\4\4\4\377\243\3\3\3\377\232" \ - "\4\4\4\377\204\3\3\3\377\203\2\2\2\377\203\1\1\1\377\377\0\0\0\377\333" \ - "\0\0\0\377\204\1\1\1\377\204\2\2\2\377\207\3\3\3\377\1\4\4\4\377\202" \ - "\5\5\5\377\3\6\6\6\377\7\7\7\377\10\10\10\377\202\11\11\11\377\3\12\12" \ - "\12\377\13\13\13\377\14\14\14\377\202\15\15\15\377\2\16\16\16\377\17" \ - "\17\17\377\202\20\20\20\377\202\21\21\21\377\204\22\22\22\377\202\21" \ - "\21\21\377\202\20\20\20\377\2\17\17\17\377\16\16\16\377\202\15\15\15" \ - "\377\13\14\14\14\377\13\13\13\377\12\12\12\377\11\11\11\377\10\10\10" \ - "\377\7\7\7\377\6\6\6\377\5\5\5\377\4\4\4\377\3\3\3\377\2\2\2\377\202" \ - "\1\1\1\377\203\0\0\0\377\205\1\1\1\377\205\2\2\2\377\231\3\3\3\377\206" \ - "\2\2\2\377\210\1\1\1\377\206\2\2\2\377\213\3\3\3\377\252\2\2\2\377\203" \ - "\1\1\1\377\206\2\2\2\377\213\3\3\3\377\205\2\2\2\377\205\1\1\1\377\215" \ - "\2\2\2\377\210\1\1\1\377\205\2\2\2\377\203\3\3\3\377\205\2\2\2\377\221" \ - "\3\3\3\377\204\2\2\2\377\204\1\1\1\377\377\0\0\0\377\342\0\0\0\377\212" \ - "\1\1\1\377\202\2\2\2\377\202\3\3\3\377\2\4\4\4\377\5\5\5\377\202\6\6" \ - "\6\377\4\7\7\7\377\10\10\10\377\11\11\11\377\12\12\12\377\202\13\13\13" \ - "\377\3\14\14\14\377\15\15\15\377\16\16\16\377\202\17\17\17\377\206\20" \ - "\20\20\377\202\17\17\17\377\1\16\16\16\377\202\15\15\15\377\11\14\14" \ - "\14\377\13\13\13\377\12\12\12\377\11\11\11\377\10\10\10\377\7\7\7\377" \ - "\6\6\6\377\5\5\5\377\4\4\4\377\202\3\3\3\377\2\2\2\2\377\1\1\1\377\211" \ - "\0\0\0\377\246\1\1\1\377\206\0\0\0\377\231\1\1\1\377\202\0\0\0\377\240" \ - "\1\1\1\377\205\0\0\0\377\225\1\1\1\377\205\0\0\0\377\215\1\1\1\377\207" \ - "\0\0\0\377\243\1\1\1\377\377\0\0\0\377\356\0\0\0\377\205\1\1\1\377\1" \ - "\2\2\2\377\202\3\3\3\377\1\4\4\4\377\202\5\5\5\377\5\6\6\6\377\7\7\7" \ - "\377\10\10\10\377\11\11\11\377\12\12\12\377\202\13\13\13\377\1\14\14" \ - "\14\377\203\15\15\15\377\204\16\16\16\377\203\15\15\15\377\1\14\14\14" \ - "\377\202\13\13\13\377\5\12\12\12\377\11\11\11\377\10\10\10\377\7\7\7" \ - "\377\6\6\6\377\202\5\5\5\377\3\4\4\4\377\3\3\3\377\2\2\2\377\202\1\1" \ - "\1\377\377\0\0\0\377\203\1\1\1\377\271\0\0\0\377\204\1\1\1\377\377\0" \ - "\0\0\377\373\0\0\0\377\1\1\1\1\377\202\2\2\2\377\1\3\3\3\377\202\4\4" \ - "\4\377\3\5\5\5\377\6\6\6\377\7\7\7\377\202\10\10\10\377\1\11\11\11\377" \ - "\202\12\12\12\377\202\13\13\13\377\206\14\14\14\377\202\13\13\13\377" \ - "\202\12\12\12\377\1\11\11\11\377\202\10\10\10\377\3\7\7\7\377\6\6\6\377" \ - "\5\5\5\377\202\4\4\4\377\1\3\3\3\377\202\2\2\2\377\1\1\1\1\377\377\0" \ - "\0\0\377\377\0\0\0\377\377\0\0\0\377\276\0\0\0\377\202\1\1\1\377\1\2" \ - "\2\2\377\202\3\3\3\377\1\4\4\4\377\202\5\5\5\377\2\6\6\6\377\7\7\7\377" \ - "\202\10\10\10\377\202\11\11\11\377\210\12\12\12\377\202\11\11\11\377" \ - "\202\10\10\10\377\2\7\7\7\377\6\6\6\377\202\5\5\5\377\1\4\4\4\377\202" \ - "\3\3\3\377\1\2\2\2\377\202\1\1\1\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\300\0\0\0\377\202\1\1\1\377\1\2\2\2\377\202\3\3\3\377\202" \ - "\4\4\4\377\202\5\5\5\377\1\6\6\6\377\202\7\7\7\377\212\10\10\10\377\1" \ - "\7\7\7\377\202\6\6\6\377\202\5\5\5\377\202\4\4\4\377\202\3\3\3\377\1" \ - "\2\2\2\377\202\1\1\1\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\302" \ - "\0\0\0\377\202\1\1\1\377\202\2\2\2\377\202\3\3\3\377\202\4\4\4\377\203" \ - "\5\5\5\377\204\6\6\6\377\202\7\7\7\377\204\6\6\6\377\203\5\5\5\377\202" \ - "\4\4\4\377\202\3\3\3\377\202\2\2\2\377\202\1\1\1\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\304\0\0\0\377\203\1\1\1\377\202\2\2\2\377\203" \ - "\3\3\3\377\203\4\4\4\377\210\5\5\5\377\203\4\4\4\377\203\3\3\3\377\202" \ - "\2\2\2\377\203\1\1\1\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\307" \ - "\0\0\0\377\203\1\1\1\377\203\2\2\2\377\205\3\3\3\377\204\4\4\4\377\205" \ - "\3\3\3\377\203\2\2\2\377\203\1\1\1\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\313\0\0\0\377\205\1\1\1\377\204\2\2\2\377\204\3\3\3\377\204" \ - "\2\2\2\377\205\1\1\1\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\320" \ - "\0\0\0\377\220\1\1\1\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377" \ - "\0\0\0\377\252\0\0\0\377\3\26\24\21\377-(\"\377($\37\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377\377\0\0\0\377" \ - "\321\0\0\0\377\377\1\0\0\377\377\1\0\0\377\377\1\0\0\377\343\1\0\0\377" \ - "\377\3\1\0\377\377\3\1\0\377\377\3\1\0\377\343\3\1\0\377\377\5\2\0\377" \ - "\377\5\2\0\377\377\5\2\0\377\343\5\2\0\377\377\7\3\0\377\377\7\3\0\377" \ - "\377\7\3\0\377\343\7\3\0\377\377\11\4\0\377\377\11\4\0\377\377\11\4\0" \ - "\377\343\11\4\0\377\377\13\5\0\377\377\13\5\0\377\377\13\5\0\377\343" \ - "\13\5\0\377\377\14\6\0\377\377\14\6\0\377\377\14\6\0\377\343\14\6\0\377" \ - "\377\16\7\0\377\377\16\7\0\377\377\16\7\0\377\343\16\7\0\377\377\20\10" \ - "\0\377\377\20\10\0\377\377\20\10\0\377\343\20\10\0\377\377\22\11\0\377" \ - "\377\22\11\0\377\377\22\11\0\377\343\22\11\0\377\377\24\12\0\377\377" \ - "\24\12\0\377\377\24\12\0\377\343\24\12\0\377\377\25\12\0\377\377\25\12" \ - "\0\377\377\25\12\0\377\343\25\12\0\377\377\27\13\0\377\377\27\13\0\377" \ - "\377\27\13\0\377\343\27\13\0\377\377\31\14\0\377\377\31\14\0\377\377" \ - "\31\14\0\377\343\31\14\0\377\377\33\15\0\377\377\33\15\0\377\377\33\15" \ - "\0\377\343\33\15\0\377\377\35\16\0\377\377\35\16\0\377\377\35\16\0\377" \ - "\343\35\16\0\377\377\36\17\0\377\377\36\17\0\377\377\36\17\0\377\343" \ - "\36\17\0\377\377\40\20\0\377\377\40\20\0\377\377\40\20\0\377\343\40\20" \ - "\0\377\377\"\21\0\377\377\"\21\0\377\377\"\21\0\377\343\"\21\0\377\377" \ - "$\22\0\377\377$\22\0\377\377$\22\0\377\343$\22\0\377\377&\23\0\377\377" \ - "&\23\0\377\377&\23\0\377\343&\23\0\377\377'\23\0\377\377'\23\0\377\377" \ - "'\23\0\377\343'\23\0\377\377)\24\0\377\377)\24\0\377\377)\24\0\377\343" \ - ")\24\0\377\377+\25\0\377\377+\25\0\377\377+\25\0\377\343+\25\0\377\377" \ - "-\26\0\377\377-\26\0\377\377-\26\0\377\343-\26\0\377\377/\27\0\377\377" \ - "/\27\0\377\377/\27\0\377\343/\27\0\377\3770\30\0\377\3770\30\0\377\377" \ - "0\30\0\377\3430\30\0\377\3772\31\0\377\3772\31\0\377\3772\31\0\377\343" \ - "2\31\0\377\3774\32\0\377\3774\32\0\377\3774\32\0\377\3434\32\0\377\377" \ - "6\33\0\377\3776\33\0\377\3776\33\0\377\3436\33\0\377\3778\34\0\377\377" \ - "8\34\0\377\3778\34\0\377\3438\34\0\377\377:\35\0\377\377:\35\0\377\377" \ - ":\35\0\377\343:\35\0\377\377;\35\0\377\377;\35\0\377\377;\35\0\377\343" \ - ";\35\0\377\377=\36\0\377\377=\36\0\377\377=\36\0\377\343=\36\0\377\377" \ - "\77\37\0\377\377\77\37\0\377\377\77\37\0\377\343\77\37\0\377\377A\40" \ - "\0\377\377A\40\0\377\377A\40\0\377\343A\40\0\377\377C!\0\377\377C!\0" \ - "\377\377C!\0\377\343C!\0\377\377D\"\0\377\377D\"\0\377\377D\"\0\377\343" \ - "D\"\0\377\377F#\0\377\377F#\0\377\377F#\0\377\343F#\0\377\377H$\0\377" \ - "\377H$\0\377\377H$\0\377\343H$\0\377\377J%\0\377\377J%\0\377\377J%\0" \ - "\377\343J%\0\377\377L&\0\377\377L&\0\377\377L&\0\377\343L&\0\377\377" \ - "M&\0\377\377M&\0\377\377M&\0\377\343M&\0\377\377O'\0\377\377O'\0\377" \ - "\377O'\0\377\343O'\0\377\377Q(\0\377\377Q(\0\377\377Q(\0\377\343Q(\0" \ - "\377\377S)\0\377\377S)\0\377\377S)\0\377\343S)\0\377\377U*\0\377\377" \ - "U*\0\377\377U*\0\377\343U*\0\377\377V+\0\377\377V+\0\377\377V+\0\377" \ - "\343V+\0\377\377X,\0\377\377X,\0\377\377X,\0\377\343X,\0\377\377Z-\0" \ - "\377\377Z-\0\377\377Z-\0\377\343Z-\0\377\377\\.\0\377\377\\.\0\377\377" \ - "\\.\0\377\343\\.\0\377\377^/\0\377\377^/\0\377\377^/\0\377\343^/\0\377" \ - "\377_/\0\377\377_/\0\377\377_/\0\377\343_/\0\377\377a0\0\377\377a0\0" \ - "\377\377a0\0\377\343a0\0\377\377c1\0\377\377c1\0\377\377c1\0\377\343" \ - "c1\0\377\377e2\0\377\377e2\0\377\377e2\0\377\343e2\0\377\377g3\0\377" \ - "\377g3\0\377\377g3\0\377\343g3\0\377\377i4\0\377\377i4\0\377\377i4\0" \ - "\377\343i4\0\377\377j5\0\377\377j5\0\377\377j5\0\377\343j5\0\377\377" \ - "l6\0\377\377l6\0\377\377l6\0\377\343l6\0\377\377n7\0\377\377n7\0\377" \ - "\377n7\0\377\343n7\0\377\377p8\0\377\377p8\0\377\377p8\0\377\343p8\0" \ - "\377\377r9\0\377\377r9\0\377\377r9\0\377\343r9\0\377\377s9\0\377\377" \ - "s9\0\377\377s9\0\377\343s9\0\377\377u:\0\377\377u:\0\377\377u:\0\377" \ - "\343u:\0\377\377w;\0\377\377w;\0\377\377w;\0\377\343w;\0\377\377y<\0" \ - "\377\377y<\0\377\377y<\0\377\343y<\0\377\377{=\0\377\377{=\0\377\377" \ - "{=\0\377\343{=\0\377\377|>\0\377\377|>\0\377\377|>\0\377\343|>\0\377" \ - "\377~\77\0\377\377~\77\0\377\377~\77\0\377\343~\77\0\377\377\200@\0\377" \ - "\377\200@\0\377\377\200@\0\377\343\200@\0\377\377\202A\0\377\377\202" \ - "A\0\377\377\202A\0\377\343\202A\0\377\377\204B\0\377\377\204B\0\377\377" \ - "\204B\0\377\343\204B\0\377\377\205B\0\377\377\205B\0\377\377\205B\0\377" \ - "\343\205B\0\377\377\207C\0\377\377\207C\0\377\377\207C\0\377\343\207" \ - "C\0\377\377\211D\0\377\377\211D\0\377\377\211D\0\377\343\211D\0\377\377" \ - "\213E\0\377\377\213E\0\377\377\213E\0\377\343\213E\0\377\377\215F\0\377" \ - "\377\215F\0\377\377\215F\0\377\343\215F\0\377\377\217G\0\377\377\217" \ - "G\0\377\377\217G\0\377\343\217G\0\377\377\220H\0\377\377\220H\0\377\377" \ - "\220H\0\377\343\220H\0\377\377\222I\0\377\377\222I\0\377\377\222I\0\377" \ - "\343\222I\0\377\377\224J\0\377\377\224J\0\377\377\224J\0\377\343\224" \ - "J\0\377\377\226K\0\377\377\226K\0\377\377\226K\0\377\343\226K\0\377\377" \ - "\230L\0\377\377\230L\0\377\377\230L\0\377\343\230L\0\377\377\231L\0\377" \ - "\377\231L\0\377\377\231L\0\377\343\231L\0\377\377\233M\0\377\377\233" \ - "M\0\377\377\233M\0\377\343\233M\0\377\377\235N\0\377\377\235N\0\377\377" \ - "\235N\0\377\343\235N\0\377\377\237O\0\377\377\237O\0\377\377\237O\0\377" \ - "\343\237O\0\377\377\241P\0\377\377\241P\0\377\377\241P\0\377\343\241" \ - "P\0\377\377\242Q\0\377\377\242Q\0\377\377\242Q\0\377\343\242Q\0\377\377" \ - "\244R\0\377\377\244R\0\377\377\244R\0\377\343\244R\0\377\377\246S\0\377" \ - "\377\246S\0\377\377\246S\0\377\343\246S\0\377\377\250T\0\377\377\250" \ - "T\0\377\377\250T\0\377\343\250T\0\377\377\252U\0\377\377\252U\0\377\377" \ - "\252U\0\377\343\252U\0\377\377\253U\0\377\377\253U\0\377\377\253U\0\377" \ - "\343\253U\0\377\377\255V\0\377\377\255V\0\377\377\255V\0\377\343\255" \ - "V\0\377\377\257W\0\377\377\257W\0\377\377\257W\0\377\343\257W\0\377\377" \ - "\261X\0\377\377\261X\0\377\377\261X\0\377\343\261X\0\377\377\263Y\0\377" \ - "\377\263Y\0\377\377\263Y\0\377\343\263Y\0\377\377\264Z\0\377\377\264" \ - "Z\0\377\377\264Z\0\377\343\264Z\0\377\377\266[\0\377\377\266[\0\377\377" \ - "\266[\0\377\343\266[\0\377\377\270\\\0\377\377\270\\\0\377\377\270\\" \ - "\0\377\343\270\\\0\377\377\272]\0\377\377\272]\0\377\377\272]\0\377\343" \ - "\272]\0\377\377\274^\0\377\377\274^\0\377\377\274^\0\377\343\274^\0\377" \ - "\377\276_\0\377\377\276_\0\377\377\276_\0\377\343\276_\0\377\377\277" \ - "_\0\377\377\277_\0\377\377\277_\0\377\343\277_\0\377\377\301`\0\377\377" \ - "\301`\0\377\377\301`\0\377\343\301`\0\377\353\303a\0\377\3\274]\0\377" \ - "\233M\0\377\252T\0\377\347\303a\0\377\3\252T\0\377\213E\0\377\270[\0" \ - "\377\377\303a\0\377\224\303a\0\377\3\274]\0\377\233M\0\377\252T\0\377" \ - "\276\303a\0\377\3\277_\0\377\233M\0\377\250S\0\377\203\303a\0\377\3\277" \ - "_\0\377\233M\0\377\250S\0\377\212\303a\0\377\2\237O\0\377\240O\0\377" \ - "\237\303a\0\377\233\305b\0\377\10\266Z\0\377j5\0\3778\34\0\377!\20\0" \ - "\377%\22\0\377A\40\0\377|=\0\377\301`\0\377\252\305b\0\377\1\301`\0\377" \ - "\202R)\0\377\2U*\0\377\301`\0\377\206\305b\0\377\1o7\0\377\202R)\0\377" \ - "\1\243Q\0\377\217\305b\0\377\3\237O\0\377\0\0\0\377I$\0\377\233\305b" \ - "\0\377\7\232L\0\377_/\0\3776\32\0\377\"\21\0\377*\25\0\377N'\0\377\234" \ - "M\0\377\207\305b\0\377\6\276^\0\377i4\0\3771\30\0\377$\22\0\377<\35\0" \ - "\377\204B\0\377\207\305b\0\377\6\276^\0\377i4\0\3771\30\0\377$\22\0\377" \ - "<\35\0\377\204B\0\377\204\305b\0\377\1\234M\0\377\211R)\0\377\1\303a" \ - "\0\377\211\305b\0\377\7\232L\0\377_/\0\3776\32\0\377\"\21\0\377*\25\0" \ - "\377N'\0\377\234M\0\377\214\305b\0\377\3k5\0\377\0\0\0\377\234N\0\377" \ - "\216\305b\0\377\4\230K\0\377R)\0\377S)\0\377\276^\0\377\266\305b\0\377" \ - "\3\304a\0\377\273]\0\377\277_\0\377\215\305b\0\377\10\230K\0\377O'\0" \ - "\377+\25\0\377!\20\0\377*\25\0\377D\"\0\377m6\0\377\250S\0\377\263\305" \ - "b\0\377\3\237O\0\377\0\0\0\377I$\0\377\226\305b\0\377\3\304a\0\377\273" \ - "]\0\377\277_\0\377\213\305b\0\377\1\301`\0\377\205R)\0\377\3X,\0\377" \ - "o7\0\377\245R\0\377\221\305b\0\377\3\257W\0\377\0\0\0\377=\36\0\377\203" \ - "\305b\0\377\3\257W\0\377\0\0\0\377=\36\0\377\212\305b\0\377\2\16\7\0" \ - "\377\27\13\0\377\237\305b\0\377\232\307c\0\377\12\212E\0\377\15\6\0\377" \ - "\0\0\0\377\12\5\0\377)\24\0\377$\22\0\377\3\1\0\377\0\0\0\377\40\20\0" \ - "\377\251T\0\377\251\307c\0\377\1\300_\0\377\203\0\0\0\377\1\211D\0\377" \ - "\205\307c\0\377\2\270[\0\377\4\2\0\377\202\0\0\0\377\1\213E\0\377\217" \ - "\307c\0\377\3\241P\0\377\0\0\0\377J$\0\377\232\307c\0\377\1t9\0\377\202" \ - "\0\0\0\377\3\11\4\0\377\37\17\0\377\21\10\0\377\202\0\0\0\377\1h4\0\377" \ - "\205\307c\0\377\10\274]\0\377$\22\0\377\0\0\0\377\26\13\0\3770\30\0\377" \ - "\12\5\0\377\0\0\0\377U*\0\377\205\307c\0\377\10\274]\0\377$\22\0\377" \ - "\0\0\0\377\26\13\0\3770\30\0\377\12\5\0\377\0\0\0\377U*\0\377\203\307" \ - "c\0\377\1\177\77\0\377\210\0\0\0\377\2\21\10\0\377\306b\0\377\210\307" \ - "c\0\377\1t9\0\377\202\0\0\0\377\3\11\4\0\377\37\17\0\377\21\10\0\377" \ - "\202\0\0\0\377\1h4\0\377\213\307c\0\377\3l5\0\377\0\0\0\377\236N\0\377" \ - "\216\307c\0\377\1<\35\0\377\202\0\0\0\377\1~>\0\377\266\307c\0\377\3" \ - "\252U\0\377\0\0\0\377C!\0\377\214\307c\0\377\1\\-\0\377\202\0\0\0\377" \ - "\6\32\15\0\377.\26\0\377#\21\0\377\4\2\0\377\0\0\0\377:\35\0\377\263" \ - "\307c\0\377\3\241P\0\377\0\0\0\377J$\0\377\226\307c\0\377\3\252U\0\377" \ - "\0\0\0\377C!\0\377\213\307c\0\377\1\300_\0\377\210\0\0\0\377\2S)\0\377" \ - "\306b\0\377\217\307c\0\377\3\261X\0\377\0\0\0\377=\36\0\377\203\307c" \ - "\0\377\3\261X\0\377\0\0\0\377=\36\0\377\212\307c\0\377\2\16\7\0\377\30" \ - "\14\0\377\237\307c\0\377\231\310d\0\377\1\226K\0\377\202\3\1\0\377\2" \ - "o7\0\377\302a\0\377\202\310d\0\377\5\271\\\0\377K%\0\377\0\0\0\377\24" \ - "\12\0\377\270\\\0\377\250\310d\0\377\5\301`\0\377\0\0\0\377\17\7\0\377" \ - "\7\3\0\377>\37\0\377\205\310d\0\377\5r9\0\377\0\0\0\377\27\13\0\377\0" \ - "\0\0\377\214F\0\377\217\310d\0\377\3\242Q\0\377\0\0\0\377J%\0\377\232" \ - "\310d\0\377\4s9\0\377F#\0\377\227K\0\377\305b\0\377\202\310d\0\377\4" \ - "\207C\0\377\6\3\0\377\0\0\0\377\234N\0\377\204\310d\0\377\11O'\0\377" \ - "\0\0\0\377P(\0\377\305b\0\377\310d\0\377\270\\\0\377$\22\0\377\0\0\0" \ - "\377\213E\0\377\204\310d\0\377\11O'\0\377\0\0\0\377P(\0\377\305b\0\377" \ - "\310d\0\377\270\\\0\377$\22\0\377\0\0\0\377\213E\0\377\202\310d\0\377" \ - "\1\302a\0\377\206\270\\\0\377\3T*\0\377\0\0\0\377\\.\0\377\211\310d\0" \ - "\377\4s9\0\377F#\0\377\227K\0\377\305b\0\377\202\310d\0\377\4\207C\0" \ - "\377\6\3\0\377\0\0\0\377\234N\0\377\212\310d\0\377\3m6\0\377\0\0\0\377" \ - "\237O\0\377\215\310d\0\377\5\265Z\0\377\3\1\0\377\34\16\0\377\1\0\0\377" \ - "2\31\0\377\266\310d\0\377\3\253U\0\377\0\0\0\377D\"\0\377\213\310d\0" \ - "\377\4\221H\0\377\0\0\0\377\24\12\0\377\236O\0\377\203\310d\0\377\3\300" \ - "`\0\377\206C\0\377i4\0\377\263\310d\0\377\3\242Q\0\377\0\0\0\377J%\0" \ - "\377\226\310d\0\377\3\253U\0\377\0\0\0\377D\"\0\377\213\310d\0\377\3" \ - "\301`\0\377\0\0\0\377\13\5\0\377\203\276_\0\377\5\265Z\0\377\203A\0\377" \ - "\17\7\0\377\0\0\0\377\177\77\0\377\217\310d\0\377\3\306c\0\377\270\\" \ - "\0\377\275^\0\377\203\310d\0\377\3\262Y\0\377\0\0\0\377=\36\0\377\212" \ - "\310d\0\377\2\16\7\0\377\30\14\0\377\237\310d\0\377\230\312e\0\377\4" \ - "\306c\0\377\30\14\0\377\0\0\0\377y<\0\377\206\312e\0\377\3F#\0\377\0" \ - "\0\0\377G#\0\377\207\312e\0\377\4\310d\0\377\257W\0\377\252U\0\377\306" \ - "c\0\377\210\312e\0\377\3\263Y\0\377\245R\0\377\267[\0\377\212\312e\0" \ - "\377\4\311d\0\377\255V\0\377\247S\0\377\303a\0\377\204\312e\0\377\6\303" \ - "a\0\377\0\0\0\377\30\14\0\377H$\0\377\3\1\0\377\272]\0\377\204\312e\0" \ - "\377\5'\23\0\377\27\13\0\377J%\0\377\0\0\0\377\215F\0\377\206\312e\0" \ - "\377\4\306c\0\377\254V\0\377\247S\0\377\301`\0\377\205\312e\0\377\3\243" \ - "Q\0\377\0\0\0\377K%\0\377\213\312e\0\377\4\306c\0\377\254V\0\377\247" \ - "S\0\377\301`\0\377\213\312e\0\377\1\307c\0\377\206\312e\0\377\3^/\0\377" \ - "\0\0\0\377\\.\0\377\203\312e\0\377\4\272]\0\377\3\1\0\377\17\7\0\377" \ - "\303a\0\377\203\312e\0\377\3\231L\0\377\0\0\0\3770\30\0\377\203\312e" \ - "\0\377\4\272]\0\377\3\1\0\377\17\7\0\377\303a\0\377\203\312e\0\377\3" \ - "\231L\0\377\0\0\0\3770\30\0\377\210\312e\0\377\4\307c\0\377\24\12\0\377" \ - "\0\0\0\377\253U\0\377\211\312e\0\377\1\307c\0\377\206\312e\0\377\3^/" \ - "\0\377\0\0\0\377\\.\0\377\212\312e\0\377\3n7\0\377\0\0\0\377\240P\0\377" \ - "\215\312e\0\377\6m6\0\377\0\0\0\377u:\0\3774\32\0\377\0\0\0\377\257W" \ - "\0\377\224\312e\0\377\3\275^\0\377\247S\0\377\267[\0\377\225\312e\0\377" \ - "\5\307c\0\377\255V\0\377\243Q\0\377\257W\0\377\306c\0\377\204\312e\0" \ - "\377\3\255V\0\377\0\0\0\377D\"\0\377\213\312e\0\377\3Q(\0\377\0\0\0\377" \ - "v;\0\377\216\312e\0\377\4\311d\0\377\255V\0\377\247S\0\377\303a\0\377" \ - "\207\312e\0\377\4\265Z\0\377\244R\0\377\255V\0\377\307c\0\377\211\312" \ - "e\0\377\4\310d\0\377\257W\0\377\252U\0\377\306c\0\377\207\312e\0\377" \ - "\5\307c\0\377\255V\0\377\243Q\0\377\257W\0\377\306c\0\377\204\312e\0" \ - "\377\10\243Q\0\377\0\0\0\377K%\0\377\312e\0\377\311d\0\377\255V\0\377" \ - "\247S\0\377\303a\0\377\207\312e\0\377\4\306c\0\377\254V\0\377\247S\0" \ - "\377\301`\0\377\206\312e\0\377\3\255V\0\377\0\0\0\377D\"\0\377\213\312" \ - "e\0\377\3\303a\0\377\0\0\0\377\13\5\0\377\205\312e\0\377\3v;\0\377\0" \ - "\0\0\377G#\0\377\225\312e\0\377\3\263Y\0\377\0\0\0\377>\37\0\377\205" \ - "\312e\0\377\3\276_\0\377\247S\0\377\267[\0\377\202\312e\0\377\2\17\7" \ - "\0\377\30\14\0\377\237\312e\0\377\230\314f\0\377\3\205B\0\377\0\0\0\377" \ - "&\23\0\377\207\314f\0\377\4\271\\\0\377\4\2\0\377\2\1\0\377\266[\0\377" \ - "\202\314f\0\377\5\250T\0\377\14\6\0\377T*\0\377\212E\0\377\30\14\0\377" \ - "\202\0\0\0\377\2\16\7\0\377x<\0\377\205\314f\0\377\2~\77\0\377\32\15" \ - "\0\377\203\0\0\0\377\2+\25\0\377\241P\0\377\204\314f\0\377\5\250T\0\377" \ - "\14\6\0\377T*\0\377\230L\0\377\34\16\0\377\202\0\0\0\377\2\10\4\0\377" \ - "k5\0\377\203\314f\0\377\6\305b\0\377\0\0\0\377\30\14\0\377\226K\0\377" \ - "\0\0\0\377s9\0\377\203\314f\0\377\6\250T\0\377\0\0\0\377c1\0\377L&\0" \ - "\377\0\0\0\377\217G\0\377\204\314f\0\377\3\310d\0\377a0\0\377\14\6\0" \ - "\377\202\0\0\0\377\3\4\2\0\377G#\0\377\272]\0\377\203\314f\0\377\3\245" \ - "R\0\377\0\0\0\377L&\0\377\204\314f\0\377\10d2\0\377\14\6\0\377D\"\0\377" \ - "\304b\0\377\314f\0\377\310d\0\377a0\0\377\14\6\0\377\202\0\0\0\377\3" \ - "\4\2\0\377G#\0\377\272]\0\377\220\314f\0\377\3\200@\0\377\0\0\0\377O" \ - "'\0\377\203\314f\0\377\3\204B\0\377\0\0\0\377L&\0\377\205\314f\0\377" \ - "\3\22\11\0\377\1\0\0\377\277_\0\377\202\314f\0\377\3\204B\0\377\0\0\0" \ - "\377L&\0\377\205\314f\0\377\3\22\11\0\377\1\0\0\377\277_\0\377\207\314" \ - "f\0\377\3\220H\0\377\0\0\0\377/\27\0\377\221\314f\0\377\3\200@\0\377" \ - "\0\0\0\377O'\0\377\212\314f\0\377\3o7\0\377\0\0\0\377\242Q\0\377\215" \ - "\314f\0\377\6\40\20\0\377\4\2\0\377\275^\0\377\200@\0\377\0\0\0\377d" \ - "2\0\377\204\314f\0\377\3\223I\0\377\14\6\0\377l6\0\377\205\314f\0\377" \ - "\2\30\14\0\377'\23\0\377\204\314f\0\377\3\300`\0\377G#\0\377\2\1\0\377" \ - "\202\0\0\0\377\4""0\30\0\377\255V\0\377\33\15\0\377$\22\0\377\203\314" \ - "f\0\377\3\223I\0\377\14\6\0\377l6\0\377\205\314f\0\377\2\30\14\0\377" \ - "'\23\0\377\202\314f\0\377\3\313e\0\377f3\0\377\14\6\0\377\203\0\0\0\377" \ - "\2\6\3\0\377H$\0\377\202\314f\0\377\4r9\0\377\12\5\0\377\0\0\0\377\4" \ - "\2\0\377\203\14\6\0\377\1\207C\0\377\207\314f\0\377\3D\"\0\377\0\0\0" \ - "\377\206C\0\377\212\314f\0\377\5\250T\0\377\14\6\0\377T*\0\377\230L\0" \ - "\377\34\16\0\377\202\0\0\0\377\2\10\4\0\377k5\0\377\204\314f\0\377\2" \ - "O'\0\377\22\11\0\377\203\0\0\0\377\3\13\5\0\377`0\0\377\310d\0\377\203" \ - "\314f\0\377\5\250T\0\377\14\6\0\377T*\0\377\212E\0\377\30\14\0\377\202" \ - "\0\0\0\377\2\16\7\0\377x<\0\377\204\314f\0\377\3\313e\0\377f3\0\377\14" \ - "\6\0\377\203\0\0\0\377\2\6\3\0\377H$\0\377\203\314f\0\377\5\245R\0\377" \ - "\0\0\0\377L&\0\377\230L\0\377\34\16\0\377\202\0\0\0\377\2\10\4\0\377" \ - "k5\0\377\204\314f\0\377\3\310d\0\377a0\0\377\14\6\0\377\202\0\0\0\377" \ - "\3\4\2\0\377G#\0\377\272]\0\377\203\314f\0\377\4r9\0\377\12\5\0\377\0" \ - "\0\0\377\4\2\0\377\203\14\6\0\377\1\207C\0\377\207\314f\0\377\3\305b" \ - "\0\377\0\0\0\377\14\6\0\377\205\314f\0\377\3\213E\0\377\0\0\0\377D\"" \ - "\0\377\202\314f\0\377\3\223I\0\377\14\6\0\377l6\0\377\205\314f\0\377" \ - "\2\30\14\0\377'\23\0\377\203\314f\0\377\3\267[\0\377\14\6\0\377H$\0\377" \ - "\203\314f\0\377\3\265Z\0\377\0\0\0\377\77\37\0\377\203\314f\0\377\3\304" \ - "b\0\377N'\0\377\4\2\0\377\202\0\0\0\377\4""1\30\0\377\257W\0\377\17\7" \ - "\0\377\30\14\0\377\237\314f\0\377\230\316g\0\377\3L&\0\377\0\0\0\377" \ - "m6\0\377\210\316g\0\377\3""8\34\0\377\0\0\0\377\202A\0\377\202\316g\0" \ - "\377\12\247S\0\377\0\0\0\377!\20\0\377\4\2\0\377W+\0\377\212E\0\377t" \ - ":\0\377\25\12\0\377\0\0\0\377z=\0\377\203\316g\0\377\11c1\0\377\0\0\0" \ - "\377\37\17\0\377p8\0\377\206C\0\377d2\0\377\13\5\0\377\10\4\0\377\250" \ - "T\0\377\203\316g\0\377\12\247S\0\377\0\0\0\377&\23\0\377\11\4\0\377P" \ - "(\0\377~\77\0\377k5\0\377\20\10\0\377\0\0\0\377\207C\0\377\202\316g\0" \ - "\377\6\307c\0\377\0\0\0\377\31\14\0\377\315f\0\377\31\14\0\377&\23\0" \ - "\377\203\316g\0\377\6[-\0\377\0\0\0\377\261X\0\377L&\0\377\0\0\0\377" \ - "\220H\0\377\204\316g\0\377\11E\"\0\377\0\0\0\377&\23\0\377x<\0\377\200" \ - "@\0\377=\36\0\377\0\0\0\377\37\17\0\377\303a\0\377\202\316g\0\377\3\247" \ - "S\0\377\0\0\0\377L&\0\377\202\316g\0\377\5\311d\0\377L&\0\377\0\0\0\377" \ - "L&\0\377\311d\0\377\202\316g\0\377\11E\"\0\377\0\0\0\377&\23\0\377x<" \ - "\0\377\200@\0\377=\36\0\377\0\0\0\377\37\17\0\377\303a\0\377\217\316" \ - "g\0\377\3X,\0\377\0\0\0\377p8\0\377\203\316g\0\377\3`0\0\377\0\0\0\377" \ - "s9\0\377\205\316g\0\377\3""8\34\0\377\0\0\0\377\237O\0\377\202\316g\0" \ - "\377\3`0\0\377\0\0\0\377s9\0\377\205\316g\0\377\3""8\34\0\377\0\0\0\377" \ - "\237O\0\377\207\316g\0\377\3A\40\0\377\0\0\0\377\177\77\0\377\221\316" \ - "g\0\377\3X,\0\377\0\0\0\377p8\0\377\212\316g\0\377\3p8\0\377\0\0\0\377" \ - "\243Q\0\377\214\316g\0\377\10\240P\0\377\0\0\0\377A\40\0\377\316g\0\377" \ - "\304b\0\377\10\4\0\377\30\14\0\377\314f\0\377\203\316g\0\377\3\220H\0" \ - "\377\0\0\0\377f3\0\377\205\316g\0\377\2\14\6\0\377\34\16\0\377\203\316" \ - "g\0\377\12\314f\0\3772\31\0\377\0\0\0\3776\33\0\377\202A\0\377\204B\0" \ - "\377:\35\0\377\31\14\0\377\12\5\0\377\31\14\0\377\203\316g\0\377\3\220" \ - "H\0\377\0\0\0\377f3\0\377\205\316g\0\377\2\14\6\0\377\34\16\0\377\202" \ - "\316g\0\377\10p8\0\377\0\0\0\377,\26\0\377{=\0\377\216G\0\377\201@\0" \ - "\377X,\0\3771\30\0\377\202\316g\0\377\4\242Q\0\377`0\0\377\0\0\0\377" \ - "&\23\0\377\203p8\0\377\1\254V\0\377\207\316g\0\377\4c1\0\377\0\0\0\377" \ - "1\30\0\377\277_\0\377\211\316g\0\377\12\247S\0\377\0\0\0\377&\23\0\377" \ - "\11\4\0\377P(\0\377~\77\0\377k5\0\377\20\10\0\377\0\0\0\377\207C\0\377" \ - "\203\316g\0\377\10\14\6\0\377N'\0\377y<\0\377\206C\0\377u:\0\377*\25" \ - "\0\377\0\0\0\377S)\0\377\203\316g\0\377\12\247S\0\377\0\0\0\377!\20\0" \ - "\377\4\2\0\377W+\0\377\212E\0\377t:\0\377\25\12\0\377\0\0\0\377z=\0\377" \ - "\203\316g\0\377\10p8\0\377\0\0\0\377,\26\0\377{=\0\377\216G\0\377\201" \ - "@\0\377X,\0\3771\30\0\377\203\316g\0\377\12\247S\0\377\0\0\0\377&\23" \ - "\0\377\11\4\0\377P(\0\377~\77\0\377k5\0\377\20\10\0\377\0\0\0\377\207" \ - "C\0\377\203\316g\0\377\11E\"\0\377\0\0\0\377&\23\0\377x<\0\377\200@\0" \ - "\377=\36\0\377\0\0\0\377\37\17\0\377\303a\0\377\202\316g\0\377\4\242" \ - "Q\0\377`0\0\377\0\0\0\377&\23\0\377\203p8\0\377\1\254V\0\377\207\316" \ - "g\0\377\3\307c\0\377\0\0\0\377\14\6\0\377\204\316g\0\377\4\314f\0\377" \ - "C!\0\377\0\0\0\377v;\0\377\202\316g\0\377\3\220H\0\377\0\0\0\377f3\0" \ - "\377\205\316g\0\377\2\14\6\0\377\34\16\0\377\203\316g\0\377\3\267[\0" \ - "\377\0\0\0\377\77\37\0\377\203\316g\0\377\3\267[\0\377\0\0\0\377\77\37" \ - "\0\377\203\316g\0\377\11=\36\0\377\0\0\0\3772\31\0\377\202A\0\377\203" \ - "A\0\3775\32\0\377\31\14\0\377\12\5\0\377\31\14\0\377\237\316g\0\377\230" \ - "\320h\0\377\3+\25\0\377\0\0\0\377\224J\0\377\210\320h\0\377\3_/\0\377" \ - "\0\0\0\377`0\0\377\202\320h\0\377\1\250T\0\377\202\0\0\0\377\1v;\0\377" \ - "\203\320h\0\377\1\265Z\0\377\202\12\5\0\377\6\305b\0\377\320h\0\377\246" \ - "S\0\377\0\0\0\377,\26\0\377\310d\0\377\203\320h\0\377\3\245R\0\377\2" \ - "\1\0\3776\33\0\377\203\320h\0\377\1\250T\0\377\202\0\0\0\377\1\213E\0" \ - "\377\203\320h\0\377\3\240P\0\377\0\0\0\3775\32\0\377\202\320h\0\377\17" \ - "\311d\0\377\0\0\0\377\31\14\0\377\320h\0\377e2\0\377\0\0\0\377\252U\0" \ - "\377\320h\0\377\314f\0\377\21\10\0\3770\30\0\377\320h\0\377M&\0\377\0" \ - "\0\0\377\222I\0\377\203\320h\0\377\4\225J\0\377\0\0\0\377(\24\0\377\311" \ - "d\0\377\203\320h\0\377\3M&\0\377\0\0\0\377b1\0\377\202\320h\0\377\10" \ - "\250T\0\377\0\0\0\377M&\0\377\320h\0\377\304b\0\3777\33\0\377\0\0\0\377" \ - "e2\0\377\203\320h\0\377\4\225J\0\377\0\0\0\377(\24\0\377\311d\0\377\203" \ - "\320h\0\377\3M&\0\377\0\0\0\377b1\0\377\216\320h\0\377\1\262Y\0\377\202" \ - "\10\4\0\377\1\273]\0\377\203\320h\0\377\3K%\0\377\0\0\0\377\211D\0\377" \ - "\205\320h\0\377\3M&\0\377\0\0\0\377\212E\0\377\202\320h\0\377\3K%\0\377" \ - "\0\0\0\377\211D\0\377\205\320h\0\377\3M&\0\377\0\0\0\377\212E\0\377\206" \ - "\320h\0\377\4\276_\0\377\4\2\0\377\12\5\0\377\307c\0\377\220\320h\0\377" \ - "\1\262Y\0\377\202\10\4\0\377\1\273]\0\377\212\320h\0\377\3q8\0\377\0" \ - "\0\0\377\245R\0\377\214\320h\0\377\3R)\0\377\0\0\0\377\217G\0\377\202" \ - "\320h\0\377\3K%\0\377\0\0\0\377\227K\0\377\203\320h\0\377\3\222I\0\377" \ - "\0\0\0\377g3\0\377\205\320h\0\377\2\14\6\0\377\34\16\0\377\203\320h\0" \ - "\377\4\211D\0\377\0\0\0\377<\36\0\377\317g\0\377\202\320h\0\377\4\317" \ - "g\0\377B!\0\377\0\0\0\377\31\14\0\377\203\320h\0\377\3\222I\0\377\0\0" \ - "\0\377g3\0\377\205\320h\0\377\2\14\6\0\377\34\16\0\377\202\320h\0\377" \ - "\3,\26\0\377\7\3\0\377\307c\0\377\204\320h\0\377\1\317g\0\377\203\320" \ - "h\0\377\3\262Y\0\377\0\0\0\377F#\0\377\213\320h\0\377\10\271\\\0\377" \ - "\20\10\0\377\0\0\0\377\7\3\0\377<\36\0\377i4\0\377\224J\0\377\306c\0" \ - "\377\205\320h\0\377\1\250T\0\377\202\0\0\0\377\1\213E\0\377\203\320h" \ - "\0\377\3\240P\0\377\0\0\0\3775\32\0\377\203\320h\0\377\1\305b\0\377\204" \ - "\320h\0\377\4\314f\0\3771\30\0\377\2\1\0\377\272]\0\377\202\320h\0\377" \ - "\1\250T\0\377\202\0\0\0\377\1v;\0\377\203\320h\0\377\1\265Z\0\377\202" \ - "\12\5\0\377\1\305b\0\377\202\320h\0\377\3,\26\0\377\7\3\0\377\307c\0" \ - "\377\204\320h\0\377\1\317g\0\377\203\320h\0\377\1\250T\0\377\202\0\0" \ - "\0\377\1\213E\0\377\203\320h\0\377\3\240P\0\377\0\0\0\3775\32\0\377\202" \ - "\320h\0\377\4\225J\0\377\0\0\0\377(\24\0\377\311d\0\377\203\320h\0\377" \ - "\3M&\0\377\0\0\0\377b1\0\377\203\320h\0\377\3\262Y\0\377\0\0\0\377F#" \ - "\0\377\213\320h\0\377\3\311d\0\377\0\0\0\377\4\2\0\377\203Z-\0\377\5" \ - "Q(\0\377\37\17\0\377\0\0\0\377K%\0\377\313e\0\377\202\320h\0\377\3\222" \ - "I\0\377\0\0\0\377g3\0\377\205\320h\0\377\2\14\6\0\377\34\16\0\377\203" \ - "\320h\0\377\3\271\\\0\377\0\0\0\377@\40\0\377\203\320h\0\377\3\271\\" \ - "\0\377\0\0\0\377@\40\0\377\202\320h\0\377\4\222I\0\377\0\0\0\3774\32" \ - "\0\377\315f\0\377\202\320h\0\377\4\315f\0\3777\33\0\377\0\0\0\377\31" \ - "\14\0\377\237\320h\0\377\230\321h\0\377\3\35\16\0\377\0\0\0\377\243Q" \ - "\0\377\210\321h\0\377\3m6\0\377\0\0\0\377R)\0\377\202\321h\0\377\4\251" \ - "T\0\377\0\0\0\377\21\10\0\377\316f\0\377\204\321h\0\377\7Y,\0\377\0\0" \ - "\0\377\210C\0\377\321h\0\377U*\0\377\0\0\0\377\231L\0\377\205\321h\0" \ - "\377\3;\35\0\377\1\0\0\377\304a\0\377\202\321h\0\377\3\251T\0\377\0\0" \ - "\0\377%\22\0\377\205\321h\0\377\2\24\12\0\377\17\7\0\377\202\321h\0\377" \ - "\17\312d\0\377\0\0\0\377\31\14\0\377\321h\0\377\264Y\0\377\0\0\0\377" \ - "[-\0\377\321h\0\377\221H\0\377\0\0\0\377\177\77\0\377\321h\0\377M&\0" \ - "\377\0\0\0\377\222I\0\377\203\321h\0\377\3K%\0\377\0\0\0\377\217G\0\377" \ - "\204\321h\0\377\3\273]\0\377\1\0\0\377\30\14\0\377\202\321h\0\377\7\251" \ - "T\0\377\0\0\0\377M&\0\377\273]\0\377&\23\0\377\2\1\0\377~>\0\377\204" \ - "\321h\0\377\3K%\0\377\0\0\0\377\217G\0\377\204\321h\0\377\3\273]\0\377" \ - "\1\0\0\377\30\14\0\377\215\321h\0\377\4\305b\0\377$\22\0\377\0\0\0\377" \ - "}>\0\377\204\321h\0\377\3D!\0\377\0\0\0\377\221H\0\377\205\321h\0\377" \ - "\3V*\0\377\0\0\0\377\202@\0\377\202\321h\0\377\3D!\0\377\0\0\0\377\221" \ - "H\0\377\205\321h\0\377\3V*\0\377\0\0\0\377\202@\0\377\206\321h\0\377" \ - "\3q8\0\377\0\0\0\377Q(\0\377\220\321h\0\377\4\305b\0\377$\22\0\377\0" \ - "\0\0\377}>\0\377\213\321h\0\377\3q8\0\377\0\0\0\377\246R\0\377\213\321" \ - "h\0\377\4\310c\0\377\13\5\0\377\20\10\0\377\314e\0\377\202\321h\0\377" \ - "\3\231L\0\377\0\0\0\377H#\0\377\203\321h\0\377\3\222I\0\377\0\0\0\377" \ - "h3\0\377\205\321h\0\377\2\14\6\0\377\34\16\0\377\203\321h\0\377\3D\"" \ - "\0\377\0\0\0\377\241P\0\377\204\321h\0\377\3\250S\0\377\0\0\0\377\31" \ - "\14\0\377\203\321h\0\377\3\222I\0\377\0\0\0\377h3\0\377\205\321h\0\377" \ - "\2\14\6\0\377\34\16\0\377\202\321h\0\377\3*\25\0\377\3\1\0\377\270[\0" \ - "\377\210\321h\0\377\3\263Y\0\377\0\0\0\377G#\0\377\214\321h\0\377\3\265" \ - "Z\0\377D!\0\377\4\2\0\377\203\0\0\0\377\3\7\3\0\377V*\0\377\306b\0\377" \ - "\203\321h\0\377\3\251T\0\377\0\0\0\377%\22\0\377\205\321h\0\377\2\24" \ - "\12\0\377\17\7\0\377\211\321h\0\377\3{=\0\377\0\0\0\377\214E\0\377\202" \ - "\321h\0\377\4\251T\0\377\0\0\0\377\21\10\0\377\316f\0\377\204\321h\0" \ - "\377\3Y,\0\377\0\0\0\377\210C\0\377\202\321h\0\377\3*\25\0\377\3\1\0" \ - "\377\270[\0\377\210\321h\0\377\3\251T\0\377\0\0\0\377%\22\0\377\205\321" \ - "h\0\377\2\24\12\0\377\17\7\0\377\202\321h\0\377\3K%\0\377\0\0\0\377\217" \ - "G\0\377\204\321h\0\377\3\273]\0\377\1\0\0\377\30\14\0\377\203\321h\0" \ - "\377\3\263Y\0\377\0\0\0\377G#\0\377\213\321h\0\377\1\312d\0\377\207\0" \ - "\0\0\377\2\37\17\0\377\205B\0\377\203\321h\0\377\3\222I\0\377\0\0\0\377" \ - "h3\0\377\205\321h\0\377\2\14\6\0\377\34\16\0\377\203\321h\0\377\3\272" \ - "\\\0\377\0\0\0\377@\40\0\377\203\321h\0\377\3\272\\\0\377\0\0\0\377@" \ - "\40\0\377\202\321h\0\377\3K%\0\377\0\0\0\377\232M\0\377\204\321h\0\377" \ - "\3\237O\0\377\0\0\0\377\31\14\0\377\237\321h\0\377\230\323i\0\377\3$" \ - "\22\0\377\0\0\0\377\236O\0\377\210\323i\0\377\3h3\0\377\0\0\0\377[-\0" \ - "\377\202\323i\0\377\3\253U\0\377\0\0\0\377>\36\0\377\205\323i\0\377\10" \ - "\212D\0\377\0\0\0\377b1\0\377\323i\0\377*\25\0\377\0\0\0\377n6\0\377" \ - "v:\0\377\202u:\0\377\5t:\0\377s9\0\377/\27\0\377\0\0\0\377\252T\0\377" \ - "\202\323i\0\377\3\253U\0\377\0\0\0\377J%\0\377\205\323i\0\377\2&\22\0" \ - "\377\4\2\0\377\202\323i\0\377\3\314e\0\377\0\0\0\377\31\14\0\377\202" \ - "\323i\0\377\12""3\31\0\377\22\11\0\377\317g\0\377B\40\0\377\10\4\0\377" \ - "\310c\0\377\323i\0\377N'\0\377\0\0\0\377\224I\0\377\203\323i\0\377\3" \ - "&\22\0\377\0\0\0\377\302`\0\377\205\323i\0\377\12\36\17\0\377\0\0\0\377" \ - "\305b\0\377\323i\0\377\253U\0\377\0\0\0\3770\30\0\377\27\13\0\377\11" \ - "\4\0\377\225J\0\377\205\323i\0\377\3&\22\0\377\0\0\0\377\302`\0\377\205" \ - "\323i\0\377\3\36\17\0\377\0\0\0\377\305b\0\377\213\323i\0\377\4\313e" \ - "\0\3774\31\0\377\0\0\0\377_/\0\377\205\323i\0\377\3H$\0\377\0\0\0\377" \ - "\217G\0\377\205\323i\0\377\3R)\0\377\0\0\0\377\210C\0\377\202\323i\0" \ - "\377\3H$\0\377\0\0\0\377\217G\0\377\205\323i\0\377\3R)\0\377\0\0\0\377" \ - "\210C\0\377\206\323i\0\377\3!\20\0\377\0\0\0\377\243Q\0\377\217\323i" \ - "\0\377\4\313e\0\3774\31\0\377\0\0\0\377_/\0\377\214\323i\0\377\3s9\0" \ - "\377\0\0\0\377\247S\0\377\213\323i\0\377\3\206B\0\377\0\0\0\377Z,\0\377" \ - "\203\323i\0\377\4\321h\0\377\27\13\0\377\6\3\0\377\305b\0\377\202\323" \ - "i\0\377\3\224I\0\377\0\0\0\377i4\0\377\205\323i\0\377\2\14\6\0\377\34" \ - "\16\0\377\203\323i\0\377\3\"\21\0\377\0\0\0\377\316f\0\377\204\323i\0" \ - "\377\3\321h\0\377\4\2\0\377\31\14\0\377\203\323i\0\377\3\224I\0\377\0" \ - "\0\0\377i4\0\377\205\323i\0\377\2\14\6\0\377\34\16\0\377\202\323i\0\377" \ - "\6o7\0\377\0\0\0\377\15\6\0\377S)\0\377\211D\0\377\273]\0\377\205\323" \ - "i\0\377\3\265Z\0\377\0\0\0\377G#\0\377\216\323i\0\377\4\306b\0\377\225" \ - "J\0\377j5\0\3774\31\0\377\202\0\0\0\377\2-\26\0\377\317g\0\377\202\323" \ - "i\0\377\3\253U\0\377\0\0\0\377J%\0\377\205\323i\0\377\2&\22\0\377\4\2" \ - "\0\377\203\323i\0\377\4\303a\0\377h3\0\3771\30\0\377\32\15\0\377\202" \ - "\23\11\0\377\3\14\6\0\377\0\0\0\377z<\0\377\202\323i\0\377\3\253U\0\377" \ - "\0\0\0\377>\36\0\377\205\323i\0\377\3\212D\0\377\0\0\0\377b1\0\377\202" \ - "\323i\0\377\6o7\0\377\0\0\0\377\15\6\0\377S)\0\377\211D\0\377\273]\0" \ - "\377\205\323i\0\377\3\253U\0\377\0\0\0\377J%\0\377\205\323i\0\377\2&" \ - "\22\0\377\4\2\0\377\202\323i\0\377\3&\22\0\377\0\0\0\377\302`\0\377\205" \ - "\323i\0\377\3\36\17\0\377\0\0\0\377\305b\0\377\202\323i\0\377\3\265Z" \ - "\0\377\0\0\0\377G#\0\377\213\323i\0\377\3\314e\0\377\0\0\0\377\14\6\0" \ - "\377\203\314e\0\377\5\307c\0\377\243Q\0\3774\32\0\377\0\0\0\377i4\0\377" \ - "\202\323i\0\377\3\224I\0\377\0\0\0\377i4\0\377\205\323i\0\377\2\14\6" \ - "\0\377\34\16\0\377\203\323i\0\377\3\273]\0\377\0\0\0\377A\40\0\377\203" \ - "\323i\0\377\3\273]\0\377\0\0\0\377A\40\0\377\202\323i\0\377\3%\22\0\377" \ - "\0\0\0\377\313e\0\377\204\323i\0\377\3\316f\0\377\2\1\0\377\31\14\0\377" \ - "\237\323i\0\377\230\325j\0\377\3;\35\0\377\0\0\0\377\204B\0\377\210\325" \ - "j\0\377\3N'\0\377\0\0\0\377r8\0\377\202\325j\0\377\3\254V\0\377\0\0\0" \ - "\377L&\0\377\205\325j\0\377\6\231L\0\377\0\0\0\377V+\0\377\325j\0\377" \ - "\32\15\0\377\0\0\0\377\210\11\4\0\377\1\245R\0\377\202\325j\0\377\3\254" \ - "V\0\377\0\0\0\377O'\0\377\205\325j\0\377\2'\23\0\377\2\1\0\377\202\325" \ - "j\0\377\3\316f\0\377\0\0\0\377\31\14\0\377\202\325j\0\377\5\203A\0\377" \ - "\0\0\0\377\202@\0\377\4\2\0\377L&\0\377\202\325j\0\377\3O'\0\377\0\0" \ - "\0\377\225J\0\377\203\325j\0\377\3\31\14\0\377\0\0\0\377\322h\0\377\205" \ - "\325j\0\377\12-\26\0\377\0\0\0\377\273]\0\377\325j\0\377\254V\0\377\0" \ - "\0\0\377\14\6\0\377\0\0\0\377*\25\0\377\311d\0\377\205\325j\0\377\3\31" \ - "\14\0\377\0\0\0\377\322h\0\377\205\325j\0\377\3-\26\0\377\0\0\0\377\273" \ - "]\0\377\212\325j\0\377\4\316f\0\3779\34\0\377\0\0\0\377W+\0\377\206\325" \ - "j\0\377\3V+\0\377\0\0\0\377\202@\0\377\205\325j\0\377\3E\"\0\377\0\0" \ - "\0\377\230K\0\377\202\325j\0\377\3V+\0\377\0\0\0\377\202@\0\377\205\325" \ - "j\0\377\3E\"\0\377\0\0\0\377\230K\0\377\205\325j\0\377\3\245R\0\377\0" \ - "\0\0\377\"\21\0\377\217\325j\0\377\4\316f\0\3779\34\0\377\0\0\0\377W" \ - "+\0\377\215\325j\0\377\3t9\0\377\0\0\0\377\251T\0\377\213\325j\0\377" \ - "\3""5\32\0\377\0\0\0\377`0\0\377\204\204B\0\377\3""5\32\0\377\0\0\0\377" \ - "|=\0\377\202\325j\0\377\3\225J\0\377\0\0\0\377j4\0\377\205\325j\0\377" \ - "\2\14\6\0\377\35\16\0\377\203\325j\0\377\2\31\14\0\377\6\3\0\377\206" \ - "\325j\0\377\2\15\6\0\377\31\14\0\377\203\325j\0\377\3\225J\0\377\0\0" \ - "\0\377j4\0\377\205\325j\0\377\2\14\6\0\377\35\16\0\377\202\325j\0\377" \ - "\3\323i\0\377u:\0\377\32\15\0\377\203\0\0\0\377\2""2\30\0\377\251T\0" \ - "\377\203\325j\0\377\3\266[\0\377\0\0\0\377H$\0\377\222\325j\0\377\4\246" \ - "R\0\377\13\5\0\377\0\0\0\377\216G\0\377\202\325j\0\377\3\254V\0\377\0" \ - "\0\0\377O'\0\377\205\325j\0\377\2'\23\0\377\2\1\0\377\202\325j\0\377" \ - "\12\275^\0\377\26\13\0\377\0\0\0\3773\31\0\377[-\0\377g3\0\377j4\0\377" \ - "C!\0\377\0\0\0\377w;\0\377\202\325j\0\377\3\254V\0\377\0\0\0\377L&\0" \ - "\377\205\325j\0\377\3\231L\0\377\0\0\0\377V+\0\377\202\325j\0\377\3\323" \ - "i\0\377u:\0\377\32\15\0\377\203\0\0\0\377\2""2\30\0\377\251T\0\377\203" \ - "\325j\0\377\3\254V\0\377\0\0\0\377O'\0\377\205\325j\0\377\2'\23\0\377" \ - "\2\1\0\377\202\325j\0\377\3\31\14\0\377\0\0\0\377\322h\0\377\205\325" \ - "j\0\377\3-\26\0\377\0\0\0\377\273]\0\377\202\325j\0\377\3\266[\0\377" \ - "\0\0\0\377H$\0\377\213\325j\0\377\3\316f\0\377\0\0\0\377\14\6\0\377\205" \ - "\325j\0\377\10\311d\0\377\11\4\0\377\4\2\0\377\303a\0\377\325j\0\377" \ - "\225J\0\377\0\0\0\377j4\0\377\205\325j\0\377\2\14\6\0\377\35\16\0\377" \ - "\203\325j\0\377\3\275^\0\377\0\0\0\377A\40\0\377\203\325j\0\377\3\275" \ - "^\0\377\0\0\0\377A\40\0\377\202\325j\0\377\2\31\14\0\377\6\3\0\377\206" \ - "\325j\0\377\2\14\6\0\377\31\14\0\377\237\325j\0\377\230\327k\0\377\3" \ - "m6\0\377\0\0\0\377M&\0\377\207\327k\0\377\4\325j\0\377\30\14\0\377\0" \ - "\0\0\377\244Q\0\377\202\327k\0\377\3\256V\0\377\0\0\0\377A\40\0\377\205" \ - "\327k\0\377\7\216F\0\377\0\0\0\377a0\0\377\327k\0\377%\22\0\377\0\0\0" \ - "\377\314e\0\377\212\327k\0\377\3\256V\0\377\0\0\0\377P'\0\377\205\327" \ - "k\0\377\2'\23\0\377\2\1\0\377\202\327k\0\377\3\320g\0\377\0\0\0\377\32" \ - "\15\0\377\202\327k\0\377\1\314e\0\377\202\11\4\0\377\2\0\0\0\377\236" \ - "N\0\377\202\327k\0\377\3P'\0\377\0\0\0\377\226K\0\377\203\327k\0\377" \ - "\3%\22\0\377\0\0\0\377\310c\0\377\205\327k\0\377\13!\20\0\377\0\0\0\377" \ - "\307c\0\377\327k\0\377\256V\0\377\0\0\0\377P'\0\377k5\0\377\0\0\0\377" \ - ",\26\0\377\310c\0\377\204\327k\0\377\3%\22\0\377\0\0\0\377\310c\0\377" \ - "\205\327k\0\377\3!\20\0\377\0\0\0\377\307c\0\377\211\327k\0\377\5\321" \ - "h\0\377<\36\0\377\0\0\0\377S)\0\377\326j\0\377\206\327k\0\377\3x<\0\377" \ - "\0\0\0\377e2\0\377\205\327k\0\377\3'\23\0\377\0\0\0\377\271\\\0\377\202" \ - "\327k\0\377\3x<\0\377\0\0\0\377e2\0\377\205\327k\0\377\3'\23\0\377\0" \ - "\0\0\377\271\\\0\377\205\327k\0\377\3S)\0\377\0\0\0\377v:\0\377\216\327" \ - "k\0\377\5\321h\0\377<\36\0\377\0\0\0\377S)\0\377\326j\0\377\215\327k" \ - "\0\377\3u:\0\377\0\0\0\377\253U\0\377\212\327k\0\377\1\272\\\0\377\211" \ - "\0\0\0\377\1+\25\0\377\202\327k\0\377\3\227K\0\377\0\0\0\377k5\0\377" \ - "\205\327k\0\377\2\10\4\0\377\35\16\0\377\203\327k\0\377\3(\24\0\377\0" \ - "\0\0\377\315f\0\377\204\327k\0\377\3\321h\0\377\2\1\0\377\32\15\0\377" \ - "\203\327k\0\377\3\227K\0\377\0\0\0\377k5\0\377\205\327k\0\377\2\10\4" \ - "\0\377\35\16\0\377\205\327k\0\377\6\270[\0\377\203A\0\377\77\37\0\377" \ - "\0\0\0\377\12\5\0\377\300_\0\377\202\327k\0\377\3\270[\0\377\0\0\0\377" \ - "I$\0\377\223\327k\0\377\3[-\0\377\0\0\0\377b1\0\377\202\327k\0\377\3" \ - "\256V\0\377\0\0\0\377P'\0\377\205\327k\0\377\2'\23\0\377\2\1\0\377\202" \ - "\327k\0\377\3[-\0\377\0\0\0\377\207C\0\377\204\327k\0\377\3\177\77\0" \ - "\377\0\0\0\377x<\0\377\202\327k\0\377\3\256V\0\377\0\0\0\377A\40\0\377" \ - "\205\327k\0\377\3\216F\0\377\0\0\0\377a0\0\377\205\327k\0\377\6\270[" \ - "\0\377\203A\0\377\77\37\0\377\0\0\0\377\12\5\0\377\300_\0\377\202\327" \ - "k\0\377\3\256V\0\377\0\0\0\377P'\0\377\205\327k\0\377\2'\23\0\377\2\1" \ - "\0\377\202\327k\0\377\3%\22\0\377\0\0\0\377\310c\0\377\205\327k\0\377" \ - "\3!\20\0\377\0\0\0\377\307c\0\377\202\327k\0\377\3\270[\0\377\0\0\0\377" \ - "I$\0\377\213\327k\0\377\3\320g\0\377\0\0\0\377\14\6\0\377\206\327k\0" \ - "\377\7)\24\0\377\0\0\0\377\233M\0\377\327k\0\377\227K\0\377\0\0\0\377" \ - "k5\0\377\205\327k\0\377\2\10\4\0\377\35\16\0\377\203\327k\0\377\3\277" \ - "_\0\377\0\0\0\377B!\0\377\203\327k\0\377\3\277_\0\377\0\0\0\377B!\0\377" \ - "\202\327k\0\377\3$\22\0\377\0\0\0\377\321h\0\377\204\327k\0\377\3\324" \ - "i\0\377\3\1\0\377\32\15\0\377\237\327k\0\377\230\331l\0\377\4\274^\0" \ - "\377\1\0\0\377\6\3\0\377\274^\0\377\206\331l\0\377\4\215F\0\377\0\0\0" \ - "\377\37\17\0\377\330k\0\377\202\331l\0\377\4\260W\0\377\0\0\0\377\26" \ - "\13\0\377\330k\0\377\204\331l\0\377\7b1\0\377\0\0\0\377\210C\0\377\331" \ - "l\0\377O'\0\377\0\0\0\377\226J\0\377\212\331l\0\377\3\260W\0\377\0\0" \ - "\0\377P(\0\377\205\331l\0\377\2'\23\0\377\2\1\0\377\202\331l\0\377\3" \ - "\322h\0\377\0\0\0\377\32\15\0\377\203\331l\0\377\4P(\0\377\0\0\0\377" \ - "\31\14\0\377\330k\0\377\202\331l\0\377\3P(\0\377\0\0\0\377\230K\0\377" \ - "\203\331l\0\377\3J%\0\377\0\0\0\377\232M\0\377\204\331l\0\377\3\310c" \ - "\0\377\3\1\0\377\25\12\0\377\202\331l\0\377\10\260W\0\377\0\0\0\377P" \ - "(\0\377\331l\0\377u:\0\377\0\0\0\377'\23\0\377\307c\0\377\203\331l\0" \ - "\377\3J%\0\377\0\0\0\377\232M\0\377\204\331l\0\377\3\310c\0\377\3\1\0" \ - "\377\25\12\0\377\211\331l\0\377\5\323i\0\377\77\37\0\377\0\0\0\377O'" \ - "\0\377\327k\0\377\207\331l\0\377\3\255V\0\377\0\0\0\377-\26\0\377\204" \ - "\331l\0\377\4\307c\0\377\2\1\0\377\26\13\0\377\330k\0\377\202\331l\0" \ - "\377\3\255V\0\377\0\0\0\377-\26\0\377\204\331l\0\377\4\307c\0\377\2\1" \ - "\0\377\26\13\0\377\330k\0\377\204\331l\0\377\4\317g\0\377\12\5\0\377" \ - "\4\2\0\377\306b\0\377\215\331l\0\377\5\323i\0\377\77\37\0\377\0\0\0\377" \ - "O'\0\377\327k\0\377\216\331l\0\377\3v:\0\377\0\0\0\377\254U\0\377\212" \ - "\331l\0\377\3j4\0\377\0\0\0\377Z,\0\377\206\237O\0\377\7*\25\0\377\0" \ - "\0\0\377\262X\0\377\331l\0\377\243Q\0\377\0\0\0\377\\.\0\377\204\331" \ - "l\0\377\3\300_\0\377\0\0\0\377\35\16\0\377\203\331l\0\377\3R)\0\377\0" \ - "\0\0\377\231L\0\377\204\331l\0\377\3\237O\0\377\0\0\0\377\32\15\0\377" \ - "\203\331l\0\377\3\243Q\0\377\0\0\0\377\\.\0\377\204\331l\0\377\3\300" \ - "_\0\377\0\0\0\377\35\16\0\377\210\331l\0\377\3\\.\0\377\0\0\0\377\205" \ - "B\0\377\202\331l\0\377\3\274^\0\377\0\0\0\377I$\0\377\223\331l\0\377" \ - "\3e2\0\377\0\0\0\377f2\0\377\202\331l\0\377\3\260W\0\377\0\0\0\377P(" \ - "\0\377\205\331l\0\377\2'\23\0\377\2\1\0\377\202\331l\0\377\3""2\30\0" \ - "\377\0\0\0\377\323i\0\377\204\331l\0\377\3R)\0\377\0\0\0\377y<\0\377" \ - "\202\331l\0\377\4\260W\0\377\0\0\0\377\26\13\0\377\330k\0\377\204\331" \ - "l\0\377\3b1\0\377\0\0\0\377\210C\0\377\210\331l\0\377\3\\.\0\377\0\0" \ - "\0\377\205B\0\377\202\331l\0\377\3\260W\0\377\0\0\0\377P(\0\377\205\331" \ - "l\0\377\2'\23\0\377\2\1\0\377\202\331l\0\377\3J%\0\377\0\0\0\377\232" \ - "M\0\377\204\331l\0\377\3\310c\0\377\3\1\0\377\25\12\0\377\203\331l\0" \ - "\377\3\274^\0\377\0\0\0\377I$\0\377\213\331l\0\377\3\322h\0\377\0\0\0" \ - "\377\14\6\0\377\206\331l\0\377\7\30\14\0\377\0\0\0\377\241P\0\377\331" \ - "l\0\377\243Q\0\377\0\0\0\377\\.\0\377\204\331l\0\377\3\300_\0\377\0\0" \ - "\0\377\35\16\0\377\203\331l\0\377\3\301`\0\377\0\0\0\377C!\0\377\203" \ - "\331l\0\377\3\301`\0\377\0\0\0\377C!\0\377\202\331l\0\377\3I$\0\377\0" \ - "\0\0\377\247S\0\377\204\331l\0\377\3\254U\0\377\0\0\0\377\32\15\0\377" \ - "\237\331l\0\377\231\332m\0\377\4^/\0\377\0\0\0\377*\25\0\377\310d\0\377" \ - "\204\332m\0\377\4\256W\0\377\16\7\0\377\0\0\0\377\226K\0\377\203\332" \ - "m\0\377\1\260X\0\377\202\0\0\0\377\1\211D\0\377\203\332m\0\377\11\310" \ - "d\0\377\20\10\0\377\6\3\0\377\311d\0\377\332m\0\377\243Q\0\377\0\0\0" \ - "\377'\23\0\377\317g\0\377\205\332m\0\377\1\313e\0\377\203\332m\0\377" \ - "\3\260X\0\377\0\0\0\377Q(\0\377\205\332m\0\377\2(\24\0\377\2\1\0\377" \ - "\202\332m\0\377\3\323i\0\377\0\0\0\377\32\15\0\377\203\332m\0\377\3\310" \ - "d\0\377\255V\0\377\274^\0\377\203\332m\0\377\3Q(\0\377\0\0\0\377\231" \ - "L\0\377\203\332m\0\377\4\224J\0\377\0\0\0\3775\32\0\377\327k\0\377\203" \ - "\332m\0\377\3b1\0\377\0\0\0\377_/\0\377\202\332m\0\377\3\260X\0\377\0" \ - "\0\0\377Q(\0\377\202\332m\0\377\4}>\0\377\0\0\0\377#\21\0\377\304b\0" \ - "\377\202\332m\0\377\4\224J\0\377\0\0\0\3775\32\0\377\327k\0\377\203\332" \ - "m\0\377\3b1\0\377\0\0\0\377_/\0\377\210\332m\0\377\5\325j\0\377B!\0\377" \ - "\0\0\0\377K%\0\377\327k\0\377\211\332m\0\377\3%\22\0\377\0\0\0\377\242" \ - "Q\0\377\203\332m\0\377\3d2\0\377\0\0\0\377f3\0\377\204\332m\0\377\3%" \ - "\22\0\377\0\0\0\377\242Q\0\377\203\332m\0\377\3d2\0\377\0\0\0\377f3\0" \ - "\377\205\332m\0\377\3\207C\0\377\0\0\0\377E\"\0\377\210\332m\0\377\3" \ - "\177\77\0\377o7\0\377\304b\0\377\202\332m\0\377\5\325j\0\377B!\0\377" \ - "\0\0\0\377K%\0\377\327k\0\377\217\332m\0\377\3v;\0\377\0\0\0\377\255" \ - "V\0\377\211\332m\0\377\4\330l\0\377\31\14\0\377\0\0\0\377\276_\0\377" \ - "\206\332m\0\377\10}>\0\377\0\0\0\377_/\0\377\332m\0\377\307c\0\377\0" \ - "\0\0\377!\20\0\377\327k\0\377\203\332m\0\377\3Y,\0\377\0\0\0\377\35\16" \ - "\0\377\203\332m\0\377\4\244R\0\377\0\0\0\377'\23\0\377\316g\0\377\202" \ - "\332m\0\377\4\320h\0\377,\26\0\377\0\0\0\377\32\15\0\377\203\332m\0\377" \ - "\4\307c\0\377\0\0\0\377!\20\0\377\327k\0\377\203\332m\0\377\3Y,\0\377" \ - "\0\0\0\377\35\16\0\377\202\332m\0\377\1\313e\0\377\205\332m\0\377\3n" \ - "7\0\377\0\0\0\377\211D\0\377\202\332m\0\377\3\315f\0\377\0\0\0\3772\31" \ - "\0\377\213\332m\0\377\2\223I\0\377\274^\0\377\205\332m\0\377\4\314f\0" \ - "\377\34\16\0\377\0\0\0\377\223I\0\377\202\332m\0\377\3\260X\0\377\0\0" \ - "\0\377Q(\0\377\205\332m\0\377\2(\24\0\377\2\1\0\377\202\332m\0\377\3" \ - ";\35\0\377\0\0\0\377\266[\0\377\203\332m\0\377\4\266[\0\377\7\3\0\377" \ - "\0\0\0\377z=\0\377\202\332m\0\377\1\260X\0\377\202\0\0\0\377\1\211D\0" \ - "\377\203\332m\0\377\4\310d\0\377\20\10\0\377\6\3\0\377\311d\0\377\202" \ - "\332m\0\377\1\313e\0\377\205\332m\0\377\3n7\0\377\0\0\0\377\211D\0\377" \ - "\202\332m\0\377\3\260X\0\377\0\0\0\377Q(\0\377\205\332m\0\377\2(\24\0" \ - "\377\2\1\0\377\202\332m\0\377\4\224J\0\377\0\0\0\3775\32\0\377\327k\0" \ - "\377\203\332m\0\377\3b1\0\377\0\0\0\377_/\0\377\203\332m\0\377\3\315" \ - "f\0\377\0\0\0\3772\31\0\377\213\332m\0\377\3\323i\0\377\0\0\0\377\14" \ - "\6\0\377\205\332m\0\377\11\202A\0\377\0\0\0\377\11\4\0\377\316g\0\377" \ - "\332m\0\377\307c\0\377\0\0\0\377!\20\0\377\327k\0\377\203\332m\0\377" \ - "\3Y,\0\377\0\0\0\377\35\16\0\377\203\332m\0\377\3\302a\0\377\0\0\0\377" \ - "C!\0\377\203\332m\0\377\3\302a\0\377\0\0\0\377C!\0\377\202\332m\0\377" \ - "\3\221H\0\377\0\0\0\377B!\0\377\204\332m\0\377\3F#\0\377\0\0\0\377\32" \ - "\15\0\377\237\332m\0\377\231\334n\0\377\13\325j\0\377<\36\0\377\0\0\0" \ - "\377\21\10\0\377f3\0\377\217G\0\377\212E\0\377T*\0\377\4\2\0\377\0\0" \ - "\0\377m6\0\377\204\334n\0\377\12\262Y\0\377\0\0\0\377\37\17\0\377\10" \ - "\4\0\377p8\0\377\245R\0\377\216G\0\377\"\21\0\377\0\0\0\377s9\0\377\203" \ - "\334n\0\377\11].\0\377\0\0\0\377\37\17\0\377|>\0\377\242Q\0\377\240P" \ - "\0\377\202A\0\377D\"\0\377)\24\0\377\203\334n\0\377\3\262Y\0\377\0\0" \ - "\0\377Q(\0\377\205\334n\0\377\2(\24\0\377\2\1\0\377\202\334n\0\377\3" \ - "\325j\0\377\0\0\0\377\32\15\0\377\211\334n\0\377\3Q(\0\377\0\0\0\377" \ - "\232M\0\377\203\334n\0\377\12\333m\0\377=\36\0\377\0\0\0\3779\34\0\377" \ - "\226K\0\377\236O\0\377W+\0\377\0\0\0\377\31\14\0\377\314f\0\377\202\334" \ - "n\0\377\3\262Y\0\377\0\0\0\377Q(\0\377\203\334n\0\377\17\207C\0\377\1" \ - "\0\0\377\37\17\0\377\302a\0\377\334n\0\377\333m\0\377=\36\0\377\0\0\0" \ - "\3779\34\0\377\226K\0\377\236O\0\377W+\0\377\0\0\0\377\31\14\0\377\314" \ - "f\0\377\210\334n\0\377\4s9\0\377\0\0\0\377\2\1\0\377G#\0\377\205K%\0" \ - "\377\1t:\0\377\204\334n\0\377\11\243Q\0\377\3\1\0\377\14\6\0\377w;\0" \ - "\377\226K\0\377Z-\0\377\0\0\0\377\33\15\0\377\315f\0\377\204\334n\0\377" \ - "\11\243Q\0\377\3\1\0\377\14\6\0\377w;\0\377\226K\0\377Z-\0\377\0\0\0" \ - "\377\33\15\0\377\315f\0\377\205\334n\0\377\3""2\31\0\377\0\0\0\377\233" \ - "M\0\377\210\334n\0\377\3\36\17\0\377\0\0\0\377\257W\0\377\202\334n\0" \ - "\377\4s9\0\377\0\0\0\377\2\1\0\377G#\0\377\205K%\0\377\1t:\0\377\212" \ - "\334n\0\377\3w;\0\377\0\0\0\377\257W\0\377\211\334n\0\377\3\237O\0\377" \ - "\0\0\0\3772\31\0\377\207\334n\0\377\16\311d\0\377\3\1\0\377\21\10\0\377" \ - "\327k\0\377\334n\0\377B!\0\377\0\0\0\377@\40\0\377\223I\0\377\220H\0" \ - "\377G#\0\377\36\17\0\377\10\4\0\377\36\17\0\377\204\334n\0\377\11W+\0" \ - "\377\0\0\0\377\31\14\0\377_/\0\377a0\0\377\33\15\0\3776\33\0\377\16\7" \ - "\0\377\34\16\0\377\204\334n\0\377\11B!\0\377\0\0\0\377@\40\0\377\223" \ - "I\0\377\220H\0\377G#\0\377\36\17\0\377\10\4\0\377\36\17\0\377\202\334" \ - "n\0\377\11\30\14\0\377K%\0\377\210D\0\377\245R\0\377\244R\0\377r9\0\377" \ - "\10\4\0\377\17\7\0\377\312e\0\377\203\334n\0\377\6,\26\0\377\0\0\0\377" \ - "L&\0\377l6\0\377m6\0\377\264Z\0\377\207\334n\0\377\13Q(\0\377\1\0\0\377" \ - "8\34\0\377q8\0\377\217G\0\377\221H\0\377n7\0\377\31\14\0\377\0\0\0\377" \ - "2\31\0\377\331l\0\377\202\334n\0\377\3\262Y\0\377\0\0\0\377Q(\0\377\205" \ - "\334n\0\377\2(\24\0\377\2\1\0\377\202\334n\0\377\12\203A\0\377\0\0\0" \ - "\377!\20\0\377\220H\0\377\247S\0\377{=\0\377\22\11\0\377!\20\0\377\0" \ - "\0\0\377{=\0\377\202\334n\0\377\12\262Y\0\377\0\0\0\377\37\17\0\377\10" \ - "\4\0\377p8\0\377\245R\0\377\216G\0\377\"\21\0\377\0\0\0\377s9\0\377\203" \ - "\334n\0\377\11\30\14\0\377K%\0\377\210D\0\377\245R\0\377\244R\0\377r" \ - "9\0\377\10\4\0\377\17\7\0\377\312e\0\377\202\334n\0\377\3\262Y\0\377" \ - "\0\0\0\377Q(\0\377\205\334n\0\377\2(\24\0\377\2\1\0\377\202\334n\0\377" \ - "\12\333m\0\377=\36\0\377\0\0\0\3779\34\0\377\226K\0\377\236O\0\377W+" \ - "\0\377\0\0\0\377\31\14\0\377\314f\0\377\204\334n\0\377\6,\26\0\377\0" \ - "\0\0\377L&\0\377l6\0\377m6\0\377\264Z\0\377\207\334n\0\377\3\325j\0\377" \ - "\0\0\0\377\4\2\0\377\203Q(\0\377\2L&\0\377'\23\0\377\202\0\0\0\377\1" \ - "\204B\0\377\203\334n\0\377\11B!\0\377\0\0\0\377@\40\0\377\223I\0\377" \ - "\220H\0\377G#\0\377\36\17\0\377\10\4\0\377\36\17\0\377\203\334n\0\377" \ - "\3\303a\0\377\0\0\0\377D\"\0\377\203\334n\0\377\3\303a\0\377\0\0\0\377" \ - "D\"\0\377\202\334n\0\377\4\332m\0\3773\31\0\377\0\0\0\377F#\0\377\202" \ - "\235N\0\377\4I$\0\377\27\13\0\377\11\4\0\377\32\15\0\377\237\334n\0\377" \ - "\232\336o\0\377\3\332m\0\377y<\0\377\26\13\0\377\204\0\0\0\377\2)\24" \ - "\0\377\231L\0\377\205\336o\0\377\5\264Z\0\377\0\0\0\377R)\0\377\211D" \ - "\0\377\14\6\0\377\202\0\0\0\377\2\6\3\0\377o7\0\377\205\336o\0\377\2" \ - "\200@\0\377\26\13\0\377\204\0\0\0\377\2\26\13\0\377p8\0\377\203\336o" \ - "\0\377\3\264Z\0\377\0\0\0\377R)\0\377\205\336o\0\377\2(\24\0\377\2\1" \ - "\0\377\202\336o\0\377\3\327k\0\377\0\0\0\377\32\15\0\377\211\336o\0\377" \ - "\3R)\0\377\0\0\0\377\233M\0\377\204\336o\0\377\3\325j\0\377W+\0\377\4" \ - "\2\0\377\203\0\0\0\377\2;\35\0\377\302a\0\377\203\336o\0\377\3\264Z\0" \ - "\377\0\0\0\377R)\0\377\204\336o\0\377\10\220H\0\377\3\1\0\377\32\15\0" \ - "\377\300`\0\377\336o\0\377\325j\0\377W+\0\377\4\2\0\377\203\0\0\0\377" \ - "\2;\35\0\377\302a\0\377\211\336o\0\377\1g3\0\377\210\0\0\0\377\1=\36" \ - "\0\377\205\336o\0\377\2\232M\0\377\30\14\0\377\203\0\0\0\377\2""4\32" \ - "\0\377\277_\0\377\206\336o\0\377\2\232M\0\377\30\14\0\377\203\0\0\0\377" \ - "\2""4\32\0\377\277_\0\377\205\336o\0\377\4\274^\0\377\0\0\0\377\26\13" \ - "\0\377\333m\0\377\210\336o\0\377\3\36\17\0\377\0\0\0\377\260X\0\377\202" \ - "\336o\0\377\1g3\0\377\210\0\0\0\377\1=\36\0\377\212\336o\0\377\3y<\0" \ - "\377\0\0\0\377\260X\0\377\211\336o\0\377\3L&\0\377\0\0\0\377\202A\0\377" \ - "\210\336o\0\377\6\77\37\0\377\0\0\0\377\225J\0\377\336o\0\377\311d\0" \ - "\3773\31\0\377\203\0\0\0\377\4/\27\0\377\300`\0\377\15\6\0\377\36\17" \ - "\0\377\204\336o\0\377\11\334n\0\377y<\0\377!\20\0\377\5\2\0\377\27\13" \ - "\0\377`0\0\377\323i\0\377\10\4\0\377'\23\0\377\204\336o\0\377\2\311d" \ - "\0\3773\31\0\377\203\0\0\0\377\4/\27\0\377\300`\0\377\15\6\0\377\36\17" \ - "\0\377\202\336o\0\377\2I$\0\377\7\3\0\377\204\0\0\0\377\2/\27\0\377\264" \ - "Z\0\377\204\336o\0\377\3\274^\0\377A\40\0\377\16\7\0\377\202\0\0\0\377" \ - "\1\215F\0\377\207\336o\0\377\3\236O\0\377>\37\0\377\11\4\0\377\204\0" \ - "\0\0\377\3\14\6\0\377_/\0\377\322i\0\377\203\336o\0\377\3\264Z\0\377" \ - "\0\0\0\377R)\0\377\205\336o\0\377\2(\24\0\377\2\1\0\377\202\336o\0\377" \ - "\3\335n\0\377`0\0\377\2\1\0\377\202\0\0\0\377\5\6\3\0\377d2\0\377\214" \ - "F\0\377\0\0\0\377|>\0\377\202\336o\0\377\5\264Z\0\377\0\0\0\377R)\0\377" \ - "\211D\0\377\14\6\0\377\202\0\0\0\377\2\6\3\0\377o7\0\377\204\336o\0\377" \ - "\2I$\0\377\7\3\0\377\204\0\0\0\377\2/\27\0\377\264Z\0\377\203\336o\0" \ - "\377\3\264Z\0\377\0\0\0\377R)\0\377\205\336o\0\377\2(\24\0\377\2\1\0" \ - "\377\203\336o\0\377\3\325j\0\377W+\0\377\4\2\0\377\203\0\0\0\377\2;\35" \ - "\0\377\302a\0\377\205\336o\0\377\3\274^\0\377A\40\0\377\16\7\0\377\202" \ - "\0\0\0\377\1\215F\0\377\207\336o\0\377\1\327k\0\377\205\0\0\0\377\4\3" \ - "\1\0\377\26\13\0\377H$\0\377\250T\0\377\204\336o\0\377\2\311d\0\3773" \ - "\31\0\377\203\0\0\0\377\4/\27\0\377\300`\0\377\15\6\0\377\36\17\0\377" \ - "\203\336o\0\377\3\305b\0\377\0\0\0\377D\"\0\377\203\336o\0\377\3\305" \ - "b\0\377\0\0\0\377D\"\0\377\203\336o\0\377\2\316g\0\377B!\0\377\203\0" \ - "\0\0\377\4#\21\0\377\265Z\0\377\20\10\0\377\32\15\0\377\237\336o\0\377" \ - "\234\340p\0\377\5\337o\0\377\274^\0\377\245R\0\377\250T\0\377\307c\0" \ - "\377\207\340p\0\377\10\265Z\0\377\0\0\0\377S)\0\377\340p\0\377\330l\0" \ - "\377\257W\0\377\252U\0\377\322i\0\377\207\340p\0\377\5\337o\0\377\274" \ - "^\0\377\246S\0\377\251T\0\377\303a\0\377\246\340p\0\377\4\322i\0\377" \ - "\255V\0\377\247S\0\377\310d\0\377\223\340p\0\377\4\322i\0\377\255V\0" \ - "\377\247S\0\377\310d\0\377\233\340p\0\377\4\336o\0\377\266[\0\377\247" \ - "S\0\377\303a\0\377\211\340p\0\377\4\336o\0\377\266[\0\377\247S\0\377" \ - "\303a\0\377\254\340p\0\377\3z=\0\377\0\0\0\377\262Y\0\377\232\340p\0" \ - "\377\3\274^\0\377\246S\0\377\275^\0\377\216\340p\0\377\3\301`\0\377\0" \ - "\0\0\377F#\0\377\206\340p\0\377\3\274^\0\377\246S\0\377\275^\0\377\207" \ - "\340p\0\377\5\334n\0\377\273]\0\377\246S\0\377\250T\0\377\306c\0\377" \ - "\225\340p\0\377\2\334n\0\377\274^\0\377\202\246S\0\377\2\272]\0\377\334" \ - "n\0\377\223\340p\0\377\4\315f\0\377\247S\0\377\255V\0\377\324j\0\377" \ - "\206\340p\0\377\10\265Z\0\377\0\0\0\377S)\0\377\340p\0\377\330l\0\377" \ - "\257W\0\377\252U\0\377\322i\0\377\206\340p\0\377\5\334n\0\377\273]\0" \ - "\377\246S\0\377\250T\0\377\306c\0\377\224\340p\0\377\4\322i\0\377\255" \ - "V\0\377\247S\0\377\310d\0\377\244\340p\0\377\3\274^\0\377\246S\0\377" \ - "\275^\0\377\225\340p\0\377\3\304b\0\377\246S\0\377\271\\\0\377\243\340" \ - "p\0\377\250\342q\0\377\3\267[\0\377\0\0\0\377T*\0\377\377\342q\0\377" \ - "\253\342q\0\377\3{=\0\377\0\0\0\377\263Y\0\377\245\342q\0\377\1\334n" \ - "\0\377\204\342q\0\377\4\341p\0\377S)\0\377\0\0\0\377\211D\0\377\315\342" \ - "q\0\377\3\267[\0\377\0\0\0\377T*\0\377\377\342q\0\377\213\342q\0\377" \ - "\250\343q\0\377\3\270[\0\377\0\0\0\377T*\0\377\377\343q\0\377\253\343" \ - "q\0\377\3{=\0\377\0\0\0\377\264Y\0\377\245\343q\0\377\11b1\0\377E\"\0" \ - "\377\201@\0\377\224J\0\377\202A\0\3777\33\0\377\0\0\0\377*\25\0\377\334" \ - "m\0\377\315\343q\0\377\3\270[\0\377\0\0\0\377T*\0\377\377\343q\0\377" \ - "\213\343q\0\377\250\345r\0\377\3\271\\\0\377\0\0\0\377U*\0\377\377\345" \ - "r\0\377\253\345r\0\377\3|>\0\377\0\0\0\377\266Z\0\377\245\345r\0\377" \ - "\2\214E\0\377\30\14\0\377\203\0\0\0\377\3\13\5\0\377Y,\0\377\325j\0\377" \ - "\316\345r\0\377\3\271\\\0\377\0\0\0\377U*\0\377\377\345r\0\377\213\345" \ - "r\0\377\250\347s\0\377\3\340o\0\377\302`\0\377\320g\0\377\377\347s\0" \ - "\377\253\347s\0\377\3\233M\0\377@\40\0\377\305b\0\377\247\347s\0\377" \ - "\4\327k\0\377\306b\0\377\314e\0\377\344q\0\377\320\347s\0\377\3\340o" \ - "\0\377\302`\0\377\320g\0\377\377\347s\0\377\213\347s\0\377\377\351t\0" \ - "\377\377\351t\0\377\377\351t\0\377\343\351t\0\377\377\353u\0\377\377" \ - "\353u\0\377\377\353u\0\377\343\353u\0\377\377\355v\0\377\377\355v\0\377" \ - "\377\355v\0\377\343\355v\0\377") + "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" \ + "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" \ + "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" \ + "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\257\0\0\0\204\1\1\0\203" \ + "\2\2\1\214\3\3\1\202\2\2\1\203\1\1\0\377\0\0\0\377\0\0\0\377\0\0\0\310" \ + "\0\0\0\3\1\1\0\2\2\1\3\3\1\202\4\3\1\202\5\4\1\203\5\4\2\205\6\5\2\202" \ + "\7\6\2\204\6\5\2\203\5\4\2\202\5\4\1\202\4\3\1\202\3\3\1\1\2\2\1\202" \ + "\1\1\0\377\0\0\0\377\0\0\0\377\0\0\0\300\0\0\0\7\1\1\0\3\3\1\4\3\1\5" \ + "\4\2\6\5\2\7\6\2\10\7\3\202\11\10\3\202\12\11\3\203\13\11\3\210\14\12" \ + "\4\203\13\11\3\1\12\11\3\202\11\10\3\1\10\7\3\202\7\6\2\4\6\5\2\5\4\2" \ + "\5\4\1\4\3\1\202\3\3\1\2\2\2\1\1\1\0\377\0\0\0\377\0\0\0\377\0\0\0\272" \ + "\0\0\0\12\1\1\0\3\3\1\5\4\1\6\5\2\10\7\3\12\11\3\13\11\3\15\13\4\16\14" \ + "\4\17\15\5\202\17\15\4\1\20\16\4\203\21\16\5\210\22\17\5\202\21\16\5" \ + "\202\20\16\4\15\17\15\4\17\15\5\16\14\4\15\13\4\14\12\4\13\11\3\12\11" \ + "\3\11\10\3\10\7\3\7\6\2\6\5\2\5\4\2\5\4\1\202\3\3\1\202\1\1\0\377\0\0" \ + "\0\377\0\0\0\377\0\0\0\265\0\0\0\16\2\2\1\4\3\1\6\5\2\10\7\3\13\11\3" \ + "\15\13\4\17\15\4\20\16\4\22\17\5\23\20\5\24\21\5\25\22\6\26\23\6\27\24" \ + "\6\203\30\25\7\210\31\25\7\202\30\25\7\202\27\24\6\24\26\23\6\25\22\6" \ + "\24\21\5\23\20\5\22\17\5\21\16\5\20\16\4\17\15\4\16\14\4\15\13\4\14\12" \ + "\4\12\11\3\11\10\3\7\6\2\6\5\2\5\4\1\4\3\1\3\3\1\2\2\1\1\1\0\377\0\0" \ + "\0\377\0\0\0\377\0\0\0\261\0\0\0\15\3\3\1\5\4\1\7\6\2\12\11\3\15\13\4" \ + "\20\16\4\22\17\5\25\22\6\27\24\6\30\25\7\31\25\7\33\27\10\34\30\10\202" \ + "\35\31\10\1\36\32\11\204\37\33\11\204\40\33\11\203\37\33\11\202\36\32" \ + "\11\4\35\31\10\34\30\10\33\27\10\32\26\7\202\31\25\7\20\30\25\7\27\24" \ + "\6\25\22\6\24\21\5\22\17\5\21\16\5\20\16\4\17\15\5\15\13\4\13\11\3\12" \ + "\11\3\10\7\3\6\5\2\5\4\2\4\3\1\3\3\1\202\1\1\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\255\0\0\0\15\3\3\1\5\4\2\10\7\3\14\12\4\17\15\4\22\17\5\25\22" \ + "\6\30\25\7\32\26\7\34\30\10\37\33\11!\34\11\"\35\12\202#\36\12\202$\37" \ + "\13\202%!\13\210&!\13\1%!\13\202$\37\13\203#\36\12\27\"\35\12!\34\11" \ + "\40\33\11\37\33\11\35\31\10\34\30\10\32\26\7\31\25\7\30\25\7\26\23\6" \ + "\24\21\5\23\20\5\21\16\5\17\15\4\16\14\4\14\12\4\12\11\3\10\7\3\6\5\2" \ + "\5\4\1\4\3\1\2\2\1\1\1\0\377\0\0\0\377\0\0\0\377\0\0\0\251\0\0\0\22\1" \ + "\1\0\3\3\1\5\4\2\11\10\3\15\13\4\20\16\4\24\21\5\30\25\7\32\26\7\36\32" \ + "\11!\34\11#\36\12%!\13&!\13'#\14($\14)%\14*%\15\203+&\15\210,'\15\202" \ + "+&\15\1*%\15\202)%\14\2($\14'#\14\202&!\13\26%!\13$\37\13#\36\12\"\35" \ + "\12\40\33\11\36\32\11\34\30\10\32\26\7\31\25\7\27\24\6\25\22\6\23\20" \ + "\5\21\16\5\17\15\4\16\14\4\14\12\4\12\11\3\7\6\2\5\4\2\4\3\1\3\3\1\1" \ + "\1\0\377\0\0\0\377\0\0\0\377\0\0\0\246\0\0\0\21\1\1\0\3\3\1\5\4\2\11" \ + "\10\3\16\14\4\21\16\5\25\22\6\31\25\7\35\31\10!\34\11#\36\12&!\13)%\14" \ + "+&\15,'\16-(\16.)\16\202/*\16\2020+\17\2121,\17\2020+\17\1/*\16\202." \ + ")\16\33-(\16,'\16,'\15+&\15)%\14($\14'#\14&!\13$\37\13#\36\12\"\35\12" \ + "\40\33\11\35\31\10\33\27\10\31\25\7\30\25\7\25\22\6\23\20\5\21\16\5\17" \ + "\15\4\15\13\4\13\11\3\11\10\3\6\5\2\5\4\1\3\3\1\1\1\0\377\0\0\0\377\0" \ + "\0\0\377\0\0\0\244\0\0\0\20\3\3\1\5\4\2\11\10\3\16\14\4\22\17\5\26\23" \ + "\6\32\26\7\37\33\11#\36\12&!\13)%\14,'\15.)\16""0+\17""2-\17""3-\17\202" \ + "4.\20\2035/\17\21260\20\2035/\17\1""4.\20\2023-\17\34""2-\17""1,\17""0" \ + "+\17/*\16.)\16,'\16,'\15*%\15)%\14'#\14&!\13$\37\13#\36\12\40\33\11\36" \ + "\32\11\33\27\10\31\25\7\27\24\6\25\22\6\22\17\5\20\16\4\16\14\4\14\12" \ + "\4\11\10\3\7\6\2\5\4\1\3\3\1\1\1\0\377\0\0\0\377\0\0\0\377\0\0\0\241" \ + "\0\0\0\16\3\3\1\5\4\2\11\10\3\15\13\4\21\16\5\27\24\6\33\27\10\37\33" \ + "\11#\36\12&!\13+&\15-(\16""1,\17""4.\20\20260\20\20371\20\20482\20\207" \ + "92\21\20582\20\20271\20\20360\20\34""5/\17""4.\20""3-\17""2-\17""1,\17" \ + "/*\16.)\16,'\16+&\15)%\14'#\14&!\13$\37\13#\36\12\40\33\11\35\31\10\32" \ + "\26\7\31\25\7\26\23\6\23\20\5\21\16\5\17\15\5\14\12\4\12\11\3\7\6\2\5" \ + "\4\1\3\3\1\1\1\0\377\0\0\0\377\0\0\0\377\0\0\0\236\0\0\0\17\2\2\1\5\4" \ + "\1\10\7\3\15\13\4\21\16\5\26\23\6\32\26\7\37\33\11$\37\13'#\14,'\15/" \ + "*\16""3-\17""60\20""71\20\23292\21\20282\20\1""71\20\20260\20\31""5/" \ + "\17""4.\20""2-\17""0+\17/*\16-(\16,'\15)%\14'#\14&!\13#\36\12\"\35\12" \ + "\37\33\11\34\30\10\31\25\7\27\24\6\24\21\5\21\16\5\17\15\5\14\12\4\11" \ + "\10\3\7\6\2\5\4\1\3\3\1\1\1\0\377\0\0\0\377\0\0\0\377\0\0\0\233\0\0\0" \ + "\33\1\1\0\4\3\1\7\6\2\14\12\4\20\16\4\25\22\6\32\26\7\37\33\11$\37\13" \ + "'#\14,'\15""0+\17""4.\20A;\34NH,YT8a[BjeMzt\\\221\214q\243\236\177\251" \ + "\245\205\273\265\223\307\302\242\322\315\252\320\312\241\320\313\241" \ + "\202\345\340\261\14\344\337\257\344\336\252\336\327\241\311\300\214\305" \ + "\275\204\303\273\201\254\243j\237\227`\217\206R}uF^V-JC\35\20592\21\202" \ + "82\20\1""71\20\20260\20\26""4.\20""2-\17""1,\17/*\16,'\16+&\15)%\14&" \ + "!\13$\37\13#\36\12\40\33\11\34\30\10\31\25\7\27\24\6\24\21\5\21\16\5" \ + "\17\15\5\14\12\4\11\10\3\6\5\2\4\3\1\2\2\1\377\0\0\0\377\0\0\0\377\0" \ + "\0\0\232\0\0\0.\3\3\1\6\5\2\13\11\3\17\15\4\24\21\5\31\25\7\37\33\11" \ + "#\36\12""30\31LH3daLto\\\204\200n\211\206s\210\205r\210\204r\226\222" \ + "~\222\216z\232\226\200\211\206r\206\201o\205\200n\204\200n\203\177l\203" \ + "~k\202}k\201|j\200|i\212\207q\223\217w\233\226}\247\241\206\265\261\222" \ + "\300\273\232\320\313\246\345\340\264\344\337\256\344\336\247\344\335" \ + "\241\343\333\232\343\332\225\332\320\215\271\260t\232\221ZwpAOH#\204" \ + "92\21\2""82\20""71\20\20260\20\25""4.\20""2-\17""0+\17.)\16,'\15*%\15" \ + "'#\14&!\13#\36\12\40\33\11\35\31\10\31\25\7\27\24\6\24\21\5\21\16\5\16" \ + "\14\4\13\11\3\10\7\3\5\4\2\3\3\1\1\1\0\377\0\0\0\377\0\0\0\377\0\0\0" \ + "\227\0\0\0""3\2\2\1\5\4\1\11\10\3\16\14\4\23\20\5#\37\22B\77""1`]Oxu" \ + "h\204\201t\206\203u\210\204t\210\205s\210\205r\210\204r\210\203r\212" \ + "\206s\244\240\210\277\272\235\277\273\235\262\256\222\235\230\201\203" \ + "\177l\203~k\202}k\201|j\200|i\200{g\177{g~zf}ye~ze}yd|xd{wc{wazua\216" \ + "\211q\241\235\200\272\264\222\324\317\250\345\340\261\344\336\251\344" \ + "\335\240\343\333\231\343\332\225\343\332\224\323\311\206\252\241g|tD" \ + "JC\35\20392\21\30""82\20""71\20""60\20""5/\17""3-\17""1,\17/*\16,'\16" \ + "+&\15($\14&!\13#\36\12\40\33\11\35\31\10\31\25\7\26\23\6\23\20\5\20\16" \ + "\4\15\13\4\12\11\3\7\6\2\5\4\1\3\3\1\1\1\0\377\0\0\0\377\0\0\0\377\0" \ + "\0\0\224\0\0\0\22\1\1\0\3\3\1\7\6\2\27\25\20@>7caX~|t\177}s\201~r\203" \ + "\200s\205\202s\207\203s\210\204s\210\204r\210\203r\207\203q\250\243\212" \ + "\337\333\270\202\346\342\275\202\346\342\274\16\346\341\274\331\324\261" \ + "\246\243\210\200|i\200{g\177{g~zf}ye~ze}yd|xd{wc{wazua\202yu`\21xs^x" \ + "r^wr]vq\\\177zb\232\225y\276\271\225\334\327\254\344\337\255\344\335" \ + "\243\343\333\231\343\332\225\343\332\224\343\332\223\277\267w\216\206" \ + "QQJ#\20392\21\26""82\20""71\20""60\20""4.\20""2-\17/*\16-(\16+&\15($" \ + "\14&!\13#\36\12\37\33\11\34\30\10\31\25\7\25\22\6\22\17\5\17\15\5\14" \ + "\12\4\10\7\3\5\4\2\3\3\1\1\1\0\377\0\0\0\377\0\0\0\377\0\0\0\223\0\0" \ + "\0\25\5\5\4.-+]\\Ywvryxr|zr~{r\177}r\201~r\204\200r\206\202r\207\203" \ + "r\210\203r\207\203q\206\202p\277\273\236\346\342\276\346\342\275\346" \ + "\342\276\346\342\275\346\341\276\204\346\341\275\13\217\212u~zf}ye~z" \ + "e}yd{xc{wazw`yt_xt^xs_\202xr^\5wr]vq\\up[uo[toZ\202soY\15rnW\220\213" \ + "n\266\260\214\333\326\252\344\336\252\344\335\240\343\333\230\343\332" \ + "\225\343\332\224\343\332\222\301\271x\207\177KH@\33\20292\21\25""82\20" \ + "71\20""60\20""5/\17""2-\17/*\16-(\16+&\15'#\14%!\13\"\35\12\37\33\11" \ + "\33\27\10\30\25\7\24\21\5\20\16\4\16\14\4\12\11\3\7\6\2\5\4\1\2\2\1\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\220\0\0\0\25\21\21\21BBAjjittqutpwupyxq|z" \ + "q~|q\177}p\202~q\204\200q\206\202p\207\203p\206\202p\206\201o\274\270" \ + "\234\346\342\276\346\342\277\346\342\276\346\341\276\205\346\342\276" \ + "\20\324\317\257}ye~ze}yd{xczwayt`xs_vr^uq]tp]tp\\up]tp\\to[toZ\203so" \ + "Y\21rnWrmWqmVplUokTplU\224\217q\303\275\226\344\337\257\344\335\245\343" \ + "\333\232\343\332\225\343\332\224\343\332\223\340\327\217\252\241ef^2" \ + "\20392\21\24""82\20""60\20""5/\17""2-\17/*\16,'\16*%\15'#\14$\37\13!" \ + "\34\11\35\31\10\31\25\7\26\23\6\22\17\5\17\15\4\14\12\4\10\7\3\5\4\2" \ + "\3\3\1\1\1\0\377\0\0\0\377\0\0\0\377\0\0\0\214\0\0\0\2\27\27\27LLL\202" \ + "qqq\22rqptsputowuozwo|yo~{p\200}o\202~o\204\200o\206\202o\206\201o\205" \ + "\200n\243\237\210\346\342\277\346\342\300\346\342\277\346\342\300\205" \ + "\346\342\277\22\346\342\276\266\261\225}yd|xd{wayuaxs_vq^tp^sp\\rn[q" \ + "nZpmZqnYqmYqmXqmWqmV\202pmV\24pmUplUokToiSnhRmhQlgPlfOzuZ\255\247\203" \ + "\336\330\251\344\336\247\343\334\234\343\333\226\343\332\224\343\332" \ + "\223\343\332\222\305\274{wo@;4\23\20292\21\23""82\20""60\20""4.\20""1" \ + ",\17.)\16,'\15)%\14&!\13#\36\12\37\33\11\33\27\10\30\25\7\24\21\5\20" \ + "\16\4\15\13\4\11\10\3\6\5\2\4\3\1\1\1\0\377\0\0\0\377\0\0\0\377\0\0\0" \ + "\211\0\0\0\24\31\31\31RRRqqqpppoooppoqqnsrntsnwunywn|yn}{n\200}n\202" \ + "~n\204\200n\205\200n\204\200n\212\206r\337\333\273\210\346\342\300\26" \ + "\346\342\277\346\342\300\235\230\200{wczw`yt_ws_tp^sp\\qn[olZmiYlhXl" \ + "hWkgWkgVkgUlhUlhTlgUlgTlgR\202mhR\23mhQlgPlfOkfOjeNieMjeMohP\236\230" \ + "v\333\325\246\344\336\250\343\334\234\343\333\226\343\332\224\343\332" \ + "\223\343\332\222\320\307\203\177vE>7\25\20292\21\22""71\20""60\20""4" \ + ".\20""0+\17-(\16+&\15'#\14$\37\13!\34\11\35\31\10\31\25\7\26\23\6\21" \ + "\16\5\16\14\4\12\11\3\7\6\2\4\3\1\2\2\1\377\0\0\0\377\0\0\0\377\0\0\0" \ + "\206\0\0\0\21\20\20\20LLLqqqpppooonnnnnmonmppmrqmtsmvtlywm|ym}{m\200" \ + "}m\202~m\202\203\177l\2\203~k\267\264\230\202\346\342\300\206\346\342" \ + "\301\15\346\342\300\346\342\301\346\342\300\210\203mzuaxt^vr^to\\rn[" \ + "olZmiYjgWifW\202hdV\11gdUgcTgcSgdSgdRhdQgdPhdPidO\202ieO\2ieNjeN\202" \ + "jeM\17idLhbKgcJgaIkfL\235\227u\333\324\245\344\335\246\343\333\232\343" \ + "\333\226\343\332\224\343\332\223\343\332\222\316\304\200yqA\20292\21" \ + "\22""82\20""71\20""5/\17""2-\17/*\16,'\16)%\14&!\13#\36\12\37\33\11\32" \ + "\26\7\27\24\6\23\20\5\17\15\4\13\11\3\10\7\3\5\4\1\2\2\1\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\203\0\0\0\7\6\6\6\77\77\77mmmpppooonnnmmm\202lll\16" \ + "mmkpnlrqltslvtkywk{yk}{l\177|k\202~k\203~k\202}k\213\207q\340\335\275" \ + "\202\346\342\302\1\346\342\301\204\346\342\302\202\346\342\301\22\345" \ + "\342\301\341\336\275yu`xs^vr]to[rnZnkYlhWjgWgcUeaTc`Sb_R`]Qa^Qa^Pa^O" \ + "\202a_N\14b_Mb`Mc`Mc_LdaLeaLe`KfaJgcJgcIgaIfaH\202e`G\10d_FidJ\246\240" \ + "{\340\330\247\344\335\243\343\333\230\343\332\225\343\332\224\202\343" \ + "\332\222\2\305\274zc[0\20292\21\22""82\20""60\20""4.\20""1,\17-(\16+" \ + "&\15'#\14#\36\12\40\33\11\34\30\10\30\25\7\24\21\5\20\16\4\14\12\4\10" \ + "\7\3\5\4\2\3\3\1\1\1\0\377\0\0\0\377\0\0\0\377\0\0\0\3###dddooo\202n" \ + "nn\24mmmlllkkkjjjkkjllioniqojtrjvsjyvj{yj}{j\177{j\201}k\201|j\200|i" \ + "\261\255\223\346\342\302\346\342\303\203\346\342\302\1\346\342\303\205" \ + "\346\342\302\15\322\314\257xr^wr]tp\\rnZnkXkgVheVebTb_R`]Q^[P\\ZO\202" \ + "[XM\17[XL\\XL\\YL]YL]ZL^ZK^[J^[I_[I`[I`\\Ha]Hb]Hb^Gc_F\202d_F\17d_Ec" \ + "^Db]Da[CqkO\274\266\213\345\336\250\343\334\235\343\333\227\343\332\225" \ + "\343\332\223\343\332\222\343\332\221\254\242fMF\40\20292\21\21""71\20" \ + "5/\17""2-\17/*\16,'\15($\14$\37\13\"\35\12\35\31\10\31\25\7\25\22\6\21" \ + "\16\5\15\13\4\11\10\3\5\4\2\3\3\1\1\1\0\377\0\0\0\377\0\0\0\374\0\0\0" \ + "\4\11\11\11JJJooonnn\202mmm\2lllkkk\202jjj\17jjijihlkhmlgpohsqivsixu" \ + "h{wi~{i\177{i\200|i\200{g\200{i\331\325\266\205\346\342\303\206\346\343" \ + "\303\15\303\300\242vq\\up[soZolXkgVheUeaSa^Q^[O[XNXVMVTL\202USK\202V" \ + "SJ\4VSIVTHWTHWTG\202YVG\15ZUFZVFVR\77RM:TP:UP:VQ:WR9XS:YU9YT8ZU9`[A\202" \ + "_Z@\6\207\201_\326\316\236\344\335\244\343\333\232\343\333\226\343\332" \ + "\224\202\343\332\222\2\334\321\212\201yF\20292\21\21""82\20""60\20""4" \ + ".\20""0+\17,'\16)%\14&!\13#\36\12\36\32\11\32\26\7\26\23\6\21\16\5\16" \ + "\14\4\12\11\3\6\5\2\4\3\1\1\1\0\377\0\0\0\377\0\0\0\372\0\0\0\5###ff" \ + "fnnnmmmlll\202kkk\202jjj\1iii\202hhh\17iigjjfmlgpngsqgurfxuhzwh}zh~{" \ + "h\177{g~zf\232\226\200\346\342\303\346\342\304\211\346\343\304$\346\342" \ + "\304\270\263\231uo[soYqmWmjVieTdaRa^Q]ZNYVMVTLSQKPOIOMHONHOMGOMFMKCD" \ + "B896+1-!-*\34(%\24&\"\17#\36\12%!\13'#\14)%\14,'\15-(\16""0+\17""3-\17" \ + "5/\17""71\20""82\20\20292\21\15>7\27C<\35NG(\255\245w\345\335\243\343" \ + "\333\233\343\333\227\343\332\225\343\332\223\343\332\222\343\332\221" \ + "\271\260pQJ#\20292\21\20""71\20""5/\17""1,\17-(\16+&\15&!\13#\36\12\37" \ + "\33\11\32\26\7\27\24\6\22\17\5\16\14\4\12\11\3\6\5\2\4\3\1\1\1\0\377" \ + "\0\0\0\377\0\0\0\367\0\0\0\6\3\3\3===nnnmmmlllkkk\203jjj\22iiihhhggg" \ + "fffggfhgejieljeomfrpfurewtfzwf}zf}ze}ye~ze\272\267\234\204\346\343\304" \ + "\202\346\343\305\1\346\343\304\202\346\343\305'\346\342\304\346\342\305" \ + "\346\342\304\255\251\216soYsnWokVkgTgdSb_P^[OXVLUSKQOIMLHJJFA@<0/+!\37" \ + "\32\24\23\15\16\14\4\17\15\4\21\16\5\23\20\5\25\22\6\27\24\6\31\25\7" \ + "\34\30\10\37\33\11\"\35\12$\37\13&!\13)%\14,'\15.)\16""0+\17""3-\17""6" \ + "0\20""71\20\20592\21\6ph=\326\315\217\343\333\231\343\333\227\343\333" \ + "\226\343\332\224\202\343\332\222\2\334\321\212wo\77\20292\21\20""71\20" \ + "60\20""2-\17/*\16+&\15'#\14#\36\12\40\33\11\33\27\10\27\24\6\23\20\5" \ + "\17\15\5\12\11\3\6\5\2\4\3\1\1\1\0\377\0\0\0\377\0\0\0\365\0\0\0\5\15" \ + "\15\15VVVmmmlllkkk\202jjj\202iii\23hhhgggfffeeedddeedgfcihdkjdnldrod" \ + "tpdwsdzve|yd}zd}yd|xd\331\326\271\214\346\343\305&\243\236\205rnWpmV" \ + "mhUjfReaQ`\\NZXLVTKOLF750\36\35\31\14\13\10\4\3\1\5\4\1\5\4\2\6\5\2\10" \ + "\7\3\12\11\3\13\11\3\15\13\4\17\15\4\21\16\5\23\20\5\26\23\6\31\25\7" \ + "\33\27\10\36\32\11\"\35\12$\37\13&!\13)%\14,'\15.)\16""1,\17""4.\20""6" \ + "0\20""82\20\20492\21\6KD\40\274\263z\344\333\231\343\333\230\343\333" \ + "\226\343\332\224\202\343\332\222\24\343\331\220\252\240cA9\27""92\21" \ + "82\20""60\20""3-\17""0+\17,'\15($\14$\37\13\40\33\11\34\30\10\30\25\7" \ + "\23\20\5\17\15\5\13\11\3\6\5\2\4\3\1\1\1\0\377\0\0\0\377\0\0\0\363\0" \ + "\0\0\4\33\33\33ffflllkkk\202jjj\1iii\202hhh\23gggfffeeedddcccccbdcbf" \ + "ebhgcjhbmkbqncspcvrcyuc{xc|xd{wc\215\210s\215\346\343\305'\231\225|q" \ + "mVokTkgShdPb`N\\XJDA3*'\33\22\20\7\11\10\3\5\4\1\1\1\0\0\0\0\1\1\0\2" \ + "\2\1\3\3\1\4\3\1\5\4\1\6\5\2\10\7\3\12\11\3\14\12\4\16\14\4\20\16\4\22" \ + "\17\5\25\22\6\30\25\7\33\27\10\36\32\11\"\35\12$\37\13'#\14*%\15,'\16" \ + "/*\16""2-\17""5/\17""71\20\20492\21\34>7\25\231\220_\344\333\232\343" \ + "\333\231\343\333\227\343\332\225\343\332\223\343\332\222\343\331\220" \ + "\307\276yQJ#92\21""82\20""60\20""4.\20""0+\17,'\16($\14$\37\13!\34\11" \ + "\34\30\10\30\25\7\23\20\5\17\15\5\12\11\3\6\5\2\4\3\1\1\1\0\377\0\0\0" \ + "\377\0\0\0\361\0\0\0\3)))jjjkkk\202jjj\3iiihhhggg\202fff\4eeedddcccb" \ + "bb\202aaa\21cb`edahgajiamj`pmbtpburaxtbzwa{wazua\246\240\211\346\343" \ + "\306\346\343\305\346\343\306\346\343\305\202\346\343\306\1\346\343\305" \ + "\206\346\343\306\15\223\216vokTmhRjeQ\\YCA='%!\15\34\30\10\26\23\6\17" \ + "\15\4\11\10\3\5\4\1\1\1\0\205\0\0\0\27\1\1\0\2\2\1\3\3\1\5\4\1\6\5\2" \ + "\10\7\3\13\11\3\15\13\4\17\15\4\22\17\5\25\22\6\31\25\7\33\27\10\37\33" \ + "\11\"\35\12%!\13'#\14+&\15-(\16""1,\17""4.\20""60\20""82\20\20492\21" \ + "\12yrF\340\327\226\343\333\231\343\333\227\343\332\225\343\332\223\343" \ + "\332\222\343\332\221\334\321\210lc5\20292\21\16""60\20""4.\20""1,\17" \ + ",'\16)%\14%!\13!\34\11\34\30\10\30\25\7\23\20\5\17\15\5\12\11\3\6\5\2" \ + "\3\3\1\377\0\0\0\377\0\0\0\360\0\0\0\2""333kkk\202jjj\4iiihhhgggfff\202" \ + "eee\4dddcccbbbaaa\202```\12``_aa^cb^fe`jh`lj_pm`soatq_ws`\202yu`\2xs" \ + "^\277\274\241\204\346\343\306\210\346\343\307\16\346\343\306\212\205" \ + "onhRYU:>9\35.)\16($\14#\36\12\34\30\10\25\22\6\17\15\5\11\10\3\5\4\1" \ + "\1\1\0\210\0\0\0\25\1\1\0\3\3\1\4\3\1\5\4\2\10\7\3\12\11\3\15\13\4\17" \ + "\15\4\22\17\5\26\23\6\31\25\7\34\30\10\37\33\11#\36\12&!\13)%\14,'\16" \ + "/*\16""3-\17""60\20""71\20\20492\21\12c\\3\331\317\221\344\333\231\343" \ + "\333\230\343\332\225\343\332\223\343\332\222\343\332\221\341\330\214" \ + "\201yE\20292\21\16""71\20""5/\17""1,\17-(\16)%\14%!\13!\34\11\34\30\10" \ + "\30\25\7\23\20\5\16\14\4\11\10\3\5\4\2\3\3\1\377\0\0\0\377\0\0\0\356" \ + "\0\0\0\1AAA\202jjj\6iiihhhgggfffeeeddd\202ccc\2bbbaaa\202```\20___^^" \ + "^__^`_\\ba]ec^if^kh^ol^qn_tp_vr^xs_xr^wr]\330\324\271\210\346\343\307" \ + "\1\346\343\310\202\346\343\307\17\346\343\310\346\343\307vpUA;\33""6" \ + "0\20""3-\17.)\16($\14#\36\12\33\27\10\25\22\6\17\15\5\10\7\3\4\3\1\1" \ + "\1\0\212\0\0\0\24\1\1\0\2\2\1\4\3\1\5\4\2\10\7\3\12\11\3\15\13\4\20\16" \ + "\4\23\20\5\27\24\6\31\25\7\35\31\10\"\35\12$\37\13'#\14+&\15.)\16""2" \ + "-\17""5/\17""71\20\20492\21\12UN(\323\311\214\344\333\231\343\333\230" \ + "\343\333\226\343\332\223\343\332\222\343\332\221\343\331\216\232\220" \ + "V\20292\21\16""71\20""5/\17""2-\17-(\16)%\14%!\13!\34\11\33\27\10\27" \ + "\24\6\22\17\5\16\14\4\11\10\3\5\4\2\2\2\1\377\0\0\0\377\0\0\0\354\0\0" \ + "\0\11@@@jjjiiihhhgggfffeeedddccc\202bbb\1aaa\202```\21___^^^]]]\\\\\\" \ + "]]\\`_\\a`[db\\ge\\kg[nk]qn^so\\vq]wr]vq\\~zc\203\346\343\307\2\346\343" \ + "\310\346\343\307\207\346\343\310\17\346\342\303\345\341\274WQ/92\21""6" \ + "0\20""3-\17-(\16'#\14\"\35\12\33\27\10\25\22\6\16\14\4\10\7\3\4\3\1\1" \ + "\1\0\214\0\0\0\24\1\1\0\2\2\1\4\3\1\5\4\2\10\7\3\13\11\3\16\14\4\21\16" \ + "\5\24\21\5\30\25\7\33\27\10\37\33\11#\36\12&!\13*%\15-(\16""1,\17""4" \ + ".\20""60\20""82\20\20392\21\32NF\"\312\302\206\344\333\231\343\333\230" \ + "\343\333\226\343\332\223\343\332\222\343\332\221\343\331\216\250\237" \ + "a;4\23""92\21""71\20""5/\17""1,\17-(\16)%\14$\37\13\40\33\11\33\27\10" \ + "\27\24\6\21\16\5\15\13\4\10\7\3\5\4\1\2\2\1\377\0\0\0\377\0\0\0\351\0" \ + "\0\0\13\1\1\1BBBiiihhhgggfffeeedddcccbbbaaa\203```\23___^^^]]]\\\\\\" \ + "[[[[[Z\\[Z^]Z`_ZcaZgd[jf[lj[pm\\so\\tp\\up[uo[\221\214v\206\346\343\310" \ + "\2\346\343\311\346\343\310\202\346\343\311\2\346\343\305\346\341\276" \ + "\202\346\341\274\14XQ092\21""60\20""3-\17-(\16'#\14\"\35\12\33\27\10" \ + "\24\21\5\16\14\4\10\7\3\4\3\1\217\0\0\0\23\1\1\0\2\2\1\4\3\1\6\5\2\11" \ + "\10\3\14\12\4\17\15\4\22\17\5\27\24\6\31\25\7\36\32\11\"\35\12%!\13)" \ + "%\14,'\16""0+\17""3-\17""60\20""82\20\20392\21\32JC\36\312\302\207\344" \ + "\333\231\343\333\230\343\333\226\343\332\223\343\332\222\343\332\221" \ + "\343\331\216\254\242d>7\25""92\21""71\20""5/\17""1,\17,'\16($\14$\37" \ + "\13\37\33\11\32\26\7\26\23\6\21\16\5\14\12\4\7\6\2\4\3\1\1\1\0\377\0" \ + "\0\0\377\0\0\0\350\0\0\0\11>>>hhhgggfffeeedddcccbbbaaa\203```\30___^" \ + "^^]]]\\\\\\[[[ZZZYYYYYXZYX\\\\X`^Yb`XfcYifYljYolZrnZsoZtoZsoY\244\241" \ + "\211\346\343\310\346\343\311\346\343\310\204\346\343\311\5\347\343\311" \ + "\347\343\307\346\342\301\346\341\275\346\342\275\202\346\342\276\14X" \ + "Q092\21""60\20""3-\17-(\16'#\14\"\35\12\33\27\10\24\21\5\16\14\4\10\7" \ + "\3\4\3\1\212\0\0\0\202\1\1\0\202\2\2\1\204\3\3\1\21\4\3\1\5\4\2\7\6\2" \ + "\12\11\3\16\14\4\21\16\5\25\22\6\31\25\7\34\30\10!\34\11$\37\13'#\14" \ + ",'\15/*\16""3-\17""60\20""82\20\20392\21\32KD\40\312\302\207\344\333" \ + "\231\343\333\230\343\333\226\343\332\223\343\332\222\343\331\220\343" \ + "\331\216\261\250g>7\25""92\21""71\20""5/\17""1,\17,'\16'#\14#\36\12\37" \ + "\33\11\31\25\7\25\22\6\20\16\4\13\11\3\6\5\2\3\3\1\1\1\0\377\0\0\0\377" \ + "\0\0\0\346\0\0\0\10""555gggfffeeedddcccbbbaaa\202```\1___\202^^^\6]]" \ + "]\\\\\\[[[ZZZYYYXXX\202WWW\11YXV[ZV_]Wa_WebXheXjgXnkXqmX\203soY\1\271" \ + "\265\233\203\346\343\311\204\347\343\312\3\346\343\305\346\342\277\346" \ + "\342\276\204\346\342\277\14XQ092\21""60\20""3-\17-(\16'#\14\"\35\12\33" \ + "\27\10\24\21\5\16\14\4\10\7\3\4\3\1\206\0\0\0\202\1\1\0\4\2\2\1\3\3\1" \ + "\4\3\1\5\4\1\203\5\4\2\203\6\4\2\202\7\5\2\20\10\6\2\12\10\3\15\11\3" \ + "\17\13\4\23\17\5\26\21\6\31\25\7\35\31\10!\34\11%\40\12*$\14-&\15""2" \ + "+\16""5-\17""70\17:2\20\202;3\21\32:2\21LD\40\323\312\215\344\333\231" \ + "\343\333\230\343\332\225\343\332\223\343\332\222\343\331\220\343\331" \ + "\216\254\242b;4\23""92\21""71\20""4.\20""0+\17,'\15'#\14#\36\12\36\32" \ + "\11\31\25\7\24\21\5\17\15\5\12\11\3\5\4\2\3\3\1\377\0\0\0\377\0\0\0\345" \ + "\0\0\0\7+++fffeeedddcccbbbaaa\202```\2___^^^\202]]]\6\\\\\\[[[ZZZYYY" \ + "XXXWWW\202VVV\13VVUWVTZXU][V`^UdaVgdVjgVmiWplVrnW\202rmW\2\305\301\250" \ + "\346\343\311\203\347\343\312\3\347\343\313\346\343\310\346\342\302\202" \ + "\346\342\277\202\346\342\300\203\346\342\301\14XQ092\21""60\20""3-\17" \ + "-(\16'#\14\"\35\12\33\27\10\24\21\5\16\14\4\10\7\3\4\3\1\204\0\0\0\12" \ + "\1\1\0\2\2\1\3\3\1\5\4\1\5\4\2\10\6\2\11\7\3\13\11\3\14\11\3\15\11\3" \ + "\202\16\12\3\202\15\12\3\2\14\12\3\15\12\4\202\14\11\4\17\16\12\4\17" \ + "\14\4\21\15\5\23\20\6\26\22\6\32\26\7\36\32\10\"\35\12&\40\13+%\14.(" \ + "\16""2+\17""5.\20""81\20;3\21\203;4\21\12XQ*\333\321\222\344\333\231" \ + "\343\333\230\343\332\225\343\332\223\343\332\222\343\331\220\343\331" \ + "\215\243\230\\\20292\21\15""60\20""4.\20/*\16+&\15&!\13\"\35\12\34\30" \ + "\10\30\25\7\22\17\5\16\14\4\11\10\3\5\4\1\2\2\1\377\0\0\0\377\0\0\0\343" \ + "\0\0\0\1\36\36\36\202ddd\3cccbbbaaa\202```\4___^^^]]]\\\\\\\202[[[\4" \ + "ZZZYYYXXXWWW\202VVV\20UUUTTTUUTVURXWT[YT`]Tc`UfcUjfUlhUokVpmUqmVplU\325" \ + "\320\270\202\347\343\312\202\347\343\313\1\346\343\306\202\346\342\300" \ + "\203\346\342\301\204\346\342\302\14XQ192\21""60\20""3-\17-(\16'#\14\"" \ + "\35\12\33\27\10\24\21\5\16\14\4\10\7\3\4\3\1\203\0\0\0\13\2\2\1\3\3\1" \ + "\5\3\1\10\6\2\13\11\3\16\12\3\17\13\4\20\15\4\21\16\5\23\17\5\24\17\6" \ + "\202\24\20\6\1\25\21\6\202\24\20\6\23\23\17\5\22\17\5\21\16\5\21\15\4" \ + "\21\16\5\23\17\5\24\17\5\27\22\6\30\23\6\34\26\7\40\32\10$\35\11(!\13" \ + "+%\14""0)\16""4,\17""7/\17;2\20=4\21\202>5\21\6=5\21ia6\340\327\227\344" \ + "\333\231\343\333\227\343\332\225\202\343\332\222\3\343\331\217\343\331" \ + "\215\223\212Q\20292\21\15""60\20""3-\17.)\16*%\15&!\13!\34\11\33\27\10" \ + "\27\24\6\21\16\5\15\13\4\10\7\3\4\3\1\1\1\0\377\0\0\0\377\0\0\0\341\0" \ + "\0\0\5\17\17\17___cccbbbaaa\202```\5___^^^]]]\\\\\\[[[\202ZZZ\3YYYXX" \ + "XWWW\202VVV\16UUUTTTSSSRRRSSRUUQWVRZXR_\\Ra^SeaSidSkgSmiT\202okT\2pl" \ + "U\344\341\310\203\347\343\313\1\346\343\304\202\346\342\301\203\346\342" \ + "\302\202\346\342\303\1\346\343\303\202\346\343\304\14ZT392\21""60\20" \ + "3-\17-(\16'#\14\"\35\12\33\27\10\24\21\5\16\14\4\10\7\3\4\3\1\202\1\1" \ + "\0\12\4\3\1\6\4\1\12\7\2\15\11\3\16\13\4\21\15\5\24\17\6\25\21\6\30\23" \ + "\6\30\24\6\202\33\26\7\204\35\27\7\5\34\26\7\33\26\6\32\24\6\31\23\5" \ + "\30\22\6\202\26\21\5\15\27\22\6\27\21\5\31\23\5\33\25\6\36\27\7\"\33" \ + "\10%\36\11*\"\13-%\14""3*\16""5,\16""90\20<3\21\204\77""5\21\30\200x" \ + "I\344\333\233\343\333\231\343\333\227\343\332\224\343\332\222\343\332" \ + "\221\343\331\217\343\331\214xp=;3\21""92\20""60\20""2-\17-(\16)%\14$" \ + "\37\13\40\33\11\32\26\7\25\22\6\20\16\4\13\11\3\6\5\2\3\3\1\377\0\0\0" \ + "\377\0\0\0\340\0\0\0\4\4\4\4RRRbbbaaa\202```\7___^^^]]]\\\\\\[[[ZZZY" \ + "YY\202XXX\1WWW\202VVV\27UUUTTTSSSRRRQQQPPPRQPSSOVUQYWP]ZP`]Qd`QhdRjf" \ + "QmhRoiSnhRyt]\347\343\313\347\343\314\346\343\312\346\342\303\203\346" \ + "\342\302\2\346\342\303\346\343\303\202\346\343\304\204\346\343\305\31" \ + "b\\<92\21""60\20""3-\17-(\16'#\14\"\35\12\33\27\10\25\22\6\16\14\4\10" \ + "\7\3\5\3\1\5\4\1\6\3\1\11\7\2\15\12\4\17\14\4\22\17\5\26\21\6\30\24\6" \ + "\33\26\7\36\30\7\40\32\10\"\34\10#\34\11\204$\35\11\10$\35\12#\34\11" \ + "\"\33\11!\32\11!\31\10\37\27\7\34\25\7\32\23\6\202\31\22\6\14\32\23\6" \ + "\33\24\6\35\26\7\40\30\10\"\33\11&\36\12+\"\14/%\15""3*\17""7.\17;1\21" \ + "\77""4\21\202@5\21\202A6\21\30\237\226a\344\333\232\343\333\231\343\333" \ + "\226\343\332\224\343\332\222\343\331\220\343\331\216\340\326\207f].;" \ + "4\21;2\20""6/\17""2,\17,'\16'#\14#\36\12\36\32\11\31\25\7\23\20\5\17" \ + "\15\5\12\11\3\5\4\2\2\2\1\377\0\0\0\377\0\0\0\337\0\0\0\2===aaa\202`" \ + "``\10___^^^]]]\\\\\\[[[ZZZYYYXXX\202WWW\202VVV\27UUUTTTSSSRRRQQQPPPO" \ + "OONNNPONRQNUTOXVN\\YN`]Qc`PgcPiePkfQmhQlgP\203~h\347\343\314\346\343" \ + "\310\202\346\342\302\2\346\342\303\346\343\303\202\346\343\304\206\346" \ + "\343\305\34\346\343\306d^>92\21""60\20""3-\17-(\16($\14#\36\12\33\27" \ + "\10\26\22\6\20\15\4\14\11\3\11\7\2\11\6\3\14\11\3\20\14\4\22\17\5\27" \ + "\22\6\32\25\6\36\30\7!\33\10\"\33\11%\36\11'\40\12*\"\13+#\14,#\14-$" \ + "\14\202-%\14\11-$\14,#\14+!\13*!\13(\37\12&\35\11$\34\11!\31\10\40\30" \ + "\7\203\36\26\6\14\37\27\7\40\30\7!\31\10%\34\11*!\12,#\14""1'\15""5*" \ + "\16""9.\20<2\21@5\21B7\22\202A6\22\31D;\26\301\271\200\344\333\232\343" \ + "\333\230\343\333\226\343\332\223\343\332\222\343\331\220\343\331\215" \ + "\326\313\177OF\36=5\21:2\21""70\17""3,\17-'\15'\"\13\"\35\12\34\30\10" \ + "\27\24\6\22\17\5\15\13\4\10\7\3\4\3\1\1\1\0\377\0\0\0\377\0\0\0\335\0" \ + "\0\0\1$$$\202```\11___^^^]]]\\\\\\[[[ZZZYYYXXXWWW\203VVV\32UUUTTTSSS" \ + "RRRQQQPPPOOONNNMMMMMLNMLPOLSRLVTL[XM_[Oa_NebOidOjfPlfOkfO\214\207p\346" \ + "\343\310\346\342\302\346\343\303\202\346\343\304\205\346\343\305\202" \ + "\346\343\306\203\346\343\307\30lfG92\21""71\20""3-\17.)\16)$\14#\37\12" \ + "\35\31\10\27\24\6\22\16\5\17\14\4\16\13\4\17\14\4\21\16\5\26\21\6\31" \ + "\24\6\36\27\7!\32\10#\34\11'\40\13+\"\14-$\14/&\15""1(\15\2024*\16\203" \ + "5*\16\30""5)\16""5*\16""4*\15""2(\15/%\14.$\13+!\13)\37\11&\34\11\"\31" \ + "\7\40\27\7\40\30\7\40\27\6\40\30\7!\30\7#\32\10&\35\11*\40\12.%\14""4" \ + "*\15""7,\17<0\20@3\21B6\22\203C7\22\5WL#\331\320\222\344\333\231\343" \ + "\333\230\343\332\225\202\343\332\222\21\343\331\217\343\331\214\274\263" \ + "lA9\24>5\21;2\20""6/\17""2+\17,&\15(\"\13\"\36\11\32\26\7\25\22\6\20" \ + "\16\4\13\11\3\6\5\2\3\3\1\377\0\0\0\377\0\0\0\334\0\0\0\13\13\13\13Z" \ + "ZZ___^^^]]]\\\\\\[[[ZZZYYYXXXWWW\202VVV\202UUU\10TTTSSSRRRQQQPPPOOON" \ + "NNMMM\202LLL\12LLKLLJONJRQKVTLYVK^ZM`]LdaMgcM\202jeN\3jeM\204\177b\346" \ + "\343\303\202\346\343\304\203\346\343\305\202\346\343\306\204\346\343" \ + "\307\203\346\343\310\12rmO92\21""71\20""4-\20""0*\16+%\14$\40\12\37\32" \ + "\11\31\26\7\26\21\6\202\23\17\5\16\24\17\5\30\22\5\34\26\6!\32\10$\34" \ + "\11(\40\13,#\14/%\15""2(\15""5*\16""7,\17""9.\17:/\20;0\20\204=1\20\30" \ + "<0\20;.\20""9-\17""7+\17""4)\16""3'\15""1%\14-\"\13*\37\12'\34\11$\31" \ + "\10#\30\10\"\30\10#\30\10#\31\10&\34\11)\36\12-\"\13""2&\15""4)\15:." \ + "\17>3\21@5\21C7\22\202D9\22\31D7\22yn@\344\333\233\344\333\231\343\333" \ + "\227\343\332\224\343\332\222\343\332\221\343\331\216\343\331\212\233" \ + "\220R@6\21>5\21<3\21""6.\17""1+\17,&\15&!\13!\34\11\31\25\7\23\20\5\16" \ + "\14\4\11\10\3\5\4\1\2\2\1\377\0\0\0\377\0\0\0\333\0\0\0\11FFF^^^]]]\\" \ + "\\\\[[[ZZZYYYXXXWWW\202VVV\2UUUTTT\202SSS\6RRRQQQPPPOOONNNMMM\202LLL" \ + "\20KKKJJJJJIKKIMLHQOIUSJXUJ\\XK_\\Jc^KgcMieMidLJD&\205\177`\204\346\343" \ + "\305\202\346\343\306\202\346\343\307\202\346\343\310\205\346\343\311" \ + "\32zuX:2\21:1\20""6/\17""2+\17-&\15'\40\13\"\34\11\36\30\7\33\26\6\31" \ + "\23\5\30\22\5\32\24\6\37\27\7\"\33\11(\37\12+!\13/%\14""4)\15""6,\17" \ + "8.\17<0\20>2\21\77""4\20A5\21B6\21\203C6\21'C7\21C6\21A4\21@2\20\77""1" \ + "\20<.\20""9,\17""7*\16""4(\15""1%\14-\"\12*\36\11(\34\10&\32\10$\30\10" \ + "%\31\10'\33\10)\35\11+\40\12""0$\14""4(\15""9,\17</\20@3\21D7\22F9\23" \ + "F:\23F:\22E8\22\256\243m\344\333\232\343\333\231\343\333\226\343\332" \ + "\223\343\332\222\343\331\220\343\331\215\343\331\211ka0\202@5\21\14;" \ + "2\21""6-\16""1*\16+%\14%\40\13\35\31\10\27\24\6\21\16\5\14\12\4\7\6\2" \ + "\4\3\1\1\1\0\377\0\0\0\377\0\0\0\331\0\0\0\10(((]]]\\\\\\[[[ZZZYYYXX" \ + "XWWW\202VVV\3UUUTTTSSS\202RRR\5QQQPPPOOONNNMMM\202LLL\22KKKJJJIIIHHH" \ + "HHGIIGLKHONHSQHVSG[WI^[Ib]Ie`KgcJJD&92\21\215\210h\202\346\343\305\1" \ + "\346\343\306\203\346\343\307\1\346\343\310\203\346\343\311\204\346\343" \ + "\312\30\346\343\313\201|];4\21:2\21""70\20""3+\17/'\15*#\13$\35\11!\32" \ + "\10\40\31\10\37\27\7\40\30\7!\31\10%\34\11*!\12.$\14""2(\15""5*\16:." \ + "\17=1\20\77""3\21C6\21D7\22\202F9\22\202H:\23\203I;\23\31H:\22G9\22F" \ + "8\22E7\21B5\20\77""2\20>1\20:.\17""6*\15""3'\14/#\13*\37\11)\35\10'\33" \ + "\10&\33\10'\33\10)\35\10)\35\11-\"\12""2'\14""6*\15;.\17\77""2\17B5\21" \ + "F8\22\202H;\23\31G9\23RE\35\326\314\217\344\333\232\343\333\230\343\332" \ + "\225\343\332\222\343\332\221\343\331\217\343\331\214\324\310|NC\32A6" \ + "\22@5\22;1\21""5,\16""1)\15*$\14\"\35\12\32\26\7\24\21\5\17\15\4\12\11" \ + "\3\5\4\2\2\2\1\377\0\0\0\377\0\0\0\330\0\0\0\7\12\12\12WWW[[[ZZZYYYX" \ + "XXWWW\202VVV\5UUUTTTSSSRRRQQQ\202PPP\3OOONNNMMM\202LLL\5KKKJJJIIIHHH" \ + "GGG\202FFF\12HHEKJEMLFQOFVSFYVG]ZGa]Ib^HGA#\20292\21\2\225\220q\346\343" \ + "\306\202\346\343\307\202\346\343\310\202\346\343\311\203\346\343\312" \ + "\202\346\343\313\203\346\343\314\27\216\212k=5\21=4\21""90\20""6-\16" \ + "1(\15+#\13(!\13&\36\12$\34\11$\33\11%\34\11'\35\11*\40\12/%\14""4*\15" \ + "8,\17=0\20\77""3\20C7\21F8\22H:\23I;\23\202H:\23\202I;\23\203J;\23\203" \ + "K<\24\27J:\23I:\23F7\22D5\21@2\20>/\20""9+\16""5'\15""1$\14-\40\12)\35" \ + "\11*\34\11)\34\10*\34\11)\35\11,\40\12""0#\14""4'\14""9,\16>0\17@3\20" \ + "E7\21H:\22\203I;\23\30\200sD\344\333\233\344\333\231\343\333\227\343" \ + "\332\224\343\332\222\343\331\220\343\331\216\343\331\212\252\235\\C7" \ + "\22A6\22\77""4\21:0\20""4+\16""0'\15*#\13\35\31\10\30\25\7\22\17\5\15" \ + "\13\4\10\7\3\4\3\1\1\1\0\377\0\0\0\377\0\0\0\327\0\0\0\5;;;ZZZYYYXXX" \ + "WWW\202VVV\6UUUTTTSSSRRRQQQPPP\202OOO\2NNNMMM\202LLL\7KKKJJJIIIHHHGG" \ + "GFFFEEE\202DDD\12FFCIHDLKDPNDTQFXUF\\YF_[GE\77#71\20\20292\21\2\237\232" \ + "|\346\343\307\202\346\343\310\202\346\343\311\202\346\343\312\202\346" \ + "\343\313\203\346\343\314\203\346\343\315\12\231\223w\77""5\21>5\21;1" \ + "\20""7.\17""3*\16/&\15,#\14+\"\13+!\12\202*!\12\16,\"\13""1%\15""5*\16" \ + ":.\17>1\20B5\21F8\22I;\23H:\23I;\23J;\23WJ\"\200uR\257\247\207\202\307" \ + "\301\243\4\310\302\241\274\264\222\237\226sth@\203N=\24\12L;\23I9\22" \ + "F6\21C3\20\77/\20;,\16""6(\15""2$\14.\40\12+\36\11\203)\34\10#,\37\11" \ + "/\"\12""3&\14""7*\15<.\17@2\20D6\21G9\22I:\23J;\23I;\23H:\23\274\262" \ + "x\344\333\232\343\333\230\343\333\226\343\332\223\343\332\222\343\331" \ + "\217\343\331\214\343\331\210od1D7\22C7\22\77""4\21:/\20""4*\17-%\14$" \ + "\37\12\33\27\10\25\22\6\20\16\4\13\11\3\5\4\2\2\2\1\377\0\0\0\377\0\0" \ + "\0\326\0\0\0\4\25\25\25YYYXXXWWW\202VVV\10UUUTTTSSSRRRQQQPPPOOONNN\202" \ + "MMM\202LLL\11KKKJJJIIIHHHGGGFFFEEEDDDCCC\202BBB\12DDAGFAKJCNLBSPCWSD" \ + "[WEFA(5/\17""82\20\20292\21\2\247\241\204\346\343\310\202\346\343\311" \ + "\202\346\343\312\1\346\343\313\203\346\343\314\203\346\343\315\1\346" \ + "\343\316\202\347\343\316\32\244\237\203A6\21@5\22>3\21:/\20""5*\16""3" \ + ")\15""1'\15""0%\14/%\13""0%\14""1%\14""2&\15""6*\16;.\17@2\20C6\21H:" \ + "\22I:\23J;\23K<\24\\N(\250\240\201\344\341\307\346\343\311\346\343\310" \ + "\202\346\343\307\1\346\343\306\202\346\343\305\17\346\343\304\326\321" \ + "\261\211|XN=\24O>\24N=\23L;\22H8\21E5\21A1\17=-\16""8)\15""3$\13""0\40" \ + "\11+\35\10\202*\34\10\11+\35\10-\37\11""2$\13""6(\15;+\16\77/\20C4\20" \ + "H8\22J:\23\203K<\24\30_R&\340\330\230\344\333\231\343\333\227\343\332" \ + "\224\343\332\222\343\332\221\343\331\216\343\331\212\316\301vK\77\26" \ + "E8\22A6\21>3\21""8-\17""3*\16+#\13\36\32\11\31\25\7\22\17\5\16\14\4\10" \ + "\7\3\4\3\1\1\1\0\377\0\0\0\377\0\0\0\325\0\0\0\2HHHWWW\202VVV\11UUUT" \ + "TTSSSRRRQQQPPPOOONNNMMM\203LLL\11KKKJJJIIIHHHGGGFFFEEEDDDCCC\202BBB\202" \ + "AAA\12BB\77ED@IHAMJ@ROBVRCFC-0+\17""5/\17""82\20\20292\21\2\251\245\210" \ + "\346\343\311\202\346\343\312\1\346\343\313\202\346\343\314\203\346\343" \ + "\315\1\346\343\316\202\347\343\316\203\347\344\317\1\260\253\220\202" \ + "A6\22\6\77""4\21<0\20""8.\17""6+\16""4)\15""4)\16\2024(\15\6""5)\15""8" \ + "+\16;.\17\77""2\20E6\21H:\23\202K<\24\4L=\24\203xU\341\337\306\346\343" \ + "\313\202\346\343\312\202\346\343\311\3\346\343\310\346\343\307\346\343" \ + "\306\203\346\343\305\31\346\343\304\311\301\237cR(Q\77\24Q>\24N<\23K" \ + "9\22G5\21C1\20>,\16""9(\15""3#\13""0\40\12-\36\11,\35\11+\34\10-\36\10" \ + "1\"\12""5&\14;+\15=.\17B2\17E6\21H9\22L;\23\202N=\24\30L=\24\246\232" \ + "d\344\333\233\343\333\231\343\333\226\343\332\223\343\332\222\343\331" \ + "\217\343\331\214\343\331\211\231\216PF:\23E8\22@5\21<1\20""7,\17""1'" \ + "\15#\37\12\33\27\10\26\23\6\20\16\4\13\11\3\6\5\2\2\2\1\377\0\0\0\377" \ + "\0\0\0\324\0\0\0\1\33\33\33\202VVV\11UUUTTTSSSRRRQQQPPPOOONNNMMM\202" \ + "LLL\202KKK\10JJJIIIHHHGGGFFFEEEDDDCCC\202BBB\2AAA@@@\202\77\77\77\12" \ + "AA>DB>GF\77LI\77PMAGC2+&\16""0+\17""5/\17""82\20\20292\21\3\256\252\215" \ + "\346\343\312\346\343\313\202\346\343\314\202\346\343\315\1\346\343\316" \ + "\202\347\343\316\205\347\344\317\2\347\344\320\274\270\237\202C7\22\5" \ + "@5\21>2\21<0\20;.\20:.\17\2029,\17\7""9,\16:.\17=/\17@2\20E6\21J:\23" \ + "L<\23\202N=\24\1\233\220q\202\346\343\315\202\346\343\314\2\346\343\313" \ + "\346\343\312\202\346\343\311\1\346\343\310\202\346\343\307\203\346\343" \ + "\305\3\346\343\304\330\321\262pa7\202R\77\24\24O=\23L9\22G5\20A0\20=" \ + "+\15""7'\14""3\"\12""0\37\11.\36\11-\35\11.\36\11""0\40\12""5#\13""9" \ + "(\15=-\17A1\17E4\21H7\21L;\22N=\23\202N=\24\30ZJ\37\335\326\225\344\333" \ + "\232\343\333\230\343\332\225\343\332\222\343\332\221\343\331\216\343" \ + "\331\212\335\321\202YK\37H;\23E8\22\77""4\20;/\20""5*\16+$\13\37\33\11" \ + "\31\25\7\23\20\5\16\14\4\10\7\3\4\3\1\1\1\0\377\0\0\0\377\0\0\0\323\0" \ + "\0\0\12DDDUUUTTTSSSRRRQQQPPPOOONNNMMM\202LLL\1KKK\202JJJ\7IIIHHHGGGF" \ + "FFEEEDDDCCC\202BBB\4AAA@@@\77\77\77>>>\202===\12\77\77<B@<FD>KH>HE8'" \ + "\"\17+&\15""0+\17""5/\17""82\20\20292\21\3\264\257\224\346\343\313\346" \ + "\343\314\202\346\343\315\2\346\343\316\347\343\316\204\347\344\317\204" \ + "\347\344\320\7\347\344\321\310\303\255D9\22D7\22C7\22A4\21\77""2\20\202" \ + "\77""1\20\2=0\20=0\17\202\77""1\20\4B3\20E6\21I9\22M<\23\202N=\24\5\216" \ + "\202a\347\344\317\347\343\316\346\343\316\346\343\315\202\346\343\314" \ + "\1\346\343\313\202\346\343\312\2\346\343\311\346\343\310\202\346\343" \ + "\307\1\346\343\306\202\346\343\305\30\346\343\304\332\324\264eS(S@\24" \ + "S>\24P<\23K8\21G4\20A/\16=*\15""8%\13""3!\12""0\36\11.\35\10.\36\10""0" \ + "\37\11""3\"\12""8&\14<+\15@.\16E3\20H5\21M:\23O=\24\202P>\24\30O>\24" \ + "\230\213W\344\333\233\343\333\231\343\333\226\343\332\223\343\332\222" \ + "\343\331\217\343\331\214\343\331\210\253\237\\I;\23H:\23D7\22\77""3\20" \ + "9.\17""4)\15\"\35\12\33\27\10\26\23\6\20\16\4\13\11\3\5\4\2\2\2\1\377" \ + "\0\0\0\377\0\0\0\322\0\0\0\11\5\5\5""222HHHRRRQQQPPPOOONNNMMM\202LLL" \ + "\3KKKJJJIII\202HHH\5GGGFFFEEEDDDCCC\202BBB\6AAA@@@\77\77\77>>>===<<<" \ + "\202;;;\12>=;A@;DB<GE:'#\23$\37\13+&\15""0+\17""5/\17""82\20\20292\21" \ + "\5\264\257\225\346\343\314\346\343\315\346\343\316\347\343\316\204\347" \ + "\344\317\202\347\344\320\204\347\344\321\10\347\344\322\326\323\277F" \ + ":\23G9\23E8\22C6\21B5\21A4\20\202A3\20\12B3\20C4\20D5\21E6\21H8\22N<" \ + "\23O>\24P>\24o`;\345\342\316\202\347\344\317\202\347\343\316\202\346" \ + "\343\315\202\346\343\314\2\346\343\313\346\343\312\202\346\343\311\202" \ + "\346\343\307\1\346\343\306\202\346\343\305\27\346\343\304\310\277\236" \ + "YC\30VB\25S@\24P;\23L8\21G3\20A.\16=)\15""7$\13""3\40\12""0\35\11""0" \ + "\35\10""0\36\10""3!\11""7$\13;(\14\77-\16D2\17G5\20L9\22O=\23\203Q\77" \ + "\24\30ZH\34\335\326\226\344\333\232\343\333\230\343\332\225\343\332\222" \ + "\343\332\221\343\331\216\343\331\212\343\331\207gY(I;\23H:\22B5\21>1" \ + "\20""8+\17'!\13\37\33\11\31\25\7\22\17\5\15\13\4\10\7\3\4\3\1\1\1\0\377" \ + "\0\0\0\377\0\0\0\324\0\0\0\3\10\10\10\35\35\35""777\203LLL\4KKKJJJII" \ + "IHHH\202GGG\4FFFEEEDDDCCC\202BBB\24AAA@@@\77\77\77>>>===<<<;;;:::999" \ + "::9<;9\77>9C@:*'\33\36\32\11$\37\13+&\15""0+\17""5/\17""82\20\20292\21" \ + "\2\264\257\225\346\343\315\202\347\343\316\203\347\344\317\202\347\344" \ + "\320\202\347\344\321\203\347\344\322\202\347\344\323\3\343\340\317H;" \ + "\23I;\23\202G9\22\3F7\21F7\22E6\21\202F6\21\10G7\21H7\21I9\22N;\22P>" \ + "\24Q\77\24R\77\24\303\275\245\202\347\344\320\203\347\344\317\3\347\343" \ + "\316\346\343\316\346\343\315\202\346\343\314\2\346\343\313\346\343\312" \ + "\202\346\343\311\3\346\343\310\346\343\307\346\343\306\202\346\343\305" \ + "\30\346\343\304\215\177VXC\25WB\25R>\23O:\22K6\20G1\17\77,\16:&\14""5" \ + "\"\12""1\37\11""0\34\10""1\35\10""2\37\11""5\"\13:'\14\77+\16C/\17G4" \ + "\17K8\21N;\22R>\24S\77\24\202R\77\24\27\237\223\\\344\333\233\343\333" \ + "\231\343\333\226\343\332\223\343\332\222\343\331\217\343\331\214\343" \ + "\331\210\262\247aK<\24I:\23G9\22A4\20<.\20/&\15\"\35\12\33\27\10\25\22" \ + "\6\17\15\4\12\11\3\5\4\2\2\2\1\377\0\0\0\377\0\0\0\327\0\0\0\3\5\5\5" \ + "\33\33\33""444\202HHH\2GGGFFF\202EEE\2DDDCCC\202BBB\26AAA@@@\77\77\77" \ + ">>>===<<<;;;:::999888777887:97=<71/'\30\25\7\36\32\11$\37\13+&\15""0" \ + "+\17""5/\17""82\20\20292\21\2\264\257\225\347\343\316\203\347\344\317" \ + "\202\347\344\320\202\347\344\321\202\347\344\322\204\347\344\323\202" \ + "\347\344\324\4SF!I;\23H:\22H:\23\202I9\22\203H8\22\4I9\22K9\22M<\23P" \ + "=\24\202R\77\24\2|nI\347\344\322\202\347\344\321\202\347\344\320\203" \ + "\347\344\317\1\347\343\316\202\346\343\315\3\346\343\314\346\343\313" \ + "\346\343\312\202\346\343\311\3\346\343\310\346\343\307\346\343\306\202" \ + "\346\343\305\13\326\320\257[E\30YC\25WA\24R=\23N9\21H3\17C.\16=)\14:" \ + "%\13""3\40\11\2021\35\10\11""2\36\10""5\"\12:&\13=*\15B/\17F3\17K7\21" \ + "N:\22Q=\23\202S@\24\30T\77\24`L\37\340\330\230\344\333\231\343\333\227" \ + "\343\332\224\343\332\222\343\331\220\343\331\215\343\331\211\343\331" \ + "\206jZ)L=\24I:\23E6\21\77""2\20""5*\16$\37\13\36\32\11\30\25\7\21\16" \ + "\5\15\13\4\7\6\2\3\3\1\377\0\0\0\377\0\0\0\332\0\0\0\3\5\5\5!!!<<<\202" \ + "DDD\1CCC\202BBB\12AAA@@@\77\77\77>>>===<<<;;;:::999888\202777\17""66" \ + "6776875750\25\22\11\30\25\7\36\32\11$\37\13+&\15""0+\17""5/\17""82\20" \ + "92\21:2\21\264\257\227\202\347\344\317\202\347\344\320\202\347\344\321" \ + "\202\347\344\322\203\347\344\323\1\347\344\324\202\347\345\324\202\347" \ + "\345\325\10bV1K<\24K<\23K;\23J:\23J:\22K:\22L:\22\202M;\23\7O=\23Q>\24" \ + "R\77\24T\77\24S@\24\256\246\211\347\344\323\202\347\344\322\202\347\344" \ + "\321\1\347\344\320\203\347\344\317\1\347\343\316\202\346\343\315\3\346" \ + "\343\314\346\343\313\346\343\312\202\346\343\311\202\346\343\3073\346" \ + "\343\306\346\343\305\346\343\304{i>[D\26YC\25V\77\24Q9\22M6\21G0\17B" \ + "+\16=&\14""7\"\11""3\36\10""1\35\7""2\36\10""6\"\11""9$\12=)\14C-\16" \ + "G1\17K6\20N:\22Q<\23T@\25VB\25UA\25TA\24\256\243k\344\333\233\343\333" \ + "\231\343\333\226\343\332\223\343\332\222\343\331\217\343\331\214\343" \ + "\331\210\263\247`N=\24L<\23I9\22C5\21\77""1\20'\"\13!\34\11\32\26\7\24" \ + "\21\5\17\15\5\11\10\3\5\4\1\1\1\0\377\0\0\0\377\0\0\0\334\0\0\0\2\21" \ + "\21\21,,,\202AAA\11@@@\77\77\77>>>===<<<;;;:::999888\202777\23""6665" \ + "55444554764\31\27\22\21\16\5\30\25\7\36\32\11$\37\13+&\15""0+\17""5/" \ + "\17""82\20:2\21;3\21\254\250\217\347\344\317\347\344\320\202\347\344" \ + "\321\202\347\344\322\202\347\344\323\1\347\344\324\202\347\345\324\203" \ + "\347\345\325\202\347\345\326\20thFN=\24M<\23N=\23M=\23M<\23N=\24O=\24" \ + "P=\24Q>\24R>\24T\77\24S@\24UA\25VB\25\335\332\306\203\347\344\323\202" \ + "\347\344\322\1\347\344\321\202\347\344\320\202\347\344\317\6\347\343" \ + "\316\346\343\316\346\343\315\346\343\314\346\343\313\346\343\312\202" \ + "\346\343\311\202\346\343\307\202\346\343\305\26\244\230q[E\26[C\25YA" \ + "\24T=\23O8\22J3\17E.\16>(\14:$\12""6\37\11""2\34\10""2\35\10""5\37\11" \ + ":$\13='\13B,\15G1\17I4\17N9\21R<\23U@\24\203WB\25\27r`0\344\334\234\344" \ + "\333\231\343\333\227\343\332\224\343\332\222\343\331\220\343\331\215" \ + "\343\331\211\341\327\205dS#N=\24L;\23H8\22A2\20/'\15#\36\12\35\31\10" \ + "\27\24\6\21\16\5\14\12\4\6\5\2\3\3\1\377\0\0\0\377\0\0\0\336\0\0\0\11" \ + "\7\7\7###;;;===<<<;;;:::999888\202777\24""666555444333222332#\"\40\13" \ + "\11\3\20\16\4\27\24\6\36\32\11$\37\13+&\15""0+\17""5/\17""92\20;3\21" \ + "<4\21\253\246\215\347\344\320\202\347\344\321\1\347\344\322\203\347\344" \ + "\323\1\347\345\324\203\347\345\325\203\347\345\326\202\347\345\327\6" \ + "\204xXN=\24O>\24O=\23P>\24P=\24\202Q>\24\10R>\24S>\24S@\24T@\25VB\25" \ + "WB\25`N#\347\345\325\202\347\345\324\203\347\344\323\1\347\344\322\202" \ + "\347\344\321\1\347\344\320\202\347\344\317\26\347\343\316\346\343\316" \ + "\346\343\315\346\343\314\346\343\313\346\343\312\346\343\311\346\343" \ + "\310\346\343\307\346\343\306\346\343\305\301\266\224_E\26^E\26[B\25W" \ + ">\23R9\21M5\17F.\16B*\14<%\12""8\40\11\2024\35\10\12""5\37\10""9#\12" \ + "<%\13@+\15E0\17I3\20M7\20R;\22V@\23XB\25\202XC\25\30WB\25\306\274\200" \ + "\344\333\232\343\333\230\343\332\225\343\332\222\343\332\221\343\331" \ + "\216\343\331\212\343\331\207\246\227SP>\24N=\23I9\22E6\21""6+\17&!\13" \ + "\40\33\11\31\25\7\23\20\5\16\14\4\10\7\3\4\3\1\1\1\0\377\0\0\0\377\0" \ + "\0\0\337\0\0\0\5\4\4\4\33\33\33""666999888\202777\26""66655544433322" \ + "2111000//.\12\11\6\12\11\3\20\16\4\27\24\6\36\32\11$\37\13*%\15""0+\17" \ + "6/\17;3\20<4\21>5\21\253\246\215\347\344\321\202\347\344\322\202\347" \ + "\344\323\202\347\345\324\202\347\345\325\202\347\345\326\204\347\345" \ + "\327\3\347\345\330\223\210kP>\24\202Q\77\24\10Q>\24R\77\24S\77\24T\77" \ + "\24T@\25UA\25VA\25WB\25\202XC\25\2t`9\347\345\326\202\347\345\325\2\347" \ + "\345\324\347\344\324\202\347\344\323\1\347\344\322\202\347\344\321\1" \ + "\347\344\320\202\347\344\317!\347\343\316\346\343\316\346\343\315\346" \ + "\343\314\346\343\313\346\343\312\346\343\311\346\343\310\346\343\307" \ + "\346\343\306\311\302\240`G\27_F\26\\C\25Y@\24T;\22O6\21I0\16D,\15\77" \ + "'\14:\"\11""7\37\10""4\34\7""6\36\10""9\"\11=&\13A)\14E/\16J3\17N7\21" \ + "Q:\22U>\23YB\25\203YC\25\27\223\203N\344\334\234\343\333\231\343\333" \ + "\226\343\332\223\343\332\222\343\331\217\343\331\214\343\331\210\335" \ + "\320\177YF\32Q\77\24M<\23H7\21>1\17'#\14#\36\12\33\27\10\25\22\6\17\15" \ + "\4\12\11\3\5\4\2\2\2\1\377\0\0\0\377\0\0\0\341\0\0\0\32\3\3\3\32\32\32" \ + "333666555444333222111000///...\30\30\27\5\4\2\12\11\3\20\16\4\27\24\6" \ + "\35\31\10$\37\13*%\15""1+\16""70\17<4\21>5\21\77""5\21\242\236\203\202" \ + "\347\344\322\3\347\344\323\347\344\324\347\345\324\202\347\345\325\202" \ + "\347\345\326\202\347\345\327\203\347\345\330\202\347\345\331\13\243\232" \ + "\201Q\77\24R\77\24S\77\24T\77\24S@\24T@\25UA\25VA\25WB\25XC\25\202YC" \ + "\25\3ZD\25xc<\347\345\327\202\347\345\326\202\347\345\325\1\347\345\324" \ + "\202\347\344\323\202\347\344\322\2\347\344\321\347\344\320\202\347\344" \ + "\317:\347\343\316\346\343\316\346\343\315\346\343\314\346\343\313\346" \ + "\343\312\346\343\311\346\343\310\346\343\307\322\313\253bH\27aG\26_D" \ + "\25[A\24V;\22P6\20K1\17F,\15A'\14<#\12""9\37\11""5\35\10""6\36\10""9" \ + "!\11=$\13A)\14E,\15I1\16N6\20R:\22U=\23X@\24ZC\25[D\26[C\26eO\36\340" \ + "\330\231\344\333\232\343\333\227\343\332\224\343\332\222\343\331\220" \ + "\343\331\215\343\331\211\343\331\206\213{\77R\77\24P=\24L:\23F6\21*%" \ + "\14$\37\13\36\32\11\30\25\7\21\16\5\14\12\4\7\6\2\3\3\1\377\0\0\0\377" \ + "\0\0\0\343\0\0\0\30\3\3\3\32\32\32""111222111000///...---&&&\3\3\2\5" \ + "\4\2\12\11\3\20\16\4\27\24\6\35\31\10$\37\13,'\15""2,\16""80\20>5\21" \ + "@6\21@5\21\232\224z\202\347\344\323\3\347\344\324\347\345\324\347\345" \ + "\325\202\347\345\326\202\347\345\327\202\347\345\330\205\347\345\331" \ + "\7\263\255\225S\77\24T\77\24S@\24UA\25VB\25WB\25\202XC\25\202YC\25\4" \ + "ZD\25[C\26[D\26mW-\203\347\345\327\202\347\345\326\2\347\345\325\347" \ + "\345\324\202\347\344\323\202\347\344\322\2\347\344\321\347\344\320\202" \ + "\347\344\317\2\347\343\316\346\343\315\202\346\343\314\1\346\343\312" \ + "\202\346\343\3113\346\343\307\305\273\232dG\26dH\26aE\25\\A\24X=\22S" \ + "8\20N3\17I.\15D(\14\77$\12;\40\11""8\36\10""7\34\10:\40\11<#\12A'\14" \ + "D,\15I0\16M5\20R9\21V=\22Y@\24[B\25[E\26\\D\26[D\26\274\257u\344\333" \ + "\233\343\333\231\343\332\225\343\332\222\343\332\221\343\331\216\343" \ + "\331\212\343\331\207\303\266iT\77\24R\77\24O=\23J8\22""1*\16&!\13!\34" \ + "\11\31\25\7\23\20\5\16\14\4\10\7\3\4\3\1\1\1\0\377\0\0\0\377\0\0\0\344" \ + "\0\0\0\4\6\6\6\"\"\"///...\202---\22,,,\15\15\15\2\2\1\5\4\2\12\11\3" \ + "\20\16\4\27\24\6\35\31\10$\40\12,'\14""3,\17""90\20>5\21@5\21A6\22\226" \ + "\217t\347\344\323\347\344\324\202\347\345\325\1\347\345\326\203\347\345" \ + "\327\1\347\345\330\206\347\345\331\6\347\346\331\304\275\253S@\24UA\25" \ + "VB\25WB\25\202XC\25\202YC\25\10ZD\25[D\26\\D\26[E\26]E\26aI\32\342\337" \ + "\320\347\345\330\202\347\345\327\202\347\345\326\4\347\345\325\347\345" \ + "\324\347\344\324\347\344\323\202\347\344\322\2\347\344\321\347\344\320" \ + "\202\347\344\317\37\347\343\316\346\343\315\346\343\314\346\343\313\346" \ + "\343\312\346\343\311\346\343\310\264\247\203eJ\27dH\27bF\26]A\25X=\23" \ + "T9\21O4\17I.\15D*\14@&\12<!\11:\36\10""9\36\7;!\10>#\12A'\13E+\15I/\16" \ + "N4\20Q8\21V=\23Y@\24[C\25\202^E\26\30]E\26\216{G\344\334\234\344\333" \ + "\231\343\333\226\343\332\223\343\332\222\343\331\217\343\331\214\343" \ + "\331\210\343\330\204kW%S@\24Q>\24L9\22""8-\17($\14#\36\12\34\30\10\26" \ + "\23\6\17\15\4\12\11\3\5\4\2\2\2\1\377\0\0\0\377\0\0\0\346\0\0\0\25\16" \ + "\16\16''',,,+++\"\"\"\0\0\0\2\2\1\5\4\1\12\11\3\17\15\4\26\23\6\36\33" \ + "\10%\40\12-&\15""5-\17:1\20\77""5\21A6\22C7\22\220\207k\347\344\324\202" \ + "\347\345\325\1\347\345\326\202\347\345\327\202\347\345\330\204\347\345" \ + "\331\1\347\346\331\203\347\346\332\2\326\324\304VB\25\202WB\25\1XC\25" \ + "\202YC\25\12[C\26[D\26\\D\26[E\26]E\26^E\26_F\26_F\27\301\271\242\347" \ + "\345\331\202\347\345\330\202\347\345\327\6\347\345\326\347\345\325\347" \ + "\345\324\347\344\324\347\344\323\347\344\322\202\347\344\321\1\347\344" \ + "\320\202\347\344\3178\346\343\316\346\343\315\346\343\314\346\343\313" \ + "\346\343\312\346\343\311\224\200VgK\27eI\27bF\26_C\24Z>\22V:\21P4\20" \ + "K/\16F*\14B'\13>#\12:\37\11""9\36\10:\40\10>$\11B&\12D*\14I.\16O3\20" \ + "Q7\20V;\22Z@\24[B\25_E\26_F\27_E\26gP\37\342\332\232\344\333\232\343" \ + "\333\227\343\332\224\343\332\222\343\331\220\343\331\215\343\331\211" \ + "\343\330\204\240\220LUA\25S@\24P<\23\77""2\20*%\15$\37\13\36\32\11\30" \ + "\25\7\21\16\5\14\12\4\6\5\2\3\3\1\377\0\0\0\377\0\0\0\347\0\0\0\23\2" \ + "\2\2\25\25\25(((\15\15\15\0\0\0\1\1\0\5\4\1\11\10\3\17\15\4\30\24\6\36" \ + "\32\10&\40\13.'\15""6-\17;1\21\77""5\22C7\22D7\22\210~b\202\347\345\325" \ + "\1\347\345\326\202\347\345\327\1\347\345\330\204\347\345\331\1\347\346" \ + "\331\202\347\346\332\203\347\346\333\3\345\344\330XE\30XC\25\202YC\25" \ + "\202ZC\26\11[C\26\\D\26]E\26^E\26_F\26_F\27`G\27aG\27\232\212i\202\347" \ + "\345\331\202\347\345\330\202\347\345\327\7\347\345\326\347\345\325\347" \ + "\345\324\347\344\324\347\344\323\347\344\322\347\344\321\202\347\344" \ + "\320\2\347\344\317\347\343\316\202\346\343\315\20\346\343\314\346\343" \ + "\312\341\336\302oT\"hK\27gJ\27cF\26`B\24[>\22W:\21Q3\17M/\16I+\14C&\13" \ + "A#\11=!\10\202<\40\10$\77#\12B'\13E*\14I.\15N3\17R6\20W;\22Y>\23\\B\24" \ + "_E\26aG\27`G\27_F\27\304\270}\344\333\232\343\333\230\343\332\225\343" \ + "\332\222\343\332\221\343\331\216\343\331\211\343\331\206\311\275nWB\25" \ + "UA\25S>\24F6\21,'\15&!\13\40\33\11\31\25\7\23\20\5\16\14\4\10\7\3\4\3" \ + "\1\1\1\0\377\0\0\0\377\0\0\0\350\0\0\0\1\5\5\5\202\0\0\0\20\1\1\0\5\4" \ + "\1\11\10\3\21\16\4\27\24\6\40\34\11(!\13""0(\15""5,\16=2\21A5\22D7\22" \ + "E8\22}sT\347\345\325\347\345\326\202\347\345\327\1\347\345\330\204\347" \ + "\345\331\202\347\346\332\203\347\346\333\203\347\346\334\4iU,YC\25ZD" \ + "\25ZC\26\202ZB\25\12\\C\25[C\25]D\25^E\26`F\26aG\27bH\27cH\27iO\40\334" \ + "\331\311\203\347\345\331\1\347\345\330\202\347\345\327\3\347\345\326" \ + "\347\345\325\347\345\324\202\347\344\323\3\347\344\322\347\344\321\347" \ + "\344\320\202\347\344\317\5\347\343\316\346\343\315\346\343\314\346\343" \ + "\313\263\245\201\202jL\30""1hJ\27dF\26aB\24\\=\23W9\21R4\17M/\15I+\14" \ + "D'\12B$\11\77\"\10>\40\10\77!\10@#\11D&\12F*\14J.\16M2\17R7\20W;\22Z" \ + ">\23^C\24aE\26bG\26bH\27aG\27\237\215V\344\333\233\343\333\231\343\333" \ + "\226\343\332\223\343\332\222\343\331\217\343\331\212\343\331\207\343" \ + "\330\202p]'XC\25S@\24M:\22-(\16'#\14#\36\12\33\27\10\25\22\6\17\15\4" \ + "\12\11\3\5\4\1\1\1\0\377\0\0\0\377\0\0\0\353\0\0\0\17\1\1\0\5\4\1\13" \ + "\11\3\21\16\5\30\24\7!\34\11)\"\13""0'\15""7-\17=2\21B6\22E8\22F:\23" \ + "shG\347\345\326\202\347\345\327\1\347\345\330\203\347\345\331\2\347\346" \ + "\331\347\346\332\203\347\346\333\203\347\346\334\3\314\310\270\257\246" \ + "\220eQ%\202[C\26\1[C\25\202[B\25\13\\B\25[B\25]C\25_D\26`E\26bG\26dH" \ + "\27dG\26dI\27\233\211h\347\346\331\203\347\345\331\1\347\345\330\202" \ + "\347\345\327\3\347\345\326\347\345\325\347\345\324\202\347\344\323\3" \ + "\347\344\322\347\344\321\347\344\320\202\347\344\317\4\346\343\316\346" \ + "\343\315\341\335\304wZ'\202lM\30\13hI\27eF\25bC\24\\=\22W8\20S4\20N/" \ + "\15J+\14G(\13B#\12A\"\11\202@\"\11$A#\11C&\12G*\14M/\16P3\16T8\20Y<\22" \ + "[@\23^B\25aE\25cG\26dH\27cH\27\201k7\344\334\234\344\333\231\343\333" \ + "\227\343\332\224\343\332\222\343\331\217\343\331\214\343\331\210\343" \ + "\330\204\232\210EYC\25WB\25R>\23/)\16)%\14$\37\13\35\31\10\27\24\6\21" \ + "\16\5\13\11\3\5\4\2\2\2\1\377\0\0\0\377\0\0\0\353\0\0\0\16\1\1\0\5\3" \ + "\1\13\11\3\22\16\5\31\25\6\"\33\11)!\13""0'\15""8-\17\77""3\21B6\21F" \ + ":\23H;\23h[:\202\347\345\327\1\347\345\330\203\347\345\331\202\347\346" \ + "\332\202\347\346\333\11\316\311\271\260\250\221\222\206gvf\77[D\30YC" \ + "\25[C\26[D\26[E\26\202[B\25\2[B\24Y@\24\202[A\24\12\\B\24^C\25aE\25b" \ + "G\26dH\27eJ\27fJ\27gK\27\302\272\242\347\346\331\203\347\345\331\2\347" \ + "\345\330\347\345\327\202\347\345\326\6\347\345\325\347\344\324\347\344" \ + "\323\347\344\322\347\344\321\347\344\320\202\347\344\317\3\347\343\316" \ + "\346\343\315\230\202W\202mM\30\30kK\27iI\26eD\25aA\23\\=\22W7\20T4\17" \ + "O/\16L+\14H'\13D$\12C#\11B\"\11B#\11C$\12F'\13J-\15N1\16S5\20W:\21Z<" \ + "\22^A\23`D\25cF\26\202dH\27\30dI\27fJ\31\336\326\227\344\333\232\343" \ + "\333\230\343\332\224\343\332\222\343\331\220\343\331\215\343\331\211" \ + "\343\330\204\302\265f[C\26YC\25U@\24""6.\17+&\15&!\13\37\33\11\31\25" \ + "\7\22\17\5\15\13\4\7\6\2\3\3\1\377\0\0\0\377\0\0\0\353\0\0\0\20\3\2\0" \ + "\6\4\1\15\12\4\23\17\5\33\26\6\"\33\10*!\13""2(\15""8-\17\77""3\21D7" \ + "\22H;\23I;\23^Q+\347\345\327\347\345\330\203\347\345\331\37\330\327\307" \ + "\271\263\234\227\214pwhDZE\31VB\25WB\25XC\25YC\25ZD\25[C\26\\D\26]E\26" \ + "[D\25[B\24Y@\24Z@\24Z\77\23Y\77\23Z@\23\\@\24]C\24`C\25bF\26dH\27gJ\27" \ + "hJ\27hK\27pT\"\316\307\263\347\346\331\203\347\345\331\5\347\345\330" \ + "\347\345\327\347\345\326\347\345\325\347\345\324\202\347\344\323\3\347" \ + "\344\322\347\344\321\347\344\320\202\347\344\317\1\252\231s\202oN\31" \ + "4nM\31kJ\27hG\26eD\25`@\23\\;\21X7\21S2\16O.\15L+\14H(\12F%\12E%\12F" \ + "&\12G'\12H(\13L,\14N/\15R3\17V7\20Y:\22\\\77\23_B\23bE\25dF\26eH\27f" \ + "J\27eJ\27dH\27\303\266y\344\333\233\343\333\230\343\332\225\343\332\222" \ + "\343\332\221\343\331\216\343\331\211\343\331\206\341\326\200cK\33[C\26" \ + "XB\24;1\21,'\16&!\13!\34\11\32\26\7\24\21\5\16\14\4\10\7\3\4\3\1\1\1" \ + "\0\377\0\0\0\377\0\0\0\351\0\0\0\14\1\0\0\3\1\0\7\4\2\16\12\3\24\17\5" \ + "\33\25\6\"\33\11+!\13""2'\15""8-\17\77""3\21E8\22\202I;\23\12SD\35\347" \ + "\345\330\315\311\267\247\240\207\205yYdU.R\77\24S\77\24S@\24UA\25\202" \ + "WB\25\11XC\25YC\25[C\26[D\26\\D\26[D\26[C\25ZA\24Y@\24\202X>\23\1X=\22" \ + "\202Y>\22\7Z>\23]A\24_C\24aD\25dF\26gJ\27iK\27\202jL\30\3rV\"\305\273" \ + "\244\347\346\331\202\347\345\331\1\347\345\330\202\347\345\327\11\347" \ + "\345\326\347\345\325\347\345\324\347\344\323\347\344\322\347\344\321" \ + "\347\344\320\344\341\313\242\213c\202qO\30\13pN\31nM\30kI\27iF\25eB\24" \ + "`>\22]:\21Y6\20U2\17Q.\15N,\14\203K)\13'K*\14L+\14L,\14O/\15R3\16V6\17" \ + "Y9\21\\=\22_A\24aC\25cF\26eH\26gJ\27hJ\27gJ\27gK\27\251\227^\344\333" \ + "\233\343\333\231\343\333\226\343\332\223\343\332\221\343\331\216\343" \ + "\331\212\343\331\207\343\330\201\204o4[E\26ZC\25\77""4\20-(\16($\14#" \ + "\36\12\34\30\10\25\22\6\17\15\4\12\11\3\5\4\1\1\1\0\377\0\0\0\377\0\0" \ + "\0\350\0\0\0\31\1\0\0\3\1\0\4\2\1\10\5\2\16\11\3\24\17\5\33\24\6\"\32" \ + "\10+!\12""1&\14""9-\17\77""2\20E7\21I;\23K<\24L=\24VG\40N=\24P>\24Q\77" \ + "\24R\77\24T\77\24TA\24UA\25WB\25\202XC\25\202YC\25\1ZC\25\202ZB\25\4" \ + "[B\24Y@\24Y\77\23W<\22\202V;\22\12V;\21V:\22W;\22Y=\22[>\22]\77\23_B" \ + "\24cE\26gI\27jK\30\203lM\30\3lM\27\241\215j\337\333\314\202\347\345\331" \ + "\12\347\345\330\347\345\327\347\345\326\347\345\325\347\345\324\347\344" \ + "\324\347\344\323\347\344\322\315\302\246\212m>\203rP\31\17pN\27nL\27" \ + "jH\26gE\24dB\23`>\21]9\21X6\20U3\16S0\15P/\15O-\14O,\14P.\15Q.\15\202" \ + "S1\16$U4\17W6\20Z9\20]=\22`A\23bB\24eF\25fG\26hJ\27iK\27jL\30hK\27hJ" \ + "\27\217yA\344\334\234\344\333\231\343\333\226\343\332\223\343\332\222" \ + "\343\331\217\343\331\214\343\331\207\343\330\202\251\225N^E\26\\D\26" \ + "D7\21/*\16)%\14$\37\13\35\31\10\27\24\6\20\16\4\13\11\3\5\4\2\2\2\1\377" \ + "\0\0\0\377\0\0\0\350\0\0\0\17\3\1\0\4\2\1\5\3\1\12\6\2\17\12\3\24\17" \ + "\5\34\24\6\"\31\10*\40\12""1%\15""8+\17\77""1\20D6\21I:\23L=\24\202N" \ + "=\24\14P>\24Q\77\24R\77\24T\77\24S@\24UA\25VA\25V@\24WA\24XA\24XA\25" \ + "X@\24\202Y@\24\24Y@\23X\77\23W=\23V;\22T9\21S7\20R7\20S8\20U9\20V8\21" \ + "W9\22X:\21[=\23^\77\23aC\25fF\26jJ\27kL\30mM\30nM\30\202oN\31\13uV\"" \ + "\243\216i\310\275\246\345\343\327\347\345\330\347\345\327\347\345\326" \ + "\347\345\325\334\330\303\273\255\215\222wJ\204tQ\31\13sO\31pM\27mJ\27" \ + "jG\26gD\24e@\23a>\22^:\21\\9\21Y6\17W4\17\202T1\15\20U1\16U3\16V4\17" \ + "W5\17Y7\17[8\20]:\21_=\22a@\23cB\24eD\25hH\26iJ\27kL\27kL\30kM\30\202" \ + "jL\30\27|c.\344\334\234\344\333\231\343\333\227\343\332\224\343\332\222" \ + "\343\331\217\343\331\214\343\331\210\343\330\204\303\264e_F\26^E\26H" \ + "9\22""0+\17+&\15%!\13\37\33\11\30\25\7\21\16\5\14\12\4\6\5\2\3\3\1\377" \ + "\0\0\0\377\0\0\0\347\0\0\0\22\2\1\0\3\2\0\4\3\1\7\4\1\13\6\2\17\12\4" \ + "\24\16\5\33\23\6!\30\7)\36\12""0$\14""7*\16=0\17B4\21H9\22L;\23N=\24" \ + "P>\24\202Q>\24\2R>\24S>\24\202R>\24\2S\77\23S>\23\202U>\23\33U=\23V=" \ + "\23V=\22U<\23V<\22U:\22T9\21T8\20Q6\17P4\20O3\17P3\16R4\20R5\17T6\20" \ + "V8\20X:\21]>\22aA\23dD\25hH\26kK\27mM\30oN\30pO\31qO\30qP\30\203rP\31" \ + "\1\206j8\202\213n>\2\203d1uQ\32\202tQ\31\202uR\31\36uQ\31tQ\31rM\30p" \ + "L\27mI\26kG\25iE\24fB\23d\77\22a<\21_:\20^8\20[6\20Z5\20Y5\17[6\20\\" \ + "9\21]:\20^:\20_<\21`>\21a@\22cB\23fC\24hF\25iG\26kJ\27kK\27lL\27lM\27" \ + "\202lM\30\30kM\30lO\32\342\332\232\344\333\232\343\333\230\343\332\224" \ + "\343\332\222\343\331\220\343\331\215\343\331\210\343\330\204\336\322" \ + "{bI\31_F\27M<\23""1,\17,'\15&!\13\40\33\11\31\25\7\23\20\5\15\13\4\7" \ + "\6\2\4\3\1\377\0\0\0\377\0\0\0\346\0\0\0\22\1\0\0\3\2\0\4\3\1\6\4\1\10" \ + "\5\1\13\7\2\17\11\3\25\17\5\32\23\5\40\30\7(\35\11/#\13""4(\15;.\17@" \ + "2\17D5\21H8\22L:\22\202N<\23\14P=\23Q<\23P<\23Q<\23Q<\22R<\22R:\22Q:" \ + "\22R:\22R:\21S:\21R9\21\202R8\21\5R7\20Q5\20O4\20N3\20N1\17\202M0\16" \ + "\17M/\15O1\17R3\17U5\17W6\20Z;\21_>\22cB\24gE\25jI\26mK\27oN\30qO\31" \ + "rP\31sP\31\202tQ\31\2uQ\32tQ\31\204uR\31\202vS\32\16uR\31uQ\31uQ\30t" \ + "P\30rM\27qL\27oJ\26mH\25kE\24iD\23fA\23d\77\22b<\21`;\20\202^9\20\22" \ + "_:\20`;\21b=\22d\77\22d@\23e@\23fB\24hD\25iF\25jH\25jH\26lJ\26nK\30o" \ + "N\30oM\30nM\30mM\30lM\27\202lM\30\27\330\314\217\344\333\232\343\333" \ + "\230\343\332\225\343\332\222\343\331\220\343\331\215\343\331\211\343" \ + "\331\206\343\330~|d*aG\27P=\24""2-\17,'\16'#\14\"\35\12\32\26\7\24\21" \ + "\5\16\14\4\10\7\3\4\3\1\1\1\0\377\0\0\0\377\0\0\0\344\0\0\0\26\1\0\0" \ + "\3\1\0\4\2\1\6\4\1\10\5\1\11\5\1\13\6\2\20\12\3\24\16\4\32\22\5\40\26" \ + "\7&\32\10+\40\12""3'\14""8+\16=/\17B2\17F5\21H6\21J8\22L9\22M9\21\202" \ + "M:\22\10M9\21N9\21N7\21O7\21P7\22O7\20O6\20O6\21\202O5\20\10N4\20N4\17" \ + "M2\17M0\17M1\16K.\15J,\14J,\15\202L-\15\16O/\16R2\16U5\17Y8\20^<\22a" \ + "\77\23eB\24hF\25jG\26mK\27pN\27rO\31sP\31uQ\31\202uR\31\202vS\32\202" \ + "wR\31\21wS\31wR\30xS\30wR\30wR\31vQ\31uO\30sN\30rL\27qK\27oJ\26mH\26" \ + "kE\25iC\24hB\23gA\23e>\21\202d>\21+f@\22gB\23hC\23iD\24iE\24jF\25lH\26" \ + "lI\26mJ\27nK\27oL\27pN\30pN\27pO\30qO\30pO\31oN\30oN\31\205j4\301\262" \ + "x\344\334\234\344\333\233\343\333\230\343\332\225\343\332\222\343\332" \ + "\221\343\331\215\343\331\211\343\331\206\343\330\201\221|:bH\27S@\25" \ + "3-\17.)\16($\14#\36\12\34\30\10\25\22\6\17\15\4\11\10\3\5\4\1\1\1\0\377" \ + "\0\0\0\377\0\0\0\344\0\0\0\25\2\1\0\4\2\1\5\3\1\7\4\1\11\5\1\13\6\2\15" \ + "\7\2\20\11\3\25\15\3\31\17\5\40\25\6$\31\7)\36\11""0#\13""5&\14;+\15" \ + ">-\15A0\17D2\17F3\20G4\17\202H5\20\5I5\20K5\17K4\20K4\21K3\20\202K2\17" \ + "\33J2\17K1\17L0\17L0\16J0\16K/\16L/\16K.\15J-\15J,\15I*\14H(\13I)\13" \ + "K+\14L,\14O.\15U2\17X7\17\\9\20`=\21cA\23fC\24iF\25lI\26nJ\27pM\27rM" \ + "\30\202tP\30\202vQ\31\3wR\30xS\31xS\32\202yS\32\35xT\32xS\32wR\30wR\31" \ + "vP\30uO\30tN\27sM\27rK\26pI\26nG\25lE\24kD\24jC\24iB\23jC\24kD\24lE\25" \ + "lF\25mH\26nI\25oJ\26pL\26qL\27qM\27rM\30sN\30sO\31tQ\31\202sP\31\202" \ + "rP\31\33\210l5\302\264{\344\335\242\344\334\240\344\334\234\344\333\233" \ + "\343\333\231\343\333\226\343\332\222\343\332\221\343\331\216\343\331" \ + "\212\343\331\206\343\330\201\251\226NdG\26U@\25""4.\20/*\16)%\14#\36" \ + "\12\35\31\10\26\23\6\20\16\4\12\11\3\5\4\2\2\2\1\377\0\0\0\377\0\0\0" \ + "\343\0\0\0\25\2\1\0\3\2\0\4\3\1\7\4\1\11\5\1\12\6\2\15\7\2\16\7\2\17" \ + "\10\2\24\13\4\30\16\5\35\22\6\"\27\6(\33\10-\37\12""1$\13""6&\14;)\15" \ + "=+\15\77-\16A/\16\202D0\17\17E1\17G1\17G0\17F/\17F.\16G.\16F.\16G-\15" \ + "H.\16G-\15H-\15H,\15I,\15H,\15I+\14\202H*\14\31H)\14H(\13G'\12G&\12I" \ + "'\12L*\14O.\15S0\16V4\17Z7\17^:\20a>\22e@\23hC\24iE\25lH\25nI\26pL\26" \ + "rL\27tN\27uO\30vP\31wR\30xS\32yT\31\204zT\32\13yS\31yR\30xQ\30wP\30v" \ + "N\27uM\27tL\27rJ\26rI\26pH\25oG\25\202nG\25\12oG\25pI\26qJ\26rL\27sM" \ + "\27sN\30tN\27uO\30uP\27vQ\30\202vR\31\1vS\32\202uR\31\36tQ\31\224zC\307" \ + "\272\203\344\335\246\344\335\245\344\335\242\344\334\240\344\334\235" \ + "\344\333\233\343\333\231\343\333\226\343\332\223\343\332\221\343\331" \ + "\216\343\331\212\343\331\207\343\330\201\275\254\\dH\27XC\25""5/\17""0" \ + "+\17*%\15$\37\13\36\32\11\30\25\7\21\16\5\13\11\3\5\4\2\2\2\1\377\0\0" \ + "\0\377\0\0\0\342\0\0\0\32\1\0\0\3\1\0\4\3\1\6\4\1\10\5\1\12\6\2\14\7" \ + "\2\15\7\2\16\10\2\21\11\3\24\13\3\30\16\4\33\21\5!\25\6&\31\7*\34\10" \ + ".\40\11""2#\13""6%\14:(\14<)\14=+\16\77,\16@,\15A-\15B+\16\202B+\15\3" \ + "C+\15C*\15D*\15\203D*\14\37D)\14E)\14E(\13F)\13E'\13F'\13G'\13F'\12F" \ + "&\12F%\12G%\12J'\12L)\13N,\14R0\15U1\16X5\17]7\20_;\21a=\21e@\22hB\23" \ + "iD\24lF\24nH\26qJ\26rM\27tN\27vP\27wQ\31yR\30\202{T\32\202|U\31\202|" \ + "T\31\10{S\32{S\31zR\31zQ\31xP\30wO\30vM\27uM\27\203sJ\27.tK\27tL\27u" \ + "M\27uN\27wO\27wP\27wQ\31yR\30yS\31yT\31yS\32yT\32xS\31wS\31~[\"\246\217" \ + "X\324\312\227\345\336\253\344\336\250\344\335\246\344\335\245\344\335" \ + "\243\344\334\240\344\334\235\344\334\234\343\333\231\343\333\226\343" \ + "\332\223\343\332\222\343\331\216\343\331\212\343\331\207\343\330\202" \ + "\317\301kfJ\27ZC\26""60\20""1,\17+&\15%!\13\37\33\11\31\25\7\21\16\5" \ + "\14\12\4\6\5\2\3\3\1\377\0\0\0\377\0\0\0\342\0\0\0\30\2\1\0\4\2\1\5\3" \ + "\1\10\5\1\11\5\1\13\6\2\15\7\2\16\10\2\20\11\2\22\11\3\25\13\3\26\15" \ + "\3\33\20\5\37\23\5#\26\6(\32\7,\35\11""0\37\11""2\"\12""5#\12""8%\13" \ + ":&\14<'\14<'\13\202='\14\16>'\14\77&\13\77'\14@'\13@&\13A&\13A&\12B'" \ + "\13B&\13D&\12C&\12C%\13E&\12E%\12\202F%\12\31G%\11H%\12I&\12J'\12K(\12" \ + "O+\13R.\15T/\15X3\16[5\17]8\17`:\21c<\21f\77\22hA\23jC\24lE\24oH\25s" \ + "K\26tL\27vN\27yQ\30{R\32|T\31}U\32\206|T\32\202|S\31\4{R\31zQ\30yO\27" \ + "wO\30\202wN\30\5xO\30xP\27yQ\31zR\31{S\31\202|T\31\202|U\31&}V\32|V\31" \ + "{U\32zT\32\222t<\276\253y\341\332\253\345\337\257\345\337\255\345\336" \ + "\253\344\336\251\344\335\246\344\335\245\344\335\243\344\334\240\344" \ + "\334\235\344\334\234\344\333\231\343\333\226\343\332\223\343\332\222" \ + "\343\331\217\343\331\212\343\331\207\343\330\202\336\322ygJ\27[C\26""6" \ + "0\20""1,\17,'\15&!\13\40\33\11\31\25\7\22\17\5\14\12\4\7\6\2\3\3\1\377" \ + "\0\0\0\377\0\0\0\341\0\0\0\33\2\1\0\3\2\0\4\3\1\7\4\1\11\5\1\12\6\2\15" \ + "\7\2\16\7\2\17\10\2\22\11\3\24\12\3\25\13\3\27\15\4\32\17\4\35\21\5!" \ + "\23\5&\27\6)\32\7-\34\10""0\35\10""2\37\12""5!\12""7#\12""8#\12:$\13" \ + ":$\12<$\12\202;#\12'<#\12=\"\12>#\11>$\11\77$\12@#\12B$\11A$\11B$\12" \ + "B#\12D$\11E%\11E$\11G%\12I&\12J&\12J'\12K(\12M)\13O*\13R,\14S-\14V0\15" \ + "Z3\16\\5\16^7\17a9\20d<\21f=\21h@\22lC\23oG\24rJ\26uL\27wO\30yQ\31|S" \ + "\31|T\32}T\31\203~V\31\202\177V\32\3~T\31}T\31}S\31\202|S\31\1|R\31\202" \ + "|R\27\3|S\31}S\31}T\31\202~V\31\202~V\33)\177W\33~V\33~V\32}U\32\210" \ + "d*\261\233g\327\314\240\345\340\264\345\340\262\345\337\261\345\337\257" \ + "\345\337\255\345\336\253\344\336\251\344\336\247\344\335\245\344\335" \ + "\243\344\334\240\344\334\235\344\334\234\344\333\231\343\333\227\343" \ + "\332\223\343\332\222\343\331\217\343\331\214\343\331\207\343\330\202" \ + "\343\327}rV\36ZD\25""60\20""2-\17,'\16&!\13!\34\11\31\25\7\23\20\5\15" \ + "\13\4\7\6\2\4\3\1\377\0\0\0\377\0\0\0\340\0\0\0\37\1\0\0\3\1\0\4\2\1" \ + "\6\4\1\10\5\1\12\6\2\14\7\2\15\7\2\17\10\2\21\11\3\23\12\3\25\13\3\26" \ + "\14\3\30\15\4\33\16\4\35\20\4!\21\4#\24\5(\30\6*\30\6-\32\10/\34\10""1" \ + "\35\10""3\36\10""5\37\11""6\37\11""7\40\11""8\40\10""8\40\11""9\40\11" \ + ";\40\11\202;!\10\4<!\11>\"\11\77!\10@\"\10\202B#\11$D$\11E%\11G%\11I" \ + "&\12J'\12J(\12K(\12L(\12N)\13O)\13P*\13Q+\13S,\13V.\14X1\15[4\16]6\17" \ + "_7\17b9\20e;\21g>\21kA\23oF\24qH\25uL\27xN\30{R\30|S\31}T\31\177V\32" \ + "\200V\31\201V\31\201W\33\201V\31\201V\33\200V\33\202\200V\32\1\177V\31" \ + "\203~T\32\5\177V\31\200V\33\201V\31\201W\33\202Y\32\202\202X\33*\201" \ + "X\33\200X\32\210c(\252\220\\\313\277\224\345\341\271\345\340\267\345" \ + "\340\266\345\340\264\345\340\262\345\337\261\345\337\257\345\337\255" \ + "\345\336\253\344\336\251\344\336\247\344\335\245\344\335\243\344\334" \ + "\240\344\334\236\344\334\234\344\333\231\343\333\227\343\332\224\343" \ + "\332\222\343\331\217\343\331\214\343\331\207\343\330\202\343\327}\201" \ + "e)[C\26""60\20""2-\17,'\16'#\14!\34\11\32\26\7\24\21\5\16\14\4\10\7\3" \ + "\4\3\1\377\0\0\0\377\0\0\0\340\0\0\0*\2\1\0\4\2\1\5\3\1\7\4\1\11\5\1" \ + "\13\6\2\15\7\2\16\10\2\20\11\2\23\12\3\25\13\3\25\14\3\30\15\4\32\16" \ + "\4\33\17\4\36\20\4\37\20\5#\23\5%\24\5(\26\6*\30\6-\32\7""0\32\7""2\34" \ + "\7""2\34\10""4\35\10""5\35\7""5\35\10""7\36\10""8\36\10""9\36\10""9\37" \ + "\7;\40\10=!\10\77!\10@\"\11B#\12D$\12F%\12G'\12I(\12K)\13\202L*\13\33" \ + "N+\13P,\14P+\14Q+\13R,\13R+\13S+\13T-\14V-\14X/\15Z1\15\\3\16_5\16b6" \ + "\20e;\21g=\21kA\22oE\24sI\25vM\26yN\27|Q\27}S\31\177V\31\200V\33\201" \ + "W\32\202Y\32\202\203Y\32\203\203Y\33\203\202W\32\1\203Y\33\202\204Y\33" \ + "\1\203Y\33\202\204Y\33\202\203Y\33\4\212c*\250\215[\314\273\221\346\342" \ + "\275\202\345\341\273&\345\341\271\345\340\267\345\340\266\345\340\264" \ + "\345\340\262\345\337\261\345\337\257\345\337\255\345\336\253\344\336" \ + "\251\344\336\247\344\335\245\344\335\243\344\334\240\344\334\236\344" \ + "\334\234\344\333\231\343\333\227\343\332\224\343\332\222\343\331\217" \ + "\343\331\214\343\331\207\343\330\202\343\327}\214r2YC\25""60\20""3-\17" \ + "-(\16'#\14\"\35\12\33\27\10\24\21\5\16\14\4\10\7\3\4\3\1\1\1\0\377\0" \ + "\0\0\377\0\0\0\306\0\0\0\206\1\1\0\222\0\0\0""5\1\0\0\3\2\0\4\3\1\6\4" \ + "\1\11\5\1\12\6\2\15\7\2\16\7\2\17\10\2\22\11\3\24\12\3\25\14\3\27\15" \ + "\4\31\16\4\33\17\4\35\20\4\36\20\5!\21\4#\22\5%\23\5(\25\5)\27\6,\30" \ + "\6.\31\6/\32\7""0\32\7""2\33\7""4\34\10""6\34\10""8\35\10""9\36\10:\40" \ + "\10<!\11\77#\11A#\11C%\11D%\13F&\13I(\13K*\13L+\14M+\14P,\14Q-\14R.\14" \ + "S/\15T/\15T.\15S-\14U.\14T-\13V-\14U-\14\202X.\14\17[1\14\\1\16^3\16" \ + "`5\17d:\20i=\20lA\22pE\23sH\24wL\26zN\30|R\31\177S\31\201V\32\202W\32" \ + "\202\204Y\33\203\205Y\32\204\206Y\32\1\205Z\33\203\206Z\33\202\205Z\33" \ + "\7\221j/\261\230h\315\300\232\346\342\302\346\342\300\346\342\277\346" \ + "\342\275\202\345\341\273&\345\341\271\345\340\267\345\340\266\345\340" \ + "\264\345\340\262\345\337\261\345\337\257\345\337\255\345\336\253\344" \ + "\336\251\344\336\247\344\335\245\344\335\243\344\334\240\344\334\236" \ + "\344\334\234\344\333\231\343\333\227\343\332\224\343\332\222\343\331" \ + "\217\343\331\214\343\331\207\343\330\202\343\327}\225|8VB\25""71\20""3" \ + "-\17-(\16($\14#\36\12\33\27\10\25\22\6\17\15\5\10\7\3\5\4\1\1\1\0\377" \ + "\0\0\0\377\0\0\0\303\0\0\0\3\1\1\0\2\2\1\3\3\1\202\4\3\1\203\5\4\1\1" \ + "\4\3\1\202\3\3\1\202\1\1\0\216\0\0\0/\2\1\0\4\2\1\5\3\1\10\5\1\11\5\1" \ + "\14\7\2\15\7\2\17\10\2\21\11\3\23\12\3\25\13\3\26\14\3\30\15\4\33\16" \ + "\4\34\17\4\36\20\4!\21\4!\22\5%\23\5(\25\5(\26\5+\30\6-\31\6/\32\7""0" \ + "\32\7""2\33\7""5\35\7""6\36\10:\40\10;!\11<\"\11\77$\12B&\12C%\12D'\12" \ + "G(\14J*\14L,\14M-\14P.\15R1\16S0\16T0\16U1\16W2\17X3\16W2\16\202Y2\15" \ + "\26Y1\16X0\15X/\15Y/\14Y.\14[/\15\\1\15[0\15^2\15b5\16e8\16i;\20mA\21" \ + "pD\24tI\25xL\26|P\30~S\31\201V\32\203X\33\205Y\32\206Y\32\205\206[\33" \ + "\1\207\\\33\205\210\\\34\3\237}G\270\241u\326\313\250\202\346\343\305" \ + "\5\346\343\303\346\342\302\346\342\300\346\342\277\346\342\275\202\345" \ + "\341\273&\345\341\271\345\340\267\345\340\266\345\340\264\345\340\262" \ + "\345\337\261\345\337\257\345\337\255\345\336\253\344\336\251\344\336" \ + "\247\344\335\245\344\335\243\344\334\240\344\334\236\344\334\234\344" \ + "\333\231\343\333\227\343\332\224\343\332\222\343\331\217\343\331\214" \ + "\343\331\207\343\330\202\343\327}\234\204>T\77\24""71\20""4.\20.)\16" \ + "($\14#\36\12\33\27\10\25\22\6\17\15\5\11\10\3\5\4\1\1\1\0\377\0\0\0\377" \ + "\0\0\0\302\0\0\0\5\1\1\0\3\3\1\5\4\1\5\4\2\7\6\2\205\10\7\3\5\7\6\2\6" \ + "\5\2\5\4\2\5\4\1\4\3\1\202\3\3\1\202\2\2\1\210\1\1\0""0\2\1\0\4\3\0\5" \ + "\3\1\10\5\1\12\6\1\14\7\2\15\7\2\17\11\2\21\12\2\23\12\3\26\15\4\27\16" \ + "\4\32\17\5\35\20\5\36\21\5!\21\4\"\22\6$\24\5&\25\6(\26\6*\30\6-\32\6" \ + "0\34\7""1\33\10""3\34\10""6\37\10""8\40\10:\"\11;\"\11>#\12@&\12C'\13" \ + "D(\13G)\14I+\14K-\15M-\15O/\16Q0\16T2\17V4\17V4\16Y6\17Z7\20[7\20]7\17" \ + "]8\17^8\17\203]6\17\25\\4\16\\3\16\\2\15\\1\15[0\15^1\15^2\15a3\15b5" \ + "\16e8\20i=\21nA\22rE\23wI\25{M\26~Q\27\201U\31\204X\32\204Y\33\207[\33" \ + "\207\\\33\202\210\\\33\204\211\\\34\10\212]\34\223i-\252\214Z\310\270" \ + "\222\340\332\277\346\343\311\346\343\310\346\343\307\202\346\343\305" \ + "\5\346\343\303\346\342\302\346\342\300\346\342\277\346\342\275\202\345" \ + "\341\273&\345\341\271\345\340\267\345\340\266\345\340\264\345\340\262" \ + "\345\337\261\345\337\257\345\337\255\345\336\253\344\336\251\344\336" \ + "\247\344\335\245\344\335\243\344\334\240\344\334\236\344\334\234\344" \ + "\333\231\343\333\227\343\332\224\343\332\222\343\331\217\343\331\214" \ + "\343\331\207\343\330\202\343\327}\244\214CP>\24""71\20""4.\20.)\16)%" \ + "\14#\36\12\34\30\10\26\23\6\17\15\4\11\10\3\5\4\1\1\1\0\377\0\0\0\377" \ + "\0\0\0\301\0\0\0\6\2\2\1\4\3\1\6\5\2\10\7\3\12\11\3\14\12\4\202\15\13" \ + "\4\202\16\14\4\10\15\13\4\14\12\4\13\11\3\12\11\3\11\10\3\10\7\3\7\6" \ + "\2\6\5\2\202\5\4\2\203\5\4\1\205\4\3\1G\6\3\1\7\4\2\12\6\2\14\7\2\15" \ + "\10\3\20\12\3\23\13\3\24\14\3\26\15\4\30\16\4\31\17\5\34\21\6\36\22\5" \ + "\37\23\5\"\25\6$\26\6(\27\6)\27\6+\31\6-\32\7""0\34\10""2\35\10""5\36" \ + "\11""7\40\11""9\"\11;#\11=$\13\77%\13B'\13E)\13E*\15H,\15K-\15L/\15N" \ + "/\16P1\16T3\17U5\17W6\20Y8\20[9\20]:\20_;\21`;\21a<\21b=\21b<\21c=\21" \ + "c<\21b:\21b9\20b8\16a5\20_5\17^4\16_3\15_2\15a2\15b4\16e7\17i9\17m>\21" \ + "pA\22uF\23yK\25|O\27\177R\30\203V\32\205Y\33\210[\33\211\\\34\204\212" \ + "]\34\13\217b#\246\204P\275\247}\330\316\261\346\343\316\346\343\315\346" \ + "\343\313\346\343\312\346\343\311\346\343\310\346\343\306\202\346\343" \ + "\305\5\346\343\303\346\342\302\346\342\300\346\342\277\346\341\275\202" \ + "\345\341\273&\345\341\271\345\340\267\345\340\266\345\340\264\345\340" \ + "\262\345\337\261\345\337\257\345\337\255\345\336\253\344\336\251\344" \ + "\336\247\344\335\245\344\335\243\344\334\240\344\334\236\344\334\234" \ + "\344\333\231\343\333\227\343\332\223\343\332\222\343\331\217\343\331" \ + "\214\343\331\207\343\330\202\343\327}\246\216BL=\24""71\20""4.\20.)\16" \ + ")%\14#\36\12\34\30\10\26\23\6\17\15\4\11\10\3\5\4\1\1\1\0\377\0\0\0\377" \ + "\0\0\0\300\0\0\0\10\3\3\1\5\4\1\7\6\2\12\11\3\15\13\4\17\15\4\21\16\5" \ + "\22\17\5\204\23\20\5\10\22\17\5\21\16\5\20\16\4\17\15\5\16\14\4\15\13" \ + "\4\14\12\4\13\11\3\202\12\11\3\203\11\10\3\203\10\7\3-\11\7\3\13\11\3" \ + "\15\12\4\17\13\4\21\14\4\22\15\5\25\16\5\26\17\5\30\20\5\33\21\5\36\23" \ + "\6\37\24\5!\25\6#\27\6%\30\6(\31\7*\32\10-\34\10""0\35\10""2\37\11""3" \ + "\40\11""7\"\12""9#\12:%\13<%\13\77&\13@(\14C*\14F+\15H-\15J/\16L0\16" \ + "N1\17O3\17S4\20U6\17W6\20X8\21[:\21];\21_=\21`>\22c@\23e@\23fA\23\203" \ + "hB\23\36hA\23g\77\22g>\21g=\21f<\20d:\21c7\20c7\17b4\16b4\15b4\16e6\17" \ + "g8\16l<\20o@\21rD\22vH\25zL\26\177Q\30\203U\32\207Y\32\211\\\33\212]" \ + "\34\213^\34\216b!\243\200L\272\242x\321\303\245\346\342\317\347\344\320" \ + "\202\347\344\317\7\346\343\316\346\343\314\346\343\313\346\343\312\346" \ + "\343\311\346\343\307\346\343\306\202\346\343\305\5\346\342\303\346\342" \ + "\302\346\342\300\346\342\276\346\341\275\202\345\341\273&\345\341\271" \ + "\345\340\267\345\340\266\345\340\264\345\340\262\345\337\261\345\337" \ + "\257\345\337\255\345\336\253\344\336\251\344\336\247\344\335\245\344" \ + "\335\243\344\334\240\344\334\235\344\334\234\344\333\231\343\333\227" \ + "\343\332\223\343\332\222\343\331\217\343\331\212\343\331\207\343\330" \ + "\202\343\327}\246\217BG9\23""71\20""4.\20/*\16)%\14#\36\12\34\30\10\26" \ + "\23\6\17\15\4\11\10\3\5\4\1\1\1\0\377\0\0\0\377\0\0\0\277\0\0\0\11\2" \ + "\2\1\5\4\1\10\7\3\13\11\3\17\15\5\21\16\5\24\21\5\27\24\6\30\25\7\205" \ + "\31\25\7\10\30\25\7\27\24\6\25\22\6\24\21\5\23\20\5\22\17\5\21\16\5\20" \ + "\16\4\203\17\15\4\202\17\15\5\202\16\14\4""0\20\14\4\21\15\5\23\17\5" \ + "\25\20\5\27\22\6\31\22\6\34\23\6\35\24\6\40\26\7!\26\7$\31\7&\33\10)" \ + "\34\10*\34\10+\35\10""0\37\11""0\40\11""3!\12""5\"\13""7#\13:&\13<'\13" \ + ">'\14A*\15C,\15E-\15G-\15I/\16L0\17M2\17P4\20R5\20T7\20V9\22X9\21[;\21" \ + "]<\21_>\22`>\23b@\23eC\23gC\24iE\24iE\25kF\25mG\25nG\25mG\25\202mE\24" \ + "\7mC\24kA\23i\77\22i=\20f:\17f8\17e6\17\202e5\16\23h8\16j9\20m>\21p@" \ + "\22vE\23yI\25~N\27\202S\30\205W\31\211[\33\213^\34\214^\34\223h*\345" \ + "\341\317\347\345\324\347\344\323\347\344\322\347\344\321\347\344\320" \ + "\202\347\344\3176\346\343\315\346\343\314\346\343\313\346\343\312\346" \ + "\343\311\346\343\307\346\343\306\346\343\305\346\343\304\346\342\303" \ + "\346\342\302\346\342\300\346\342\276\346\341\275\345\341\273\345\341" \ + "\272\345\341\271\345\340\267\345\340\266\345\340\263\345\340\262\345" \ + "\337\261\345\337\256\345\337\255\345\336\253\344\336\251\344\335\246" \ + "\344\335\245\344\335\243\337\325\230\275\247i\344\334\234\344\333\231" \ + "\343\333\226\343\332\223\343\332\222\343\331\217\343\331\212\343\331" \ + "\207\343\330\202\343\327{\250\220D@6\21""71\20""4.\20/*\16)%\14#\36\12" \ + "\34\30\10\26\23\6\17\15\4\11\10\3\5\4\1\1\1\0\377\0\0\0\377\0\0\0\276" \ + "\0\0\0\13\1\1\0\5\4\1\7\6\2\13\11\3\17\15\4\23\20\5\27\24\6\31\25\7\34" \ + "\30\10\36\32\11\40\33\11\202!\34\11\6\40\33\11\37\33\11\36\32\11\35\31" \ + "\10\33\27\10\32\26\7\202\31\25\7\1\30\25\7\202\27\24\6\202\26\23\6\203" \ + "\25\22\6\6\26\22\6\26\23\6\30\24\6\32\25\6\35\26\7\37\27\7\202!\31\7" \ + "\77$\32\10'\34\11)\35\11*\36\11,\37\12.\40\12""1\"\12""2#\13""5$\13""7" \ + "&\14:'\14=)\15=*\15@+\15D-\16E.\16F.\16I1\16K2\17N3\20P6\17R7\20T9\21" \ + "V:\21W:\21Z<\22\\=\22^\77\23`A\23bA\24dC\24fD\24hF\25iG\26lH\26mI\26" \ + "oK\26qL\26sK\27sM\27sL\27rJ\26rI\26qG\25pE\24nD\23l@\21j>\21h;\20h9\17" \ + "g8\16h7\15i8\17l:\20o\77\21tB\22xG\24{K\25\200P\27\204T\31\210X\32\213" \ + "\\\34\216_\35\202\217_\34>\342\337\314\347\344\324\347\344\323\347\344" \ + "\322\347\344\321\347\344\320\347\344\317\347\343\316\346\343\315\346" \ + "\343\314\346\343\313\346\343\312\346\343\311\346\343\307\346\343\306" \ + "\346\343\305\346\343\304\346\342\303\346\342\301\346\342\300\346\342" \ + "\276\346\341\275\345\341\273\345\341\272\345\341\271\345\340\267\345" \ + "\340\265\345\340\263\345\340\262\345\337\260\345\337\256\345\337\255" \ + "\345\336\253\344\336\250\344\335\246\344\335\245\315\276\203\214h+\245" \ + "\212L\344\334\234\343\333\231\343\333\226\343\332\223\343\332\222\343" \ + "\331\216\343\331\212\343\331\207\343\330\201\343\327{\252\222F:2\21""7" \ + "1\20""4.\20/*\16)%\14#\36\12\34\30\10\26\23\6\17\15\4\11\10\3\5\4\1\1" \ + "\1\0\377\0\0\0\377\0\0\0\275\0\0\0\13\1\1\0\3\3\1\6\5\2\13\11\3\17\15" \ + "\4\23\20\5\30\25\7\33\27\10\37\33\11#\36\12$\37\13\205&!\13\1$\37\13" \ + "\202#\36\12\4\"\35\12\40\33\11\37\33\11\36\32\11\202\35\31\10\202\34" \ + "\30\10\203\33\27\10""0\35\31\10\36\32\11!\34\11\"\33\11#\34\11%\35\11" \ + "(\36\11)\37\11+\40\13-\"\13/#\13""1%\14""3%\14""5'\14""8'\14;)\15<+\15" \ + "=+\15A.\17C/\17D0\17G1\16H2\17L4\17N5\20O6\21Q7\21T8\21V:\22X<\22Z>\22" \ + "\\\77\23]\77\23`B\24bB\24cD\24eD\25hF\26jH\26kI\26mK\27pK\27pM\27sM\30" \ + "tO\30uO\31wQ\30xQ\31\202xP\30\24uM\27uK\26sI\25sF\24oC\23nA\22m>\22k" \ + ";\17j9\17h8\17l9\17o;\20q\77\21wD\22yG\24~L\26\202Q\30\205U\32\212Y\32" \ + "\216]\33\203\217_\34>\326\312\256\347\344\324\347\344\323\347\344\322" \ + "\347\344\321\347\344\320\347\344\317\347\343\316\346\343\315\346\343" \ + "\314\346\343\313\346\343\312\346\343\310\346\343\307\346\343\306\346" \ + "\343\305\346\343\304\346\342\302\346\342\301\346\342\300\346\342\276" \ + "\346\341\274\345\341\273\345\341\272\345\341\270\345\340\267\345\340" \ + "\265\345\340\263\345\337\261\345\337\260\345\337\256\345\337\255\344" \ + "\336\252\344\336\250\340\327\240\262\230\\\203Z\35\202Y\32\256\224U\344" \ + "\333\233\343\333\231\343\333\226\343\332\223\343\332\221\343\331\216" \ + "\343\331\212\343\331\206\343\330\201\343\327{\244\215B92\21""71\20""4" \ + ".\20/*\16)%\14#\36\12\34\30\10\26\23\6\17\15\4\11\10\3\5\4\1\1\1\0\377" \ + "\0\0\0\377\0\0\0\275\0\0\0\14\2\2\1\5\4\1\11\10\3\16\14\4\22\17\5\30" \ + "\25\7\34\30\10!\34\11$\37\13'#\14+&\15,'\15\202,'\16\6,'\15+&\15*%\15" \ + ")%\14($\14'#\14\202&!\13\202$\37\13\205#\36\12K\"\36\12#\37\12%\40\13" \ + "'\40\13)!\13+\"\13-$\14.%\14""1%\15""2&\15""3'\15""6)\15""8+\16;+\16" \ + "=-\16>-\16@.\17C0\17E1\20F3\17H4\20K6\21M7\21P9\22Q9\21S:\21V<\22W=\22" \ + "Z>\23[@\24]A\24_A\24aD\24cD\25eF\26fG\26iH\26kJ\27lJ\26mL\27pN\27rN\30" \ + "tP\31tP\30vQ\30xR\31yT\31{T\32|U\31}U\32|T\32{R\31yN\27wM\26uI\26sF\24" \ + "qB\23p@\21n>\21l;\21l9\20m:\20p<\20s@\21wE\22zH\25\177M\26\204R\27\210" \ + "V\31\214Z\33\215^\33\220_\34\221`\34\222a\35\310\266\222\202\347\344" \ + "\323\2\347\344\322\347\344\320\202\347\344\317\7\347\343\316\346\343" \ + "\315\346\343\314\346\343\312\346\343\311\346\343\310\346\343\307\202" \ + "\346\343\305\23\346\343\304\346\342\302\346\342\301\346\342\277\346\342" \ + "\276\346\341\274\345\341\273\345\341\272\345\341\270\345\340\267\345" \ + "\340\264\345\340\263\345\337\261\345\337\260\345\337\256\345\336\254" \ + "\344\336\252\306\263z\222j+\202\205Z\33\31\203Y\33\264\232\\\344\333" \ + "\233\343\333\231\343\332\225\343\332\222\343\332\221\343\331\216\343" \ + "\331\211\343\331\206\343\330\201\343\327{\230\201;92\21""71\20""4.\20" \ + ".)\16)%\14#\36\12\34\30\10\26\23\6\17\15\4\11\10\3\5\4\1\1\1\0\377\0" \ + "\0\0\377\0\0\0\274\0\0\0\15\1\1\0\3\3\1\7\6\2\14\12\4\21\16\5\26\23\6" \ + "\33\27\10!\34\11%!\13)%\14,'\16""0+\17""2-\17\2023-\17\7""2-\17""1,\17" \ + "/*\16.)\16-(\16,'\16,'\15\202+&\15\1*%\15\203)%\14\202($\14\1)$\14\202" \ + "+%\15D.&\15""0'\15""1(\15""5*\16""4)\16""7+\17""9,\17;.\17=/\20>/\17" \ + "@1\17C2\20E3\20G5\20H5\20K7\21M9\21O:\21Q:\22R;\22U=\23X\77\23Y@\24Z" \ + "@\24]B\24^C\24`E\25cE\25cF\26eH\27hI\27jJ\27kK\27mK\30oM\30pN\30rO\30" \ + "sP\31uQ\31vR\31xS\31zT\31zT\32|V\31}V\32~V\32\177W\33\200W\32~T\31|R" \ + "\27{O\27xM\26wJ\25uF\23qB\23p@\21o=\20n:\17o;\17q>\17uA\21yE\23|J\25" \ + "\202M\26\205R\30\211V\32\214[\33\217^\34\202\222a\35\6\223a\35\272\236" \ + "q\347\344\323\347\344\322\347\344\321\347\344\320\202\347\344\317\7\346" \ + "\343\316\346\343\315\346\343\314\346\343\312\346\343\311\346\343\310" \ + "\346\343\307\202\346\343\305\24\346\343\303\346\342\302\346\342\301\346" \ + "\342\277\346\342\275\346\341\274\345\341\273\345\341\272\345\340\270" \ + "\345\340\266\345\340\264\345\340\263\345\337\261\345\337\260\345\337" \ + "\256\323\303\216\240{\77\210\\\34\207[\34\206Z\33\202\205Z\33\30\300" \ + "\254m\344\333\233\343\333\230\343\332\225\343\332\222\343\332\221\343" \ + "\331\215\343\331\211\343\331\206\343\330\201\343\326x\214y692\21""71" \ + "\20""4.\20.)\16($\14#\36\12\34\30\10\25\22\6\17\15\5\11\10\3\5\4\1\1" \ + "\1\0\377\0\0\0\377\0\0\0\274\0\0\0\14\1\1\0\5\4\1\11\10\3\17\15\5\24" \ + "\21\5\31\25\7\37\33\11$\37\13)%\14-(\16""2-\17""60\20\20271\20\20360" \ + "\20\5""5/\17""4.\20""3-\17""2-\17""1,\17\2020+\17\202/*\16\203.)\16\14" \ + "/)\16""0)\16""1+\17""4+\17""5,\17""6,\16""8-\17""9.\17<0\20>1\20\77""2" \ + "\17@2\17\202D5\21KG6\21H7\22J8\22L9\22O:\23P;\23R=\23S>\23V@\24X@\24" \ + "ZA\24[B\25]C\25_D\25aE\25bG\26dH\27fH\27hJ\27jK\30kL\30lM\27nM\31pO\31" \ + "qP\30sP\31uQ\32uR\31vS\32wS\31zT\31zT\32\210f1\233\177R\254\226p\276" \ + "\255\222\243\207\\\202X\33\201V\33\177U\31~R\30|O\27zL\26wI\25tD\23t" \ + "B\22s@\21o<\20q<\20s>\20vC\22zE\23~J\24\201N\26\207S\31\212X\31\216\\" \ + "\33\221_\34\223a\35\224b\35\225c\35\257\213U\347\344\323\347\344\322" \ + "\347\344\321\347\344\320\347\344\317\347\343\316\346\343\315\346\343" \ + "\314\346\343\313\346\343\312\346\343\311\346\343\307\346\343\306\202" \ + "\346\343\305\5\346\342\303\346\342\302\346\342\300\346\342\277\346\342" \ + "\275\202\345\341\273\10\345\341\271\345\340\270\345\340\266\345\340\264" \ + "\345\340\262\345\337\261\327\314\230\252\210L\202\213^\34\1\212]\34\202" \ + "\210\\\34\32\207[\33\205Z\33\317\277\201\344\333\232\343\333\230\343" \ + "\332\225\343\332\222\343\331\220\343\331\215\343\331\211\343\330\204" \ + "\343\330~\343\326x}m092\21""71\20""3-\17.)\16($\14#\36\12\33\27\10\25" \ + "\22\6\17\15\5\11\10\3\5\4\1\1\1\0\377\0\0\0\377\0\0\0\274\0\0\0\14\3" \ + "\3\1\6\5\2\14\12\4\21\16\5\27\24\6\34\30\10#\36\12'#\14,'\16""1,\17""6" \ + "0\20""82\20\20492\21\20282\20\1""71\20\20360\20\2025/\17\2044.\20""0" \ + "3-\17""5.\17""6/\20""7/\17""90\20:0\20<2\21>3\21\77""3\20A4\21B5\21E" \ + "7\21F8\22I9\22H9\22K9\22M;\23O=\23Q=\23R>\24U@\24WA\24YB\25ZC\25[B\25" \ + "^E\25_E\26aG\26cH\26dH\27eH\27hJ\27iK\27jL\30lM\30lM\27nM\30pO\31qP\30" \ + "rP\31vT\36\214o@\237\210`\256\235|\276\257\227\322\312\271\344\341\331" \ + "\350\347\341\203\350\347\342\35\301\257\224\202Y\33\203Y\33\202V\31\200" \ + "S\30~Q\27{M\27zJ\25yG\24wD\22sA\21s\77\21s=\20u\77\20wA\21|F\23\200K" \ + "\25\203N\26\210S\30\215Y\32\217\\\32\222_\34\225b\35\225d\35\226d\35" \ + "\243u8\347\344\323\347\344\322\347\344\321\202\347\344\317\17\347\343" \ + "\316\346\343\315\346\343\314\346\343\313\346\343\312\346\343\311\346" \ + "\343\307\346\343\306\346\343\305\346\343\304\346\342\303\346\342\302" \ + "\346\342\300\346\342\276\346\341\275\202\345\341\273'\345\341\271\345" \ + "\340\267\345\340\266\345\340\264\327\312\232\260\217T\220a\36\217_\34" \ + "\216_\35\214^\34\213^\34\212]\34\211\\\34\210\\\34\207[\33\336\324\224" \ + "\344\333\232\343\333\227\343\332\224\343\332\222\343\331\220\343\331" \ + "\214\343\331\210\343\330\204\343\330~\342\326ueY&92\21""71\20""3-\17" \ + "-(\16'#\14\"\35\12\33\27\10\25\22\6\16\14\4\10\7\3\4\3\1\1\1\0\377\0" \ + "\0\0\377\0\0\0\273\0\0\0\14\1\1\0\4\3\1\10\7\3\16\14\4\23\20\5\31\25" \ + "\7\40\33\11%!\13+&\15/*\16""4.\20""82\20\20292\21\3\232\221^\201zMF>" \ + "\33\20592\21\20382\20\20571\20\20291\20\7<3\21>4\21\77""4\21@5\21A6\21" \ + "C7\21E8\22\202H:\22\35J:\23L;\23M=\23O=\24Q>\24S\77\24T@\25VA\25XC\25" \ + "YC\25[D\26[E\26_E\26_F\27aG\27cH\27dI\27eJ\27gJ\27hK\27jL\30}b3\206n" \ + "A\240\212f\253\233{\271\254\221\320\310\266\334\331\314\347\346\336\202" \ + "\347\346\337\203\350\347\340\205\350\347\341\2\324\313\271\204Y\33\202" \ + "\205Y\33\31\202V\31\202S\31\177O\30|K\26yI\24wE\23wC\22vA\21v>\20v\77" \ + "\21yC\22}F\23\201K\25\206O\26\210T\30\213X\32\220\\\32\222_\33\226b\35" \ + "\230c\36\227d\36\232f\40\345\341\316\347\344\321\347\344\320\202\347" \ + "\344\317\7\346\343\316\346\343\315\346\343\314\346\343\312\346\343\311" \ + "\346\343\310\346\343\307\202\346\343\305\14\346\343\304\346\342\302\346" \ + "\342\301\346\342\300\346\342\276\346\341\274\345\341\273\345\341\272" \ + "\345\341\271\345\340\267\326\306\226\255\212M\202\222a\35\1\220`\34\202" \ + "\217_\34\36\216_\35\216^\35\213^\34\212]\34\211\\\34\217f&\344\334\234" \ + "\344\333\231\343\333\227\343\332\224\343\332\222\343\331\217\343\331" \ + "\214\343\331\210\343\330\202\343\327}\342\326uPG\35""92\21""60\20""3" \ + "-\17-(\16'#\14\"\35\12\32\26\7\24\21\5\16\14\4\10\7\3\4\3\1\1\1\0\377" \ + "\0\0\0\377\0\0\0\273\0\0\0\13\2\2\1\5\4\2\12\11\3\20\16\4\26\23\6\33" \ + "\27\10#\36\12'#\14,'\16""2-\17""60\20\20292\21\10SM%\344\333\231\344" \ + "\334\234\344\334\236\274\264\177\217\210Zph@NG#\21092\21\14:2\21;4\21" \ + ">5\21\77""5\21@5\21A6\22C7\22E8\22F:\23I;\23H:\23K<\24\202N=\24\22P>" \ + "\24Q\77\24S\77\24S@\24VB\25XC\25YC\25[C\26\\D\26`G\30zf;}g\77\230\210" \ + "d\230\207c\263\246\213\267\254\217\315\307\261\330\323\301\202\347\345" \ + "\331\1\347\346\332\202\347\346\333\1\347\346\334\202\347\346\335\202" \ + "\347\346\336\202\347\346\337\1\350\346\337\206\350\347\340\30\347\345" \ + "\335\210_\"\206Z\33\205Z\33\204W\32\203U\30\201R\30\177M\26}K\25zG\24" \ + "yD\22wA\21v>\21w\77\21{D\22~F\23\202J\25\206O\26\213T\30\216X\31\221" \ + "\\\33\225`\34\230b\35\231e\36\202\232e\36\14\333\317\264\347\344\321" \ + "\347\344\320\347\344\317\347\343\316\346\343\315\346\343\314\346\343" \ + "\313\346\343\312\346\343\311\346\343\310\346\343\306\202\346\343\305" \ + "\15\346\343\303\346\342\302\346\342\301\346\342\277\346\342\275\346\341" \ + "\274\345\341\273\345\341\272\314\271\207\250\202C\225c\35\224b\35\223" \ + "a\35\202\222a\35\1\221`\34\203\217_\34\1\216^\35\202\213^\34\30\237{" \ + ";\344\334\234\343\333\231\343\333\226\343\332\223\343\332\222\343\331" \ + "\217\343\331\212\343\331\207\343\330\202\343\327}\342\325r@8\24""92\21" \ + "60\20""2-\17,'\16&!\13!\34\11\32\26\7\23\20\5\15\13\4\7\6\2\4\3\1\377" \ + "\0\0\0\377\0\0\0\273\0\0\0\14\1\1\0\3\3\1\7\6\2\14\12\4\21\16\5\30\25" \ + "\7\36\32\11$\37\13*%\15/*\16""4.\20""71\20\20292\21\16\211\201P\344\333" \ + "\231\344\334\234\344\334\235\344\334\240\344\335\243\344\335\245\344" \ + "\335\246\344\336\250\301\273\214\262\254\177\240\232p\231\222j~wQ\202" \ + "~wS\26_X5^W2^V3`W3bX4cZ5eZ5g[5g[7h[6j]7\202wS\212\177[\214\177\\\215" \ + "\201\\\232\217k\254\242\202\255\242\202\256\245\205\313\304\251\313\305" \ + "\252\333\330\300\202\347\344\321\5\347\344\322\347\344\323\347\345\324" \ + "\347\345\325\347\345\326\202\347\345\327\1\347\345\330\202\347\345\331" \ + "\2\347\346\331\347\346\332\202\347\346\333\202\347\346\334\202\347\346" \ + "\335\202\347\346\336\203\347\346\337\202\350\346\337\202\350\347\340" \ + "\34\350\346\337\234yE\207[\34\207Z\33\207Y\32\204V\31\204S\27\202P\27" \ + "~L\26|I\24{F\23zC\22x@\21zA\21|C\22\200H\23\203K\24\210P\27\213S\30\220" \ + "X\32\224\\\33\226a\34\231c\35\232e\36\233f\36\234f\37\320\276\234\347" \ + "\344\320\202\347\344\317\31\347\343\316\346\343\315\346\343\314\346\343" \ + "\313\346\343\312\346\343\311\346\343\307\346\343\306\346\343\305\346" \ + "\343\304\346\342\303\346\342\302\346\342\300\346\342\277\346\342\275" \ + "\337\327\260\304\252v\242s0\227d\36\230c\36\230d\36\225d\35\225c\35\224" \ + "b\35\223a\35\202\222a\35\1\220`\34\202\217_\34\16\216^\35\214^\34\263" \ + "\226U\344\333\233\343\333\231\343\333\226\343\332\222\343\332\221\343" \ + "\331\216\343\331\212\343\331\207\343\330\201\343\327{\323\305h\20292" \ + "\21\12""60\20""1,\17,'\15&!\13\40\33\11\31\25\7\22\17\5\15\13\4\7\6\2" \ + "\3\3\1\377\0\0\0\377\0\0\0\273\0\0\0\14\1\1\0\4\3\1\10\7\3\16\14\4\23" \ + "\20\5\31\25\7!\34\11&!\13,'\15""1,\17""60\20""82\20\20292\21\23\252\242" \ + "h\343\333\231\344\333\233\344\334\234\344\334\240\344\335\242\344\335" \ + "\244\344\335\246\344\336\247\344\336\252\345\336\254\345\337\256\345" \ + "\337\260\345\337\261\345\340\262\345\340\264\345\340\266\345\340\270" \ + "\345\341\271\202\345\341\273\17\346\341\275\346\342\277\346\342\300\346" \ + "\342\302\346\342\303\346\343\304\346\343\305\346\343\306\346\343\307" \ + "\346\343\310\346\343\311\346\343\312\346\343\314\346\343\315\346\343" \ + "\316\202\347\344\317\3\347\344\320\347\344\321\347\344\322\202\347\344" \ + "\323\5\347\345\324\347\345\325\347\345\326\347\345\327\347\345\330\203" \ + "\347\345\331\2\347\346\331\347\346\332\202\347\346\333\202\347\346\334" \ + "\203\347\346\335\204\347\346\336\204\347\346\337$\262\230r\210\\\34\211" \ + "\\\33\210Z\32\207W\32\205T\31\203R\27\203M\26~K\25~H\24|E\22|C\21{B\21" \ + "~D\22\200G\23\205L\25\212P\27\215T\30\221Y\31\225]\33\227`\34\231d\35" \ + "\234f\36\235f\37\236g\37\305\253\200\347\344\320\347\344\317\347\343" \ + "\316\346\343\315\346\343\314\346\343\313\346\343\312\346\343\311\346" \ + "\343\310\346\343\307\202\346\343\305\7\346\343\304\346\342\302\346\342" \ + "\301\346\342\300\323\302\227\266\221V\237k%\202\233f\36\10\232e\36\231" \ + "d\36\230d\36\226c\36\226b\35\225b\35\224b\35\223a\35\202\222a\35\1\220" \ + "`\34\202\217_\34\31\216_\35\310\263r\344\333\232\343\333\230\343\332" \ + "\225\343\332\222\343\332\221\343\331\215\343\331\211\343\331\206\343" \ + "\330\201\343\326x\275\257W92\21""82\20""60\20""1,\17+&\15&!\13\37\33" \ + "\11\31\25\7\22\17\5\14\12\4\6\5\2\3\3\1\377\0\0\0\377\0\0\0\273\0\0\0" \ + "\13\2\2\1\5\4\1\11\10\3\17\15\5\25\22\6\33\27\10\"\35\12'#\14-(\16""3" \ + "-\17""71\20\20392\21\33\263\254p\343\333\230\344\333\232\344\334\234" \ + "\344\334\237\344\335\241\344\335\243\344\335\245\344\336\247\344\336" \ + "\251\345\336\253\345\337\255\345\337\257\345\337\261\345\340\262\345" \ + "\340\264\345\340\266\345\340\267\345\341\271\345\341\272\345\341\273" \ + "\346\341\274\346\342\276\346\342\300\346\342\301\346\342\302\346\343" \ + "\304\202\346\343\305\10\346\343\307\346\343\310\346\343\311\346\343\312" \ + "\346\343\313\346\343\314\346\343\315\347\343\316\202\347\344\317\6\347" \ + "\344\320\347\344\321\347\344\322\347\344\323\347\344\324\347\345\325" \ + "\202\347\345\326\2\347\345\327\347\345\330\203\347\345\331\2\347\346" \ + "\331\347\346\332\202\347\346\333\203\347\346\334\203\347\346\335\206" \ + "\347\346\336\27\303\262\225\212]\34\213]\33\212[\32\210Y\33\207V\31\206" \ + "R\27\203P\26\201M\26\200I\24~G\23}D\22}C\22\200E\22\203H\23\207L\25\212" \ + "P\26\216U\30\222Y\32\226^\33\230`\34\232d\35\236f\36\202\237h\37\1\275" \ + "\233h\202\347\344\317\10\347\343\316\346\343\315\346\343\314\346\343" \ + "\313\346\343\312\346\343\311\346\343\307\346\343\306\202\346\343\305" \ + "\5\346\343\303\337\326\261\305\250t\252z8\237h\37\202\236g\37\13\235" \ + "f\37\234f\37\233e\36\232d\35\231d\35\227c\35\226c\35\226b\35\225b\35" \ + "\225c\35\224b\35\202\222a\35\1\221`\34\202\217_\34\30\334\316\217\344" \ + "\333\232\343\333\227\343\332\224\343\332\222\343\331\220\343\331\215" \ + "\343\331\210\343\330\204\343\330~\343\326x\237\225J92\21""82\20""5/\17" \ + "0+\17+&\15$\37\13\36\32\11\30\25\7\21\16\5\13\11\3\6\5\2\3\3\1\377\0" \ + "\0\0\377\0\0\0\273\0\0\0\13\3\3\1\5\4\2\12\11\3\17\15\4\26\23\6\34\30" \ + "\10#\36\12)%\14.)\16""4.\20""82\20\20392\21\33\241\231b\343\333\227\344" \ + "\333\232\344\334\234\344\334\236\344\334\240\344\335\243\344\335\245" \ + "\344\336\247\344\336\251\345\336\253\345\337\255\345\337\256\345\337" \ + "\260\345\340\262\345\340\263\345\340\265\345\340\267\345\341\270\345" \ + "\341\272\345\341\273\346\341\274\346\342\275\346\342\277\346\342\300" \ + "\346\342\302\346\343\303\202\346\343\305\3\346\343\306\346\343\307\346" \ + "\343\311\202\346\343\312\3\346\343\314\346\343\315\346\343\316\202\347" \ + "\344\317\3\347\344\320\347\344\321\347\344\322\202\347\344\323\3\347" \ + "\345\324\347\345\325\347\345\326\202\347\345\327\1\347\345\330\204\347" \ + "\345\331\202\347\346\332\202\347\346\333\203\347\346\334\207\347\346" \ + "\335\1\327\317\275\202\213^\34\24\214]\33\213Z\32\212X\32\206S\30\206" \ + "Q\27\204N\26\201J\24\200H\23\200E\22\177D\22\200E\22\203I\23\210N\25" \ + "\213Q\26\217U\31\224Y\31\226^\33\231a\34\235e\35\237g\36\202\240i\37" \ + "\4\265\213Q\347\344\317\347\343\316\346\343\315\202\346\343\314\12\346" \ + "\343\312\346\343\311\346\343\310\346\343\307\346\343\306\342\333\272" \ + "\314\264\204\263\210I\242i\37\240h\37\202\240i\37\202\237h\37\4\236g" \ + "\36\235f\36\234d\36\231d\35\202\230c\35\"\227c\35\226b\35\230b\35\226" \ + "b\35\225c\35\224b\35\223a\35\222a\35\221`\34\231m*\344\334\234\344\333" \ + "\231\343\333\227\343\332\223\343\332\222\343\331\217\343\331\214\343" \ + "\331\210\343\330\202\343\327}\342\326u\205{992\21""82\20""5/\17/*\16" \ + "*%\15$\37\13\35\31\10\27\24\6\20\16\4\12\11\3\5\4\2\2\2\1\377\0\0\0\377" \ + "\0\0\0\273\0\0\0\12\3\3\1\6\5\2\13\11\3\20\16\4\27\24\6\35\31\10#\36" \ + "\12)%\14/*\16""5/\17\20292\21\26JB\35""92\21rk=\343\333\227\344\333\231" \ + "\344\334\234\344\334\235\344\334\240\344\335\242\344\335\245\344\335" \ + "\246\344\336\250\344\336\252\345\336\254\345\337\256\345\337\260\345" \ + "\337\261\345\340\263\345\340\264\345\340\266\345\340\270\345\341\271" \ + "\202\345\341\273\6\346\341\275\346\342\276\346\342\300\346\342\301\346" \ + "\342\302\346\343\304\202\346\343\305\10\346\343\307\346\343\310\346\343" \ + "\311\346\343\312\346\343\313\346\343\314\346\343\315\347\343\316\202" \ + "\347\344\317\3\347\344\320\347\344\321\347\344\322\202\347\344\323\3" \ + "\347\345\324\347\345\325\347\345\326\202\347\345\327\1\347\345\330\204" \ + "\347\345\331\2\347\346\331\347\346\332\204\347\346\333\207\347\346\334" \ + "&\346\344\332\217d%\216_\35\215^\34\214[\33\212X\31\211V\32\210S\30\206" \ + "O\26\204L\25\202I\23\201F\23\201E\22\202F\22\205J\23\211M\25\215Q\26" \ + "\220V\30\224Y\31\230]\33\232a\34\237e\36\240h\37\242i\37\241i\37\254" \ + "y7\347\344\317\347\343\316\346\343\315\346\343\314\346\343\313\346\343" \ + "\312\346\343\311\342\333\275\317\270\213\270\217R\246m\"\244j\37\203" \ + "\243i\37\202\241i\37\6\240h\37\237g\36\237f\36\235d\35\233b\35\232b\35" \ + "\203\230b\35\1\230c\35\202\230b\35\36\226b\35\225d\35\224b\35\223a\35" \ + "\222a\35\257\214J\344\333\233\343\333\231\343\333\226\343\332\223\343" \ + "\332\221\343\331\216\343\331\212\343\331\207\343\330\202\343\327{\342" \ + "\325re\\'92\21""71\20""4.\20.)\16)%\14#\36\12\34\30\10\26\23\6\17\15" \ + "\4\11\10\3\5\4\1\1\1\0\377\0\0\0\377\0\0\0\273\0\0\0\12\3\3\1\6\5\2\13" \ + "\11\3\21\16\5\27\24\6\35\31\10$\37\13*%\15""0+\17""60\20\20292\21\36" \ + "F>\32MF!@8\26\323\311\211\343\333\231\344\333\233\344\334\234\344\334" \ + "\237\344\335\241\344\335\244\344\335\246\344\336\247\344\336\251\345" \ + "\336\253\345\337\255\345\337\257\345\337\261\345\340\262\345\340\264" \ + "\345\340\266\345\340\267\345\341\271\345\341\272\345\341\273\346\341" \ + "\274\346\342\276\346\342\277\346\342\301\346\342\302\346\343\303\202" \ + "\346\343\305\12\346\343\306\346\343\307\346\343\310\346\343\311\346\343" \ + "\312\346\343\314\346\343\315\346\343\316\347\343\316\347\344\317\202" \ + "\347\344\320\7\347\344\321\347\344\322\347\344\323\347\344\324\347\345" \ + "\324\347\345\325\347\345\326\202\347\345\327\202\347\345\330\204\347" \ + "\345\331\203\347\346\332\211\347\346\333!\246\202P\217_\34\216^\34\215" \ + "\\\33\215[\32\214X\32\212U\30\210Q\27\207N\26\206L\25\204H\23\203F\22" \ + "\204G\22\210J\24\212M\25\216Q\27\222U\30\225Z\32\231_\32\235b\34\240" \ + "f\36\241g\37\243i\37\244j\37\245l\"\345\341\311\346\343\315\346\343\314" \ + "\346\343\313\340\331\274\316\266\212\271\215R\247m#\203\246l\40\202\246" \ + "k\37\10\245j\37\244j\37\243h\37\241h\36\240g\36\240f\36\236d\36\235b" \ + "\34\203\232a\34#\231a\35\230b\35\231b\35\230c\35\230b\35\226c\35\226" \ + "d\36\225d\35\224b\35\223a\35\310\262p\344\333\232\343\333\230\343\332" \ + "\225\343\332\222\343\332\221\343\331\215\343\331\211\343\331\206\343" \ + "\330\201\343\327{\342\325rC<\26""92\21""60\20""3-\17-(\16'#\14\"\35\12" \ + "\33\27\10\24\21\5\17\15\5\11\10\3\5\4\1\1\1\0\377\0\0\0\377\0\0\0\273" \ + "\0\0\0\12\3\3\1\6\5\2\13\11\3\21\16\5\27\24\6\36\32\11$\37\13+&\15""0" \ + "+\17""60\20\20392\21\36f^292\21ld8\343\333\230\344\333\232\344\334\234" \ + "\344\334\236\344\334\240\344\335\243\344\335\245\344\336\247\344\336" \ + "\251\345\336\253\345\337\255\345\337\256\345\337\260\345\337\261\345" \ + "\340\263\345\340\264\345\340\266\345\341\270\345\341\272\345\341\273" \ + "\346\341\274\346\342\275\346\342\277\346\342\300\346\342\301\346\342" \ + "\302\346\343\304\202\346\343\305\10\346\343\307\346\343\310\346\343\311" \ + "\346\343\312\346\343\313\346\343\314\346\343\315\346\343\316\202\347" \ + "\344\317\1\347\344\320\202\347\344\321\6\347\344\322\347\344\323\347" \ + "\344\324\347\345\324\347\345\325\347\345\326\203\347\345\327\1\347\345" \ + "\330\205\347\345\331\1\347\346\331\204\347\346\332\205\347\346\333\2" \ + "\272\242{\217_\34\202\216^\34\31\216\\\33\213X\32\213V\30\212S\30\210" \ + "P\26\207M\25\206J\24\205G\22\206H\23\207K\24\214N\25\217Q\26\223U\27" \ + "\227Z\31\232_\33\236c\34\240e\35\243h\36\245j\37\246k\37\246l\40\336" \ + "\325\267\333\315\254\306\247v\266\210F\207\250l\40\10\247l\40\246k\40" \ + "\245j\37\245i\37\243h\36\241f\35\240d\35\237c\34\202\234a\34\2\233`\34" \ + "\232`\33\202\232a\34\5\231a\34\230b\35\231b\35\230c\35\230d\35\202\230" \ + "d\36\16\225d\35\225d\37\337\323\222\344\333\231\343\333\227\343\332\224" \ + "\343\332\222\343\331\220\343\331\214\343\331\210\343\330\204\343\330" \ + "~\343\326x\311\276a\20292\21\13""60\20""2-\17,'\16&!\13!\34\11\31\25" \ + "\7\23\20\5\16\14\4\10\7\3\4\3\1\1\1\0\377\0\0\0\377\0\0\0\273\0\0\0\13" \ + "\3\3\1\6\5\2\13\11\3\20\16\4\27\24\6\35\31\10$\37\13*%\15""0+\17""5/" \ + "\17""82\20\20292\21\1rk<\20292\21\33\203|L\344\333\231\344\334\234\344" \ + "\334\235\344\334\240\344\335\243\344\335\245\344\335\246\344\336\250" \ + "\344\336\252\345\336\254\345\337\256\345\337\260\345\337\261\345\340" \ + "\262\345\340\264\345\340\266\345\340\267\345\341\271\345\341\272\345" \ + "\341\273\346\341\274\346\342\276\346\342\277\346\342\301\346\342\302" \ + "\346\343\303\202\346\343\305\11\346\343\306\346\343\307\346\343\310\346" \ + "\343\311\346\343\312\346\343\313\346\343\314\346\343\315\347\343\316" \ + "\202\347\344\317\2\347\344\320\347\344\321\202\347\344\322\4\347\344" \ + "\323\347\344\324\347\345\324\347\345\325\202\347\345\326\202\347\345" \ + "\327\202\347\345\330\207\347\345\331\202\347\346\331\203\347\346\332" \ + "\34\347\346\331\320\303\246\220`\34\221`\35\221_\34\217]\33\217Z\32\216" \ + "X\31\214T\27\212Q\27\212N\25\211L\25\210I\23\207I\23\211J\23\215N\25" \ + "\221R\26\224U\30\230Z\31\233^\33\237c\34\241f\35\245i\37\246l\40\247" \ + "k\40\250l\40\254s*\250m\40\210\251m\40\11\250l\37\250j\37\246i\37\245" \ + "h\36\244g\36\242e\35\241d\35\240b\35\236a\33\202\234_\33\202\233_\33" \ + "\202\232`\33!\232a\34\231a\34\231b\35\231d\35\230d\35\231d\36\227d\36" \ + "\230d\36\247\177:\344\333\233\343\333\231\343\333\226\343\332\223\343" \ + "\332\222\343\331\217\343\331\214\343\331\207\343\330\202\343\327}\342" \ + "\326u\242\226H92\21""82\20""60\20""0+\17+&\15&!\13\37\33\11\31\25\7\22" \ + "\17\5\14\12\4\7\6\2\3\3\1\377\0\0\0\377\0\0\0\274\0\0\0\13\2\2\1\5\4" \ + "\2\12\11\3\20\16\4\26\23\6\35\31\10#\36\12)%\14/*\16""4.\20""82\20\202" \ + "92\21\2wo\77C<\31\20292\21\33yrE\336\325\227\344\334\234\344\334\237" \ + "\344\335\241\344\335\244\344\335\246\344\336\247\344\336\251\345\336" \ + "\253\345\337\255\345\337\257\345\337\261\345\340\262\345\340\263\345" \ + "\340\265\345\340\267\345\341\270\345\341\272\345\341\273\346\341\274" \ + "\346\342\275\346\342\277\346\342\300\346\342\301\346\342\302\346\343" \ + "\304\202\346\343\305\3\346\343\306\346\343\307\346\343\311\202\346\343" \ + "\312\1\346\343\314\202\346\343\315\1\347\343\316\202\347\344\317\2\347" \ + "\344\320\347\344\321\202\347\344\322\202\347\344\323\1\347\345\324\202" \ + "\347\345\325\1\347\345\326\203\347\345\327\202\347\345\330\213\347\345" \ + "\331\27\341\335\317\222b\40\222a\35\222a\34\221]\33\220[\32\220Y\32\216" \ + "V\30\214R\27\213P\26\212M\25\211J\24\210I\23\213K\23\216N\25\221S\27" \ + "\224V\30\230Y\30\234]\33\237a\34\242e\35\244g\36\250l\40\204\251m\40" \ + "\202\253n\40""6\252n!\252m!\252m\40\252l\40\251k\40\250j\37\251j\36\250" \ + "i\36\247h\36\245f\35\245e\35\243d\35\241b\34\236`\33\235^\33\235]\32" \ + "\233]\31\233^\33\232^\32\233`\33\232`\34\232a\34\233b\34\232c\35\233" \ + "c\35\233e\36\232e\36\231e\36\227d\36\303\251e\344\333\232\343\333\230" \ + "\343\332\225\343\332\222\343\332\221\343\331\216\343\331\212\343\331" \ + "\206\343\330\201\343\327{\342\325ryn192\21""82\20""5/\17/*\16*%\15$\37" \ + "\13\36\32\11\27\24\6\21\16\5\13\11\3\6\5\2\3\3\1\377\0\0\0\377\0\0\0" \ + "\274\0\0\0\13\1\1\0\5\4\1\11\10\3\17\15\4\25\22\6\33\27\10#\36\12($\14" \ + ".)\16""3-\17""71\20\20292\21\2OH\"wp@\20392\21&SM&\276\266~\344\334\236" \ + "\344\334\240\344\335\243\344\335\245\344\335\246\344\336\250\345\336" \ + "\253\345\337\255\345\337\256\345\337\260\345\337\261\345\340\263\345" \ + "\340\264\345\340\266\345\340\267\345\341\271\345\341\272\345\341\273" \ + "\346\341\274\346\342\276\346\342\277\346\342\301\346\342\302\346\342" \ + "\303\346\343\304\346\343\305\346\343\306\346\343\307\346\343\310\346" \ + "\343\311\346\343\312\346\343\313\346\343\314\346\343\315\346\343\316" \ + "\347\343\316\202\347\344\317\2\347\344\320\347\344\321\202\347\344\322" \ + "\202\347\344\323\202\347\345\324\1\347\345\325\202\347\345\326\203\347" \ + "\345\327\204\347\345\330\210\347\345\331\30\243yA\224b\35\224a\34\224" \ + "`\34\223]\33\221Z\31\220X\31\216U\30\216Q\27\214O\26\213L\24\213K\23" \ + "\214L\24\217N\25\222Q\25\226U\27\231Z\30\234]\32\237`\33\243d\35\245" \ + "h\36\250j\37\251l\40\253n\40\202\252n!\10\252m\40\253m\40\252l\40\253" \ + "m\40\252l\37\252k\37\252j\37\250h\36\202\247g\36\15\246f\35\245d\35\244" \ + "c\33\242`\33\240_\32\237]\33\235\\\32\233[\32\233\\\32\234\\\31\234]" \ + "\33\233^\33\233`\33\202\234b\34\37\234c\35\234d\35\234e\36\234f\37\233" \ + "f\36\232f\40\337\323\222\344\333\231\343\333\227\343\332\224\343\332" \ + "\222\343\331\220\343\331\215\343\331\211\343\330\204\343\330~\343\326" \ + "x\342\325nOG\34""92\21""71\20""4.\20.)\16)%\14#\36\12\34\30\10\26\23" \ + "\6\17\15\4\12\11\3\5\4\2\1\1\0\377\0\0\0\377\0\0\0\274\0\0\0\13\1\1\0" \ + "\4\3\1\10\7\3\16\14\4\24\21\5\32\26\7\"\35\12'#\14,'\16""2-\17""60\20" \ + "\20392\21\1\241\231`\20592\21\31nf<\307\276\207\344\335\242\344\335\244" \ + "\344\335\246\344\336\247\344\336\251\345\336\253\345\337\255\345\337" \ + "\257\345\337\261\345\340\262\345\340\263\345\340\265\345\340\267\345" \ + "\341\270\345\341\272\345\341\273\346\341\274\346\341\275\346\342\276" \ + "\346\342\300\346\342\301\346\342\302\346\343\303\202\346\343\305\12\346" \ + "\343\306\346\343\307\346\343\310\346\343\311\346\343\312\346\343\313" \ + "\346\343\314\346\343\315\346\343\316\347\343\316\202\347\344\317\1\347" \ + "\344\320\202\347\344\321\1\347\344\322\202\347\344\323\2\347\344\324" \ + "\347\345\324\202\347\345\325\202\347\345\326\205\347\345\327\210\347" \ + "\345\330\30\266\230j\224b\35\225b\35\225`\35\225^\34\223\\\32\222X\30" \ + "\221V\30\217S\27\216P\26\216N\25\216L\24\216M\24\220N\25\223Q\26\227" \ + "T\27\232Y\31\235]\32\240a\34\243c\35\245e\35\250i\37\251k\37\252l\40" \ + "\202\254m\40\2\254l\40\254m\37\202\253k\37\202\253j\36\12\251i\36\251" \ + "g\35\250f\35\247d\34\247d\35\245b\34\243a\33\241_\33\240]\32\236[\31" \ + "\202\234Z\30\31\234Z\32\234[\32\234\\\32\234^\33\234_\33\234a\34\235" \ + "b\34\235d\34\235e\35\236f\36\234f\37\233f\36\260\211E\344\333\233\343" \ + "\333\231\343\333\226\343\332\223\343\332\222\343\331\217\343\331\214" \ + "\343\331\210\343\330\202\343\327}\342\326u\315\301`\20292\21\13""60\20" \ + "2-\17,'\16'#\14\"\35\12\32\26\7\24\21\5\17\15\5\11\10\3\5\4\1\1\1\0\377" \ + "\0\0\0\377\0\0\0\275\0\0\0\13\3\3\1\7\6\2\15\13\4\22\17\5\31\25\7\40" \ + "\33\11&!\13+&\15""0+\17""60\20""82\20\20292\21\2\234\222YMF!\20692\21" \ + "\30c\\5\250\241p\340\331\241\344\336\247\344\336\251\345\336\253\345" \ + "\337\255\345\337\256\345\337\260\345\337\261\345\340\263\345\340\264" \ + "\345\340\266\345\340\267\345\341\271\345\341\272\345\341\273\346\341" \ + "\274\346\342\276\346\342\277\346\342\300\346\342\302\346\342\303\346" \ + "\343\304\202\346\343\305\12\346\343\306\346\343\307\346\343\310\346\343" \ + "\311\346\343\312\346\343\313\346\343\314\346\343\315\346\343\316\347" \ + "\343\316\202\347\344\317\1\347\344\320\202\347\344\321\202\347\344\322" \ + "\202\347\344\323\2\347\344\324\347\345\324\203\347\345\325\203\347\345" \ + "\326\211\347\345\327\36\311\266\224\225d\35\226d\36\226b\35\226`\34\226" \ + "]\33\224Z\33\222W\30\222U\30\221R\26\220O\26\217M\24\220N\24\221N\24" \ + "\224Q\26\227T\27\233X\27\235[\31\240^\32\243b\34\245d\35\247g\35\251" \ + "i\36\253k\36\253k\37\254j\37\253k\36\254j\37\253i\37\253i\36\202\252" \ + "g\36""1\251f\35\250e\35\250d\34\246b\33\246a\32\244`\32\243^\31\241\\" \ + "\32\237Z\31\235Y\31\235X\31\234X\30\234Y\30\235Z\32\234\\\32\235]\32" \ + "\236`\32\236a\34\236c\34\237d\35\237f\36\237g\36\236g\37\234f\37\314" \ + "\265s\344\333\232\343\333\230\343\332\225\343\332\222\343\332\221\343" \ + "\331\216\343\331\212\343\331\206\343\330\201\343\327{\342\325r\234\220" \ + "C92\21""82\20""60\20""1,\17,'\15&!\13\40\33\11\31\25\7\23\20\5\15\13" \ + "\4\7\6\2\4\3\1\377\0\0\0\377\0\0\0\276\0\0\0\13\3\3\1\6\5\2\13\11\3\21" \ + "\16\5\30\25\7\36\32\11$\37\13*%\15/*\16""5/\17""82\20\20292\21\2lc5\216" \ + "\205P\21092\21\16A9\30phA\250\241s\326\320\235\345\336\253\345\337\255" \ + "\345\337\257\345\337\261\345\340\262\345\340\263\345\340\265\345\340" \ + "\267\345\341\270\345\341\271\202\345\341\273\7\346\341\275\346\342\276" \ + "\346\342\277\346\342\301\346\342\302\346\342\303\346\343\304\202\346" \ + "\343\305\202\346\343\307\202\346\343\311\6\346\343\312\346\343\313\346" \ + "\343\314\346\343\315\346\343\316\347\343\316\202\347\344\317\202\347" \ + "\344\320\202\347\344\321\1\347\344\322\203\347\344\323\1\347\344\324" \ + "\202\347\345\324\203\347\345\325\211\347\345\326Q\335\326\300\226d\35" \ + "\230d\36\227c\35\227`\34\227^\34\225\\\32\224Y\31\223W\27\222T\27\221" \ + "Q\26\221O\25\221N\24\222O\25\225Q\26\230S\27\233W\30\236Z\31\237]\32" \ + "\243`\33\245c\34\247d\34\251g\35\251h\35\252g\36\253h\36\254h\36\253" \ + "h\36\254h\35\253g\35\253f\35\252e\34\251c\34\251b\33\250a\33\246`\33" \ + "\245_\32\244]\32\243\\\31\242Z\31\240Y\30\236X\27\235V\30\234W\30\235" \ + "Y\30\234Z\30\234[\32\235^\32\236_\33\237b\34\240d\35\240e\36\240h\37" \ + "\240i\37\237h\37\243p)\341\330\227\344\333\231\343\333\227\343\332\224" \ + "\343\332\222\343\331\217\343\331\214\343\331\210\343\330\204\343\330" \ + "~\343\326x\342\325nja(92\21""82\20""5/\17/*\16*%\15$\37\13\36\32\11\30" \ + "\25\7\21\16\5\14\12\4\6\5\2\3\3\1\377\0\0\0\377\0\0\0\276\0\0\0\13\2" \ + "\2\1\5\4\2\12\11\3\17\15\4\26\23\6\34\30\10#\36\12($\14-(\16""3-\17""7" \ + "1\20\20292\21\3@8\25\314\301}>7\25\21192\21\30:2\21;4\21XN)\177wN\247" \ + "\237s\305\275\220\345\337\261\345\340\262\345\340\264\345\340\266\345" \ + "\340\267\345\341\271\345\341\272\345\341\273\346\341\274\346\342\275" \ + "\346\342\276\346\342\300\346\342\301\346\342\302\346\343\303\346\343" \ + "\304\346\343\305\346\343\306\202\346\343\307\202\346\343\311\3\346\343" \ + "\312\346\343\313\346\343\314\202\346\343\315\1\347\343\316\203\347\344" \ + "\317\1\347\344\320\202\347\344\321\202\347\344\322\204\347\344\323\1" \ + "\347\344\324\202\347\345\324\212\347\345\325\32\241s3\231d\36\230d\35" \ + "\230b\35\230`\34\227^\32\226[\32\225X\30\223U\30\222R\26\223P\25\222" \ + "O\25\223O\25\226Q\25\231S\26\233U\27\235Y\31\240\\\32\243^\31\246a\32" \ + "\246b\33\250d\34\251e\34\253f\35\253g\35\253f\34\202\254f\34\4\254e\34" \ + "\253d\33\252b\33\252a\32\202\251`\32.\246]\31\245]\31\244[\30\244Z\31" \ + "\243X\30\237X\27\237V\27\236W\27\236X\27\235Y\31\236[\31\236]\31\240" \ + "_\33\240b\34\241d\35\241f\35\241f\36\241i\37\240h\37\240i\37\300\240" \ + "\\\344\333\232\343\333\230\343\332\225\343\332\222\343\332\221\343\331" \ + "\216\343\331\212\343\331\207\343\330\202\343\327}\342\326u\325\310d>" \ + "6\23""92\21""71\20""3-\17-(\16($\14#\36\12\34\30\10\26\23\6\17\15\4\12" \ + "\11\3\5\4\2\2\2\1\377\0\0\0\377\0\0\0\276\0\0\0\13\1\1\0\4\3\1\10\7\3" \ + "\16\14\4\24\21\5\32\26\7!\34\11&!\13,'\16""2-\17""60\20\20392\21\2\245" \ + "\234`un>\21192\21\26;3\21;4\21>5\21@6\21@6\22C7\22D7\22`U-}rI\213\200" \ + "W\247\236u\270\260\210\310\301\230\331\323\254\345\341\273\346\341\274" \ + "\346\342\275\346\342\277\346\342\300\346\342\301\346\342\302\346\343" \ + "\303\202\346\343\305\3\346\343\306\346\343\307\346\343\310\202\346\343" \ + "\311\3\346\343\312\346\343\313\346\343\314\202\346\343\315\1\347\343" \ + "\316\203\347\344\317\4\335\327\277\322\310\254\322\310\255\332\323\273" \ + "\203\347\344\322\205\347\344\323\203\347\344\324\203\347\345\324\203" \ + "\347\344\324C\266\224c\232e\36\233d\35\231c\35\231a\34\231_\33\227[\31" \ + "\226Z\31\225U\30\225T\27\224Q\26\224P\25\225P\25\227P\25\231S\26\233" \ + "T\27\236X\27\241Z\30\243]\31\245_\32\246`\33\250b\34\251c\33\252c\33" \ + "\253d\33\253c\33\253d\34\253c\33\253c\34\253a\33\252a\33\252`\33\251" \ + "_\32\251]\31\246\\\31\245[\30\244Y\30\243X\27\243W\27\241V\26\237U\27" \ + "\237X\27\237Y\30\240Z\30\240]\32\241_\32\242a\33\243d\35\243f\35\243" \ + "g\36\244h\37\243i\37\241i\37\242k!\337\322\220\344\333\231\343\333\227" \ + "\343\332\224\343\332\222\343\331\220\343\331\215\343\331\211\343\331" \ + "\206\343\330\201\343\327{\342\325r\240\225F\20292\21\13""60\20""2-\17" \ + ",'\16&!\13!\34\11\32\26\7\24\21\5\16\14\4\11\10\3\4\3\1\1\1\0\377\0\0" \ + "\0\377\0\0\0\277\0\0\0\13\3\3\1\7\6\2\15\13\4\22\17\5\31\25\7\37\33\11" \ + "%!\13+&\15""0+\17""5/\17""82\20\20292\21\2h`3\301\267v\21192\21\13;3" \ + "\21<4\21>5\21@6\21@6\22C7\22D9\22F:\23H;\23H:\23K<\24\202N=\24\15P>\24" \ + "R\77\24[H\34q`7sb7ub7\205sJ\222\203[\223\204[\225\205[\227\206\\\226" \ + "\206]\230\205\\\202\231\207^\16\232\210]\233\210_\235\211`\226\200T\210" \ + "m=\211n=\212m=\211k:uR\31wR\31yT\32zT\32|V\31\252\220e\203\347\344\321" \ + "\204\347\344\322\212\347\344\323\14\311\265\220\233f\36\234f\36\234d" \ + "\35\233b\34\232`\33\232^\33\230[\31\230X\30\227T\27\226S\27\225Q\25\202" \ + "\227P\25A\231R\26\235U\26\236W\27\240Y\30\244[\31\245]\31\246_\31\251" \ + "`\32\252a\32\252b\32\253a\33\254c\34\254b\32\254a\32\253`\33\254`\31" \ + "\253_\31\252^\32\252]\30\252\\\30\247[\31\246Y\30\245X\27\244V\27\244" \ + "W\26\242W\27\243W\27\241Y\30\241[\30\242]\31\243_\32\244a\34\244d\34" \ + "\245e\35\245h\36\245i\37\246j\40\245j\37\243i\37\272\222M\344\333\233" \ + "\343\333\231\343\333\226\343\332\223\343\332\222\343\331\217\343\331" \ + "\214\343\331\210\343\330\204\343\330~\343\326x\342\325ne\\&92\21""82" \ + "\20""5/\17""0+\17+&\15%!\13\37\33\11\31\25\7\22\17\5\15\13\4\7\6\2\3" \ + "\3\1\377\0\0\0\377\0\0\0\300\0\0\0\13\2\2\1\5\4\2\13\11\3\20\16\4\27" \ + "\24\6\35\31\10#\36\12)%\14.)\16""3-\17""71\20\20292\21\3;4\23\323\313" \ + "\202ib6\21092\21\202;3\21\6>5\21@5\21@5\22C7\22D9\22F:\23\202I;\23\1" \ + "K<\24\202N=\24\35Q\77\24R\77\24T\77\24UA\25WB\25YC\25ZD\25\\D\26^E\26" \ + "_F\27aG\27cH\27dI\27fJ\27gJ\27iK\27kM\30lM\30mM\30oN\30qP\30rP\31uQ\32" \ + "uR\31wS\31yT\32zT\32}V\32\212g0\203\347\344\320\204\347\344\321\212\347" \ + "\344\322\30\336\326\276\233f\36\234f\36\235e\36\235d\35\234b\34\233_" \ + "\33\233]\31\231Z\30\231W\30\230U\27\230S\26\230Q\25\231Q\25\232R\25\236" \ + "T\26\237U\27\241X\30\244Y\27\245[\30\246\\\31\251]\31\252^\32\253`\31" \ + "\203\254`\31\1\254_\31\202\254^\31""1\254]\31\253\\\31\253[\30\252Z\30" \ + "\252Y\30\251Y\27\246W\27\245V\27\244V\25\244W\27\244Y\30\244Z\30\244" \ + "\\\32\244_\32\246b\33\247d\35\246f\35\247h\35\247j\36\250k\37\247k\40" \ + "\246k\37\244j\37\331\310\206\344\333\231\343\333\227\343\332\224\343" \ + "\332\222\343\331\220\343\331\215\343\331\211\343\331\206\343\330\201" \ + "\343\327{\342\325r\317\302];4\22""92\21""71\20""3-\17.)\16)%\14#\36\12" \ + "\35\31\10\27\24\6\20\16\4\13\11\3\5\4\2\2\2\1\377\0\0\0\377\0\0\0\300" \ + "\0\0\0\13\1\1\0\5\4\1\11\10\3\17\15\5\24\21\5\32\26\7\"\35\12'#\14,'" \ + "\16""2-\17""60\20\20392\21\2\222\213S\273\262r\21092\21+;2\20;3\21=4" \ + "\21>4\21\77""4\21A5\21B6\21E8\22G9\22H;\22K;\23M<\23N=\24Q\77\24R\77" \ + "\24S@\24VB\25WB\25YC\25[C\26[E\26^E\26_F\27aG\27dH\27dI\27fJ\27hJ\27" \ + "jL\30kM\30lM\30nM\30pO\31qP\30sP\31tQ\31vS\32wS\31zT\31{U\32}V\32~V\32" \ + "\325\314\260\202\347\344\317\204\347\344\320\212\347\344\321\30\347\344" \ + "\320\247u6\236g\37\237f\36\236d\36\236c\35\234_\33\234^\33\233[\31\232" \ + "Y\31\233W\27\232T\26\232S\26\231R\25\233Q\25\236T\26\240V\26\242W\27" \ + "\244W\27\245Y\30\247[\31\251\\\30\253]\30\253^\31\203\254]\31\1\254]" \ + "\32\203\254\\\31#\254[\31\254[\30\253Z\27\252Y\27\250Y\27\250X\27\247" \ + "W\27\246X\27\246Y\30\245[\30\246\\\31\247_\32\250a\33\250d\34\250f\35" \ + "\250g\36\250j\37\251k\37\251m\40\250l\40\246l\40\273\221I\344\333\233" \ + "\343\333\231\343\333\226\343\332\223\343\332\222\343\331\217\343\331" \ + "\214\343\331\210\343\330\204\343\330~\343\326x\342\325n\215\203:\202" \ + "92\21\13""60\20""1,\17,'\16&!\13\"\35\12\32\26\7\24\21\5\17\15\5\11\10" \ + "\3\5\4\1\1\1\0\377\0\0\0\377\0\0\0\300\0\0\0\14\1\1\0\4\3\1\7\6\2\15" \ + "\13\4\22\17\5\31\25\7\37\33\11%!\13+&\15""0+\17""5/\17""82\20\20292\21" \ + "\3QJ\"\341\330\214ld7\20692\21,92\20:1\20:2\20;2\21<2\21=3\21>3\21\77" \ + "3\21A4\21D7\21G8\21H9\22I9\22L;\22O=\24Q>\24R>\24S@\24V@\24XC\25YC\25" \ + "[C\25]D\25_E\26`E\26bG\26cG\26eI\27gJ\27hK\30kK\30kL\30mM\30nM\30pN\27" \ + "sP\31uQ\31uR\31xS\31zT\32|V\31}V\32~V\33\265\241z\207\347\344\317\211" \ + "\347\344\320\25\347\344\317\273\227d\236g\37\237h\36\237f\36\237e\35" \ + "\236b\34\236_\33\235\\\32\234Z\30\233W\30\233U\27\233T\26\235S\25\234" \ + "S\25\237S\26\241U\26\243U\26\245W\27\246X\30\247Y\27\202\253[\30\3\254" \ + "\\\30\254\\\31\254]\30\202\255]\30\2\257\\\30\255\\\30\202\255[\30\202" \ + "\254[\27\17\254Z\27\253Z\30\253Z\27\250Y\27\252Z\30\252\\\30\251^\32" \ + "\252_\32\252c\32\252d\34\251e\35\251h\35\252j\36\252l\37\252l\40\202" \ + "\251m\40\33\250m\"\335\314\213\344\333\231\343\333\227\343\332\224\343" \ + "\332\222\343\331\220\343\331\215\343\331\211\343\331\207\343\330\202" \ + "\343\327}\342\326u\340\322jJB\31""92\21""82\20""5/\17/*\16+&\15%!\13" \ + "\37\33\11\31\25\7\22\17\5\15\13\4\7\6\2\3\3\1\377\0\0\0\377\0\0\0\302" \ + "\0\0\0\13\2\2\1\6\5\2\13\11\3\20\16\4\27\24\6\34\30\10#\36\12($\14-(" \ + "\16""3-\17""71\20\20392\21\3\263\254j\303\272x;4\23\20492\21\33""82\20" \ + "81\20""91\20:1\20""90\20:0\20;0\21;/\20<0\20</\20\77""2\17A3\20D6\21" \ + "F6\21H7\21K9\22M:\22O;\22Q<\23R=\23U\77\23V@\24YA\24ZA\24[B\25^C\25`" \ + "D\25\202bF\26\22dG\26fH\27hI\27iI\26kJ\27lJ\26nL\27qN\27tO\31uQ\30xS" \ + "\32zT\32|V\31}U\32\177W\33\231yD\346\343\315\346\343\316\202\347\343" \ + "\316\215\347\344\317\25\314\270\221\237h\37\240h\36\240g\36\240e\35\240" \ + "c\34\236`\33\236^\33\235[\31\235Y\31\235V\30\235U\26\236U\26\237S\26" \ + "\240T\26\242U\26\244V\25\246X\26\247W\27\252Y\27\253Z\30\202\254[\31" \ + "\2\255\\\30\257]\30\202\257\\\30\204\260\\\30\203\257\\\30\36\254[\27" \ + "\254Z\27\254\\\31\254]\31\254_\31\253`\33\254c\34\254d\34\254f\34\254" \ + "h\36\254i\37\254l\37\254m\40\254n!\252n!\251m\40\277\230Q\344\333\232" \ + "\343\333\230\343\333\226\343\332\223\343\332\222\343\331\217\343\331" \ + "\214\343\331\210\343\330\204\343\330~\343\326x\342\325n\257\243I\202" \ + "92\21\13""60\20""3-\17-(\16($\14#\36\12\34\30\10\26\23\6\20\16\4\13\11" \ + "\3\5\4\2\2\2\1\377\0\0\0\377\0\0\0\302\0\0\0\14\1\1\0\5\4\1\11\10\3\17" \ + "\15\5\24\21\5\32\26\7!\34\11&!\13,'\15""1,\17""60\20""82\20\20292\21" \ + "\3i`4\343\331\216wp@\20392\21\20282\20\6""70\20""81\17""80\20""90\20" \ + "8/\17""8.\17\2028-\17\17""9,\17:.\17</\17\77""1\20A2\17D3\17G5\20H5\21" \ + "J7\21M9\22O:\22R;\22R<\23U=\23W>\23\202Y\77\23\24\\@\23]A\24`C\24aD\24" \ + "bD\25dE\25fF\25hG\26jH\26lJ\26oK\27rM\30tP\27wR\31zT\32}V\32~V\32\177" \ + "W\33\202Z\35\337\332\277\203\346\343\315\202\346\343\316\213\347\343" \ + "\316\26\337\327\276\237h\37\240h\37\241g\36\241f\35\241d\35\240b\34\240" \ + "_\33\240\\\31\236Z\31\236X\27\237V\27\237U\27\240U\26\242U\26\243V\26" \ + "\245V\27\247W\27\250Y\27\253Z\27\253Z\30\254[\27\202\257\\\30\2\260\\" \ + "\30\261]\30\202\262]\27\202\263^\30\202\262]\27-\261]\30\260\\\30\257" \ + "\\\30\260]\30\257]\30\255_\32\255a\32\255b\32\257d\34\256f\35\256i\35" \ + "\257j\36\256l\37\256m\40\256o\40\255o!\253n!\255q%\336\317\216\344\333" \ + "\231\343\333\227\343\332\224\343\332\222\343\331\220\343\331\215\343" \ + "\331\211\343\331\207\343\330\202\343\327}\342\326u\342\324jbY$92\21""8" \ + "2\20""60\20""0+\17,'\15&!\13!\34\11\31\25\7\24\21\5\17\15\5\11\10\3\5" \ + "\4\1\1\1\0\377\0\0\0\377\0\0\0\303\0\0\0\13\3\3\1\7\6\2\15\13\4\22\17" \ + "\5\30\25\7\36\32\11$\37\13)%\14.)\16""4.\20""71\20\20392\21\3\303\272" \ + "u\323\313\203F>\32\20292\21\4""82\20""71\20""81\20""70\20\2027/\17\3" \ + "6-\17""6+\16""5*\16\2024)\15\7""4(\15""7*\16:+\16<-\16\77.\16A/\17D1" \ + "\17\202G3\20\14I5\20M7\20O7\21P8\21R9\21T:\22W;\22X=\22Y>\23[\77\23]" \ + "\77\23_@\23\202aA\23\15dB\24gE\25jG\25mI\26oK\27sM\27vP\31yS\31|U\31" \ + "~V\32\177W\32\202X\33\302\260\213\204\346\343\314\215\346\343\315\13" \ + "\255\177>\242i\37\241h\37\242g\36\242e\35\242c\34\241a\33\240]\32\240" \ + "[\32\240Z\30\237X\27\202\241V\26\12\243V\26\245V\27\246W\27\250X\27\253" \ + "Z\27\254Z\27\254[\27\257\\\30\260\\\30\261]\30\204\263^\30\202\263_\30" \ + "\204\263^\30\35\261^\30\261^\31\261a\31\261c\32\261c\34\260e\33\260f" \ + "\34\260i\35\260j\37\260l\37\260o\40\260o!\257p!\256p!\254n!\311\250b" \ + "\344\333\232\343\333\230\343\332\225\343\332\222\343\332\221\343\331" \ + "\217\343\331\214\343\331\210\343\330\204\343\330~\343\326x\342\325n\276" \ + "\261P\20292\21\13""71\20""3-\17.)\16)%\14$\37\13\36\32\11\30\25\7\21" \ + "\16\5\14\12\4\7\6\2\3\3\1\377\0\0\0\377\0\0\0\304\0\0\0\13\2\2\1\5\4" \ + "\2\12\11\3\17\15\4\26\23\6\33\27\10\"\35\12'#\14,'\16""1,\17""60\20\203" \ + "92\21\3um<\343\331\216\235\225]\20292\21""082\20""71\20""81\20""6/\20" \ + "7/\17""6-\16""5,\17""5*\16""4*\15""3'\15""2%\14""1%\13""1%\14""4&\14" \ + "6'\14""8(\14<+\15=+\16@,\17C0\17D0\17G1\16H2\17L4\17M5\20O5\21Q5\20R" \ + "7\20U9\22W9\22W:\21Z;\22\\<\22^=\22`>\23bA\23fC\24jF\25mI\26rL\27tN\27" \ + "wQ\31|T\31}V\32\177W\32\202X\33\240\202N\346\343\312\203\346\343\313" \ + "\215\346\343\314\26\301\243p\241i\37\243i\37\243h\36\243f\36\243d\35" \ + "\243a\33\242_\33\241]\32\242[\31\243X\30\243X\27\244W\26\244V\25\246" \ + "X\26\250X\27\252Y\27\253Z\30\254[\27\257\\\30\260\\\30\262]\27\202\263" \ + "^\30\2\263_\30\265_\31\204\266`\31-\265_\31\263_\30\263^\30\263_\31\263" \ + "a\32\262b\33\263d\33\262f\34\262h\35\262j\35\262k\36\261m\37\261o\40" \ + "\262p\40\261p!\261q\"\257p!\266\2026\343\331\230\343\333\231\343\333" \ + "\226\343\332\223\343\332\222\343\331\220\343\331\215\343\331\211\343" \ + "\331\206\343\330\201\343\327}\342\326u\342\324jpg*92\21""82\20""60\20" \ + "1,\17,'\16'#\14\"\35\12\33\27\10\25\22\6\17\15\4\12\11\3\5\4\2\2\2\1" \ + "\377\0\0\0\377\0\0\0\304\0\0\0\14\1\1\0\4\3\1\10\7\3\16\14\4\23\20\5" \ + "\31\25\7\37\33\11%!\13*%\15/*\16""4.\20""82\20\20292\21""5;4\23\307\276" \ + "x\341\330\215^V-92\21""82\20""71\20""81\20""6/\20""6.\17""5,\16""5+\17" \ + "3)\16""2(\15""0%\14/#\13.\"\12-!\12/!\12""1\"\12""3#\13""6%\14""7&\14" \ + ";(\15=*\15@+\15C,\16D-\16F.\16H/\17K0\16M2\16N3\17P4\20R5\17T6\20W7\21" \ + "X7\20Y8\20]:\21_=\22cA\23gB\24jF\25oJ\26sM\27vP\27zS\31}U\32\200X\32" \ + "\202Y\32\206^\"\341\335\300\206\346\343\312\207\346\343\313\203\346\343" \ + "\312\24\325\306\241\243i\37\244j\37\245i\37\244h\36\245e\35\244d\34\244" \ + "a\33\244_\31\243]\31\244Z\31\243X\27\244V\27\245V\27\247W\27\250Y\27" \ + "\253Z\30\254[\27\257\\\30\260\\\30\202\263^\30\4\263_\30\266`\31\267" \ + "a\31\270`\31\204\271a\32-\270`\31\267a\31\267a\32\266b\32\266c\32\266" \ + "e\34\266f\34\266i\35\266j\36\264l\37\263m\37\264n\40\263p!\262q!\262" \ + "r!\261q\"\257q!\330\303\177\344\333\231\343\333\227\343\332\224\343\332" \ + "\222\343\332\221\343\331\216\343\331\212\343\331\207\343\330\204\343" \ + "\330~\343\326x\342\325n\303\266S;4\22""92\21""71\20""4.\20/*\16*%\15" \ + "%!\13\37\33\11\31\25\7\22\17\5\15\13\4\10\7\3\4\3\1\1\1\0\377\0\0\0\377" \ + "\0\0\0\305\0\0\0\13\3\3\1\6\5\2\13\11\3\20\16\4\26\23\6\34\30\10#\36" \ + "\12($\14,'\16""2-\17""60\20\20392\21""5qi9\343\331\215\307\276{>7\25" \ + "92\21""71\20""81\20""6/\20""6.\17""5,\17""4*\17""3)\15""0&\14.#\14-\"" \ + "\13*\37\11*\36\11)\34\10*\34\10.\37\11""0\40\11""3!\12""5\"\13""8$\13" \ + ":%\13='\14\77(\14A)\14C*\15E+\15H.\15J/\16M0\16M0\15O1\16Q2\16S3\17U" \ + "5\17X7\17\\9\21_<\22e@\23iD\23lF\24qK\26uN\27zR\31}U\31\200X\32\202Y" \ + "\32\204Y\33\304\262\213\346\343\310\206\346\343\311\205\346\343\312\204" \ + "\346\343\311\2\344\341\305\246n%\202\245j\37\25\246i\36\245f\35\245d" \ + "\35\245b\34\245`\32\244]\32\244[\30\244Y\30\245X\27\246W\27\250X\27\253" \ + "Z\27\254Z\27\257\\\30\260\\\30\262]\27\263^\30\265_\31\266`\31\270`\31" \ + "\271a\31\206\273b\31\11\272c\32\271d\32\271e\32\270f\33\270g\34\267j" \ + "\34\267j\35\267m\37\266n\40\202\266p\40\23\265r\"\264s!\263q!\262q\"" \ + "\304\235U\344\333\232\343\333\230\343\332\225\343\332\223\343\332\222" \ + "\343\331\217\343\331\214\343\331\211\343\331\206\343\330\201\343\327" \ + "{\342\325r\342\323fmb(\20292\21\13""60\20""2-\17,'\16'#\14#\36\12\34" \ + "\30\10\26\23\6\20\16\4\13\11\3\6\5\2\2\2\1\377\0\0\0\377\0\0\0\306\0" \ + "\0\0\14\1\1\0\5\4\1\11\10\3\17\15\5\24\21\5\31\25\7\40\33\11&!\13+&\15" \ + "/*\16""5/\17""82\20\20292\21""4;4\23\303\272s\343\331\216\225\215V92" \ + "\21""82\20""91\20""6/\20""6.\17""5,\17""3*\16""1'\15/%\14-\"\13+\40\12" \ + ")\36\11)\34\10(\33\10'\31\7)\31\10,\33\10.\34\10""2\37\11""2\40\11""5" \ + "!\11""9\"\12;$\12<$\12>&\13@&\13D)\13E*\14G+\14I,\14K-\15L-\15N.\15R" \ + "0\16V2\17W5\17\\9\21a<\21f@\22jD\24nI\26sL\27xP\30|T\32\200W\32\202Y" \ + "\32\204Y\33\244\206R\202\346\343\307\207\346\343\310\1\346\343\311\206" \ + "\346\343\310\31\346\343\307\266\215P\246k\37\246k\40\246i\37\247h\36" \ + "\246f\35\247d\35\246a\32\244^\32\245]\31\245[\30\246Y\30\251Y\27\250" \ + "Y\27\253Z\30\255[\30\257\\\30\262]\27\263^\30\263_\30\266`\31\271a\32" \ + "\271a\31\273b\31\202\274c\32\202\275c\32\37\274c\32\275d\32\274e\32\274" \ + "f\33\272h\34\271i\34\271k\35\271l\36\270m\36\267n\37\270p\40\270r!\267" \ + "s!\267s\"\265t\"\263r!\271\2034\341\326\225\343\333\231\343\333\226\343" \ + "\332\224\343\332\222\343\331\220\343\331\215\343\331\212\343\331\207" \ + "\343\330\202\343\327}\342\326u\342\325n\276\261P\20292\21\14""82\20""4" \ + ".\20/*\16*%\15%!\13\37\33\11\31\25\7\23\20\5\16\14\4\11\10\3\4\3\1\1" \ + "\1\0\377\0\0\0\377\0\0\0\307\0\0\0\13\3\3\1\7\6\2\14\12\4\21\16\5\27" \ + "\24\6\35\31\10#\36\12($\14-(\16""2-\17""60\20\20392\21""4aY.\343\331" \ + "\214\343\331\217ib692\21;2\20""91\20""7/\17""5,\16""4*\17""2(\15/%\14" \ + ".\"\13+\40\12)\36\11(\33\10&\31\7&\31\6&\27\6(\27\6*\30\6-\32\7/\33\7" \ + "1\35\7""3\35\10""6\40\11""9!\11;\"\12=\"\12>#\12@%\13C&\13D'\13G(\14" \ + "I)\14K+\14M,\14Q-\15U1\16Y5\17^8\20b=\21hB\23mF\25rJ\26wN\30|T\32\200" \ + "V\32\202Y\33\205Z\33\210_\37\340\331\273\202\346\343\306\215\346\343" \ + "\307\22\346\343\306\313\260\201\246k\37\247l\40\250j\37\250i\36\250g" \ + "\36\247d\35\246b\33\246`\33\247^\31\246[\31\247[\31\252Y\30\252Y\27\254" \ + "Z\27\257\\\30\260\\\30\202\263^\30\7\266`\31\270`\31\271a\31\273b\31" \ + "\274c\32\276d\32\277d\32\202\300e\32\14\300f\33\277g\33\276g\33\276j" \ + "\34\276k\35\275k\35\275m\36\273n\37\272p\40\271q\40\271r\40\271t\"\202" \ + "\270u\"\21\266t\"\264v$\333\305\202\344\333\231\343\333\227\343\332\224" \ + "\343\332\222\343\332\221\343\331\216\343\331\214\343\331\210\343\330" \ + "\204\343\330~\343\327{\342\325r\342\323f`W\"\20292\21\13""60\20""2-\17" \ + ",'\16'#\14#\36\12\34\30\10\27\24\6\21\16\5\13\11\3\6\5\2\3\3\1\377\0" \ + "\0\0\377\0\0\0\310\0\0\0\14\1\1\0\5\4\1\11\10\3\17\15\5\24\21\5\31\25" \ + "\7\40\33\11&!\13+&\15/*\16""4.\20""71\20\20392\21\4\257\246e\343\331" \ + "\215\330\315\207MF!\202;3\21-:1\20""8/\17""5+\16""4*\16""1&\14.\"\13" \ + "-\"\12)\36\11)\34\10&\31\7%\30\6&\26\6%\25\5&\25\6)\27\6+\30\6.\31\6" \ + "1\33\7""2\34\7""5\35\7""7\37\10:\40\10<!\10=\"\11@#\11B$\11D%\12F'\12" \ + "G(\12J)\13M*\13Q.\14V2\15[6\17`:\21f@\22kD\24rI\26wN\27{S\31\177V\32" \ + "\202Y\33\205Z\33\206Z\33\300\254\202\205\346\343\305\207\346\343\306" \ + "\204\346\343\305\31\336\325\262\246l\40\247l\40\251l\37\251j\36\247g" \ + "\36\250f\35\250c\34\250a\33\247_\31\247]\31\250[\30\252Z\30\253Z\27\254" \ + "[\27\257\\\30\261]\30\263^\30\265_\31\267a\31\271a\31\273b\31\274c\32" \ + "\276d\32\300e\32\202\301e\32\13\302g\33\302h\33\302i\34\300j\34\277k" \ + "\35\277m\36\277o\37\276p\37\276q\40\275q!\273t!\202\272u!\7\271v\"\270" \ + "u\"\266t\"\315\251b\344\333\231\343\333\230\343\332\225\202\343\332\222" \ + "\11\343\331\217\343\331\214\343\331\211\343\331\206\343\330\201\343\327" \ + "}\342\326u\342\324j\246\231@\20292\21\14""71\20""4.\20/*\16*%\15%!\13" \ + "\37\33\11\31\25\7\23\20\5\17\15\5\11\10\3\5\4\1\1\1\0\377\0\0\0\377\0" \ + "\0\0\311\0\0\0\14\3\3\1\7\6\2\14\12\4\21\16\5\27\24\6\35\31\10#\36\12" \ + "'#\14,'\16""1,\17""60\20""82\20\20292\21""4MF\40\334\321\205\343\331" \ + "\216\277\267v\77""8\25=5\21=4\21;1\21""9/\20""7,\17""4)\15""2%\15""0" \ + "$\13,!\12*\36\11)\33\10'\31\7'\27\6%\26\6%\24\6&\24\6(\25\5,\30\5.\31" \ + "\6""0\32\6""2\32\6""4\34\7""7\35\7:\36\7;\40\10=!\10\77\"\10B#\11D$\11" \ + "F%\11H&\12K'\12N+\13T/\15Y3\17^8\17d=\21iB\23pH\25uM\27{Q\31~T\31\202" \ + "Y\33\205Z\33\206Z\33\237}E\346\343\304\217\346\343\305\32\346\343\304" \ + "\262\200=\250l\40\251l\37\250j\37\250h\36\250f\35\250d\34\250b\34\251" \ + "`\32\251]\31\252\\\30\253[\30\253Z\30\255[\30\257\\\30\262]\27\263^\30" \ + "\266`\31\270`\31\273b\31\274c\32\276d\32\300e\32\301e\32\303f\32\202" \ + "\305i\33+\305k\34\304k\35\303m\36\301n\36\300o\37\300p\37\277r\40\277" \ + "s!\276t!\275u\"\273u\"\273v\"\272w#\270u\"\304\223G\344\333\232\343\333" \ + "\230\343\333\226\343\332\223\343\332\222\343\331\220\343\331\215\343" \ + "\331\212\343\331\207\343\330\202\343\327}\343\326x\342\325n\331\313]" \ + "JB\30""92\21""82\20""60\20""1,\17,'\16'#\14#\36\12\34\30\10\27\24\6\21" \ + "\16\5\14\12\4\6\5\2\3\3\1\377\0\0\0\377\0\0\0\312\0\0\0\14\1\1\0\5\4" \ + "\1\11\10\3\17\15\5\24\21\5\31\25\7\37\33\11%!\13*%\15.)\16""4.\20""7" \ + "1\20\20392\21""3\201yD\343\331\214\343\331\217\231\221Y=5\21\77""5\21" \ + ">4\21=2\21:/\20""7,\17""5*\16""4'\15""1%\13/\"\13,\37\11+\35\10)\31\10" \ + ")\30\6(\26\5(\26\6(\25\5+\27\5-\30\6""0\31\6""1\31\6""3\33\7""6\34\7" \ + "9\35\7:\37\10<\40\10>!\10A\"\11C#\11E$\11H%\12J&\12L)\12S.\15W1\16^8" \ + "\17c<\21h@\23oF\24tK\27yP\30~S\30\201W\32\205Z\33\206Z\33\210^\37\334" \ + "\322\257\203\346\343\303\211\346\343\304\202\346\343\303\202\346\342" \ + "\303\17\304\244l\250l\40\251m\40\251j\40\251i\37\252h\35\250e\35\251" \ + "c\33\251a\32\252_\32\253]\30\253[\30\254[\31\255[\30\260\\\30\202\263" \ + "^\30'\266`\31\271a\32\273b\31\274c\32\277d\32\301e\32\303f\32\306i\34" \ + "\306j\34\310l\36\307m\35\306n\36\305o\37\304p\37\302q\40\301s\40\301" \ + "t!\277t!\277w!\276w#\275w#\273v\"\272w#\277\2066\341\325\222\343\333" \ + "\231\343\333\226\343\332\224\343\332\222\343\331\220\343\331\216\343" \ + "\331\212\343\331\210\343\330\204\343\330~\343\327{\342\325r\342\323f" \ + "\204y/\20292\21\14""71\20""4.\20.)\16*%\15%!\13\37\33\11\31\25\7\23\20" \ + "\5\16\14\4\11\10\3\5\4\1\1\1\0\377\0\0\0\377\0\0\0\313\0\0\0\14\3\3\1" \ + "\7\6\2\14\12\4\21\16\5\26\23\6\34\30\10\"\35\12'#\14,'\15""1,\17""5/" \ + "\17""82\20\20392\21""2\273\262m\343\331\215\343\331\217|sB\77""5\21@" \ + "5\21\77""4\21>3\21<0\20:-\17""8+\16""5(\15""3&\14""0#\13""0\40\11.\36" \ + "\11-\34\10+\31\7+\30\7*\27\6,\30\5-\30\6""0\31\6""1\31\6""3\33\7""6\34" \ + "\7""9\35\7:\37\10<\40\10>!\10A\"\11C#\11E$\11H%\12J&\12L)\12Q,\14U0\15" \ + "\\6\17a;\21g\77\22mE\24sJ\26xO\27|S\31\201V\33\205Z\33\206Z\33\210\\" \ + "\34\270\237p\220\346\342\302E\327\310\236\250l\40\251m\40\251l\40\252" \ + "j\37\252h\36\252f\35\252d\34\252c\32\252`\33\253^\31\254]\31\254\\\31" \ + "\255[\30\260\\\30\263^\30\263_\30\266`\31\271a\32\273b\31\275c\32\300" \ + "e\32\302g\32\305i\33\306j\34\311m\35\311o\36\311p\37\307q\37\306q\37" \ + "\306s\37\304t\40\301t\40\302u\"\300v\"\277w\"\277x$\275w#\273v\"\274" \ + "{*\337\315\211\343\333\231\343\333\227\343\332\224\343\332\222\343\332" \ + "\221\343\331\216\343\331\214\343\331\210\343\331\206\343\330\201\343" \ + "\327{\342\326u\342\324j\276\260K;4\22""92\21""82\20""5/\17""0+\17,'\15" \ + "'#\14\"\35\12\34\30\10\26\23\6\20\16\4\14\12\4\6\5\2\3\3\1\377\0\0\0" \ + "\377\0\0\0\314\0\0\0\14\1\1\0\5\4\1\11\10\3\16\14\4\23\20\5\31\25\7\37" \ + "\33\11$\37\13)%\14-(\16""3-\17""60\20\20392\21\24QJ\"\336\325\206\343" \ + "\331\215\341\330\216qg8@5\21@5\22@5\21\77""3\20=0\20<.\17""9,\16""7)" \ + "\15""5&\14""3$\13""2\"\12""0\40\11""0\35\10.\34\10.\31\7\202.\31\6\35" \ + "0\31\6""1\31\6""3\33\7""6\34\7""9\35\7:\37\10<\40\10>!\10A\"\11C#\11" \ + "E$\11H%\12J&\12K(\12P+\14T.\15[4\16_8\21f>\21lC\23rI\26wM\27{R\27\200" \ + "V\32\204Y\33\206Z\33\210\\\34\226n1\345\340\276\214\346\342\301\204\346" \ + "\342\3006\256y3\251m\40\252l\40\252k\37\253j\36\252g\36\252e\34\253c" \ + "\33\253a\33\254_\31\254]\31\254\\\31\255[\30\260\\\30\263^\30\263_\30" \ + "\267a\31\271a\32\273b\31\275c\32\300f\33\303h\33\305j\34\310l\36\312" \ + "o\36\313q\37\312r\40\307s\37\307t!\307u\40\305u!\302w!\302w#\301x#\300" \ + "x\"\277y$\275w#\275x%\332\302|\343\333\231\343\333\227\343\332\224\343" \ + "\332\222\343\332\221\343\331\217\343\331\214\343\331\211\343\331\206" \ + "\343\330\202\343\327}\342\326u\342\325n\335\317`UK\33\20292\21\14""6" \ + "0\20""3-\17-(\16)%\14$\37\13\37\33\11\31\25\7\23\20\5\16\14\4\11\10\3" \ + "\5\4\1\1\1\0\377\0\0\0\377\0\0\0\315\0\0\0\14\3\3\1\6\5\2\13\11\3\20" \ + "\16\4\26\23\6\33\27\10!\34\11&!\13+&\15/*\16""4.\20""71\20\20392\21""2" \ + "\207~G\343\331\212\343\331\216\337\325\214e[.A6\22C7\22A6\21A4\21\77" \ + "2\17=0\17;-\17""9+\16""8(\14""6%\14""5$\13""2\40\11""2\37\11""1\35\10" \ + "1\34\7""0\33\7""1\32\7""1\31\6""3\33\7""6\34\7""9\35\7:\37\10<\40\10" \ + ">!\10A\"\11C#\11E$\11H%\12J&\12K(\12O*\13S-\14Z3\16^7\17d<\21jA\22qG" \ + "\25uK\27{Q\27~T\32\204Y\33\206Z\33\210\\\34\212]\34\317\276\223\205\346" \ + "\342\277\202\346\342\300\207\346\342\277\202\346\342\276\16\301\235b" \ + "\251m\40\252m\40\253l\40\254j\37\253i\36\253f\35\253d\33\253c\34\254" \ + "`\32\254^\31\254\\\31\257\\\30\260\\\30\202\263^\30\31\266`\31\271a\32" \ + "\273b\31\275d\32\300g\33\303i\34\305l\34\307n\35\311q\37\312r\40\311" \ + "s\40\310u!\307u!\306v!\305w\"\303x\"\302y$\302y#\301y#\277y$\276x$\330" \ + "\273t\344\333\231\343\333\227\343\332\225\202\343\332\222\12\343\331" \ + "\217\343\331\215\343\331\211\343\331\207\343\330\202\343\330~\343\326" \ + "x\342\325n\342\323f\206z/\20292\21\14""71\20""4.\20/*\16+&\15&!\13!\34" \ + "\11\33\27\10\26\23\6\20\16\4\13\11\3\6\5\2\3\3\1\377\0\0\0\377\0\0\0" \ + "\316\0\0\0\15\1\1\0\4\3\1\10\7\3\15\13\4\22\17\5\30\25\7\35\31\10#\36" \ + "\12'#\14,'\16""1,\17""60\20""82\20\20292\21\7;4\23\266\254h\343\331\212" \ + "\343\331\216\332\317\211]R)C7\22\202D7\22)C6\21@3\20>0\17=/\17<,\16;" \ + "*\15""9(\14""8$\13""5\"\13""5!\12""4\40\10""3\36\10""3\35\10""3\33\7" \ + "4\34\7""6\34\7""9\35\7:\37\10<\40\10>!\10A\"\11C#\11E$\11G%\12J&\12K" \ + "(\12O*\13S-\14X2\15^7\17c;\20i\77\22oF\24tJ\26yO\30~S\31\202W\32\205" \ + "Z\33\210\\\34\211\\\34\251\211R\202\346\342\275\211\346\342\276\202\346" \ + "\342\275\202\346\341\275)\346\341\274\327\302\224\251m\40\252m!\252l" \ + "\40\253k\37\253i\37\254g\35\254f\34\253c\33\254a\32\254_\31\254]\32\257" \ + "]\30\257\\\30\262]\27\263^\30\266`\31\270a\31\274c\32\275e\32\300h\34" \ + "\302j\35\305m\35\307o\36\307r\37\310t\40\310u!\307v!\307w\"\306x\"\306" \ + "y#\305y#\303{#\302z$\301y#\276x#\325\264k\344\333\231\343\333\227\343" \ + "\332\225\202\343\332\222\12\343\331\220\343\331\215\343\331\212\343\331" \ + "\207\343\330\204\343\330~\343\327{\342\325r\342\323f\263\247G\20292\21" \ + "\15""82\20""60\20""1,\17,'\16'#\14#\36\12\35\31\10\30\25\7\22\17\5\15" \ + "\13\4\10\7\3\4\3\1\1\1\0\377\0\0\0\377\0\0\0\317\0\0\0\14\2\2\1\5\4\2" \ + "\12\11\3\17\15\4\24\21\5\31\25\7\37\33\11$\37\13)%\14.)\16""3-\17""6" \ + "0\20\20392\21""2JA\32\320\305{\343\331\214\343\331\216\324\312\204ZN" \ + "$E8\22F9\23F8\22D6\21C4\21A2\17\77/\16\77-\16=,\16;(\14:'\14:&\13""9" \ + "%\12""8\"\12""7\40\11""6\36\10""7\37\10""8\35\10:\36\7""9\36\10<\40\10" \ + ">!\10A\"\11C#\11D$\11G%\12J&\12K(\12N)\13R,\14V/\15\\5\16a9\20h>\21n" \ + "D\24rI\25xM\27|R\31\201V\32\206Y\32\207[\34\211\\\34\215a\40\336\325" \ + "\256\214\346\341\274\203\345\341\273\36\344\337\271\257v-\253n\40\253" \ + "m\40\254m\37\254j\37\253h\36\254f\34\254d\34\254b\34\254`\31\254]\31" \ + "\255]\30\257]\30\261]\30\263^\30\266a\31\270c\32\274e\33\275h\33\300" \ + "j\34\302l\35\304o\36\306q\37\307t\40\307t!\307v\"\307w\"\307x\"\306z" \ + "#\202\305z#\24\303{$\301z#\300y$\323\257e\344\333\231\343\333\227\343" \ + "\332\225\343\332\223\343\332\222\343\331\220\343\331\215\343\331\212" \ + "\343\331\210\343\330\204\343\330\201\343\327{\342\326u\342\324j\323\304" \ + "TIA\27\20292\21\14""60\20""3-\17.)\16)%\14$\37\13\37\33\11\31\25\7\24" \ + "\21\5\17\15\4\12\11\3\5\4\2\2\2\1\377\0\0\0\377\0\0\0\320\0\0\0\15\1" \ + "\1\0\3\3\1\7\6\2\14\12\4\21\16\5\26\23\6\33\27\10\"\35\12&!\13+&\15/" \ + "*\16""4.\20""71\20\20292\21""2;3\21_V(\340\325\205\343\331\214\343\331" \ + "\216\325\313\205cV*G9\23H:\23H:\22G8\22E6\21D4\20C2\20@.\17\77-\16\77" \ + "+\16=)\14<'\13<%\13;%\12;#\11:\"\11;\40\11:\40\10:\37\11<\40\10>!\10" \ + "A\"\11B\"\11D$\11G%\12J&\12K(\12N)\13Q+\13U.\14[3\17_8\17f=\21kA\23q" \ + "H\25vM\26{P\31\200V\31\204Y\33\207[\34\211\\\34\213^\34\270\235i\215" \ + "\345\341\273\203\345\341\272\33\302\236_\253n\40\253m\40\254l\40\254" \ + "l\37\254j\36\255g\35\254e\34\254c\34\255a\32\254^\31\255^\32\260]\30" \ + "\261]\31\263`\31\266b\31\270d\32\272f\34\276i\34\277k\35\300m\36\303" \ + "p\36\305r\37\306t\40\307v\"\306w\"\306y\"\202\306z#\25\305{#\303{$\302" \ + "z$\301y#\326\263i\343\333\231\343\333\227\343\332\225\343\332\223\343" \ + "\332\222\343\331\220\343\331\216\343\331\212\343\331\210\343\330\204" \ + "\343\330\201\343\327{\342\326u\342\324j\335\317`bX\40\20292\21\15""7" \ + "1\20""4.\20/*\16+&\15&!\13\"\35\12\33\27\10\26\23\6\21\16\5\14\12\4\7" \ + "\6\2\3\3\1\1\1\0\377\0\0\0\377\0\0\0\321\0\0\0A\1\1\0\5\4\1\11\10\3\16" \ + "\14\4\23\20\5\31\25\7\35\31\10#\36\12'#\14,'\15""1,\17""5/\17""82\20" \ + "92\21;3\21=5\21~s\77\343\331\211\343\331\214\343\331\216\333\321\211" \ + "k^1I;\23H:\23I:\23H8\22H7\21G6\21E3\21D1\17C/\17A-\16@+\15@)\15>(\14" \ + "\77&\13>%\13=#\12=#\11=\"\12>\"\11\77\"\10@\"\11B\"\11D$\11G%\12J&\12" \ + "J'\12M)\13Q+\13T-\14Z2\16^7\20d;\20j\77\22pF\24uJ\26zO\27~S\31\203X\33" \ + "\206[\33\211\\\34\212]\34\223i)\343\336\266\212\345\341\272\204\345\341" \ + "\2712\345\341\270\326\304\223\251m\40\252n!\254m\40\254k\37\254i\37\255" \ + "i\35\254f\34\254c\34\255a\32\254_\31\255_\32\260_\31\261`\31\263b\32" \ + "\266c\32\270f\33\272h\34\276j\36\277n\36\277o\37\301q\37\304t\40\305" \ + "u!\305w\"\306x#\306z#\305{#\306{#\303{%\303{$\302z%\327\270n\343\333" \ + "\231\343\333\227\343\332\225\343\332\223\343\332\222\343\331\220\343" \ + "\331\216\343\331\212\343\331\210\343\331\206\343\330\201\343\327}\342" \ + "\326u\342\325n\341\322`\203w.\20292\21\15""82\20""5/\17""1,\17,'\16'" \ + "#\14#\36\12\35\31\10\30\25\7\23\20\5\16\14\4\11\10\3\5\4\1\1\1\0\377" \ + "\0\0\0\377\0\0\0\323\0\0\0\31\3\3\1\6\5\2\13\11\3\17\15\4\24\21\5\31" \ + "\25\7\37\33\11$\37\13)%\14-(\16""2-\17""60\20""82\20;3\21<4\21>5\21\242" \ + "\231X\343\331\211\343\331\214\343\331\216\337\326\215wj8I;\23K<\24K;" \ + "\23\202J9\22%H6\21H5\20G3\20E1\20E0\17D.\16C,\15C*\14A)\14A'\13A&\13" \ + "A%\13B&\12B$\11B$\12C#\11D$\11G%\12I&\12J'\12M)\13P*\13S,\14W0\15\\5" \ + "\17c:\20h>\22nD\24sI\25yM\27~R\30\202V\31\205Z\33\210\\\34\212]\34\214" \ + "^\34\306\261~\211\345\341\270\202\345\340\270\204\345\340\267\32\344" \ + "\337\264\262{2\252n!\254n\40\255l\37\254j\37\254h\36\255g\34\254e\34" \ + "\255c\34\256a\32\257b\32\260`\33\262b\32\262b\33\266e\34\270g\34\271" \ + "j\35\275m\36\277n\36\300q\40\301r\40\301t\40\302w!\303x\"\305y\"\202" \ + "\305z#\202\303{$\5\303}(\332\274u\343\333\231\343\333\227\343\332\225" \ + "\202\343\332\222\13\343\331\220\343\331\216\343\331\212\343\331\210\343" \ + "\331\206\343\330\201\343\327}\342\326u\342\325n\342\323f\243\226;\202" \ + "92\21\15""82\20""60\20""2-\17-(\16)%\14$\37\13\37\33\11\31\25\7\24\21" \ + "\5\17\15\4\12\11\3\6\5\2\3\3\1\377\0\0\0\377\0\0\0\324\0\0\0(\1\1\0\4" \ + "\3\1\7\6\2\14\12\4\21\16\5\26\23\6\33\27\10!\34\11&!\13*%\15.)\16""3" \ + "-\17""60\20;3\21<4\21>5\21D:\24\267\255g\343\331\211\343\331\214\343" \ + "\331\216\340\326\214\205yDK<\24N=\24N<\23M<\23M:\22K8\21K7\21I6\20H3" \ + "\17H1\17F/\17F.\16E,\16D+\15E+\14D*\13D(\13\202E'\13\3F&\12F%\12G%\12" \ + "\202J'\12\22M)\13O)\13R,\13V.\14[4\16a9\20f=\20kA\23qG\24wL\26{P\27\200" \ + "U\30\205Y\32\210\\\33\212]\34\213^\34\234u7\345\340\266\207\345\340\267" \ + "\205\345\340\266\202\345\340\265\12\345\340\264\305\242d\253n\40\253" \ + "m\40\254m\40\254l\37\254j\36\254h\35\254f\34\256e\34\202\255c\33\16\260" \ + "d\33\261d\33\263e\33\267h\34\270i\35\272l\36\273n\37\276p\37\277s\40" \ + "\300u!\302u\"\302w#\302x#\303z$\202\303{$\6\302z$\305\202/\335\306\200" \ + "\343\333\230\343\333\226\343\332\224\202\343\332\222\14\343\331\220\343" \ + "\331\216\343\331\212\343\331\210\343\331\206\343\330\201\343\327}\343" \ + "\326x\342\325n\342\323f\264\247B>6\23\20292\21\15""60\20""3-\17.)\16" \ + "*%\15&!\13!\34\11\33\27\10\26\23\6\21\16\5\14\12\4\7\6\2\4\3\1\1\1\0" \ + "\377\0\0\0\377\0\0\0\325\0\0\0,\2\2\1\5\4\1\10\7\3\15\13\4\22\17\5\30" \ + "\25\7\34\30\10\"\35\12&!\13+&\15""0+\17""4.\20""91\20<4\21>5\21@6\21" \ + "F<\26\300\266m\343\331\211\343\331\214\343\331\216\343\331\220\251\234" \ + "`RB\30N=\24O=\23P=\24O<\23O:\23M:\22M8\21L6\20K4\21K3\20I1\20I/\16I-" \ + "\15G-\15H,\15I+\14G)\13I*\14J)\13J(\13\202K)\13\22M)\12P*\13R,\13U-\14" \ + "Z1\16^6\17d;\21i\77\22oE\24uI\25zO\30\177S\31\204X\32\207[\33\212]\34" \ + "\213^\34\216_\35\313\272\207\202\345\340\264\202\345\340\265\207\345" \ + "\340\264\204\345\340\263\11\333\312\227\251m\40\252n!\254m\40\254k\37" \ + "\254j\37\254h\36\255h\35\255g\34\202\257f\34\15\260f\34\261f\34\264g" \ + "\34\266j\35\267k\36\270m\36\273o\37\276r\40\277t!\300u\"\300v\"\302y" \ + "#\302{#\202\302z$\6\301z#\310\215<\341\322\216\343\333\230\343\333\226" \ + "\343\332\224\202\343\332\222\14\343\331\217\343\331\215\343\331\212\343" \ + "\331\210\343\331\206\343\330\201\343\327}\343\326x\342\325n\342\323f" \ + "\303\265NB;\24\20292\21\15""71\20""4.\20/*\16+&\15&!\13\"\35\12\34\30" \ + "\10\30\25\7\22\17\5\16\14\4\10\7\3\5\4\1\1\1\0\377\0\0\0\377\0\0\0\327" \ + "\0\0\0.\3\3\1\5\4\2\12\11\3\17\15\5\24\21\5\31\25\7\36\32\11#\36\12'" \ + "#\14,'\15""0+\17""6/\17:2\21>5\21@6\21@6\22M@\30\306\275r\343\331\210" \ + "\343\331\212\343\331\216\343\331\220\305\272x`O#P>\24Q\77\24R>\24R=\24" \ + "Q<\23Q;\22Q:\22O8\22P8\21O6\20N4\20M2\16M1\17L0\16L.\16L.\15M.\15M-\15" \ + "L,\14M+\14N,\14P,\13\202R,\14\17T-\14Y0\15]4\17b9\20h=\21mC\23sH\25w" \ + "M\27|Q\30\202V\31\205Z\33\210\\\33\213^\34\216^\35\243~@\210\345\340" \ + "\263\205\345\340\262\203\345\337\261\10\266\204=\252n!\253m\40\254m\37" \ + "\254l\37\255k\37\255j\36\256i\35\202\257h\35\14\260h\35\262i\35\264j" \ + "\36\266l\36\270m\37\270o\37\273q\40\275t!\276t!\277w\"\300x\"\300y#\203" \ + "\301y#\23\315\234O\342\327\225\343\333\227\343\332\225\343\332\223\343" \ + "\332\222\343\332\221\343\331\217\343\331\215\343\331\212\343\331\210" \ + "\343\330\204\343\330\201\343\327}\343\326x\342\325n\342\323f\311\273" \ + "QIA\26\20292\21\15""71\20""5/\17""0+\17,'\15'#\14#\36\12\36\32\11\31" \ + "\25\7\23\20\5\17\15\5\12\11\3\5\4\2\3\3\1\377\0\0\0\377\0\0\0\330\0\0" \ + "\0\33\1\1\0\3\3\1\6\5\2\13\11\3\20\16\4\25\22\6\32\26\7\37\33\11$\37" \ + "\13($\14,'\16""2,\17""70\17=4\21@6\21@6\22B7\22SF\34\314\301u\343\331" \ + "\210\343\331\212\343\331\215\343\331\217\331\317\207{k8R\77\24S\77\24" \ + "\202S@\24\14S\77\23S=\23R<\23R:\22S:\21Q7\21Q7\20Q5\20P4\20P3\16P2\17" \ + "O1\17\202P0\16\25Q/\16R/\15R0\15T/\15T.\15V/\14Y1\16\\4\17b9\20g=\21" \ + "kA\23qF\24wK\26{O\27\200S\30\204X\33\210[\33\213^\34\214^\34\217_\34" \ + "\320\277\214\213\345\337\261\204\345\337\260\25\312\255p\253n\40\252" \ + "n!\254m\40\255l\37\254l\37\256k\37\256j\36\257j\36\260j\36\261j\36\262" \ + "j\36\264l\36\266n\37\267o\40\271r\40\271r!\273t\"\275w\"\276w#\277x$" \ + "\202\277y$\24\301})\327\272q\343\333\231\343\333\227\343\332\225\343" \ + "\332\223\343\332\222\343\332\221\343\331\217\343\331\215\343\331\212" \ + "\343\331\207\343\330\204\343\330\201\343\327}\343\326x\342\325n\342\323" \ + "f\315\276QJB\27\20292\21\16""82\20""5/\17""1,\17,'\16($\14$\37\13\37" \ + "\33\11\31\25\7\25\22\6\20\16\4\13\11\3\6\5\2\3\3\1\1\1\0\377\0\0\0\377" \ + "\0\0\0\331\0\0\0\77\1\1\0\4\3\1\7\6\2\14\12\4\21\16\5\26\23\6\32\26\7" \ + "\40\33\11$\37\13)%\14.(\16""5.\17:1\20>5\21@5\21B7\22D7\22ZO\40\317\302" \ + "u\343\331\210\343\331\212\343\331\215\343\331\217\343\332\221\245\230" \ + "]ZG\33TA\24VA\25WA\25WA\24V@\24V>\23V=\22U<\22U;\22U9\21U:\22T8\20T7" \ + "\20T6\20U5\17T4\17U4\17V2\17U3\16V2\16W2\16Y2\15[4\17^7\20c:\20g=\22" \ + "lC\23pG\24vJ\25{O\27\177S\31\203V\31\206Z\33\212\\\33\214^\34\216_\35" \ + "\245\200A\211\345\337\260\202\345\337\257\203\345\337\256\23\345\337" \ + "\255\340\327\243\252q%\252n!\253m\40\254m\40\255m\37\255k\37\256k\37" \ + "\260l\37\260l\36\261l\37\263l\37\264m\37\266o\37\267q!\271r!\272t!\273" \ + "v!\202\275w\"\202\275w#\5\307\216>\337\317\211\343\333\230\343\333\226" \ + "\343\332\224\202\343\332\222\15\343\331\220\343\331\216\343\331\214\343" \ + "\331\211\343\331\207\343\330\204\343\330\201\343\327}\342\326u\342\325" \ + "n\342\323f\315\276QOF\30\20292\21\16""82\20""60\20""2-\17-(\16)%\14$" \ + "\37\13\40\33\11\33\27\10\26\23\6\21\16\5\14\12\4\7\6\2\4\3\1\1\1\0\377" \ + "\0\0\0\377\0\0\0\333\0\0\0\35\2\2\1\5\4\1\10\7\3\15\13\4\22\17\5\27\24" \ + "\6\33\27\10!\34\11%!\13*%\14""0*\16""5.\17;2\21@5\21B7\22C7\22E8\22U" \ + "H\35\305\271o\343\331\207\343\331\211\343\331\214\343\331\216\343\331" \ + "\220\323\311\204|k8VB\25XC\25YC\25\202YB\25\202Y@\24\36Z\77\23Y>\22X" \ + "<\22Y<\22X;\21W:\21X8\21X8\20X7\21Y6\20Y7\17Z7\20\\7\17\\6\17^7\17`9" \ + "\20d<\20h>\21lC\23qG\24vJ\26zO\30~S\31\203V\31\205Y\32\211\\\33\213^" \ + "\34\216^\35\217_\34\316\275\207\207\345\337\256\204\345\337\255\202\345" \ + "\336\254\202\345\336\253\10\276\226Q\251m\40\252n!\254n\40\255m\40\255" \ + "m\37\257n\40\260m\37\202\261n\37\36\262n\40\263o\40\265p\40\267r!\270" \ + "t\"\272v#\273w#\273v#\273v\"\275{(\321\254b\343\332\226\343\333\227\343" \ + "\332\225\343\332\223\343\332\222\343\332\221\343\331\217\343\331\216" \ + "\343\331\214\343\331\211\343\331\207\343\330\202\343\330~\343\327{\342" \ + "\326u\342\325n\342\323f\310\271PME\27\20292\21\16""82\20""60\20""2-\17" \ + "-(\16)%\14%!\13!\34\11\33\27\10\27\24\6\22\17\5\15\13\4\10\7\3\5\4\1" \ + "\2\2\1\377\0\0\0\377\0\0\0\335\0\0\0\40\2\2\1\5\4\2\11\10\3\16\14\4\22" \ + "\17\5\30\25\7\34\30\10!\34\11&!\13-'\15""2+\17""8/\17=3\21@5\22C7\22" \ + "E8\22G9\23PB\31\275\261g\343\331\207\343\331\210\343\331\212\343\331" \ + "\215\343\331\217\343\332\221\262\245f`N\35YC\25[C\26\\D\26\\C\25[B\25" \ + "\202[A\24\34[@\23[\77\23\\\77\23\\>\23]=\22\\<\22]<\21];\21];\22^:\20" \ + "_;\21_:\20`:\21b;\21f=\21jA\22nD\24sI\25wM\26zO\27~S\31\202V\31\204Y" \ + "\32\210Z\33\213]\33\216^\35\217_\34\240y9\206\345\336\254\205\345\336" \ + "\253\202\344\336\252\202\344\336\251\17\327\304\211\251m\40\253n\40\252" \ + "n!\254n\40\256m\40\256n\40\257n\40\260o\40\261n\40\261o\40\263p!\265" \ + "r\"\267s\"\270t!\202\271u\"\6\271v\"\307\225F\337\317\213\343\333\227" \ + "\343\333\226\343\332\224\202\343\332\222\16\343\332\221\343\331\217\343" \ + "\331\215\343\331\212\343\331\210\343\331\206\343\330\202\343\330~\343" \ + "\327{\342\326u\342\325n\341\322`\302\262GG\77\25\20292\21\16""82\20""6" \ + "0\20""2-\17.)\16*%\15&!\13\"\35\12\34\30\10\30\25\7\22\17\5\16\14\4\11" \ + "\10\3\5\4\2\3\3\1\377\0\0\0\377\0\0\0\337\0\0\0\35\3\3\1\5\4\2\12\11" \ + "\3\17\15\5\23\20\5\30\25\7\35\31\10\"\35\12(\"\13-&\15""4,\17""9/\20" \ + ">4\21C7\22D9\22F:\23I;\23N\77\26\261\245^\343\331\206\343\331\210\343" \ + "\331\212\343\331\215\343\331\216\343\331\220\332\317\211\224\203J^G\30" \ + "\\D\26\202^E\26\37_E\26_D\25_C\24`C\25`C\24_B\23`B\24aA\23`@\23`>\23" \ + "`\77\22b\77\22b>\22c>\22d>\21e\77\22g@\22lC\23qG\25sJ\26xM\27{Q\27~S" \ + "\31\202V\31\205Y\32\207Z\33\212\\\33\214^\34\216_\35\217_\34\307\262" \ + "x\204\344\336\252\205\344\336\251\202\344\336\250\203\344\336\247\15" \ + "\344\335\246\264\2029\251m\40\252n!\254n!\255n\40\256o\40\257o!\260o" \ + "!\261o!\262q\40\263r!\264s!\202\266t\"\27\267s!\275\2033\326\271s\343" \ + "\333\230\343\333\226\343\332\225\343\332\223\343\332\222\343\332\221" \ + "\343\331\220\343\331\216\343\331\214\343\331\211\343\331\207\343\330" \ + "\204\343\330\201\343\327}\343\326x\342\325r\342\324j\341\322`\261\244" \ + "AA9\23\20292\21\16""82\20""60\20""2-\17.)\16*%\15&!\13\"\35\12\35\31" \ + "\10\30\25\7\23\20\5\17\15\5\12\11\3\6\5\2\3\3\1\377\0\0\0\377\0\0\0\340" \ + "\0\0\0!\1\1\0\3\3\1\6\5\2\12\11\3\17\15\4\24\21\5\31\25\7\35\31\10\"" \ + "\36\12)#\14/(\15""5,\16:0\20@4\21C7\22F:\23H;\23H:\23M>\26\241\224Q\343" \ + "\330\204\343\331\207\343\331\211\343\331\214\343\331\215\343\331\217" \ + "\343\332\221\322\310\201\217|E]E\26_F\26aG\27aG\26\203bF\26\5bE\25cD" \ + "\25dD\25dD\24dC\25\202eC\24\24fB\24gC\23hC\23hB\24jD\24nF\24rI\26tK\27" \ + "xN\27|Q\27}S\31\202V\32\205Y\32\207[\33\211\\\33\213^\34\216^\35\217" \ + "_\34\231m,\340\330\242\210\344\336\247\204\344\335\246\202\344\335\245" \ + "\1\316\264s\202\251m\40\20\252n!\254n!\255o!\256o\40\256p\40\260p!\262" \ + "q!\262r!\263r!\263s\"\271~-\320\260h\343\332\226\343\333\226\343\332" \ + "\225\343\332\223\202\343\332\222\17\343\331\220\343\331\217\343\331\215" \ + "\343\331\212\343\331\210\343\331\206\343\330\204\343\330\201\343\327" \ + "}\343\326x\342\325r\342\324j\341\322`\230\2157;4\22\20292\21\17""82\20" \ + "60\20""2-\17.)\16*%\15&!\13\"\35\12\35\31\10\31\25\7\24\21\5\17\15\4" \ + "\13\11\3\6\5\2\4\3\1\1\1\0\377\0\0\0\377\0\0\0\341\0\0\0'\1\1\0\4\3\1" \ + "\7\6\2\13\11\3\17\15\4\24\21\5\31\25\7\35\31\10#\37\12+$\14""1)\15""6" \ + "-\17<1\21A5\21D7\22H;\23H:\23J;\23L=\24\177p7\334\320|\343\331\206\343" \ + "\331\210\343\331\212\343\331\214\343\331\216\343\331\220\343\332\221" \ + "\313\300{\207s<`G\27bH\27dG\26dH\27eI\27eI\26eH\27fG\26gH\26\202hG\26" \ + "\2iF\25iG\26\202jF\25\16lF\24mF\25pI\26sJ\26uM\27yO\27|R\31~S\32\201" \ + "V\32\205Y\32\206Z\33\210\\\33\212]\34\214^\34\202\217_\34\1\270\233^" \ + "\205\344\335\246\204\344\335\245\202\344\335\244\203\344\335\243\2\342" \ + "\332\237\255w,\202\251m\40\15\252n!\254n!\255o!\256p!\257q!\260q\"\261" \ + "q\"\266z,\315\252a\342\327\224\343\333\226\343\332\225\343\332\224\202" \ + "\343\332\222\17\343\332\221\343\331\217\343\331\216\343\331\214\343\331" \ + "\211\343\331\207\343\331\206\343\330\202\343\330~\343\327{\342\326u\342" \ + "\325n\342\323f\335\316Y|q)\20392\21\17""82\20""60\20""2-\17.)\16*%\15" \ + "&!\13\"\35\12\35\31\10\31\25\7\24\21\5\17\15\4\13\11\3\7\6\2\4\3\1\1" \ + "\1\0\377\0\0\0\377\0\0\0\343\0\0\0>\1\1\0\4\3\1\7\6\2\13\11\3\17\15\4" \ + "\24\21\5\31\25\7\35\31\10$\37\13+$\14""1(\15""7-\17=1\21@5\21E8\22I;" \ + "\23J;\23L=\24N=\24eU$\312\276n\343\330\204\343\331\207\343\331\211\343" \ + "\331\212\343\331\215\343\331\216\343\331\220\343\332\222\313\300|\223" \ + "~FfK\31dH\27fJ\27gJ\27hK\30iK\27kK\27kJ\27kI\27kI\26mJ\26nI\27nJ\26o" \ + "J\26qJ\26rL\27tL\27wN\30zQ\31|S\31\177V\32\202W\32\204Y\33\206[\33\210" \ + "\\\33\212]\34\213^\34\216^\35\217_\34\221c\37\332\314\221\203\344\335" \ + "\244\205\344\335\243\202\344\335\242\1\344\335\241\203\344\334\240\2" \ + "\310\252f\250l\40\202\251m\40\12\252n!\253n!\255o!\256p!\267\2025\316" \ + "\261j\342\331\225\343\333\226\343\332\225\343\332\223\202\343\332\222" \ + "\20\343\332\221\343\331\220\343\331\216\343\331\214\343\331\212\343\331" \ + "\210\343\331\206\343\330\204\343\330\201\343\327}\343\326x\342\325r\342" \ + "\324j\341\322`\315\276LZQ\35\20392\21\17""71\20""5/\17""2-\17-(\16*%" \ + "\15&!\13\"\35\12\35\31\10\31\25\7\24\21\5\17\15\4\13\11\3\7\6\2\4\3\1" \ + "\1\1\0\377\0\0\0\377\0\0\0\345\0\0\0\21\1\1\0\4\3\1\7\6\2\13\11\3\17" \ + "\15\4\24\21\5\31\25\7\35\31\10#\36\12-%\14""2)\16""8.\17>2\21B5\21F8" \ + "\22I;\23K<\24\202N=\24'VD\30\257\241Y\343\330\202\343\331\206\343\331" \ + "\207\343\331\211\343\331\214\343\331\215\343\331\217\343\331\220\343" \ + "\332\222\327\314\206\246\224VtZ%gJ\27iK\27kM\30lM\30lL\27mL\30nM\30o" \ + "M\30qN\27qM\30rM\27tN\30sN\30vO\30xP\30{S\31}T\31\177V\32\201W\32\204" \ + "Y\33\205Z\33\210\\\34\211\\\34\213^\34\214^\34\202\217_\34\2\242{8\343" \ + "\333\240\204\344\335\241\204\344\334\240\202\344\334\237\1\344\334\236" \ + "\202\344\334\235\3\341\327\227\255x,\250l\40\202\251m\40\7\255s%\275" \ + "\221G\323\274v\343\333\227\343\333\226\343\332\224\343\332\223\202\343" \ + "\332\222\21\343\332\221\343\331\220\343\331\216\343\331\215\343\331\212" \ + "\343\331\210\343\331\207\343\330\204\343\330\202\343\330~\343\327{\342" \ + "\326u\342\325n\342\324j\341\322`\254\237\77E=\25\20392\21\17""71\20""5" \ + "/\17""1,\17-(\16)%\14&!\13\"\35\12\35\31\10\31\25\7\24\21\5\20\16\4\13" \ + "\11\3\7\6\2\4\3\1\1\1\0\377\0\0\0\377\0\0\0\347\0\0\0\20\1\1\0\4\3\1" \ + "\7\6\2\13\11\3\17\15\4\24\21\5\31\25\7\34\30\10!\35\11+$\14""5*\16""8" \ + ".\17>2\21C6\21G9\22J;\23\202N=\24(P>\24R\77\24\206t8\326\312x\343\330" \ + "\202\343\331\206\343\331\210\343\331\211\343\331\214\343\331\215\343" \ + "\331\217\343\331\220\343\332\221\343\332\222\302\263p\226\200FqT\37l" \ + "M\30lM\27oN\31oN\30qO\31sP\31sO\31sP\31uP\27vP\31wQ\31zR\31|T\31~V\31" \ + "\177V\32\202Y\33\203Y\33\205Z\33\207[\33\210\\\34\212]\34\213^\34\216" \ + "^\35\202\217_\34\1\272\235[\203\344\334\237\203\344\334\236\202\344\334" \ + "\235\205\344\334\234\12\344\333\233\314\257h\247n!\270\214D\316\264m" \ + "\341\326\221\343\333\226\343\332\225\343\332\224\343\332\223\202\343" \ + "\332\222\21\343\332\221\343\331\220\343\331\216\343\331\215\343\331\212" \ + "\343\331\211\343\331\207\343\331\206\343\330\202\343\330~\343\327}\343" \ + "\326x\342\325r\342\324j\342\323f\331\312Xyl'\20392\21\20""82\20""60\20" \ + "4.\20""0+\17,'\16)%\14%!\13!\34\11\35\31\10\31\25\7\24\21\5\17\15\4\13" \ + "\11\3\7\6\2\4\3\1\1\1\0\377\0\0\0\377\0\0\0\351\0\0\0=\1\1\0\4\3\1\7" \ + "\6\2\13\11\3\17\15\4\24\21\5\30\25\7\34\30\10!\34\11&!\13""3)\16""9." \ + "\17\77""2\21C6\21G9\22J;\23N=\24P>\24Q\77\24S\77\24aL\34\261\242Y\343" \ + "\330\201\343\330\204\343\331\206\343\331\210\343\331\211\343\331\214" \ + "\343\331\215\343\331\216\343\331\220\343\332\221\343\332\222\341\327" \ + "\217\277\257n\234\206Jz[$oN\30qP\30sP\31uQ\32uQ\30vR\31xS\31yT\31zT\32" \ + "}U\33}U\32\200W\32\202Y\32\203Y\33\205Z\33\206Z\33\210\\\34\211\\\34" \ + "\213^\34\214^\34\216_\35\217_\34\221b\36\322\277\177\207\344\334\234" \ + "\1\344\333\233\202\344\333\232\1\344\333\231\202\343\333\231\6\342\332" \ + "\226\336\322\215\343\333\226\343\332\225\343\332\224\343\332\223\203" \ + "\343\332\222\22\343\331\220\343\331\217\343\331\216\343\331\215\343\331" \ + "\212\343\331\211\343\331\207\343\331\206\343\330\202\343\330\201\343" \ + "\327}\343\327{\342\326u\342\325n\342\323f\341\322`\261\244AOF\30\203" \ + "92\21\20""82\20""60\20""3-\17/*\16,'\15($\14$\37\13!\34\11\34\30\10\30" \ + "\25\7\24\21\5\17\15\4\13\11\3\7\6\2\4\3\1\1\1\0\377\0\0\0\377\0\0\0\353" \ + "\0\0\0\"\1\1\0\4\3\1\7\6\2\13\11\3\17\15\4\23\20\5\27\24\6\33\27\10\40" \ + "\33\11#\36\12-%\15""9-\17\77""2\17D6\21H9\22L;\23O>\24Q\77\24R\77\24" \ + "S@\24VB\25}l2\320\304q\343\330\201\343\330\204\343\331\206\343\331\210" \ + "\343\331\211\343\331\212\343\331\214\343\331\216\343\331\217\343\331" \ + "\220\343\332\221\202\343\332\222\25\322\304\200\261\234]\225{@\200`&" \ + "uR\31vS\32xS\31zT\32{U\32}V\32~V\32\177W\32\201X\33\202Y\33\204Y\33\205" \ + "Z\33\207[\33\210\\\34\212]\34\213^\34\216^\35\202\217_\34\2\233o+\337" \ + "\324\222\203\344\333\232\202\344\333\231\202\343\333\231\202\343\333" \ + "\230\2\343\333\227\343\333\226\202\343\332\225\2\343\332\224\343\332" \ + "\223\203\343\332\222\23\343\332\221\343\331\220\343\331\217\343\331\215" \ + "\343\331\214\343\331\212\343\331\211\343\331\207\343\331\206\343\330" \ + "\202\343\330\201\343\327}\343\327{\342\326u\342\325r\342\324j\341\322" \ + "`\323\304Tqf$\20492\21\20""71\20""5/\17""2-\17.)\16+&\15'#\14#\36\12" \ + "\40\33\11\33\27\10\30\25\7\23\20\5\17\15\4\13\11\3\7\6\2\4\3\1\1\1\0" \ + "\377\0\0\0\377\0\0\0\355\0\0\0$\1\1\0\4\3\1\7\6\2\12\11\3\17\15\5\22" \ + "\17\5\27\24\6\32\26\7\37\33\11#\36\12'\"\13""3*\16>1\20D5\21I9\22L;\23" \ + "P>\24R\77\24T\77\24UA\25WB\25_J\31\244\223L\336\322{\343\330\201\343" \ + "\330\204\343\331\206\343\331\207\343\331\210\343\331\212\343\331\214" \ + "\343\331\215\343\331\216\343\331\217\343\331\220\343\332\221\203\343" \ + "\332\222\22\331\314\205\301\257m\260\233Z\241\206I\217o2\203_#}U\32~" \ + "V\33\200X\32\202X\33\203Y\33\205Z\33\206Z\33\207[\34\211\\\34\212]\34" \ + "\213^\34\216_\35\202\217_\34\1\255\213G\202\343\333\230\202\343\333\227" \ + "\202\343\333\226\202\343\332\225\202\343\332\224\1\343\332\223\204\343" \ + "\332\222\25\343\332\221\343\331\220\343\331\217\343\331\216\343\331\215" \ + "\343\331\212\343\331\211\343\331\210\343\331\207\343\331\206\343\330" \ + "\202\343\330\201\343\327}\343\327{\342\326u\342\325r\342\324j\342\323" \ + "f\335\316Y\227\2136B;\24\20392\21\21""82\20""60\20""4.\20""0+\17-(\16" \ + "*%\15&!\13#\36\12\37\33\11\32\26\7\27\24\6\22\17\5\17\15\5\12\11\3\7" \ + "\6\2\4\3\1\1\1\0\377\0\0\0\377\0\0\0\357\0\0\0$\1\1\0\4\3\1\6\5\2\12" \ + "\11\3\16\14\4\21\16\5\26\23\6\31\25\7\35\31\10\"\35\12%!\13+%\14""7," \ + "\17D5\21H8\21L:\22Q>\24R\77\24TA\24WB\25XC\25YC\25hR\37\254\235R\341" \ + "\326}\343\330\201\343\330\202\343\330\204\343\331\207\343\331\210\343" \ + "\331\211\343\331\212\343\331\214\343\331\215\343\331\216\343\331\217" \ + "\202\343\331\220\1\343\332\221\205\343\332\222\7\343\332\223\320\302" \ + "~\317\300|\310\267r\275\247d\276\247d\275\247d\202\277\247d\202\300\250" \ + "d\5\306\260l\323\302}\323\301|\342\331\224\343\332\225\203\343\332\224" \ + "\202\343\332\223\205\343\332\222\2\343\332\221\343\331\220\202\343\331" \ + "\217\23\343\331\216\343\331\215\343\331\214\343\331\212\343\331\211\343" \ + "\331\207\343\331\206\343\330\204\343\330\202\343\330~\343\327}\343\327" \ + "{\342\326u\342\325r\342\325n\342\323f\341\322`\254\237\77QH\30\20492" \ + "\21\21""71\20""5/\17""2-\17/*\16,'\15($\14%!\13\"\35\12\35\31\10\31\25" \ + "\7\26\23\6\21\16\5\16\14\4\12\11\3\6\5\2\4\3\1\1\1\0\377\0\0\0\377\0" \ + "\0\0\361\0\0\0\"\1\1\0\3\3\1\5\4\2\11\10\3\15\13\4\20\16\4\24\21\5\31" \ + "\25\7\34\30\10\40\33\11#\36\12&!\13-&\15""9.\17F6\21M:\23P=\24T\77\24" \ + "VB\25WB\25YC\25[C\26\\D\26pY$\264\244W\343\327}\343\330~\343\330\202" \ + "\343\330\204\343\331\206\343\331\207\343\331\210\343\331\211\343\331" \ + "\212\202\343\331\214\2\343\331\215\343\331\216\202\343\331\217\1\343" \ + "\331\220\202\343\332\221\225\343\332\222\1\343\332\221\202\343\331\220" \ + "\202\343\331\217\4\343\331\216\343\331\215\343\331\214\343\331\212\202" \ + "\343\331\211\17\343\331\210\343\331\206\343\330\204\343\330\202\343\330" \ + "\201\343\330~\343\327}\343\326x\342\326u\342\325r\342\324j\342\323f\341" \ + "\322`\254\237\77ZQ\35\20492\21\22""82\20""60\20""4.\20""1,\17-(\16+&" \ + "\15'#\14$\37\13!\34\11\34\30\10\31\25\7\25\22\6\21\16\5\15\13\4\11\10" \ + "\3\5\4\2\3\3\1\1\1\0\377\0\0\0\377\0\0\0\363\0\0\0\40\1\1\0\3\3\1\5\4" \ + "\2\10\7\3\14\12\4\17\15\4\23\20\5\27\24\6\32\26\7\37\33\11#\36\12&!\13" \ + ")%\14-'\15""9.\20H8\21P=\23R>\24VA\25XC\25ZD\25[D\26]E\26_F\26w`(\263" \ + "\243U\341\325z\343\330~\343\330\201\343\330\202\343\330\204\343\331\206" \ + "\202\343\331\207\3\343\331\210\343\331\211\343\331\212\202\343\331\214" \ + "\202\343\331\215\202\343\331\216\202\343\331\217\205\343\331\220\205" \ + "\343\332\221\204\343\331\220\203\343\331\217\202\343\331\216\202\343" \ + "\331\215\1\343\331\214\202\343\331\212\22\343\331\211\343\331\210\343" \ + "\331\207\343\331\206\343\330\204\343\330\202\343\330\201\343\330~\343" \ + "\327}\343\327{\343\326x\342\326u\342\325n\342\324j\342\323f\337\317Z" \ + "\250\233>ZQ\35\20492\21\23""82\20""60\20""5/\17""2-\17/*\16,'\15)%\14" \ + "&!\13#\36\12\37\33\11\32\26\7\27\24\6\23\20\5\17\15\4\14\12\4\10\7\3" \ + "\5\4\2\3\3\1\1\1\0\377\0\0\0\377\0\0\0\366\0\0\0\34\2\2\1\5\4\1\7\6\2" \ + "\13\11\3\16\14\4\21\16\5\25\22\6\31\25\7\35\31\10!\34\11$\37\13'#\14" \ + "*%\15,'\16""7.\17F7\22R=\24WA\25YC\25[C\26[E\26_E\26_F\27aG\27pW\40\251" \ + "\226J\330\313s\343\327}\202\343\330~\4\343\330\201\343\330\202\343\330" \ + "\204\343\331\206\202\343\331\207\1\343\331\210\202\343\331\211\202\343" \ + "\331\212\203\343\331\214\215\343\331\215\202\343\331\214\203\343\331" \ + "\212\1\343\331\211\202\343\331\210\1\343\331\207\202\343\331\206\17\343" \ + "\330\204\343\330\202\343\330\201\343\330~\343\327}\343\327{\343\326x" \ + "\342\326u\342\325r\342\325n\342\324j\341\322`\325\306U\224\2106JB\27" \ + "\20492\21\23""82\20""71\20""60\20""3-\17""0+\17-(\16+&\15'#\14$\37\13" \ + "!\34\11\35\31\10\31\25\7\26\23\6\21\16\5\17\15\5\13\11\3\7\6\2\5\4\1" \ + "\2\2\1\377\0\0\0\377\0\0\0\371\0\0\0\40\1\1\0\4\3\1\6\5\2\11\10\3\15" \ + "\13\4\20\16\4\24\21\5\30\25\7\33\27\10\37\33\11#\36\12%!\13($\14+&\15" \ + "-(\16""3,\17\77""4\20M<\23YC\25[C\26]E\26_F\26aG\27bH\27dG\26gM\30\221" \ + "z6\277\257[\343\326x\343\327{\343\327}\343\330~\202\343\330\201\1\343" \ + "\330\202\202\343\330\204\202\343\331\206\202\343\331\207\203\343\331" \ + "\210\213\343\331\211\203\343\331\210\202\343\331\207\202\343\331\206" \ + "\202\343\330\204\2\343\330\202\343\330\201\202\343\330~\14\343\327}\343" \ + "\327{\343\326x\342\326u\342\325r\342\325n\342\324j\342\323f\341\322`" \ + "\257\243Fpf$>6\23\20492\21\24""82\20""71\20""60\20""3-\17""1,\17.)\16" \ + "+&\15($\14&!\13#\36\12\37\33\11\33\27\10\30\25\7\24\21\5\20\16\4\15\13" \ + "\4\11\10\3\6\5\2\4\3\1\1\1\0\377\0\0\0\377\0\0\0\373\0\0\0\36\1\1\0\3" \ + "\3\1\5\4\2\10\7\3\13\11\3\17\15\5\22\17\5\26\23\6\31\25\7\34\30\10\40" \ + "\33\11#\36\12&!\13)%\14,'\15.)\16""1,\17""5.\17D7\22Q>\24]E\26_F\27a" \ + "G\27dH\27dI\27fJ\27gJ\27sV\36\236\210\77\305\264^\202\343\326x\2\343" \ + "\327{\343\327}\202\343\330~\202\343\330\201\203\343\330\202\204\343\330" \ + "\204\207\343\331\206\204\343\330\204\203\343\330\202\202\343\330\201" \ + "\1\343\330~\202\343\327}\2\343\327{\343\326x\202\342\326u\10\342\325" \ + "r\342\325n\342\324j\342\323f\341\322`\263\247G\200v.IA\27\20592\21\25" \ + "82\20""71\20""60\20""3-\17""1,\17.)\16,'\15)%\14&!\13#\36\12\40\33\11" \ + "\34\30\10\31\25\7\26\23\6\22\17\5\17\15\4\14\12\4\10\7\3\5\4\2\3\3\1" \ + "\1\1\0\377\0\0\0\377\0\0\0\376\0\0\0!\2\2\1\4\3\1\6\5\2\12\11\3\15\13" \ + "\4\20\16\4\23\20\5\27\24\6\32\26\7\35\31\10!\34\11$\37\13&!\13)%\14," \ + "'\15.)\16""1,\17""3-\17""6/\17A6\21N=\23YC\25dG\26dH\27gK\27hJ\27jL\30" \ + "kM\30vX\37\231\2008\273\250U\331\313n\342\326u\202\343\326x\202\343\327" \ + "{\203\343\327}\205\343\330~\203\343\330\201\205\343\330~\203\343\327" \ + "}\202\343\327{\202\343\326x\1\342\326u\202\342\325r\2\342\325n\342\324" \ + "j\202\342\323f\4\321\303Y\246\231@tj(G\77\26\20692\21\25""82\20""60\20" \ + "5/\17""3-\17""1,\17.)\16,'\15)%\14&!\13$\37\13!\34\11\36\32\11\32\26" \ + "\7\27\24\6\24\21\5\20\16\4\15\13\4\12\11\3\7\6\2\5\4\1\2\2\1\377\0\0" \ + "\0\377\0\0\0\377\0\0\0\202\0\0\0$\1\1\0\3\3\1\5\4\2\10\7\3\13\11\3\17" \ + "\15\5\21\16\5\24\21\5\30\25\7\33\27\10\36\32\11\"\35\12$\37\13&!\13)" \ + "%\14,'\15.)\16""0+\17""3-\17""5/\17""60\20""91\20C7\22O>\24XC\25aG\27" \ + "jL\30lM\30lM\27nM\30pO\31\204f%\240\206<\273\246O\321\301d\342\325r\203" \ + "\342\326u\214\343\326x\203\342\326u\203\342\325r\1\342\325n\202\342\324" \ + "j\202\342\323f\4\303\266S\240\224\77{p,SK\33\20792\21\27""82\20""71\20" \ + "60\20""5/\17""3-\17""0+\17.)\16,'\15)%\14'#\14$\37\13\"\35\12\36\32\11" \ + "\33\27\10\30\25\7\25\22\6\21\16\5\17\15\5\13\11\3\10\7\3\5\4\2\3\3\1" \ + "\1\1\0\377\0\0\0\377\0\0\0\377\0\0\0\205\0\0\0(\2\2\1\4\3\1\6\5\2\11" \ + "\10\3\14\12\4\17\15\4\22\17\5\25\22\6\31\25\7\33\27\10\37\33\11\"\35" \ + "\12$\37\13&!\13)%\14+&\15-(\16/*\16""2-\17""4.\20""5/\17""60\20""71\20" \ + "82\20;3\21C7\22K<\24P>\24YC\25aG\27gK\27iK\27tQ\31vS\32\215l(\237\204" \ + "8\257\230E\271\241I\315\272[\320\277_\210\342\325n\204\342\324j\7\342" \ + "\323f\303\267W\276\261P\235\222B\215\2016tj*ZR\36\21192\21\31""82\20" \ + "71\20""60\20""5/\17""4.\20""2-\17/*\16-(\16+&\15)%\14&!\13$\37\13\"\35" \ + "\12\37\33\11\33\27\10\31\25\7\25\22\6\22\17\5\17\15\4\15\13\4\11\10\3" \ + "\6\5\2\5\4\1\2\2\1\1\1\0\377\0\0\0\377\0\0\0\377\0\0\0\207\0\0\0\32\1" \ + "\1\0\3\3\1\5\4\1\7\6\2\12\11\3\15\13\4\17\15\4\22\17\5\25\22\6\31\25" \ + "\7\33\27\10\36\32\11\"\35\12$\37\13&!\13($\14+&\15,'\16.)\16""0+\17""2" \ + "-\17""4.\20""5/\17""60\20""71\20""82\20\21192\21\1D9\22\202F:\23\1C7" \ + "\22\20292\21\1IB\31\203ZR!\204ZR\40\1@8\24\21592\21\20282\20\31""71\20" \ + "60\20""5/\17""4.\20""2-\17""0+\17.)\16,'\16+&\15($\14&!\13$\37\13\"\35" \ + "\12\37\33\11\33\27\10\31\25\7\26\23\6\23\20\5\20\16\4\15\13\4\12\11\3" \ + "\7\6\2\5\4\2\3\3\1\1\1\0\377\0\0\0\377\0\0\0\377\0\0\0\213\0\0\0\30\2" \ + "\2\1\4\3\1\5\4\2\10\7\3\13\11\3\15\13\4\20\16\4\22\17\5\25\22\6\30\25" \ + "\7\32\26\7\35\31\10!\34\11#\36\12%!\13'#\14)%\14+&\15,'\16.)\16""0+\17" \ + "2-\17""4.\20""5/\17\20260\20\1""71\20\20282\20\23492\21\20282\20\1""7" \ + "1\20\20260\20\30""5/\17""3-\17""2-\17""0+\17.)\16,'\16+&\15)%\14'#\14" \ + "%!\13#\36\12!\34\11\36\32\11\33\27\10\31\25\7\26\23\6\23\20\5\20\16\4" \ + "\16\14\4\13\11\3\10\7\3\5\4\2\4\3\1\2\2\1\377\0\0\0\377\0\0\0\377\0\0" \ + "\0\216\0\0\0\33\1\1\0\2\2\1\4\3\1\5\4\2\10\7\3\13\11\3\15\13\4\17\15" \ + "\4\22\17\5\25\22\6\30\25\7\31\25\7\34\30\10\37\33\11\"\35\12$\37\13&" \ + "!\13'#\14)%\14+&\15,'\16.)\16/*\16""1,\17""2-\17""4.\20""5/\17\20360" \ + "\20\20271\20\20382\20\21692\21\20382\20\20271\20\20360\20\33""5/\17""4" \ + ".\20""2-\17""1,\17/*\16.)\16,'\16+&\15)%\14'#\14&!\13$\37\13\"\35\12" \ + "\37\33\11\34\30\10\31\25\7\30\25\7\25\22\6\22\17\5\20\16\4\16\14\4\13" \ + "\11\3\10\7\3\6\5\2\4\3\1\2\2\1\1\1\0\377\0\0\0\377\0\0\0\377\0\0\0\221" \ + "\0\0\0\32\1\1\0\2\2\1\4\3\1\5\4\2\10\7\3\13\11\3\15\13\4\17\15\4\21\16" \ + "\5\24\21\5\27\24\6\31\25\7\33\27\10\35\31\10\40\33\11\"\35\12$\37\13" \ + "&!\13'#\14)%\14*%\15,'\15,'\16.)\16/*\16""0+\17\2022-\17\2""3-\17""4" \ + ".\20\2025/\17\22060\20\2025/\17\36""4.\20""3-\17""2-\17""1,\17""0+\17" \ + "/*\16.)\16,'\16,'\15*%\15)%\14'#\14&!\13$\37\13\"\35\12\40\33\11\35\31" \ + "\10\33\27\10\31\25\7\27\24\6\24\21\5\21\16\5\17\15\4\15\13\4\13\11\3" \ + "\10\7\3\6\5\2\4\3\1\2\2\1\1\1\0\377\0\0\0\377\0\0\0\377\0\0\0\225\0\0" \ + "\0\33\1\1\0\2\2\1\4\3\1\5\4\2\10\7\3\12\11\3\14\12\4\17\15\5\20\16\4" \ + "\22\17\5\25\22\6\27\24\6\31\25\7\33\27\10\35\31\10\37\33\11\"\35\12#" \ + "\36\12%!\13&!\13'#\14)%\14*%\15+&\15,'\15-(\16.)\16\202/*\16\1""0+\17" \ + "\2021,\17\2032-\17\2063-\17\2032-\17\2021,\17\36""0+\17/*\16.)\16-(\16" \ + ",'\16,'\15+&\15*%\15)%\14'#\14&!\13$\37\13#\36\12\"\35\12\37\33\11\35" \ + "\31\10\33\27\10\31\25\7\27\24\6\25\22\6\22\17\5\20\16\4\17\15\5\14\12" \ + "\4\12\11\3\10\7\3\5\4\2\4\3\1\2\2\1\1\1\0\377\0\0\0\377\0\0\0\377\0\0" \ + "\0\231\0\0\0\25\1\1\0\2\2\1\4\3\1\5\4\2\7\6\2\11\10\3\13\11\3\15\13\4" \ + "\17\15\4\21\16\5\23\20\5\25\22\6\27\24\6\31\25\7\32\26\7\34\30\10\36" \ + "\32\11\40\33\11\"\35\12#\36\12$\37\13\202&!\13\4'#\14($\14)%\14*%\15" \ + "\202+&\15\1,'\15\203,'\16\206-(\16\203,'\16\1,'\15\202+&\15\33*%\15)" \ + "%\14($\14'#\14&!\13%!\13$\37\13#\36\12\"\35\12\40\33\11\36\32\11\34\30" \ + "\10\32\26\7\31\25\7\27\24\6\25\22\6\23\20\5\21\16\5\17\15\4\15\13\4\13" \ + "\11\3\11\10\3\7\6\2\5\4\2\4\3\1\2\2\1\1\1\0\377\0\0\0\377\0\0\0\377\0" \ + "\0\0\235\0\0\0\26\1\1\0\2\2\1\3\3\1\5\4\1\6\5\2\10\7\3\12\11\3\14\12" \ + "\4\16\14\4\17\15\4\21\16\5\22\17\5\24\21\5\26\23\6\30\25\7\31\25\7\33" \ + "\27\10\34\30\10\36\32\11\37\33\11!\34\11\"\35\12\202#\36\12\202$\37\13" \ + "\1%!\13\204&!\13\206'#\14\204&!\13\1%!\13\202$\37\13\202#\36\12\26\"" \ + "\35\12\40\33\11\37\33\11\35\31\10\34\30\10\32\26\7\31\25\7\30\25\7\26" \ + "\23\6\24\21\5\22\17\5\21\16\5\17\15\4\16\14\4\14\12\4\12\11\3\10\7\3" \ + "\6\5\2\5\4\1\3\3\1\2\2\1\1\1\0\377\0\0\0\377\0\0\0\312\0\0\0\206\1\1" \ + "\1\321\0\0\0\20\1\1\0\2\2\1\4\3\1\5\4\1\6\5\2\10\7\3\12\11\3\13\11\3" \ + "\15\13\4\17\15\5\20\16\4\21\16\5\23\20\5\24\21\5\26\23\6\27\24\6\202" \ + "\31\25\7\6\32\26\7\33\27\10\34\30\10\35\31\10\36\32\11\37\33\11\202\40" \ + "\33\11\203!\34\11\204\"\35\12\203!\34\11\202\40\33\11\6\37\33\11\36\32" \ + "\11\35\31\10\34\30\10\33\27\10\32\26\7\202\31\25\7\20\27\24\6\26\23\6" \ + "\24\21\5\23\20\5\21\16\5\20\16\4\17\15\5\15\13\4\13\11\3\12\11\3\10\7" \ + "\3\6\5\2\5\4\1\4\3\1\2\2\1\1\1\0\226\0\0\0\206\1\1\1\266\0\0\0\206\1" \ + "\1\1\377\0\0\0\354\0\0\0\211\1\1\1\204\2\2\2\210\1\1\1\210\0\0\0\227" \ + "\1\1\1\214\0\0\0\223\1\1\1\207\0\0\0\207\1\1\1\202\2\2\1\16\4\4\2\5\4" \ + "\2\6\5\2\7\6\3\10\7\3\12\11\4\13\12\4\15\13\5\16\14\5\20\16\6\20\16\5" \ + "\22\17\6\23\20\6\24\21\6\202\25\22\6\3\26\23\6\27\24\6\30\25\7\203\31" \ + "\25\7\1\32\26\10\210\33\27\10\204\32\26\10\23\31\26\10\30\25\7\27\24" \ + "\7\26\23\7\25\22\6\24\21\6\23\20\6\22\17\6\20\16\5\20\16\6\16\14\5\15" \ + "\13\5\13\12\4\12\11\4\10\7\3\7\6\3\6\5\2\5\4\2\4\4\2\202\2\2\1\204\1" \ + "\1\1\214\0\0\0\211\1\1\1\204\2\2\2\210\1\1\1\205\0\0\0\215\1\1\1\206" \ + "\0\0\0\230\1\1\1\204\2\2\2\211\1\1\1\377\0\0\0\340\0\0\0\205\1\1\1\204" \ + "\2\2\2\214\3\3\3\204\2\2\2\211\1\1\1\205\2\2\2\213\3\3\3\205\2\2\2\205" \ + "\1\1\1\204\0\0\0\205\1\1\1\204\2\2\2\211\3\3\3\205\2\2\2\210\1\1\1\205" \ + "\2\2\2\204\3\3\3\202\4\4\3\202\6\6\4\12\10\7\4\10\7\5\11\10\5\12\11\5" \ + "\13\12\5\14\13\5\15\13\5\16\14\6\17\15\6\17\15\5\202\20\16\5\1\21\17" \ + "\5\202\22\17\6\1\23\20\6\202\24\21\6\1\25\22\7\204\26\23\7\202\27\24" \ + "\10\203\26\23\10\1\25\22\10\202\24\21\10\15\23\21\7\22\20\7\22\20\10" \ + "\21\17\7\20\16\7\17\15\7\16\14\6\15\14\6\14\13\6\12\11\5\11\10\5\10\7" \ + "\5\10\7\4\202\6\6\4\202\4\4\3\1\3\3\3\206\2\2\2\204\1\1\1\204\0\0\0\204" \ + "\1\1\1\204\2\2\2\215\3\3\3\226\2\2\2\206\1\1\1\206\2\2\2\202\3\3\3\212" \ + "\2\2\2\216\3\3\3\204\2\2\2\205\1\1\1\377\0\0\0\332\0\0\0\203\1\1\1\202" \ + "\2\2\2\205\3\3\3\216\4\4\4\220\3\3\3\215\4\4\4\206\3\3\3\202\2\2\2\206" \ + "\1\1\1\202\2\2\2\206\3\3\3\212\4\4\4\220\3\3\3\211\4\4\4\5\5\5\4\6\6" \ + "\5\7\7\5\10\7\5\11\10\5\202\10\7\5\4\11\10\5\12\11\5\13\12\6\14\13\6" \ + "\202\15\14\6\1\16\14\6\202\17\15\7\203\20\16\7\203\21\17\7\203\22\20" \ + "\10\203\21\17\10\202\20\16\10\1\17\15\7\202\16\15\7\5\15\14\7\14\13\7" \ + "\13\12\6\12\11\6\11\10\6\202\11\10\5\4\10\7\5\7\7\5\6\6\5\5\5\4\207\4" \ + "\4\4\205\3\3\3\204\2\2\2\203\1\1\1\203\2\2\2\205\3\3\3\216\4\4\4\241" \ + "\3\3\3\233\4\4\4\205\3\3\3\202\2\2\2\203\1\1\1\377\0\0\0\326\0\0\0\202" \ + "\1\1\1\202\2\2\2\203\3\3\3\203\4\4\4\204\5\5\5\212\6\6\6\205\5\5\5\213" \ + "\4\4\4\205\5\5\5\207\6\6\6\206\5\5\5\203\4\4\4\212\3\3\3\203\4\4\4\207" \ + "\5\5\5\1\6\6\6\230\5\5\5\210\6\6\6\202\5\5\5\202\6\6\5\2\7\7\6\10\10" \ + "\6\202\10\7\5\202\11\10\5\1\11\10\6\202\12\11\6\203\13\12\6\1\14\13\7" \ + "\212\15\14\10\202\14\13\10\1\13\12\10\202\13\12\7\202\12\11\7\2\11\11" \ + "\7\10\10\7\202\7\7\6\210\6\6\6\205\5\5\5\204\4\4\4\210\3\3\3\204\4\4" \ + "\4\204\5\5\5\212\6\6\6\251\5\5\5\223\6\6\6\204\5\5\5\203\4\4\4\203\3" \ + "\3\3\202\2\2\2\202\1\1\1\377\0\0\0\322\0\0\0\202\1\1\1\202\2\2\2\202" \ + "\3\3\3\202\4\4\4\202\5\5\5\203\6\6\6\203\7\7\7\212\10\10\10\206\7\7\7" \ + "\213\6\6\6\203\7\7\7\211\10\10\10\203\7\7\7\203\6\6\6\215\5\5\5\203\6" \ + "\6\6\205\7\7\7\204\10\10\10\225\7\7\7\212\10\10\10\205\7\7\7\1\6\6\6" \ + "\202\7\7\6\202\10\10\7\204\11\11\7\202\12\11\7\205\13\12\10\203\14\13" \ + "\11\204\13\13\11\202\12\12\11\202\11\11\10\215\10\10\10\204\7\7\7\203" \ + "\6\6\6\213\5\5\5\204\6\6\6\203\7\7\7\215\10\10\10\214\7\7\7\205\6\6\6" \ + "\223\7\7\7\225\10\10\10\203\7\7\7\203\6\6\6\202\5\5\5\202\4\4\4\202\3" \ + "\3\3\202\2\2\2\202\1\1\1\377\0\0\0\316\0\0\0\202\1\1\1\202\2\2\2\202" \ + "\3\3\3\1\4\4\4\202\5\5\5\202\6\6\6\202\7\7\7\202\10\10\10\203\11\11\11" \ + "\212\12\12\12\224\11\11\11\211\12\12\12\203\11\11\11\205\10\10\10\211" \ + "\7\7\7\205\10\10\10\205\11\11\11\203\12\12\12\226\11\11\11\212\12\12" \ + "\12\221\11\11\11\204\12\12\11\230\12\12\12\204\11\11\11\222\10\10\10" \ + "\203\11\11\11\222\12\12\12\210\11\11\11\202\10\10\10\224\11\11\11\226" \ + "\12\12\12\203\11\11\11\202\10\10\10\202\7\7\7\202\6\6\6\202\5\5\5\1\4" \ + "\4\4\202\3\3\3\202\2\2\2\202\1\1\1\377\0\0\0\313\0\0\0\202\1\1\1\1\2" \ + "\2\2\202\3\3\3\1\4\4\4\202\5\5\5\1\6\6\6\202\7\7\7\1\10\10\10\202\11" \ + "\11\11\202\12\12\12\203\13\13\13\212\14\14\14\225\13\13\13\210\14\14" \ + "\14\203\13\13\13\224\12\12\12\204\13\13\13\204\14\14\14\225\13\13\13" \ + "\212\14\14\14\225\13\13\13\204\14\14\14\221\15\15\15\204\14\14\14\203" \ + "\13\13\13\221\12\12\12\204\13\13\13\225\14\14\14\233\13\13\13\204\14" \ + "\14\14\214\15\15\15\206\14\14\14\203\13\13\13\202\12\12\12\202\11\11" \ + "\11\1\10\10\10\202\7\7\7\1\6\6\6\202\5\5\5\1\4\4\4\202\3\3\3\1\2\2\2" \ + "\202\1\1\1\377\0\0\0\310\0\0\0\202\1\1\1\1\2\2\2\202\3\3\3\202\4\4\4" \ + "\4\5\5\5\6\6\6\7\7\7\10\10\10\202\11\11\11\1\12\12\12\202\13\13\13\202" \ + "\14\14\14\203\15\15\15\203\16\16\16\204\17\17\17\214\16\16\16\212\15" \ + "\15\15\213\16\16\16\204\15\15\15\217\14\14\14\206\15\15\15\235\16\16" \ + "\16\205\17\17\17\231\16\16\16\207\17\17\17\206\20\20\20\210\17\17\17" \ + "\202\16\16\16\207\15\15\15\204\14\14\14\214\15\15\15\204\16\16\16\203" \ + "\17\17\17\204\16\16\16\206\17\17\17\207\16\16\16\211\15\15\15\212\16" \ + "\16\16\204\15\15\15\204\16\16\16\221\17\17\17\203\16\16\16\203\15\15" \ + "\15\202\14\14\14\202\13\13\13\2\12\12\12\11\11\11\202\10\10\10\3\7\7" \ + "\7\6\6\6\5\5\5\202\4\4\4\202\3\3\3\1\2\2\2\202\1\1\1\377\0\0\0\305\0" \ + "\0\0\202\1\1\1\1\2\2\2\202\3\3\3\5\4\4\4\5\5\5\6\6\6\7\7\7\10\10\10\202" \ + "\11\11\11\3\12\12\12\13\13\13\14\14\14\202\15\15\15\1\16\16\16\202\17" \ + "\17\17\204\20\20\20\206\21\21\21\230\20\20\20\206\21\21\21\204\20\20" \ + "\20\224\17\17\17\235\20\20\20\211\21\21\21\227\20\20\20\205\21\21\21" \ + "\215\22\22\22\205\21\21\21\204\20\20\20\216\17\17\17\210\20\20\20\224" \ + "\21\21\21\216\20\20\20\203\21\21\21\212\20\20\20\206\21\21\21\207\22" \ + "\22\22\207\21\21\21\204\20\20\20\202\17\17\17\1\16\16\16\202\15\15\15" \ + "\3\14\14\14\13\13\13\12\12\12\202\11\11\11\5\10\10\10\7\7\7\6\6\6\5\5" \ + "\5\4\4\4\202\3\3\3\1\2\2\2\202\1\1\1\377\0\0\0\303\0\0\0\202\1\1\1\2" \ + "\2\2\2\3\3\3\202\4\4\4\13\5\5\5\6\6\6\7\7\7\10\10\10\11\11\11\12\12\12" \ + "\13\13\13\14\14\14\15\15\15\16\16\16\17\17\17\202\20\20\20\202\21\21" \ + "\21\202\22\22\22\247\23\23\23\205\22\22\22\217\21\21\21\210\22\22\22" \ + "\233\23\23\23\204\24\24\24\232\23\23\23\224\24\24\24\203\23\23\23\230" \ + "\22\22\22\206\23\23\23\215\24\24\24\204\23\23\23\210\22\22\22\223\23" \ + "\23\23\220\24\24\24\204\23\23\23\202\22\22\22\202\21\21\21\202\20\20" \ + "\20\13\17\17\17\16\16\16\15\15\15\14\14\14\13\13\13\12\12\12\11\11\11" \ + "\10\10\10\7\7\7\6\6\6\5\5\5\202\4\4\4\2\3\3\3\2\2\2\202\1\1\1\377\0\0" \ + "\0\301\0\0\0\202\1\1\1\20\2\2\2\3\3\3\4\4\4\5\5\5\6\6\6\7\7\7\10\10\10" \ + "\11\11\11\12\12\12\13\13\13\14\14\14\15\15\15\16\16\16\17\17\17\20\20" \ + "\20\21\21\21\202\22\22\22\1\23\23\23\202\24\24\24\204\25\25\25\205\26" \ + "\26\26\231\25\25\25\204\26\26\26\204\25\25\25\227\24\24\24\214\25\25" \ + "\25\206\26\26\26\211\25\25\25\211\26\26\26\226\25\25\25\204\26\26\26" \ + "\220\27\27\27\203\26\26\26\204\25\25\25\222\24\24\24\207\25\25\25\222" \ + "\26\26\26\215\25\25\25\205\26\26\26\211\25\25\25\203\26\26\26\215\27" \ + "\27\27\203\26\26\26\204\25\25\25\202\24\24\24\1\23\23\23\202\22\22\22" \ + "\20\21\21\21\20\20\20\17\17\17\16\16\16\15\15\15\14\14\14\13\13\13\12" \ + "\12\12\11\11\11\10\10\10\7\7\7\6\6\6\5\5\5\4\4\4\3\3\3\2\2\2\202\1\1" \ + "\1\377\0\0\0\277\0\0\0\202\1\1\1\22\2\2\2\3\3\3\4\4\4\5\5\5\6\6\6\7\7" \ + "\7\10\10\10\11\11\11\12\12\12\14\14\14\15\15\15\16\16\16\17\17\17\20" \ + "\20\20\21\21\21\22\22\22\23\23\23\24\24\24\202\25\25\25\1\26\26\26\202" \ + "\27\27\27\203\30\30\30\220\31\31\31\216\30\30\30\204\31\31\31\203\30" \ + "\30\30\232\27\27\27\207\30\30\30\236\31\31\31\220\30\30\30\212\31\31" \ + "\31\212\32\32\32\206\31\31\31\203\30\30\30\225\27\27\27\205\30\30\30" \ + "\223\31\31\31\213\30\30\30\207\31\31\31\207\30\30\30\207\31\31\31\206" \ + "\32\32\32\207\31\31\31\203\30\30\30\202\27\27\27\1\26\26\26\202\25\25" \ + "\25\22\24\24\24\23\23\23\22\22\22\21\21\21\20\20\20\17\17\17\16\16\16" \ + "\15\15\15\14\14\14\12\12\12\11\11\11\10\10\10\7\7\7\6\6\6\5\5\5\4\4\4" \ + "\3\3\3\2\2\2\202\1\1\1\377\0\0\0\276\0\0\0\26\1\1\1\2\2\2\3\3\3\4\4\4" \ + "\5\5\5\6\6\6\7\7\7\10\10\10\12\12\12\13\13\13\14\14\14\15\15\15\17\17" \ + "\17\20\20\20\21\21\21\22\22\22\23\23\23\24\24\24\25\25\25\26\26\26\27" \ + "\27\27\30\30\30\202\31\31\31\203\32\32\32\244\33\33\33\210\32\32\32\207" \ + "\31\31\31\221\32\32\32\270\33\33\33\221\34\34\34\203\33\33\33\232\32" \ + "\32\32\207\33\33\33\212\34\34\34\205\33\33\33\210\32\32\32\223\33\33" \ + "\33\217\34\34\34\203\33\33\33\203\32\32\32\202\31\31\31\26\30\30\30\27" \ + "\27\27\26\26\26\25\25\25\24\24\24\23\23\23\22\22\22\21\21\21\20\20\20" \ + "\17\17\17\15\15\15\14\14\14\13\13\13\12\12\12\10\10\10\7\7\7\6\6\6\5" \ + "\5\5\4\4\4\3\3\3\2\2\2\1\1\1\377\0\0\0\275\0\0\0\24\1\1\1\2\2\2\3\3\3" \ + "\4\4\4\5\5\5\6\6\6\7\7\7\11\11\11\12\12\12\13\13\13\15\15\15\16\16\16" \ + "\17\17\17\20\20\20\22\22\22\23\23\23\24\24\24\25\25\25\26\26\26\30\30" \ + "\30\202\31\31\31\2\32\32\32\33\33\33\202\34\34\34\202\35\35\35\244\36" \ + "\36\36\204\35\35\35\227\34\34\34\205\35\35\35\270\36\36\36\221\37\37" \ + "\37\203\36\36\36\204\35\35\35\212\34\34\34\215\35\35\35\207\36\36\36" \ + "\211\37\37\37\205\36\36\36\211\35\35\35\223\36\36\36\215\37\37\37\204" \ + "\36\36\36\202\35\35\35\202\34\34\34\2\33\33\33\32\32\32\202\31\31\31" \ + "\24\30\30\30\26\26\26\25\25\25\24\24\24\23\23\23\22\22\22\20\20\20\17" \ + "\17\17\16\16\16\15\15\15\13\13\13\12\12\12\11\11\11\7\7\7\6\6\6\5\5\5" \ + "\4\4\4\3\3\3\2\2\2\1\1\1\377\0\0\0\273\0\0\0\202\1\1\1\202\3\3\3\24\4" \ + "\4\4\6\6\6\7\7\7\10\10\10\12\12\12\13\13\13\15\15\15\16\16\16\20\20\20" \ + "\21\21\21\22\22\22\24\24\24\25\25\25\26\26\26\30\30\30\31\31\31\32\32" \ + "\32\33\33\33\34\34\34\35\35\35\202\36\36\36\202\37\37\37\205\40\40\40" \ + "\217!!!\215\40\40\40\202!!!\205\40\40\40\231\37\37\37\206\40\40\40\267" \ + "!!!\217\"\"\"\203!!!\205\40\40\40\214\37\37\37\215\40\40\40\221!!!\214" \ + "\40\40\40\210!!!\206\40\40\40\205!!!\213\"\"\"\204!!!\202\40\40\40\202" \ + "\37\37\37\202\36\36\36\24\35\35\35\34\34\34\33\33\33\32\32\32\31\31\31" \ + "\30\30\30\26\26\26\25\25\25\24\24\24\22\22\22\21\21\21\20\20\20\16\16" \ + "\16\15\15\15\13\13\13\12\12\12\10\10\10\7\7\7\6\6\6\4\4\4\202\3\3\3\202" \ + "\1\1\1\377\0\0\0\272\0\0\0\32\1\1\1\2\2\2\3\3\3\4\4\4\5\5\5\7\7\7\10" \ + "\10\10\12\12\12\13\13\13\15\15\15\16\16\16\20\20\20\21\21\21\23\23\23" \ + "\24\24\24\25\25\25\27\27\27\31\31\31\32\32\32\33\33\33\34\34\34\35\35" \ + "\35\36\36\36\37\37\37\40\40\40!!!\202\"\"\"\250###\231\"\"\"\236###\1" \ + "$$$\233###\204$$$\215%%%\203$$$\205###\217\"\"\"\215###\216$$$\220##" \ + "#\1$$$\214###\204$$$\211%%%\204$$$\203###\202\"\"\"\32!!!\40\40\40\37" \ + "\37\37\36\36\36\35\35\35\34\34\34\33\33\33\32\32\32\31\31\31\27\27\27" \ + "\25\25\25\24\24\24\23\23\23\21\21\21\20\20\20\16\16\16\15\15\15\13\13" \ + "\13\12\12\12\10\10\10\7\7\7\5\5\5\4\4\4\3\3\3\2\2\2\1\1\1\377\0\0\0\271" \ + "\0\0\0\31\1\1\1\2\2\2\3\3\3\4\4\4\5\5\5\6\6\6\10\10\10\11\11\11\13\13" \ + "\13\15\15\15\16\16\16\20\20\20\21\21\21\23\23\23\24\24\24\26\26\26\30" \ + "\30\30\31\31\31\32\32\32\34\34\34\35\35\35\37\37\37\40\40\40!!!\"\"\"" \ + "\202###\1$$$\202%%%\245&&&\235%%%\270&&&\206'''\211(((\205'''\203&&&" \ + "\227%%%\210&&&\215'''\205&&&\203%%%\226&&&\205'''\203(((\210'''\202&" \ + "&&\202%%%\1$$$\202###\31\"\"\"!!!\40\40\40\37\37\37\35\35\35\34\34\34" \ + "\32\32\32\31\31\31\30\30\30\26\26\26\24\24\24\23\23\23\21\21\21\20\20" \ + "\20\16\16\16\15\15\15\13\13\13\11\11\11\10\10\10\6\6\6\5\5\5\4\4\4\3" \ + "\3\3\2\2\2\1\1\1\377\0\0\0\267\0\0\0\202\1\1\1\202\3\3\3\25\5\5\5\6\6" \ + "\6\7\7\7\11\11\11\13\13\13\14\14\14\16\16\16\20\20\20\21\21\21\23\23" \ + "\23\25\25\25\26\26\26\30\30\30\32\32\32\33\33\33\35\35\35\36\36\36\40" \ + "\40\40!!!\"\"\"###\202%%%\2&&&'''\203(((\242)))\207(((\217'''\213(((" \ + "\267)))\205***\210+++\206***\202)))\233(((\205)))\214***\203)))\212(" \ + "((\222)))\217***\202)))\203(((\2'''&&&\202%%%\27###\"\"\"!!!\40\40\40" \ + "\36\36\36\35\35\35\33\33\33\32\32\32\30\30\30\26\26\26\25\25\25\23\23" \ + "\23\21\21\21\20\20\20\16\16\16\14\14\14\13\13\13\11\11\11\7\7\7\6\6\6" \ + "\5\5\5\3\3\3\2\2\2\202\1\1\1\377\0\0\0\266\0\0\0\34\1\1\1\2\2\2\3\3\3" \ + "\4\4\4\5\5\5\7\7\7\10\10\10\12\12\12\14\14\14\15\15\15\20\20\20\21\21" \ + "\21\23\23\23\24\24\24\26\26\26\30\30\30\32\32\32\33\33\33\35\35\35\37" \ + "\37\37\40\40\40\"\"\"###%%%&&&'''((()))\202***\207+++\211,,,\232+++\223" \ + "***\213+++\235,,,\222+++\206,,,\220---\203,,,\210+++\206***\220+++\207" \ + ",,,\204---\206,,,\215+++\206,,,\210+++\203,,,\215---\203,,,\202+++\202" \ + "***\34)))((('''&&&%%%###\"\"\"\40\40\40\37\37\37\35\35\35\33\33\33\32" \ + "\32\32\30\30\30\26\26\26\24\24\24\23\23\23\21\21\21\20\20\20\15\15\15" \ + "\14\14\14\12\12\12\10\10\10\7\7\7\5\5\5\4\4\4\3\3\3\2\2\2\1\1\1\377\0" \ + "\0\0\266\0\0\0\1\1\1\1\202\3\3\3\27\5\5\5\6\6\6\10\10\10\11\11\11\13" \ + "\13\13\15\15\15\17\17\17\21\21\21\22\22\22\24\24\24\26\26\26\30\30\30" \ + "\32\32\32\34\34\34\36\36\36\37\37\37!!!###$$$&&&'''(((***\202+++\2,," \ + ",---\247...\233---\231...\207///\230...\205///\214000\204///\204...\224" \ + "---\210...\217///\217...\203///\213...\205///\207000\205///\203...\2" \ + "---,,,\202+++\27***((('''&&&$$$###!!!\37\37\37\36\36\36\34\34\34\32\32" \ + "\32\30\30\30\26\26\26\24\24\24\22\22\22\21\21\21\17\17\17\15\15\15\13" \ + "\13\13\11\11\11\10\10\10\6\6\6\5\5\5\202\3\3\3\1\1\1\1\377\0\0\0\265" \ + "\0\0\0\36\1\1\1\2\2\2\3\3\3\4\4\4\5\5\5\7\7\7\11\11\11\12\12\12\14\14" \ + "\14\16\16\16\20\20\20\22\22\22\24\24\24\26\26\26\30\30\30\32\32\32\33" \ + "\33\33\36\36\36\37\37\37!!!###%%%&&&(((***+++,,,---...///\202000\244" \ + "111\206000\220///\211000\271111\221222\203111\210000\204///\217000\211" \ + "111\203222\210111\212000\223111\215222\204111\202000\36///...---,,,+" \ + "++***(((&&&%%%###!!!\37\37\37\36\36\36\33\33\33\32\32\32\30\30\30\26" \ + "\26\26\24\24\24\22\22\22\20\20\20\16\16\16\14\14\14\12\12\12\11\11\11" \ + "\7\7\7\5\5\5\4\4\4\3\3\3\2\2\2\1\1\1\377\0\0\0\264\0\0\0!\1\1\1\2\2\2" \ + "\3\3\3\5\5\5\6\6\6\10\10\10\12\12\12\13\13\13\15\15\15\17\17\17\21\21" \ + "\21\23\23\23\25\25\25\27\27\27\31\31\31\33\33\33\35\35\35\37\37\37!!" \ + "!###%%%''')))***,,,---///000LLL}}}\220\220\220\255\255\255\306\306\306" \ + "\205\326\326\326\5\267\267\267\256\256\256\205\205\205pppBBB\211444\203" \ + "333\202444\1aaa\214\205\205\205\3\204\204\204xxxTTT\223222\4JJJggg\205" \ + "\205\205\225\225\225\202\255\255\255\202\256\256\256\4\242\242\242\205" \ + "\205\205|||XXX\215444\2;;;ttt\216\205\205\205\2rrrUUU\215444\2""999i" \ + "ii\206\205\205\205\221\206\206\206\205\205\205\205\3\204\204\204eeeC" \ + "CC\222222\5YYY\205\205\205\232\232\232\255\255\255\317\317\317\205\326" \ + "\326\326\5\256\256\256\242\242\242\205\205\205fff666\211444\202333\1" \ + "\200\200\200\205\205\205\205\2UUU333\212444\1EEE\207\205\205\205\1EE" \ + "E\207555\5AAAppp\206\206\206\256\256\256\270\270\270\205\326\326\326" \ + "\40\305\305\305\255\255\255\220\220\220|||KKK///---,,,***)))'''%%%##" \ + "#!!!\37\37\37\35\35\35\33\33\33\31\31\31\27\27\27\25\25\25\23\23\23\21" \ + "\21\21\17\17\17\15\15\15\13\13\13\12\12\12\10\10\10\6\6\6\5\5\5\3\3\3" \ + "\2\2\2\1\1\1\377\0\0\0\263\0\0\0\202\1\1\1\33\3\3\3\4\4\4\5\5\5\7\7\7" \ + "\11\11\11\12\12\12\14\14\14\16\16\16\20\20\20\22\22\22\24\24\24\27\27" \ + "\27\31\31\31\33\33\33\35\35\35\37\37\37!!!###%%%''')))+++---...<<<\222" \ + "\222\222\342\342\342\217\377\377\377\2\311\311\311{{{\212666\2^^^\336" \ + "\336\336\220\377\377\377\4\361\361\361\256\256\256TTT555\211444\2035" \ + "55\3YYY\247\247\247\354\354\354\214\377\377\377\3\363\363\363\304\304" \ + "\304sss\211666\2}}}\366\366\366\221\377\377\377\3\356\356\356\245\245" \ + "\245RRR\211666\2xxx\354\354\354\240\377\377\377\3\327\327\327\217\217" \ + "\217\77\77\77\214555\3RRR\251\251\251\356\356\356\216\377\377\377\3\370" \ + "\370\370\270\270\270aaa\203777\206666\1\363\363\363\205\377\377\377\1" \ + "\211\211\211\212666\2===\324\324\324\206\377\377\377\1\240\240\240\206" \ + "777\2~~~\311\311\311\217\377\377\377\32\342\342\342\221\221\221:::--" \ + "-+++)))'''%%%###!!!\37\37\37\35\35\35\33\33\33\31\31\31\27\27\27\24\24" \ + "\24\22\22\22\20\20\20\16\16\16\14\14\14\12\12\12\11\11\11\7\7\7\5\5\5" \ + "\4\4\4\3\3\3\202\1\1\1\377\0\0\0\262\0\0\0\33\1\1\1\2\2\2\3\3\3\4\4\4" \ + "\6\6\6\10\10\10\11\11\11\13\13\13\15\15\15\20\20\20\21\21\21\24\24\24" \ + "\25\25\25\30\30\30\32\32\32\34\34\34\36\36\36\40\40\40###%%%''')))++" \ + "+---///www\361\361\361\223\377\377\377\2\332\332\332VVV\207888\2FFF\357" \ + "\357\357\224\377\377\377\2\246\246\246>>>\211777\2CCC\266\266\266\222" \ + "\377\377\377\2\323\323\323RRR\206888\2[[[\372\372\372\224\377\377\377" \ + "\2\370\370\370\212\212\212\207888\2bbb\375\375\375\243\377\377\377\2" \ + "\352\352\352aaa\211777\3""999\241\241\241\372\372\372\223\377\377\377" \ + "\2\276\276\276BBB\203999\204888\1\363\363\363\205\377\377\377\1\212\212" \ + "\212\211888\2===\313\313\313\206\377\377\377\1\262\262\262\205999\2W" \ + "WW\332\332\332\223\377\377\377\32\360\360\360vvv---+++)))'''%%%###\40" \ + "\40\40\36\36\36\34\34\34\32\32\32\30\30\30\25\25\25\24\24\24\21\21\21" \ + "\20\20\20\15\15\15\13\13\13\11\11\11\10\10\10\6\6\6\4\4\4\3\3\3\2\2\2" \ + "\1\1\1\377\0\0\0\262\0\0\0\31\1\1\1\2\2\2\3\3\3\5\5\5\6\6\6\10\10\10" \ + "\12\12\12\14\14\14\16\16\16\20\20\20\22\22\22\24\24\24\27\27\27\31\31" \ + "\31\33\33\33\36\36\36\40\40\40\"\"\"$$$''')))+++---///\231\231\231\226" \ + "\377\377\377\2\366\366\366ddd\206:::\1\224\224\224\226\377\377\377\2" \ + "\316\316\316EEE\207999\2NNN\341\341\341\224\377\377\377\2\361\361\361" \ + "]]]\205:::\1\240\240\240\227\377\377\377\1\224\224\224\206:::\1\271\271" \ + "\271\245\377\377\377\2\363\363\363UUU\207999\2>>>\311\311\311\226\377" \ + "\377\377\2\341\341\341JJJ\206:::\1\363\363\363\205\377\377\377\1\213" \ + "\213\213\211:::\1\271\271\271\206\377\377\377\2\276\276\276<<<\204;;" \ + ";\2eee\366\366\366\226\377\377\377\30\226\226\226---+++)))'''$$$\"\"" \ + "\"\40\40\40\36\36\36\33\33\33\31\31\31\27\27\27\24\24\24\22\22\22\20" \ + "\20\20\16\16\16\14\14\14\12\12\12\10\10\10\6\6\6\5\5\5\3\3\3\2\2\2\1" \ + "\1\1\377\0\0\0\262\0\0\0\30\1\1\1\3\3\3\4\4\4\5\5\5\7\7\7\11\11\11\13" \ + "\13\13\15\15\15\17\17\17\21\21\21\23\23\23\25\25\25\30\30\30\32\32\32" \ + "\34\34\34\37\37\37!!!###&&&(((+++---///zzz\230\377\377\377\2\357\357" \ + "\357QQQ\205<<<\1\274\274\274\227\377\377\377\1\303\303\303\206:::\2\77" \ + "\77\77\334\334\334\226\377\377\377\2\352\352\352JJJ\204<<<\1\272\272" \ + "\272\230\377\377\377\1jjj\205<<<\1\341\341\341\246\377\377\377\1\325" \ + "\325\325\207;;;\1\263\263\263\230\377\377\377\2\324\324\324\77\77\77" \ + "\202===\203<<<\1\364\364\364\205\377\377\377\1\214\214\214\210<<<\1\254" \ + "\254\254\206\377\377\377\2\312\312\312BBB\204===\2TTT\357\357\357\230" \ + "\377\377\377\27vvv---+++(((&&&###!!!\37\37\37\34\34\34\32\32\32\30\30" \ + "\30\25\25\25\23\23\23\21\21\21\17\17\17\15\15\15\13\13\13\11\11\11\7" \ + "\7\7\5\5\5\4\4\4\3\3\3\1\1\1\377\0\0\0\261\0\0\0\31\1\1\1\2\2\2\3\3\3" \ + "\4\4\4\6\6\6\10\10\10\11\11\11\13\13\13\15\15\15\20\20\20\22\22\22\24" \ + "\24\24\26\26\26\31\31\31\33\33\33\36\36\36\40\40\40###%%%'''***,,,.." \ + ".\77\77\77\361\361\361\207\377\377\377\3\355\355\355\251\251\251\212" \ + "\212\212\204eee\4lll\214\214\214\277\277\277\372\372\372\207\377\377" \ + "\377\2\306\306\306===\204>>>\1\306\306\306\206\377\377\377\1\267\267" \ + "\267\206\214\214\214\3\216\216\216\262\262\262\341\341\341\210\377\377" \ + "\377\1\201\201\201\205<<<\1\241\241\241\207\377\377\377\3\366\366\366" \ + "\300\300\300\231\231\231\204\214\214\214\2\247\247\247\324\324\324\210" \ + "\377\377\377\1\251\251\251\204>>>\1\273\273\273\205\377\377\377\2\375" \ + "\375\375\247\247\247\207\214\214\214\3\245\245\245\275\275\275\355\355" \ + "\355\207\377\377\377\1\326\326\326\205>>>\1\361\361\361\205\377\377\377" \ + "\2\364\364\364\240\240\240\211\214\214\214\1\320\320\320\205\377\377" \ + "\377\1\353\353\353\206\214\214\214\3\227\227\227\273\273\273\364\364" \ + "\364\207\377\377\377\2qqq===\202<<<\202===\1kkk\210\377\377\377\3\335" \ + "\335\335\236\236\236\201\201\201\204eee\3www\225\225\225\317\317\317" \ + "\210\377\377\377\1\220\220\220\205>>>\1\364\364\364\205\377\377\377\1" \ + "\215\215\215\207>>>\1\231\231\231\206\377\377\377\2\326\326\326FFF\205" \ + "\77\77\77\1\307\307\307\207\377\377\377\4\372\372\372\302\302\302\216" \ + "\216\216nnn\204eee\3\207\207\207\251\251\251\357\357\357\207\377\377" \ + "\377\30\360\360\360===,,,***'''%%%###\40\40\40\36\36\36\33\33\33\31\31" \ + "\31\26\26\26\24\24\24\22\22\22\20\20\20\15\15\15\13\13\13\11\11\11\10" \ + "\10\10\6\6\6\4\4\4\3\3\3\2\2\2\1\1\1\377\0\0\0\260\0\0\0\30\1\1\1\2\2" \ + "\2\3\3\3\5\5\5\6\6\6\10\10\10\12\12\12\14\14\14\16\16\16\20\20\20\22" \ + "\22\22\25\25\25\27\27\27\32\32\32\34\34\34\37\37\37!!!###&&&(((+++--" \ + "-000\232\232\232\206\377\377\377\3\375\375\375\231\231\231DDD\211@@@" \ + "\2VVV\313\313\313\207\377\377\377\1ccc\204\77\77\77\1\307\307\307\205" \ + "\377\377\377\2\313\313\313@@@\205AAA\204@@@\2zzz\355\355\355\206\377" \ + "\377\377\2\346\346\346@@@\203>>>\2GGG\364\364\364\206\377\377\377\2\273" \ + "\273\273KKK\202@@@\203AAA\203@@@\2ddd\331\331\331\206\377\377\377\2\366" \ + "\366\366FFF\203\77\77\77\1\273\273\273\205\377\377\377\2\320\320\320" \ + "@@@\206AAA\203@@@\2GGG\254\254\254\207\377\377\377\1aaa\204\77\77\77" \ + "\1\364\364\364\205\377\377\377\2\243\243\243@@@\211AAA\1\261\261\261" \ + "\205\377\377\377\1\335\335\335\204AAA\204@@@\2KKK\313\313\313\206\377" \ + "\377\377\1\271\271\271\205>>>\1\317\317\317\206\377\377\377\2\355\355" \ + "\355zzz\212@@@\2kkk\344\344\344\206\377\377\377\2\357\357\357DDD\204" \ + "@@@\1\364\364\364\205\377\377\377\1\217\217\217\206\77\77\77\1\212\212" \ + "\212\206\377\377\377\2\335\335\335KKK\205@@@\1ddd\207\377\377\377\2\305" \ + "\305\305RRR\211@@@\2DDD\234\234\234\207\377\377\377\27\231\231\231--" \ + "-+++(((&&&###!!!\37\37\37\34\34\34\32\32\32\27\27\27\25\25\25\22\22\22" \ + "\20\20\20\16\16\16\14\14\14\12\12\12\10\10\10\6\6\6\5\5\5\3\3\3\2\2\2" \ + "\1\1\1\377\0\0\0\260\0\0\0\30\1\1\1\2\2\2\3\3\3\5\5\5\7\7\7\11\11\11" \ + "\12\12\12\15\15\15\17\17\17\21\21\21\23\23\23\25\25\25\30\30\30\32\32" \ + "\32\35\35\35\40\40\40\"\"\"%%%'''***,,,///333\354\354\354\206\377\377" \ + "\377\1\201\201\201\214AAA\2BBB\302\302\302\206\377\377\377\1\267\267" \ + "\267\204@@@\1\307\307\307\205\377\377\377\1\274\274\274\210BBB\203AA" \ + "A\2WWW\362\362\362\206\377\377\377\1sss\203\77\77\77\1\203\203\203\206" \ + "\377\377\377\1\300\300\300\202AAA\207BBB\202AAA\2JJJ\342\342\342\206" \ + "\377\377\377\1xxx\203@@@\1\274\274\274\205\377\377\377\1\307\307\307" \ + "\211BBB\203AAA\1\276\276\276\206\377\377\377\1\223\223\223\204@@@\1\364" \ + "\364\364\205\377\377\377\1\233\233\233\212BBB\1\261\261\261\205\377\377" \ + "\377\1\336\336\336\207BBB\202AAA\2LLL\353\353\353\205\377\377\377\1\350" \ + "\350\350\204\77\77\77\1___\206\377\377\377\2\364\364\364]]]\214AAA\2" \ + "QQQ\346\346\346\206\377\377\377\1\202\202\202\204AAA\1\364\364\364\205" \ + "\377\377\377\1\217\217\217\203AAA\202@@@\2zzz\375\375\375\205\377\377" \ + "\377\4\344\344\344SSSAAABBB\204AAA\1\261\261\261\206\377\377\377\1\276" \ + "\276\276\214AAA\2@@@\212\212\212\206\377\377\377\27\354\354\354111,," \ + ",***'''%%%\"\"\"\40\40\40\35\35\35\32\32\32\30\30\30\25\25\25\23\23\23" \ + "\21\21\21\17\17\17\15\15\15\12\12\12\11\11\11\7\7\7\5\5\5\3\3\3\2\2\2" \ + "\1\1\1\377\0\0\0\260\0\0\0\27\1\1\1\2\2\2\4\4\4\5\5\5\7\7\7\11\11\11" \ + "\13\13\13\15\15\15\20\20\20\21\21\21\24\24\24\26\26\26\31\31\31\33\33" \ + "\33\36\36\36\40\40\40###&&&(((+++---000bbb\206\377\377\377\2\300\300" \ + "\300AAA\213BBB\202AAA\2LLL\362\362\362\205\377\377\377\2\362\362\362" \ + "CCC\203AAA\1\307\307\307\205\377\377\377\1\274\274\274\214BBB\1\211\211" \ + "\211\206\377\377\377\1\252\252\252\203@@@\1\260\260\260\205\377\377\377" \ + "\2\373\373\373RRR\214BBB\1zzz\206\377\377\377\1\237\237\237\203AAA\1" \ + "\274\274\274\205\377\377\377\1\307\307\307\214BBB\1fff\206\377\377\377" \ + "\1\263\263\263\204AAA\1\364\364\364\205\377\377\377\1\233\233\233\212" \ + "BBB\1\261\261\261\205\377\377\377\1\336\336\336\212BBB\1\246\246\246" \ + "\206\377\377\377\1GGG\203@@@\1\232\232\232\206\377\377\377\2\224\224" \ + "\224AAA\213BBB\202AAA\1ppp\206\377\377\377\1\274\274\274\204BBB\1\364" \ + "\364\364\205\377\377\377\2\220\220\220BBB\203AAA\2nnn\370\370\370\205" \ + "\377\377\377\2\353\353\353]]]\207BBB\1\351\351\351\205\377\377\377\2" \ + "\362\362\362JJJ\214BBB\3AAA@@@\302\302\302\206\377\377\377\26aaa---+" \ + "++(((&&&###\40\40\40\36\36\36\33\33\33\31\31\31\26\26\26\24\24\24\21" \ + "\21\21\17\17\17\15\15\15\13\13\13\11\11\11\7\7\7\5\5\5\4\4\4\2\2\2\1" \ + "\1\1\377\0\0\0\260\0\0\0\27\1\1\1\3\3\3\4\4\4\5\5\5\7\7\7\11\11\11\13" \ + "\13\13\15\15\15\20\20\20\22\22\22\24\24\24\27\27\27\31\31\31\34\34\34" \ + "\37\37\37!!!$$$'''))),,,...111\224\224\224\206\377\377\377\1www\217B" \ + "BB\1\250\250\250\206\377\377\377\1___\203BBB\1\307\307\307\205\377\377" \ + "\377\1\274\274\274\214BBB\2III\366\366\366\205\377\377\377\1\320\320" \ + "\320\203AAA\1\322\322\322\205\377\377\377\1\314\314\314\215BBB\2DDD\370" \ + "\370\370\205\377\377\377\1\266\266\266\203BBB\1\274\274\274\205\377\377" \ + "\377\1\307\307\307\215BBB\1\353\353\353\205\377\377\377\1\305\305\305" \ + "\204BBB\1\364\364\364\205\377\377\377\1\233\233\233\212BBB\1\261\261" \ + "\261\205\377\377\377\1\336\336\336\212BBB\1|||\206\377\377\377\1ZZZ\203" \ + "AAA\1\314\314\314\205\377\377\377\2\373\373\373III\217BBB\1\325\325\325" \ + "\205\377\377\377\1\355\355\355\204BBB\1\364\364\364\205\377\377\377\1" \ + "\220\220\220\203BBB\2ccc\364\364\364\205\377\377\377\2\362\362\362cc" \ + "c\207BBB\1___\206\377\377\377\1\261\261\261\216BBB\2AAAhhh\206\377\377" \ + "\377\26\222\222\222...,,,)))&&&$$$!!!\37\37\37\34\34\34\31\31\31\27\27" \ + "\27\24\24\24\22\22\22\20\20\20\15\15\15\13\13\13\11\11\11\7\7\7\5\5\5" \ + "\4\4\4\3\3\3\1\1\1\377\0\0\0\260\0\0\0\27\1\1\1\3\3\3\4\4\4\6\6\6\10" \ + "\10\10\12\12\12\14\14\14\16\16\16\20\20\20\22\22\22\25\25\25\27\27\27" \ + "\32\32\32\34\34\34\37\37\37\"\"\"%%%'''***---///222\272\272\272\205\377" \ + "\377\377\2\370\370\370III\217BBB\1jjj\206\377\377\377\1\205\205\205\203" \ + "BBB\1\307\307\307\205\377\377\377\1\274\274\274\215BBB\1\323\323\323" \ + "\205\377\377\377\1\347\347\347\203BBB\1\351\351\351\205\377\377\377\1" \ + "\266\266\266\216BBB\1\347\347\347\205\377\377\377\1\301\301\301\203B" \ + "BB\1\274\274\274\205\377\377\377\1\307\307\307\215BBB\1\314\314\314\205" \ + "\377\377\377\1\307\307\307\204BBB\1\364\364\364\205\377\377\377\1\233" \ + "\233\233\212BBB\1\261\261\261\205\377\377\377\1\336\336\336\212BBB\1" \ + "nnn\206\377\377\377\1ccc\203BBB\1\357\357\357\205\377\377\377\1\323\323" \ + "\323\220BBB\1\235\235\235\206\377\377\377\1TTT\203BBB\1\364\364\364\205" \ + "\377\377\377\1\220\220\220\202BBB\2VVV\353\353\353\205\377\377\377\2" \ + "\370\370\370jjj\210BBB\1\205\205\205\206\377\377\377\1~~~\217BBB\2AA" \ + "A\357\357\357\205\377\377\377\26\271\271\271///---***'''%%%\"\"\"\37" \ + "\37\37\34\34\34\32\32\32\27\27\27\25\25\25\22\22\22\20\20\20\16\16\16" \ + "\14\14\14\12\12\12\10\10\10\6\6\6\4\4\4\3\3\3\1\1\1\377\0\0\0\257\0\0" \ + "\0\30\1\1\1\2\2\2\3\3\3\4\4\4\6\6\6\10\10\10\12\12\12\14\14\14\16\16" \ + "\16\20\20\20\23\23\23\25\25\25\30\30\30\32\32\32\35\35\35\40\40\40##" \ + "#%%%(((+++---000222\327\327\327\205\377\377\377\1\331\331\331\220BBB" \ + "\1KKK\206\377\377\377\1\237\237\237\203BBB\1\307\307\307\205\377\377" \ + "\377\1\274\274\274\215BBB\1\270\270\270\205\377\377\377\2\375\375\375" \ + "FFF\202BBB\1\373\373\373\205\377\377\377\1\246\246\246\215BBB\2VVV\370" \ + "\370\370\205\377\377\377\1\312\312\312\203BBB\1\274\274\274\205\377\377" \ + "\377\1\307\307\307\215BBB\1\277\277\277\205\377\377\377\1\307\307\307" \ + "\204BBB\1\364\364\364\205\377\377\377\1\233\233\233\212BBB\1\261\261" \ + "\261\205\377\377\377\1\336\336\336\212BBB\1nnn\206\377\377\377\1ccc\202" \ + "BBB\1KKK\206\377\377\377\1\250\250\250\220BBB\1zzz\206\377\377\377\1" \ + "nnn\203BBB\1\364\364\364\205\377\377\377\1\220\220\220\202BBB\1\320\320" \ + "\320\205\377\377\377\2\373\373\373sss\211BBB\1\235\235\235\206\377\377" \ + "\377\1VVV\217BBB\2AAA\313\313\313\205\377\377\377\27\326\326\326000-" \ + "--+++(((%%%\"\"\"\40\40\40\35\35\35\32\32\32\30\30\30\25\25\25\23\23" \ + "\23\20\20\20\16\16\16\14\14\14\12\12\12\10\10\10\6\6\6\4\4\4\3\3\3\2" \ + "\2\2\1\1\1\377\0\0\0\256\0\0\0\30\1\1\1\2\2\2\3\3\3\4\4\4\6\6\6\10\10" \ + "\10\12\12\12\14\14\14\16\16\16\21\21\21\23\23\23\25\25\25\30\30\30\33" \ + "\33\33\35\35\35\40\40\40###&&&(((+++...000333\354\354\354\205\377\377" \ + "\377\1\303\303\303\221BBB\1\370\370\370\205\377\377\377\1\263\263\263" \ + "\203BBB\1\307\307\307\205\377\377\377\1\274\274\274\215BBB\1\250\250" \ + "\250\206\377\377\377\3MMMBBBDDD\206\377\377\377\1\355\355\355\215\331" \ + "\331\331\1\370\370\370\206\377\377\377\1\307\307\307\203BBB\1\274\274" \ + "\274\205\377\377\377\1\307\307\307\215BBB\1\274\274\274\205\377\377\377" \ + "\1\307\307\307\204BBB\1\364\364\364\205\377\377\377\1\233\233\233\212" \ + "BBB\1\261\261\261\205\377\377\377\1\336\336\336\212BBB\1nnn\206\377\377" \ + "\377\1ccc\202BBB\1___\206\377\377\377\1\226\226\226\220BBB\1jjj\206\377" \ + "\377\377\1\202\202\202\203BBB\1\364\364\364\205\377\377\377\3\220\220" \ + "\220BBBwww\206\377\377\377\1\211\211\211\212BBB\1\257\257\257\205\377" \ + "\377\377\2\375\375\375DDD\217BBB\2AAA\276\276\276\205\377\377\377\27" \ + "\354\354\354000...+++(((&&&###\40\40\40\35\35\35\33\33\33\30\30\30\25" \ + "\25\25\23\23\23\21\21\21\16\16\16\14\14\14\12\12\12\10\10\10\6\6\6\4" \ + "\4\4\3\3\3\2\2\2\1\1\1\377\0\0\0\256\0\0\0\30\1\1\1\2\2\2\3\3\3\4\4\4" \ + "\6\6\6\10\10\10\12\12\12\14\14\14\17\17\17\21\21\21\23\23\23\26\26\26" \ + "\31\31\31\33\33\33\36\36\36\40\40\40###&&&)))+++...111444\370\370\370" \ + "\205\377\377\377\1\263\263\263\221BBB\1\353\353\353\205\377\377\377\1" \ + "\274\274\274\203BBB\1\307\307\307\205\377\377\377\1\274\274\274\215B" \ + "BB\1\237\237\237\206\377\377\377\3RRRBBBMMM\233\377\377\377\1\257\257" \ + "\257\203BBB\1\274\274\274\205\377\377\377\1\307\307\307\215BBB\1\274" \ + "\274\274\205\377\377\377\1\307\307\307\204BBB\1\364\364\364\205\377\377" \ + "\377\1\233\233\233\212BBB\1\261\261\261\205\377\377\377\1\336\336\336" \ + "\212BBB\1nnn\206\377\377\377\1ccc\202BBB\1jjj\206\377\377\377\1\207\207" \ + "\207\220BBB\1aaa\206\377\377\377\1\216\216\216\203BBB\1\364\364\364\205" \ + "\377\377\377\3\220\220\220BBB\257\257\257\205\377\377\377\1\331\331\331" \ + "\213BBB\1\274\274\274\205\377\377\377\1\357\357\357\220BBB\2AAA\260\260" \ + "\260\205\377\377\377\27\370\370\370111...+++)))&&&###\40\40\40\36\36" \ + "\36\33\33\33\31\31\31\26\26\26\23\23\23\21\21\21\17\17\17\14\14\14\12" \ + "\12\12\10\10\10\6\6\6\4\4\4\3\3\3\2\2\2\1\1\1\377\0\0\0\256\0\0\0\27" \ + "\1\1\1\2\2\2\3\3\3\4\4\4\6\6\6\10\10\10\12\12\12\15\15\15\17\17\17\21" \ + "\21\21\24\24\24\26\26\26\31\31\31\33\33\33\36\36\36\40\40\40###&&&))" \ + ")+++...111444\206\377\377\377\1\261\261\261\221BBB\1\351\351\351\205" \ + "\377\377\377\1\307\307\307\203BBB\1\307\307\307\205\377\377\377\1\274" \ + "\274\274\215BBB\1\233\233\233\206\377\377\377\3XXXBBBMMM\233\377\377" \ + "\377\1zzz\203BBB\1\274\274\274\205\377\377\377\1\307\307\307\215BBB\1" \ + "\274\274\274\205\377\377\377\1\307\307\307\204BBB\1\364\364\364\205\377" \ + "\377\377\1\233\233\233\212BBB\1\261\261\261\205\377\377\377\1\336\336" \ + "\336\212BBB\1nnn\206\377\377\377\1ccc\202BBB\1nnn\206\377\377\377\1\205" \ + "\205\205\220BBB\1XXX\206\377\377\377\1\220\220\220\203BBB\1\364\364\364" \ + "\205\377\377\377\3\220\220\220BBB\277\277\277\205\377\377\377\1\312\312" \ + "\312\213BBB\1\305\305\305\205\377\377\377\1\351\351\351\220BBB\2AAA\261" \ + "\261\261\206\377\377\377\26""111...+++)))&&&###\40\40\40\36\36\36\33" \ + "\33\33\31\31\31\26\26\26\23\23\23\21\21\21\17\17\17\15\15\15\12\12\12" \ + "\10\10\10\6\6\6\4\4\4\3\3\3\2\2\2\1\1\1\377\0\0\0\256\0\0\0\27\1\1\1" \ + "\2\2\2\3\3\3\4\4\4\6\6\6\10\10\10\12\12\12\15\15\15\17\17\17\21\21\21" \ + "\24\24\24\26\26\26\31\31\31\33\33\33\36\36\36!!!###&&&))),,,...11144" \ + "4\206\377\377\377\1\261\261\261\221BBB\1\351\351\351\205\377\377\377" \ + "\1\301\301\301\203BBB\1\307\307\307\205\377\377\377\1\274\274\274\215" \ + "BBB\1\233\233\233\206\377\377\377\3OOOBBBMMM\232\377\377\377\2\316\316" \ + "\316DDD\203BBB\1\274\274\274\205\377\377\377\1\307\307\307\215BBB\1\274" \ + "\274\274\205\377\377\377\1\307\307\307\204BBB\1\364\364\364\205\377\377" \ + "\377\1\233\233\233\212BBB\1\261\261\261\205\377\377\377\1\336\336\336" \ + "\212BBB\1nnn\206\377\377\377\1ccc\202BBB\1nnn\206\377\377\377\1\205\205" \ + "\205\220BBB\1___\206\377\377\377\1\220\220\220\203BBB\1\364\364\364\205" \ + "\377\377\377\3\220\220\220BBB\255\255\255\205\377\377\377\2\366\366\366" \ + "OOO\212BBB\1\307\307\307\205\377\377\377\1\351\351\351\220BBB\2AAA\261" \ + "\261\261\205\377\377\377\27\375\375\375111...+++)))&&&###\40\40\40\36" \ + "\36\36\33\33\33\31\31\31\26\26\26\24\24\24\21\21\21\17\17\17\15\15\15" \ + "\12\12\12\10\10\10\6\6\6\4\4\4\3\3\3\2\2\2\1\1\1\377\0\0\0\256\0\0\0" \ + "\30\1\1\1\2\2\2\3\3\3\4\4\4\6\6\6\10\10\10\12\12\12\15\15\15\17\17\17" \ + "\21\21\21\24\24\24\26\26\26\31\31\31\33\33\33\36\36\36\40\40\40###&&" \ + "&)))+++...111444\370\370\370\205\377\377\377\1\263\263\263\221BBB\1\362" \ + "\362\362\205\377\377\377\1\274\274\274\203BBB\1\307\307\307\205\377\377" \ + "\377\1\274\274\274\215BBB\1\244\244\244\206\377\377\377\3MMMBBBMMM\230" \ + "\377\377\377\3\370\370\370\270\270\270KKK\204BBB\1\274\274\274\205\377" \ + "\377\377\1\307\307\307\215BBB\1\274\274\274\205\377\377\377\1\307\307" \ + "\307\204BBB\1\364\364\364\205\377\377\377\1\233\233\233\212BBB\1\261" \ + "\261\261\205\377\377\377\1\336\336\336\212BBB\1nnn\206\377\377\377\1" \ + "ccc\202BBB\1lll\206\377\377\377\1\205\205\205\220BBB\1ccc\206\377\377" \ + "\377\1\213\213\213\203BBB\1\364\364\364\205\377\377\377\3\220\220\220" \ + "BBBsss\206\377\377\377\1\307\307\307\212BBB\1\274\274\274\205\377\377" \ + "\377\1\364\364\364\220BBB\2AAA\260\260\260\205\377\377\377\27\363\363" \ + "\363111...+++)))&&&###\40\40\40\36\36\36\33\33\33\31\31\31\26\26\26\23" \ + "\23\23\21\21\21\17\17\17\15\15\15\12\12\12\10\10\10\6\6\6\4\4\4\3\3\3" \ + "\2\2\2\1\1\1\377\0\0\0\256\0\0\0\30\1\1\1\2\2\2\3\3\3\4\4\4\6\6\6\10" \ + "\10\10\12\12\12\14\14\14\17\17\17\21\21\21\23\23\23\26\26\26\31\31\31" \ + "\33\33\33\36\36\36\40\40\40###&&&)))+++...111444\356\356\356\205\377" \ + "\377\377\1\303\303\303\221BBB\1\373\373\373\205\377\377\377\1\255\255" \ + "\255\203BBB\1\307\307\307\205\377\377\377\1\274\274\274\215BBB\1\255" \ + "\255\255\206\377\377\377\1FFF\202BBB\206\377\377\377\1\246\246\246\230" \ + "BBB\1\274\274\274\205\377\377\377\1\307\307\307\215BBB\1\274\274\274" \ + "\205\377\377\377\1\307\307\307\204BBB\1\364\364\364\205\377\377\377\1" \ + "\233\233\233\212BBB\1\261\261\261\205\377\377\377\1\336\336\336\212B" \ + "BB\1nnn\206\377\377\377\1ccc\202BBB\1aaa\206\377\377\377\1\224\224\224" \ + "\220BBB\1nnn\206\377\377\377\1~~~\203BBB\1\364\364\364\205\377\377\377" \ + "\1\220\220\220\202BBB\1\323\323\323\206\377\377\377\1\255\255\255\211" \ + "BBB\1\263\263\263\205\377\377\377\2\375\375\375DDD\217BBB\2AAA\300\300" \ + "\300\205\377\377\377\27\347\347\347111...+++(((&&&###\40\40\40\36\36" \ + "\36\33\33\33\31\31\31\26\26\26\23\23\23\21\21\21\17\17\17\14\14\14\12" \ + "\12\12\10\10\10\6\6\6\4\4\4\3\3\3\2\2\2\1\1\1\377\0\0\0\256\0\0\0\30" \ + "\1\1\1\2\2\2\3\3\3\4\4\4\6\6\6\10\10\10\12\12\12\14\14\14\16\16\16\21" \ + "\21\21\23\23\23\25\25\25\30\30\30\33\33\33\35\35\35\40\40\40###&&&((" \ + "(+++...000333\331\331\331\205\377\377\377\1\331\331\331\220BBB\1TTT\206" \ + "\377\377\377\1\231\231\231\203BBB\1\307\307\307\205\377\377\377\1\274" \ + "\274\274\215BBB\1\301\301\301\205\377\377\377\1\357\357\357\203BBB\1" \ + "\373\373\373\205\377\377\377\1\257\257\257\230BBB\1\274\274\274\205\377" \ + "\377\377\1\307\307\307\215BBB\1\274\274\274\205\377\377\377\1\307\307" \ + "\307\204BBB\1\364\364\364\205\377\377\377\1\233\233\233\212BBB\1\261" \ + "\261\261\205\377\377\377\1\336\336\336\212BBB\1nnn\206\377\377\377\1" \ + "ccc\202BBB\1MMM\206\377\377\377\1\253\253\253\220BBB\1\202\202\202\206" \ + "\377\377\377\1jjj\203BBB\1\364\364\364\205\377\377\377\1\220\220\220" \ + "\202BBB\2VVV\355\355\355\206\377\377\377\1\244\244\244\210BBB\1\242\242" \ + "\242\206\377\377\377\1VVV\217BBB\2AAA\327\327\327\205\377\377\377\27" \ + "\317\317\317000...+++(((%%%###\40\40\40\35\35\35\33\33\33\30\30\30\25" \ + "\25\25\23\23\23\21\21\21\16\16\16\14\14\14\12\12\12\10\10\10\6\6\6\4" \ + "\4\4\3\3\3\2\2\2\1\1\1\377\0\0\0\256\0\0\0\30\1\1\1\2\2\2\3\3\3\4\4\4" \ + "\6\6\6\10\10\10\12\12\12\14\14\14\16\16\16\20\20\20\23\23\23\25\25\25" \ + "\30\30\30\32\32\32\35\35\35\40\40\40###%%%(((+++---000222\274\274\274" \ + "\205\377\377\377\2\370\370\370III\217BBB\1\200\200\200\206\377\377\377" \ + "\1~~~\203BBB\1\307\307\307\205\377\377\377\1\274\274\274\215BBB\1\336" \ + "\336\336\205\377\377\377\1\331\331\331\203BBB\1\351\351\351\205\377\377" \ + "\377\1\301\301\301\230BBB\1\274\274\274\205\377\377\377\1\307\307\307" \ + "\215BBB\1\274\274\274\205\377\377\377\1\307\307\307\204BBB\1\364\364" \ + "\364\205\377\377\377\1\233\233\233\212BBB\1\261\261\261\205\377\377\377" \ + "\1\336\336\336\212BBB\1nnn\206\377\377\377\1ccc\203BBB\1\357\357\357" \ + "\205\377\377\377\1\323\323\323\220BBB\1\261\261\261\206\377\377\377\1" \ + "MMM\203BBB\1\364\364\364\205\377\377\377\1\220\220\220\203BBB\2ccc\362" \ + "\362\362\206\377\377\377\1\231\231\231\207BBB\1\207\207\207\206\377\377" \ + "\377\1\205\205\205\217BBB\2HHH\370\370\370\205\377\377\377\27\262\262" \ + "\262000---+++(((%%%\"\"\"\40\40\40\35\35\35\32\32\32\30\30\30\25\25\25" \ + "\23\23\23\20\20\20\16\16\16\14\14\14\12\12\12\10\10\10\6\6\6\4\4\4\3" \ + "\3\3\2\2\2\1\1\1\377\0\0\0\257\0\0\0\27\1\1\1\3\3\3\4\4\4\6\6\6\10\10" \ + "\10\12\12\12\14\14\14\16\16\16\20\20\20\22\22\22\25\25\25\27\27\27\32" \ + "\32\32\34\34\34\37\37\37\"\"\"%%%'''***---///222\231\231\231\206\377" \ + "\377\377\1|||\217BBB\1\274\274\274\206\377\377\377\1VVV\203BBB\1\307" \ + "\307\307\205\377\377\377\1\274\274\274\214BBB\2OOO\375\375\375\205\377" \ + "\377\377\1\301\301\301\203BBB\1\327\327\327\205\377\377\377\1\327\327" \ + "\327\230BBB\1\274\274\274\205\377\377\377\1\307\307\307\215BBB\1\274" \ + "\274\274\205\377\377\377\1\307\307\307\204BBB\1\364\364\364\205\377\377" \ + "\377\1\233\233\233\212BBB\1\261\261\261\205\377\377\377\1\336\336\336" \ + "\212BBB\1nnn\206\377\377\377\1ccc\203BBB\1\316\316\316\205\377\377\377" \ + "\2\375\375\375RRR\216BBB\2DDD\351\351\351\205\377\377\377\1\344\344\344" \ + "\204BBB\1\364\364\364\205\377\377\377\1\220\220\220\204BBB\2jjj\366\366" \ + "\366\206\377\377\377\1\220\220\220\206BBB\1aaa\206\377\377\377\1\274" \ + "\274\274\217BBB\1{{{\206\377\377\377\26\213\213\213///---***'''$$$\"" \ + "\"\"\37\37\37\34\34\34\32\32\32\27\27\27\25\25\25\22\22\22\20\20\20\16" \ + "\16\16\13\13\13\11\11\11\10\10\10\6\6\6\4\4\4\3\3\3\1\1\1\377\0\0\0\260" \ + "\0\0\0\27\1\1\1\3\3\3\4\4\4\5\5\5\7\7\7\11\11\11\13\13\13\15\15\15\20" \ + "\20\20\22\22\22\24\24\24\27\27\27\31\31\31\34\34\34\37\37\37!!!$$$&&" \ + "&))),,,...111ddd\206\377\377\377\2\327\327\327DDD\215BBB\2___\373\373" \ + "\373\205\377\377\377\1\351\351\351\204BBB\1\307\307\307\205\377\377\377" \ + "\1\274\274\274\214BBB\1\242\242\242\206\377\377\377\1\230\230\230\203" \ + "AAA\1\267\267\267\205\377\377\377\2\375\375\375RRR\227BBB\1\274\274\274" \ + "\205\377\377\377\1\307\307\307\203BBB\206AAA\204BBB\1\274\274\274\205" \ + "\377\377\377\1\307\307\307\204BBB\1\364\364\364\205\377\377\377\1\233" \ + "\233\233\212BBB\1\261\261\261\205\377\377\377\1\336\336\336\212BBB\1" \ + "nnn\206\377\377\377\1ccc\203BBB\1\233\233\233\206\377\377\377\1\250\250" \ + "\250\216BBB\1\211\211\211\206\377\377\377\1\261\261\261\204BBB\1\364" \ + "\364\364\205\377\377\377\1\220\220\220\205BBB\2sss\370\370\370\206\377" \ + "\377\377\1\207\207\207\205BBB\2DDD\362\362\362\205\377\377\377\2\373" \ + "\373\373ZZZ\215BBB\2CCC\333\333\333\206\377\377\377\26UUU...+++)))&&" \ + "&$$$!!!\36\36\36\34\34\34\31\31\31\27\27\27\24\24\24\22\22\22\20\20\20" \ + "\15\15\15\13\13\13\11\11\11\7\7\7\5\5\5\4\4\4\3\3\3\1\1\1\377\0\0\0\260" \ + "\0\0\0\30\1\1\1\3\3\3\4\4\4\5\5\5\7\7\7\11\11\11\13\13\13\15\15\15\17" \ + "\17\17\21\21\21\24\24\24\26\26\26\31\31\31\33\33\33\36\36\36\40\40\40" \ + "###&&&(((+++---000444\354\354\354\206\377\377\377\2\250\250\250AAA\213" \ + "BBB\2NNN\335\335\335\206\377\377\377\1\250\250\250\204BBB\1\307\307\307" \ + "\205\377\377\377\1\274\274\274\213BBB\2nnn\373\373\373\206\377\377\377" \ + "\1bbb\203@@@\1\217\217\217\206\377\377\377\1\253\253\253\227BBB\1\274" \ + "\274\274\205\377\377\377\1\307\307\307\215AAA\1\274\274\274\205\377\377" \ + "\377\1\307\307\307\204BBB\1\364\364\364\205\377\377\377\1\233\233\233" \ + "\212BBB\1\261\261\261\205\377\377\377\1\336\336\336\204BBB\202AAA\204" \ + "BBB\1nnn\206\377\377\377\1ccc\202BBB\2AAA^^^\206\377\377\377\3\375\375" \ + "\375yyyAAA\211BBB\202AAA\2ggg\366\366\366\206\377\377\377\1www\204BB" \ + "B\1\364\364\364\205\377\377\377\1\220\220\220\206AAA\2{{{\373\373\373" \ + "\205\377\377\377\2\375\375\375~~~\205BBB\1\263\263\263\206\377\377\377" \ + "\2\331\331\331KKK\212BBB\202AAA\1\263\263\263\206\377\377\377\27\340" \ + "\340\340000---+++(((&&&###\40\40\40\36\36\36\33\33\33\31\31\31\26\26" \ + "\26\24\24\24\21\21\21\17\17\17\15\15\15\13\13\13\11\11\11\7\7\7\5\5\5" \ + "\4\4\4\2\2\2\1\1\1\377\0\0\0\260\0\0\0\30\1\1\1\2\2\2\3\3\3\5\5\5\7\7" \ + "\7\11\11\11\12\12\12\15\15\15\17\17\17\21\21\21\23\23\23\25\25\25\30" \ + "\30\30\32\32\32\35\35\35\37\37\37\"\"\"%%%'''***,,,///111\226\226\226" \ + "\207\377\377\377\2\274\274\274QQQ\211AAA\2nnn\344\344\344\206\377\377" \ + "\377\2\375\375\375]]]\204BBB\1\307\307\307\205\377\377\377\1\274\274" \ + "\274\211BBB\3EEE\224\224\224\370\370\370\206\377\377\377\1\324\324\324" \ + "\204\77\77\77\2VVV\375\375\375\206\377\377\377\2\243\243\243HHH\225B" \ + "BB\1\274\274\274\205\377\377\377\1\307\307\307\215@@@\1\274\274\274\205" \ + "\377\377\377\1\307\307\307\204BBB\1\364\364\364\205\377\377\377\1\232" \ + "\232\232\212AAA\1\261\261\261\205\377\377\377\1\335\335\335\212AAA\1" \ + "nnn\206\377\377\377\1ccc\204AAA\1\320\320\320\206\377\377\377\3\373\373" \ + "\373\230\230\230EEE\211AAA\2\211\211\211\366\366\366\206\377\377\377" \ + "\2\346\346\346CCC\204AAA\1\364\364\364\205\377\377\377\1\217\217\217" \ + "\207@@@\2\203\203\203\375\375\375\205\377\377\377\2\373\373\373www\202" \ + "BBB\202AAA\1eee\207\377\377\377\2\335\335\335ggg\211AAA\2SSS\302\302" \ + "\302\207\377\377\377\27\213\213\213///,,,***'''%%%\"\"\"\37\37\37\35" \ + "\35\35\32\32\32\30\30\30\25\25\25\23\23\23\21\21\21\17\17\17\15\15\15" \ + "\12\12\12\10\10\10\6\6\6\5\5\5\3\3\3\2\2\2\1\1\1\377\0\0\0\260\0\0\0" \ + "\31\1\1\1\2\2\2\3\3\3\5\5\5\6\6\6\10\10\10\12\12\12\14\14\14\16\16\16" \ + "\20\20\20\22\22\22\25\25\25\27\27\27\32\32\32\34\34\34\37\37\37!!!##" \ + "#&&&(((+++---000<<<\352\352\352\207\377\377\377\4\366\366\366\300\300" \ + "\300\223\223\223qqq\203fff\3}}}\236\236\236\322\322\322\210\377\377\377" \ + "\1\267\267\267\205BBB\1\307\307\307\205\377\377\377\1\344\344\344\210" \ + "\263\263\263\2\300\300\300\362\362\362\210\377\377\377\1www\205>>>\1" \ + "\302\302\302\207\377\377\377\2\364\364\364\302\302\302\217\263\263\263" \ + "\1\236\236\236\204@@@\1\274\274\274\205\377\377\377\1\307\307\307\215" \ + "\77\77\77\1\273\273\273\205\377\377\377\1\307\307\307\204@@@\1\364\364" \ + "\364\205\377\377\377\1\232\232\232\212@@@\1\260\260\260\205\377\377\377" \ + "\1\335\335\335\212@@@\1mmm\206\377\377\377\1bbb\203@@@\3\77\77\77hhh" \ + "\375\375\375\207\377\377\377\4\355\355\355\265\265\265\214\214\214hh" \ + "h\203fff\3\206\206\206\247\247\247\346\346\346\210\377\377\377\1\203" \ + "\203\203\202\77\77\77\203@@@\1\364\364\364\205\377\377\377\1\216\216" \ + "\216\210\77\77\77\1\214\214\214\206\377\377\377\2\370\370\370mmm\204" \ + "@@@\1\274\274\274\210\377\377\377\3\322\322\322\236\236\236}}}\203ff" \ + "f\4qqq\223\223\223\302\302\302\370\370\370\207\377\377\377\30\351\351" \ + "\351777---+++(((&&&###!!!\36\36\36\34\34\34\31\31\31\27\27\27\25\25\25" \ + "\22\22\22\20\20\20\16\16\16\14\14\14\12\12\12\10\10\10\6\6\6\4\4\4\3" \ + "\3\3\2\2\2\1\1\1\377\0\0\0\260\0\0\0\32\1\1\1\2\2\2\3\3\3\4\4\4\6\6\6" \ + "\10\10\10\11\11\11\13\13\13\15\15\15\20\20\20\22\22\22\24\24\24\26\26" \ + "\26\31\31\31\33\33\33\36\36\36\40\40\40\"\"\"%%%'''***,,,...000nnn\375" \ + "\375\375\227\377\377\377\2\351\351\351NNN\202AAA\203BBB\1\307\307\307" \ + "\227\377\377\377\1\266\266\266\206===\2XXX\372\372\372\227\377\377\377" \ + "\1\335\335\335\204\77\77\77\1\273\273\273\205\377\377\377\1\306\306\306" \ + "\203>>>\206===\204>>>\1\273\273\273\205\377\377\377\1\307\307\307\204" \ + "\77\77\77\1\364\364\364\205\377\377\377\1\231\231\231\212\77\77\77\1" \ + "\260\260\260\205\377\377\377\1\335\335\335\212\77\77\77\1lll\206\377" \ + "\377\377\1```\205>>>\1\242\242\242\230\377\377\377\1\306\306\306\206" \ + ">>>\1\364\364\364\205\377\377\377\1\215\215\215\211>>>\1\224\224\224" \ + "\206\377\377\377\2\364\364\364hhh\203\77\77\77\2QQQ\353\353\353\227\377" \ + "\377\377\31\375\375\375hhh...,,,***'''%%%\"\"\"\40\40\40\35\35\35\33" \ + "\33\33\31\31\31\26\26\26\24\24\24\22\22\22\20\20\20\15\15\15\13\13\13" \ + "\11\11\11\10\10\10\6\6\6\4\4\4\3\3\3\2\2\2\1\1\1\377\0\0\0\261\0\0\0" \ + "\32\1\1\1\3\3\3\4\4\4\5\5\5\7\7\7\11\11\11\13\13\13\15\15\15\17\17\17" \ + "\21\21\21\23\23\23\25\25\25\30\30\30\32\32\32\34\34\34\37\37\37!!!##" \ + "#&&&(((***---///111\202\202\202\375\375\375\225\377\377\377\3\355\355" \ + "\355bbb@@@\204AAA\2BBB\307\307\307\226\377\377\377\2\305\305\305@@@\207" \ + ";;;\1\200\200\200\227\377\377\377\1\335\335\335\204===\1\273\273\273" \ + "\205\377\377\377\1\306\306\306\215<<<\1\272\272\272\205\377\377\377\1" \ + "\306\306\306\204===\1\364\364\364\205\377\377\377\1\230\230\230\211=" \ + "==\2<<<\257\257\257\205\377\377\377\1\335\335\335\212===\1jjj\206\377" \ + "\377\377\1^^^\206<<<\1\263\263\263\226\377\377\377\2\321\321\321GGG\206" \ + "<<<\1\364\364\364\205\377\377\377\1\214\214\214\212<<<\1\237\237\237" \ + "\206\377\377\377\2\357\357\357___\203===\2___\352\352\352\225\377\377" \ + "\377\31\375\375\375\201\201\201///,,,***(((&&&###!!!\37\37\37\34\34\34" \ + "\32\32\32\30\30\30\25\25\25\23\23\23\21\21\21\17\17\17\15\15\15\13\13" \ + "\13\11\11\11\7\7\7\5\5\5\4\4\4\3\3\3\1\1\1\377\0\0\0\262\0\0\0\33\1\1" \ + "\1\2\2\2\3\3\3\5\5\5\6\6\6\10\10\10\12\12\12\14\14\14\16\16\16\20\20" \ + "\20\22\22\22\24\24\24\27\27\27\31\31\31\33\33\33\35\35\35\40\40\40\"" \ + "\"\"$$$&&&(((+++---///111bbb\340\340\340\223\377\377\377\3\304\304\304" \ + "QQQ\77\77\77\203@@@\203AAA\1\307\307\307\224\377\377\377\3\372\372\372" \ + "\242\242\242;;;\211999\2zzz\366\366\366\225\377\377\377\2\335\335\335" \ + "<<<\203;;;\1\271\271\271\205\377\377\377\1\305\305\305\215:::\1\271\271" \ + "\271\205\377\377\377\1\305\305\305\204;;;\1\363\363\363\205\377\377\377" \ + "\2\227\227\227:::\206;;;\203:::\1\256\256\256\205\377\377\377\1\334\334" \ + "\334\202:::\205;;;\203:::\1hhh\206\377\377\377\1]]]\207:::\2\213\213" \ + "\213\363\363\363\222\377\377\377\3\372\372\372\242\242\242\77\77\77\207" \ + ":::\1\363\363\363\205\377\377\377\1\213\213\213\213:::\1\251\251\251" \ + "\206\377\377\377\2\354\354\354WWW\203;;;\2MMM\301\301\301\223\377\377" \ + "\377\32\340\340\340aaa///---+++(((&&&$$$\"\"\"\40\40\40\35\35\35\33\33" \ + "\33\31\31\31\27\27\27\24\24\24\22\22\22\20\20\20\16\16\16\14\14\14\12" \ + "\12\12\10\10\10\6\6\6\5\5\5\3\3\3\2\2\2\1\1\1\377\0\0\0\262\0\0\0\35" \ + "\1\1\1\2\2\2\3\3\3\4\4\4\6\6\6\10\10\10\11\11\11\13\13\13\15\15\15\17" \ + "\17\17\21\21\21\24\24\24\25\25\25\30\30\30\32\32\32\34\34\34\36\36\36" \ + "\40\40\40###%%%''')))+++---///000444{{{\306\306\306\216\377\377\377\4" \ + "\364\364\364\266\266\266hhh===\202>>>\202\77\77\77\203@@@\2AAA\307\307" \ + "\307\222\377\377\377\3\350\350\350\246\246\246TTT\214777\3JJJ\246\246" \ + "\246\354\354\354\223\377\377\377\1\334\334\334\204999\1\271\271\271\205" \ + "\377\377\377\1\304\304\304\215888\1\271\271\271\205\377\377\377\1\305" \ + "\305\305\204999\1\363\363\363\205\377\377\377\1\226\226\226\210999\202" \ + "888\1\255\255\255\205\377\377\377\2\334\334\334888\210999\2""888ggg\206" \ + "\377\377\377\1[[[\203888\205999\3EEE\226\226\226\332\332\332\216\377" \ + "\377\377\3\350\350\350\237\237\237PPP\203999\206888\1\363\363\363\205" \ + "\377\377\377\1\212\212\212\214888\1\264\264\264\206\377\377\377\2\350" \ + "\350\350NNN\204999\3eee\264\264\264\363\363\363\216\377\377\377\34\305" \ + "\305\305zzz222...---+++)))'''%%%###\40\40\40\36\36\36\34\34\34\32\32" \ + "\32\30\30\30\25\25\25\23\23\23\21\21\21\17\17\17\15\15\15\13\13\13\11" \ + "\11\11\10\10\10\6\6\6\4\4\4\3\3\3\2\2\2\1\1\1\377\0\0\0\262\0\0\0\202" \ + "\1\1\1!\3\3\3\4\4\4\5\5\5\7\7\7\11\11\11\12\12\12\14\14\14\16\16\16\20" \ + "\20\20\22\22\22\24\24\24\26\26\26\31\31\31\33\33\33\35\35\35\37\37\37" \ + "!!!###%%%''')))+++,,,...///111222:::ddd\206\206\206\236\236\236\257\257" \ + "\257\261\261\261\202\327\327\327\1\316\316\316\202\257\257\257\4\222" \ + "\222\222\201\201\201]]]:::\202;;;\1<<<\202===\202>>>\202\77\77\77\202" \ + "@@@\1\307\307\307\205\377\377\377\1\327\327\327\203\214\214\214\202\213" \ + "\213\213\1\212\212\212\203\211\211\211\4\210\210\210dddMMM777\203666" \ + "\216555\2TTTnnn\203\206\206\206\216\207\207\207\1yyy\203777\2""666jj" \ + "j\205\206\206\206\1ooo\215666\1jjj\205\206\206\206\1ooo\204777\1\202" \ + "\202\202\203\207\207\207\202\206\206\206\2\\\\\\666\206777\203666\1e" \ + "ee\205\206\206\206\1xxx\203666\204777\203666\1III\206\206\206\206\1D" \ + "DD\207666\203777\7""666GGGooo\206\206\206\250\250\250\257\257\257\275" \ + "\275\275\202\327\327\327\1\302\302\302\202\257\257\257\5\206\206\206" \ + "vvvNNN666777\211666\2""555\201\201\201\205\206\206\206\2VVV555\21366" \ + "6\2""888\202\202\202\206\206\206\206\1mmm\207777\3ZZZ\202\202\202\223" \ + "\223\223\202\257\257\257\1\315\315\315\202\327\327\327\40\261\261\261" \ + "\256\256\256\236\236\236\205\205\205ccc999111///...,,,+++)))'''%%%##" \ + "#!!!\37\37\37\34\34\34\32\32\32\31\31\31\26\26\26\24\24\24\22\22\22\20" \ + "\20\20\16\16\16\14\14\14\12\12\12\11\11\11\7\7\7\5\5\5\4\4\4\3\3\3\202" \ + "\1\1\1\377\0\0\0\263\0\0\0\36\1\1\1\2\2\2\3\3\3\5\5\5\6\6\6\10\10\10" \ + "\12\12\12\13\13\13\15\15\15\17\17\17\21\21\21\23\23\23\25\25\25\27\27" \ + "\27\31\31\31\33\33\33\35\35\35\37\37\37!!!###%%%'''(((***+++---...//" \ + "/000111\202222\1""333\202444\202555\202666\1""777\202888\202999\202:" \ + "::\2;;;<<<\202===\1>>>\202\77\77\77\2@@@\307\307\307\205\377\377\377" \ + "\1\274\274\274\202\77\77\77\10>>>===<<<;;;:::999888777\202666\202555" \ + "\202444\1""333\216222\202333\204444\217555\205444\224333\253444\2073" \ + "33\243444\202333\207222\203333\207444\207333\204444\213555\204444\1""3" \ + "33\202222\36""111000///...---+++***((('''%%%###!!!\37\37\37\35\35\35" \ + "\33\33\33\31\31\31\27\27\27\25\25\25\23\23\23\21\21\21\17\17\17\15\15" \ + "\15\13\13\13\11\11\11\10\10\10\6\6\6\5\5\5\3\3\3\2\2\2\1\1\1\377\0\0" \ + "\0\264\0\0\0\35\1\1\1\2\2\2\3\3\3\4\4\4\5\5\5\7\7\7\11\11\11\12\12\12" \ + "\14\14\14\16\16\16\20\20\20\22\22\22\24\24\24\25\25\25\30\30\30\31\31" \ + "\31\33\33\33\35\35\35\37\37\37!!!###%%%&&&((()))+++,,,---...\202///\202" \ + "000\202111\2""222333\202444\1""555\202666\1""777\202888\1""999\202::" \ + ":\2;;;<<<\202===\3>>>\77\77\77\307\307\307\205\377\377\377\12\273\273" \ + "\273>>>===<<<;;;:::999888777666\202555\2""444333\202222\202111\22100" \ + "0\203111\217222\205111\224000\253111\207000\243111\214000\207111\207" \ + "000\204111\214222\203111\202000\202///\35...---,,,+++)))(((&&&%%%###" \ + "!!!\37\37\37\35\35\35\33\33\33\31\31\31\30\30\30\25\25\25\24\24\24\22" \ + "\22\22\20\20\20\16\16\16\14\14\14\12\12\12\11\11\11\7\7\7\5\5\5\4\4\4" \ + "\3\3\3\2\2\2\1\1\1\377\0\0\0\265\0\0\0\1\1\1\1\202\3\3\3\27\5\5\5\6\6" \ + "\6\10\10\10\11\11\11\13\13\13\15\15\15\17\17\17\20\20\20\22\22\22\24" \ + "\24\24\26\26\26\30\30\30\32\32\32\33\33\33\35\35\35\37\37\37!!!###$$" \ + "$%%%'''((()))\202+++\1,,,\202---\1...\202///\1""000\202111\2""222333" \ + "\202444\2""555666\202777\2""888999\202:::\5;;;<<<===>>>\307\307\307\205" \ + "\377\377\377\11\273\273\273===<<<;;;:::999888777555\202444\1""222\202" \ + "111\1""000\202///\202...\215---\205...\205///\211000\203///\235...\221" \ + "///\214...\206///\214...\216///\204...\215///\203...\210---\223...\204" \ + "///\207000\205///\202...\202---\1,,,\202+++\32)))((('''%%%$$$\"\"\"!" \ + "!!\37\37\37\35\35\35\33\33\33\32\32\32\30\30\30\26\26\26\24\24\24\22" \ + "\22\22\20\20\20\17\17\17\15\15\15\13\13\13\11\11\11\10\10\10\6\6\6\5" \ + "\5\5\3\3\3\2\2\2\1\1\1\377\0\0\0\266\0\0\0\34\1\1\1\2\2\2\3\3\3\4\4\4" \ + "\5\5\5\7\7\7\10\10\10\12\12\12\14\14\14\15\15\15\17\17\17\21\21\21\23" \ + "\23\23\24\24\24\26\26\26\30\30\30\32\32\32\33\33\33\35\35\35\37\37\37" \ + "\40\40\40\"\"\"###%%%&&&'''((()))\202***\202+++\1,,,\202---\2...///\202" \ + "000\4""111222333444\202555\3""666777888\202999\4:::;;;<<<\306\306\306" \ + "\205\377\377\377\14\272\272\272;;;:::999888777666555444222111000\202" \ + "///\1...\202---\1,,,\204+++\204***\212+++\203,,,\216---\202,,,\234++" \ + "+\222,,,\212+++\207,,,\214+++\216,,,\203+++\216,,,\236+++\202,,,\214" \ + "---\202,,,\203+++\202***\34)))((('''&&&$$$###\"\"\"\40\40\40\37\37\37" \ + "\35\35\35\33\33\33\32\32\32\30\30\30\26\26\26\24\24\24\23\23\23\21\21" \ + "\21\17\17\17\15\15\15\14\14\14\12\12\12\10\10\10\7\7\7\5\5\5\4\4\4\3" \ + "\3\3\2\2\2\1\1\1\377\0\0\0\267\0\0\0\33\1\1\1\2\2\2\3\3\3\5\5\5\6\6\6" \ + "\7\7\7\11\11\11\12\12\12\14\14\14\16\16\16\20\20\20\21\21\21\23\23\23" \ + "\24\24\24\26\26\26\30\30\30\31\31\31\33\33\33\34\34\34\36\36\36\37\37" \ + "\37!!!\"\"\"###$$$%%%&&&\202'''\2((()))\202***\2+++,,,\202---\3...//" \ + "/000\202111\1""222\202444\3""555666777\202888\3""999:::\305\305\305\205" \ + "\377\377\377\16\271\271\271999888777666555444222111000///...---,,,\202" \ + "+++\202***\202)))\217(((\202)))\210***\203+++\205***\241)))\215***\217" \ + ")))\202***\206)))\205(((\204)))\212***\211)))\211***\204)))\214(((\211" \ + ")))\203(((\205)))\216***\202)))\202(((\202'''\33&&&%%%$$$###\"\"\"!!" \ + "!\37\37\37\36\36\36\34\34\34\33\33\33\31\31\31\30\30\30\26\26\26\24\24" \ + "\24\23\23\23\21\21\21\20\20\20\16\16\16\14\14\14\12\12\12\11\11\11\7" \ + "\7\7\6\6\6\4\4\4\3\3\3\2\2\2\1\1\1\377\0\0\0\270\0\0\0\31\1\1\1\2\2\2" \ + "\3\3\3\4\4\4\5\5\5\6\6\6\10\10\10\11\11\11\13\13\13\15\15\15\16\16\16" \ + "\20\20\20\21\21\21\23\23\23\24\24\24\26\26\26\27\27\27\31\31\31\32\32" \ + "\32\34\34\34\35\35\35\36\36\36\40\40\40!!!\"\"\"\202###\1$$$\202%%%\2" \ + "&&&'''\202(((\5)))***+++,,,---\202...\3///000111\202222\1""444\20255" \ + "5\1""666\202777\1\304\304\304\205\377\377\377\17\270\270\27077766655" \ + "5444222111000///...---,,,+++***)))\202(((\202'''\202&&&\214%%%\204&&" \ + "&\207'''\205(((\205'''\237&&&\216'''\216&&&\204'''\216&&&\213'''\207" \ + "&&&\213'''\204&&&\211%%%\223&&&\205'''\203(((\206'''\203&&&\202%%%\1" \ + "$$$\202###\31\"\"\"!!!\40\40\40\36\36\36\35\35\35\34\34\34\32\32\32\31" \ + "\31\31\27\27\27\26\26\26\24\24\24\23\23\23\21\21\21\20\20\20\16\16\16" \ + "\14\14\14\13\13\13\11\11\11\10\10\10\6\6\6\5\5\5\4\4\4\3\3\3\2\2\2\1" \ + "\1\1\377\0\0\0\271\0\0\0\31\1\1\1\2\2\2\3\3\3\4\4\4\5\5\5\7\7\7\10\10" \ + "\10\12\12\12\13\13\13\15\15\15\16\16\16\20\20\20\21\21\21\22\22\22\24" \ + "\24\24\25\25\25\27\27\27\30\30\30\31\31\31\33\33\33\34\34\34\35\35\35" \ + "\36\36\36\37\37\37\40\40\40\202!!!\1\"\"\"\202###\4$$$%%%&&&'''\202(" \ + "((\202***\4+++,,,---...\202///\4""000111222333\202444\2""555\304\304" \ + "\304\205\377\377\377\1\270\270\270\202444\6""222111000///...---\202+" \ + "++\1***\202(((\2'''&&&\202%%%\1$$$\203###\211\"\"\"\206###\203$$$\214" \ + "%%%\202$$$\236###\220$$$\215###\204$$$\216###\214$$$\206###\213$$$\206" \ + "###\204\"\"\"\226###\202$$$\211%%%\203$$$\204###\1\"\"\"\202!!!\31\40" \ + "\40\40\37\37\37\36\36\36\35\35\35\34\34\34\33\33\33\31\31\31\30\30\30" \ + "\27\27\27\25\25\25\24\24\24\22\22\22\21\21\21\20\20\20\16\16\16\15\15" \ + "\15\13\13\13\12\12\12\10\10\10\7\7\7\5\5\5\4\4\4\3\3\3\2\2\2\1\1\1\377" \ + "\0\0\0\272\0\0\0\202\1\1\1\202\3\3\3\22\4\4\4\6\6\6\7\7\7\10\10\10\12" \ + "\12\12\13\13\13\15\15\15\16\16\16\20\20\20\21\21\21\22\22\22\24\24\24" \ + "\25\25\25\26\26\26\27\27\27\31\31\31\32\32\32\33\33\33\202\34\34\34\2" \ + "\35\35\35\36\36\36\202\37\37\37\1\40\40\40\202!!!\202###\7$$$%%%&&&'" \ + "''((()))***\202+++\3,,,---...\202///\1""000\202111\2""222\303\303\303" \ + "\205\377\377\377\1\267\267\267\202111\14""000///...---+++***)))(((''" \ + "'&&&%%%$$$\202###\1\"\"\"\202!!!\202\40\40\40\210\37\37\37\206\40\40" \ + "\40\204!!!\214\"\"\"\203!!!\233\40\40\40\224!!!\210\40\40\40\211!!!\212" \ + "\40\40\40\220!!!\202\40\40\40\217!!!\204\40\40\40\204\37\37\37\207\40" \ + "\40\40\202!!!\213\40\40\40\204!!!\212\"\"\"\203!!!\203\40\40\40\202\37" \ + "\37\37\2\36\36\36\35\35\35\202\34\34\34\24\33\33\33\32\32\32\31\31\31" \ + "\27\27\27\26\26\26\25\25\25\24\24\24\22\22\22\21\21\21\20\20\20\16\16" \ + "\16\15\15\15\13\13\13\12\12\12\10\10\10\7\7\7\6\6\6\4\4\4\3\3\3\2\2\2" \ + "\202\1\1\1\377\0\0\0\273\0\0\0\24\1\1\1\2\2\2\3\3\3\4\4\4\5\5\5\6\6\6" \ + "\7\7\7\10\10\10\12\12\12\13\13\13\14\14\14\16\16\16\17\17\17\20\20\20" \ + "\22\22\22\23\23\23\24\24\24\25\25\25\26\26\26\27\27\27\202\31\31\31\1" \ + "\32\32\32\202\33\33\33\202\34\34\34\6\35\35\35\36\36\36\37\37\37\40\40" \ + "\40!!!\"\"\"\202###\7$$$%%%&&&'''((()))***\202+++\2,,,---\202...\202" \ + "///\1\207\207\207\205\254\254\254\14\200\200\200///...---,,,+++***))" \ + ")((('''&&&%%%\202###\3\"\"\"!!!\40\40\40\202\37\37\37\202\36\36\36\202" \ + "\35\35\35\207\34\34\34\205\35\35\35\203\36\36\36\217\37\37\37\306\36" \ + "\36\36\203\35\35\35\210\36\36\36\204\37\37\37\231\36\36\36\204\35\35" \ + "\35\1\34\34\34\206\35\35\35\223\36\36\36\214\37\37\37\204\36\36\36\1" \ + "\35\35\35\202\34\34\34\202\33\33\33\1\32\32\32\202\31\31\31\20\27\27" \ + "\27\26\26\26\25\25\25\24\24\24\23\23\23\21\21\21\20\20\20\17\17\17\15" \ + "\15\15\14\14\14\13\13\13\12\12\12\10\10\10\7\7\7\6\6\6\5\5\5\202\3\3" \ + "\3\2\2\2\2\1\1\1\377\0\0\0\275\0\0\0\26\1\1\1\2\2\2\3\3\3\4\4\4\5\5\5" \ + "\6\6\6\7\7\7\10\10\10\12\12\12\13\13\13\14\14\14\15\15\15\17\17\17\20" \ + "\20\20\21\21\21\22\22\22\23\23\23\24\24\24\25\25\25\26\26\26\27\27\27" \ + "\30\30\30\203\31\31\31\202\32\32\32\12\33\33\33\34\34\34\35\35\35\36" \ + "\36\36\37\37\37\40\40\40!!!\"\"\"###$$$\202%%%\4&&&'''((()))\202***\1" \ + "+++\213,,,\202+++\13***)))'''&&&%%%$$$###\"\"\"!!!\40\40\40\37\37\37" \ + "\202\36\36\36\2\35\35\35\34\34\34\202\33\33\33\215\32\32\32\204\33\33" \ + "\33\220\34\34\34\242\33\33\33\210\34\34\34\245\33\33\33\207\34\34\34" \ + "\214\33\33\33\206\34\34\34\205\33\33\33\213\32\32\32\222\33\33\33\216" \ + "\34\34\34\203\33\33\33\202\32\32\32\203\31\31\31\26\30\30\30\27\27\27" \ + "\26\26\26\25\25\25\24\24\24\23\23\23\22\22\22\21\21\21\20\20\20\17\17" \ + "\17\15\15\15\14\14\14\13\13\13\11\11\11\10\10\10\7\7\7\6\6\6\5\5\5\4" \ + "\4\4\3\3\3\2\2\2\1\1\1\377\0\0\0\277\0\0\0\22\1\1\1\2\2\2\3\3\3\4\4\4" \ + "\5\5\5\6\6\6\7\7\7\10\10\10\11\11\11\12\12\12\13\13\13\15\15\15\16\16" \ + "\16\17\17\17\20\20\20\21\21\21\22\22\22\23\23\23\202\24\24\24\1\25\25" \ + "\25\202\26\26\26\202\27\27\27\2\30\30\30\31\31\31\202\32\32\32\12\33" \ + "\33\33\34\34\34\35\35\35\36\36\36\37\37\37\40\40\40!!!\"\"\"###$$$\202" \ + "%%%\2&&&'''\202(((\1)))\211***\202)))\11((('''&&&%%%$$$###!!!\40\40\40" \ + "\37\37\37\202\36\36\36\202\34\34\34\2\33\33\33\32\32\32\202\31\31\31" \ + "\202\30\30\30\213\27\27\27\202\30\30\30\207\31\31\31\210\32\32\32\205" \ + "\31\31\31\232\30\30\30\224\31\31\31\212\30\30\30\210\31\31\31\212\30" \ + "\30\30\220\31\31\31\1\30\30\30\220\31\31\31\203\30\30\30\207\27\27\27" \ + "\222\30\30\30\206\31\31\31\205\32\32\32\207\31\31\31\202\30\30\30\202" \ + "\27\27\27\202\26\26\26\1\25\25\25\202\24\24\24\22\23\23\23\22\22\22\21" \ + "\21\21\20\20\20\17\17\17\16\16\16\15\15\15\13\13\13\12\12\12\11\11\11" \ + "\10\10\10\7\7\7\6\6\6\5\5\5\4\4\4\3\3\3\2\2\2\1\1\1\377\0\0\0\300\0\0" \ + "\0\202\1\1\1\3\2\2\2\3\3\3\4\4\4\202\5\5\5\12\6\6\6\10\10\10\11\11\11" \ + "\12\12\12\13\13\13\14\14\14\15\15\15\16\16\16\17\17\17\20\20\20\202\21" \ + "\21\21\2\22\22\22\23\23\23\203\24\24\24\202\25\25\25\6\26\26\26\27\27" \ + "\27\30\30\30\31\31\31\32\32\32\33\33\33\202\34\34\34\202\36\36\36\4\37" \ + "\37\37\40\40\40!!!\"\"\"\202###\2$$$%%%\202&&&\212'''\1&&&\202%%%\202" \ + "###\12!!!\40\40\40\37\37\37\36\36\36\35\35\35\34\34\34\33\33\33\32\32" \ + "\32\31\31\31\30\30\30\202\27\27\27\1\26\26\26\202\25\25\25\212\24\24" \ + "\24\204\25\25\25\203\26\26\26\216\27\27\27\202\26\26\26\232\25\25\25" \ + "\224\26\26\26\212\25\25\25\207\26\26\26\213\25\25\25\220\26\26\26\202" \ + "\25\25\25\217\26\26\26\203\25\25\25\206\24\24\24\224\25\25\25\202\26" \ + "\26\26\213\27\27\27\204\26\26\26\203\25\25\25\203\24\24\24\2\23\23\23" \ + "\22\22\22\202\21\21\21\12\20\20\20\17\17\17\16\16\16\15\15\15\14\14\14" \ + "\13\13\13\12\12\12\11\11\11\10\10\10\6\6\6\202\5\5\5\3\4\4\4\3\3\3\2" \ + "\2\2\202\1\1\1\377\0\0\0\301\0\0\0\202\1\1\1\1\2\2\2\202\3\3\3\13\4\4" \ + "\4\5\5\5\6\6\6\7\7\7\10\10\10\11\11\11\12\12\12\13\13\13\14\14\14\15" \ + "\15\15\16\16\16\202\17\17\17\202\20\20\20\1\21\21\21\203\22\22\22\1\23" \ + "\23\23\202\24\24\24\7\25\25\25\26\26\26\27\27\27\30\30\30\31\31\31\32" \ + "\32\32\33\33\33\202\34\34\34\202\36\36\36\3\37\37\37\40\40\40!!!\202" \ + "\"\"\"\202###\212$$$\202###\12\"\"\"!!!\40\40\40\37\37\37\36\36\36\34" \ + "\34\34\33\33\33\32\32\32\31\31\31\30\30\30\202\27\27\27\202\25\25\25" \ + "\1\24\24\24\202\23\23\23\215\22\22\22\202\23\23\23\223\24\24\24\204\23" \ + "\23\23\207\22\22\22\204\23\23\23\207\22\22\22\205\23\23\23\221\24\24" \ + "\24\216\23\23\23\204\24\24\24\205\23\23\23\205\22\22\22\205\23\23\23" \ + "\212\24\24\24\210\23\23\23\211\24\24\24\205\23\23\23\212\22\22\22\211" \ + "\23\23\23\205\22\22\22\203\23\23\23\220\24\24\24\203\23\23\23\203\22" \ + "\22\22\1\21\21\21\202\20\20\20\202\17\17\17\13\16\16\16\15\15\15\14\14" \ + "\14\13\13\13\12\12\12\11\11\11\10\10\10\7\7\7\6\6\6\5\5\5\4\4\4\202\3" \ + "\3\3\1\2\2\2\202\1\1\1\377\0\0\0\303\0\0\0\202\1\1\1\1\2\2\2\202\3\3" \ + "\3\4\4\4\4\5\5\5\6\6\6\7\7\7\202\10\10\10\4\11\11\11\12\12\12\13\13\13" \ + "\14\14\14\202\15\15\15\202\16\16\16\1\17\17\17\204\20\20\20\3\21\21\21" \ + "\22\22\22\23\23\23\202\24\24\24\7\25\25\25\26\26\26\27\27\27\30\30\30" \ + "\31\31\31\32\32\32\33\33\33\202\34\34\34\3\35\35\35\36\36\36\37\37\37" \ + "\202\40\40\40\207!!!\202\"\"\"\203!!!\12\40\40\40\37\37\37\36\36\36\35" \ + "\35\35\34\34\34\33\33\33\32\32\32\31\31\31\30\30\30\27\27\27\202\25\25" \ + "\25\3\24\24\24\23\23\23\22\22\22\202\21\21\21\202\20\20\20\210\17\17" \ + "\17\205\20\20\20\206\21\21\21\212\22\22\22\205\21\21\21\230\20\20\20" \ + "\225\21\21\21\212\20\20\20\207\21\21\21\214\20\20\20\237\21\21\21\206" \ + "\20\20\20\202\17\17\17\225\20\20\20\205\21\21\21\207\22\22\22\206\21" \ + "\21\21\205\20\20\20\1\17\17\17\202\16\16\16\202\15\15\15\4\14\14\14\13" \ + "\13\13\12\12\12\11\11\11\202\10\10\10\4\7\7\7\6\6\6\5\5\5\4\4\4\202\3" \ + "\3\3\1\2\2\2\202\1\1\1\377\0\0\0\306\0\0\0\1\1\1\1\202\2\2\2\1\3\3\3" \ + "\202\4\4\4\3\5\5\5\6\6\6\7\7\7\202\10\10\10\1\11\11\11\202\12\12\12\202" \ + "\13\13\13\1\14\14\14\203\15\15\15\202\16\16\16\1\17\17\17\202\20\20\20" \ + "\4\21\21\21\22\22\22\23\23\23\24\24\24\202\25\25\25\202\27\27\27\3\30" \ + "\30\30\31\31\31\32\32\32\202\33\33\33\2\34\34\34\35\35\35\202\36\36\36" \ + "\212\37\37\37\2\36\36\36\35\35\35\202\34\34\34\12\33\33\33\32\32\32\31" \ + "\31\31\30\30\30\26\26\26\25\25\25\24\24\24\23\23\23\22\22\22\21\21\21" \ + "\202\20\20\20\2\17\17\17\16\16\16\215\15\15\15\203\16\16\16\223\17\17" \ + "\17\202\16\16\16\226\15\15\15\202\16\16\16\205\17\17\17\221\16\16\16" \ + "\206\15\15\15\214\16\16\16\206\15\15\15\245\16\16\16\231\15\15\15\202" \ + "\16\16\16\220\17\17\17\204\16\16\16\203\15\15\15\1\14\14\14\202\13\13" \ + "\13\202\12\12\12\1\11\11\11\202\10\10\10\3\7\7\7\6\6\6\5\5\5\202\4\4" \ + "\4\1\3\3\3\202\2\2\2\1\1\1\1\377\0\0\0\311\0\0\0\202\1\1\1\1\2\2\2\202" \ + "\3\3\3\202\4\4\4\1\5\5\5\202\6\6\6\2\7\7\7\10\10\10\202\11\11\11\203" \ + "\12\12\12\203\13\13\13\202\14\14\14\3\15\15\15\16\16\16\17\17\17\202" \ + "\20\20\20\4\21\21\21\22\22\22\23\23\23\24\24\24\202\25\25\25\3\26\26" \ + "\26\27\27\27\30\30\30\202\31\31\31\1\32\32\32\202\33\33\33\212\34\34" \ + "\34\202\33\33\33\1\32\32\32\202\31\31\31\14\27\27\27\26\26\26\25\25\25" \ + "\24\24\24\23\23\23\22\22\22\21\21\21\20\20\20\17\17\17\16\16\16\15\15" \ + "\15\14\14\14\202\13\13\13\212\12\12\12\203\13\13\13\204\14\14\14\220" \ + "\15\15\15\203\14\14\14\226\13\13\13\227\14\14\14\211\13\13\13\210\14" \ + "\14\14\213\13\13\13\236\14\14\14\207\13\13\13\204\12\12\12\222\13\13" \ + "\13\204\14\14\14\214\15\15\15\205\14\14\14\203\13\13\13\203\12\12\12" \ + "\202\11\11\11\2\10\10\10\7\7\7\202\6\6\6\1\5\5\5\202\4\4\4\202\3\3\3" \ + "\1\2\2\2\202\1\1\1\377\0\0\0\313\0\0\0\202\1\1\1\202\2\2\2\202\3\3\3" \ + "\202\4\4\4\202\5\5\5\1\6\6\6\202\7\7\7\202\10\10\10\204\11\11\11\203" \ + "\12\12\12\5\13\13\13\14\14\14\15\15\15\16\16\16\17\17\17\202\20\20\20" \ + "\4\21\21\21\22\22\22\23\23\23\24\24\24\202\25\25\25\3\26\26\26\27\27" \ + "\27\30\30\30\203\31\31\31\210\32\32\32\203\31\31\31\7\30\30\30\27\27" \ + "\27\26\26\26\25\25\25\24\24\24\23\23\23\22\22\22\202\20\20\20\4\16\16" \ + "\16\15\15\15\14\14\14\13\13\13\202\12\12\12\1\11\11\11\213\10\10\10\203" \ + "\11\11\11\227\12\12\12\226\11\11\11\213\12\12\12\204\11\11\11\206\12" \ + "\12\12\214\11\11\11\205\12\12\12\222\11\11\11\224\12\12\12\214\11\11" \ + "\11\204\10\10\10\223\11\11\11\224\12\12\12\204\11\11\11\202\10\10\10" \ + "\202\7\7\7\1\6\6\6\202\5\5\5\202\4\4\4\202\3\3\3\202\2\2\2\202\1\1\1" \ + "\377\0\0\0\316\0\0\0\202\1\1\1\202\2\2\2\202\3\3\3\202\4\4\4\203\5\5" \ + "\5\202\6\6\6\204\7\7\7\203\10\10\10\1\11\11\11\202\12\12\12\6\13\13\13" \ + "\14\14\14\15\15\15\16\16\16\17\17\17\20\20\20\202\21\21\21\2\22\22\22" \ + "\23\23\23\202\24\24\24\1\25\25\25\202\26\26\26\202\27\27\27\207\30\30" \ + "\30\202\27\27\27\2\26\26\26\25\25\25\202\24\24\24\2\22\22\22\21\21\21" \ + "\202\20\20\20\10\16\16\16\15\15\15\14\14\14\13\13\13\12\12\12\11\11\11" \ + "\10\10\10\7\7\7\202\6\6\6\206\5\5\5\204\6\6\6\203\7\7\7\227\10\10\10" \ + "\203\7\7\7\220\6\6\6\203\7\7\7\211\10\10\10\221\7\7\7\202\6\6\6\220\7" \ + "\7\7\202\6\6\6\221\7\7\7\210\10\10\10\220\7\7\7\224\6\6\6\204\7\7\7\224" \ + "\10\10\10\204\7\7\7\202\6\6\6\203\5\5\5\202\4\4\4\202\3\3\3\202\2\2\2" \ + "\202\1\1\1\377\0\0\0\322\0\0\0\202\1\1\1\202\2\2\2\203\3\3\3\203\4\4" \ + "\4\205\5\5\5\204\6\6\6\4\7\7\7\10\10\10\11\11\11\12\12\12\202\13\13\13" \ + "\202\15\15\15\2\16\16\16\17\17\17\202\20\20\20\3\21\21\21\22\22\22\23" \ + "\23\23\203\24\24\24\202\25\25\25\204\26\26\26\203\25\25\25\202\24\24" \ + "\24\15\23\23\23\22\22\22\21\21\21\20\20\20\17\17\17\16\16\16\15\15\15" \ + "\14\14\14\13\13\13\12\12\12\11\11\11\10\10\10\6\6\6\202\5\5\5\1\4\4\4" \ + "\206\3\3\3\204\4\4\4\205\5\5\5\225\6\6\6\205\5\5\5\216\4\4\4\205\5\5" \ + "\5\207\6\6\6\267\5\5\5\210\6\6\6\225\5\5\5\215\4\4\4\207\5\5\5\223\6" \ + "\6\6\205\5\5\5\203\4\4\4\203\3\3\3\202\2\2\2\202\1\1\1\377\0\0\0\326" \ + "\0\0\0\203\1\1\1\203\2\2\2\204\3\3\3\207\4\4\4\3\5\5\5\6\6\6\7\7\7\202" \ + "\10\10\10\4\11\11\11\12\12\12\13\13\13\14\14\14\202\15\15\15\2\16\16" \ + "\16\17\17\17\202\20\20\20\1\21\21\21\202\22\22\22\1\23\23\23\206\24\24" \ + "\24\1\23\23\23\202\22\22\22\1\21\21\21\202\20\20\20\15\17\17\17\16\16" \ + "\16\15\15\15\14\14\14\13\13\13\12\12\12\11\11\11\10\10\10\7\7\7\6\6\6" \ + "\5\5\5\4\4\4\3\3\3\202\2\2\2\202\1\1\1\203\2\2\2\206\3\3\3\233\4\4\4" \ + "\222\3\3\3\215\4\4\4\261\3\3\3\215\4\4\4\243\3\3\3\232\4\4\4\204\3\3" \ + "\3\203\2\2\2\203\1\1\1\377\0\0\0\333\0\0\0\204\1\1\1\204\2\2\2\207\3" \ + "\3\3\1\4\4\4\202\5\5\5\3\6\6\6\7\7\7\10\10\10\202\11\11\11\3\12\12\12" \ + "\13\13\13\14\14\14\202\15\15\15\2\16\16\16\17\17\17\202\20\20\20\202" \ + "\21\21\21\204\22\22\22\202\21\21\21\202\20\20\20\2\17\17\17\16\16\16" \ + "\202\15\15\15\13\14\14\14\13\13\13\12\12\12\11\11\11\10\10\10\7\7\7\6" \ + "\6\6\5\5\5\4\4\4\3\3\3\2\2\2\202\1\1\1\203\0\0\0\205\1\1\1\205\2\2\2" \ + "\231\3\3\3\206\2\2\2\210\1\1\1\206\2\2\2\213\3\3\3\252\2\2\2\203\1\1" \ + "\1\206\2\2\2\213\3\3\3\205\2\2\2\205\1\1\1\215\2\2\2\210\1\1\1\205\2" \ + "\2\2\203\3\3\3\205\2\2\2\221\3\3\3\204\2\2\2\204\1\1\1\377\0\0\0\342" \ + "\0\0\0\212\1\1\1\202\2\2\2\202\3\3\3\2\4\4\4\5\5\5\202\6\6\6\4\7\7\7" \ + "\10\10\10\11\11\11\12\12\12\202\13\13\13\3\14\14\14\15\15\15\16\16\16" \ + "\202\17\17\17\206\20\20\20\202\17\17\17\1\16\16\16\202\15\15\15\11\14" \ + "\14\14\13\13\13\12\12\12\11\11\11\10\10\10\7\7\7\6\6\6\5\5\5\4\4\4\202" \ + "\3\3\3\2\2\2\2\1\1\1\211\0\0\0\246\1\1\1\206\0\0\0\231\1\1\1\202\0\0" \ + "\0\240\1\1\1\205\0\0\0\225\1\1\1\205\0\0\0\215\1\1\1\207\0\0\0\243\1" \ + "\1\1\377\0\0\0\356\0\0\0\205\1\1\1\1\2\2\2\202\3\3\3\1\4\4\4\202\5\5" \ + "\5\5\6\6\6\7\7\7\10\10\10\11\11\11\12\12\12\202\13\13\13\1\14\14\14\203" \ + "\15\15\15\204\16\16\16\203\15\15\15\1\14\14\14\202\13\13\13\5\12\12\12" \ + "\11\11\11\10\10\10\7\7\7\6\6\6\202\5\5\5\3\4\4\4\3\3\3\2\2\2\202\1\1" \ + "\1\377\0\0\0\203\1\1\1\271\0\0\0\204\1\1\1\377\0\0\0\373\0\0\0\1\1\1" \ + "\1\202\2\2\2\1\3\3\3\202\4\4\4\3\5\5\5\6\6\6\7\7\7\202\10\10\10\1\11" \ + "\11\11\202\12\12\12\202\13\13\13\206\14\14\14\202\13\13\13\202\12\12" \ + "\12\1\11\11\11\202\10\10\10\3\7\7\7\6\6\6\5\5\5\202\4\4\4\1\3\3\3\202" \ + "\2\2\2\1\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\276\0\0\0\202\1\1\1\1\2" \ + "\2\2\202\3\3\3\1\4\4\4\202\5\5\5\2\6\6\6\7\7\7\202\10\10\10\202\11\11" \ + "\11\210\12\12\12\202\11\11\11\202\10\10\10\2\7\7\7\6\6\6\202\5\5\5\1" \ + "\4\4\4\202\3\3\3\1\2\2\2\202\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\300" \ + "\0\0\0\202\1\1\1\1\2\2\2\202\3\3\3\202\4\4\4\202\5\5\5\1\6\6\6\202\7" \ + "\7\7\212\10\10\10\1\7\7\7\202\6\6\6\202\5\5\5\202\4\4\4\202\3\3\3\1\2" \ + "\2\2\202\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\302\0\0\0\202\1\1\1\202" \ + "\2\2\2\202\3\3\3\202\4\4\4\203\5\5\5\204\6\6\6\202\7\7\7\204\6\6\6\203" \ + "\5\5\5\202\4\4\4\202\3\3\3\202\2\2\2\202\1\1\1\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\304\0\0\0\203\1\1\1\202\2\2\2\203\3\3\3\203\4\4\4\210\5\5\5\203" \ + "\4\4\4\203\3\3\3\202\2\2\2\203\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\307" \ + "\0\0\0\203\1\1\1\203\2\2\2\205\3\3\3\204\4\4\4\205\3\3\3\203\2\2\2\203" \ + "\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\313\0\0\0\205\1\1\1\204\2\2\2\204" \ + "\3\3\3\204\2\2\2\205\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\320\0\0\0\220" \ + "\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" \ + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\376" \ + "\0\0\0\377\1\0\0\377\1\0\0\377\1\0\0\343\1\0\0\377\3\1\0\377\3\1\0\377" \ + "\3\1\0\343\3\1\0\377\5\2\0\377\5\2\0\377\5\2\0\343\5\2\0\377\7\3\0\377" \ + "\7\3\0\377\7\3\0\343\7\3\0\377\11\4\0\377\11\4\0\377\11\4\0\343\11\4" \ + "\0\377\13\5\0\377\13\5\0\377\13\5\0\343\13\5\0\377\14\6\0\377\14\6\0" \ + "\377\14\6\0\343\14\6\0\377\16\7\0\377\16\7\0\377\16\7\0\343\16\7\0\377" \ + "\20\10\0\377\20\10\0\377\20\10\0\343\20\10\0\377\22\11\0\377\22\11\0" \ + "\377\22\11\0\343\22\11\0\377\24\12\0\377\24\12\0\377\24\12\0\343\24\12" \ + "\0\377\25\12\0\377\25\12\0\377\25\12\0\343\25\12\0\377\27\13\0\377\27" \ + "\13\0\377\27\13\0\343\27\13\0\377\31\14\0\377\31\14\0\377\31\14\0\343" \ + "\31\14\0\377\33\15\0\377\33\15\0\377\33\15\0\343\33\15\0\377\35\16\0" \ + "\377\35\16\0\377\35\16\0\343\35\16\0\377\36\17\0\377\36\17\0\377\36\17" \ + "\0\343\36\17\0\377\40\20\0\377\40\20\0\377\40\20\0\343\40\20\0\377\"" \ + "\21\0\377\"\21\0\377\"\21\0\343\"\21\0\377$\22\0\377$\22\0\377$\22\0" \ + "\343$\22\0\377&\23\0\377&\23\0\377&\23\0\343&\23\0\377'\23\0\377'\23" \ + "\0\377'\23\0\343'\23\0\377)\24\0\377)\24\0\377)\24\0\343)\24\0\377+\25" \ + "\0\377+\25\0\377+\25\0\343+\25\0\377-\26\0\377-\26\0\377-\26\0\343-\26" \ + "\0\377/\27\0\377/\27\0\377/\27\0\343/\27\0\3770\30\0\3770\30\0\3770\30" \ + "\0\3430\30\0\3772\31\0\3772\31\0\3772\31\0\3432\31\0\3774\32\0\3774\32" \ + "\0\3774\32\0\3434\32\0\3776\33\0\3776\33\0\3776\33\0\3436\33\0\3778\34" \ + "\0\3778\34\0\3778\34\0\3438\34\0\377:\35\0\377:\35\0\377:\35\0\343:\35" \ + "\0\377;\35\0\377;\35\0\377;\35\0\343;\35\0\377=\36\0\377=\36\0\377=\36" \ + "\0\343=\36\0\377\77\37\0\377\77\37\0\377\77\37\0\343\77\37\0\377A\40" \ + "\0\377A\40\0\377A\40\0\343A\40\0\377C!\0\377C!\0\377C!\0\343C!\0\377" \ + "D\"\0\377D\"\0\377D\"\0\343D\"\0\377F#\0\377F#\0\377F#\0\343F#\0\377" \ + "H$\0\377H$\0\377H$\0\343H$\0\377J%\0\377J%\0\377J%\0\343J%\0\377L&\0" \ + "\377L&\0\377L&\0\343L&\0\377M&\0\377M&\0\377M&\0\343M&\0\377O'\0\377" \ + "O'\0\377O'\0\343O'\0\377Q(\0\377Q(\0\377Q(\0\343Q(\0\377S)\0\377S)\0" \ + "\377S)\0\343S)\0\377U*\0\377U*\0\377U*\0\343U*\0\377V+\0\377V+\0\377" \ + "V+\0\343V+\0\377X,\0\377X,\0\377X,\0\343X,\0\377Z-\0\377Z-\0\377Z-\0" \ + "\343Z-\0\377\\.\0\377\\.\0\377\\.\0\343\\.\0\377^/\0\377^/\0\377^/\0" \ + "\343^/\0\377_/\0\377_/\0\377_/\0\343_/\0\377a0\0\377a0\0\377a0\0\343" \ + "a0\0\377c1\0\377c1\0\377c1\0\343c1\0\377e2\0\377e2\0\377e2\0\343e2\0" \ + "\377g3\0\377g3\0\377g3\0\343g3\0\377i4\0\377i4\0\377i4\0\343i4\0\377" \ + "j5\0\377j5\0\377j5\0\343j5\0\377l6\0\377l6\0\377l6\0\343l6\0\377n7\0" \ + "\377n7\0\377n7\0\343n7\0\377p8\0\377p8\0\377p8\0\343p8\0\377r9\0\377" \ + "r9\0\377r9\0\343r9\0\377s9\0\377s9\0\377s9\0\343s9\0\377u:\0\377u:\0" \ + "\377u:\0\343u:\0\377w;\0\377w;\0\377w;\0\343w;\0\377y<\0\377y<\0\377" \ + "y<\0\343y<\0\377{=\0\377{=\0\377{=\0\343{=\0\377|>\0\377|>\0\377|>\0" \ + "\343|>\0\377~\77\0\377~\77\0\377~\77\0\343~\77\0\377\200@\0\377\200@" \ + "\0\377\200@\0\343\200@\0\377\202A\0\377\202A\0\377\202A\0\343\202A\0" \ + "\377\204B\0\377\204B\0\377\204B\0\343\204B\0\377\205B\0\377\205B\0\377" \ + "\205B\0\343\205B\0\377\207C\0\377\207C\0\377\207C\0\343\207C\0\377\211" \ + "D\0\377\211D\0\377\211D\0\343\211D\0\377\213E\0\377\213E\0\377\213E\0" \ + "\343\213E\0\377\215F\0\377\215F\0\377\215F\0\343\215F\0\377\217G\0\377" \ + "\217G\0\377\217G\0\343\217G\0\377\220H\0\377\220H\0\377\220H\0\343\220" \ + "H\0\377\222I\0\377\222I\0\377\222I\0\343\222I\0\377\224J\0\377\224J\0" \ + "\377\224J\0\343\224J\0\377\226K\0\377\226K\0\377\226K\0\343\226K\0\377" \ + "\230L\0\377\230L\0\377\230L\0\343\230L\0\377\231L\0\377\231L\0\377\231" \ + "L\0\343\231L\0\377\233M\0\377\233M\0\377\233M\0\343\233M\0\377\235N\0" \ + "\377\235N\0\377\235N\0\343\235N\0\377\237O\0\377\237O\0\377\237O\0\343" \ + "\237O\0\377\241P\0\377\241P\0\377\241P\0\343\241P\0\377\242Q\0\377\242" \ + "Q\0\377\242Q\0\343\242Q\0\377\244R\0\377\244R\0\377\244R\0\343\244R\0" \ + "\377\246S\0\377\246S\0\377\246S\0\343\246S\0\377\250T\0\377\250T\0\377" \ + "\250T\0\343\250T\0\377\252U\0\377\252U\0\377\252U\0\343\252U\0\377\253" \ + "U\0\377\253U\0\377\253U\0\343\253U\0\377\255V\0\377\255V\0\377\255V\0" \ + "\343\255V\0\377\257W\0\377\257W\0\377\257W\0\343\257W\0\377\261X\0\377" \ + "\261X\0\377\261X\0\343\261X\0\377\263Y\0\377\263Y\0\377\263Y\0\343\263" \ + "Y\0\377\264Z\0\377\264Z\0\377\264Z\0\343\264Z\0\377\266[\0\377\266[\0" \ + "\377\266[\0\343\266[\0\377\270\\\0\377\270\\\0\377\270\\\0\343\270\\" \ + "\0\377\272]\0\377\272]\0\377\272]\0\343\272]\0\377\274^\0\377\274^\0" \ + "\377\274^\0\343\274^\0\377\276_\0\377\276_\0\377\276_\0\343\276_\0\377" \ + "\277_\0\377\277_\0\377\277_\0\343\277_\0\377\301`\0\377\301`\0\377\301" \ + "`\0\343\301`\0\377\303a\0\377\303a\0\377\303a\0\343\303a\0\377\305b\0" \ + "\377\305b\0\377\305b\0\343\305b\0\377\307c\0\377\307c\0\377\307c\0\343" \ + "\307c\0\377\310d\0\377\310d\0\377\310d\0\343\310d\0\377\312e\0\377\312" \ + "e\0\377\312e\0\343\312e\0\377\314f\0\377\314f\0\377\314f\0\343\314f\0" \ + "\377\316g\0\377\316g\0\377\316g\0\343\316g\0\377\320h\0\377\320h\0\377" \ + "\320h\0\343\320h\0\377\321h\0\377\321h\0\377\321h\0\343\321h\0\377\323" \ + "i\0\377\323i\0\377\323i\0\343\323i\0\377\325j\0\377\325j\0\377\325j\0" \ + "\343\325j\0\377\327k\0\377\327k\0\377\327k\0\343\327k\0\377\331l\0\377" \ + "\331l\0\377\331l\0\343\331l\0\377\332m\0\377\332m\0\377\332m\0\343\332" \ + "m\0\377\334n\0\377\334n\0\377\334n\0\343\334n\0\377\336o\0\377\336o\0" \ + "\377\336o\0\343\336o\0\377\340p\0\377\340p\0\377\340p\0\343\340p\0\377" \ + "\342q\0\377\342q\0\377\342q\0\343\342q\0\377\343q\0\377\343q\0\377\343" \ + "q\0\343\343q\0\377\345r\0\377\345r\0\377\345r\0\343\345r\0\377\347s\0" \ + "\377\347s\0\377\347s\0\343\347s\0\377\351t\0\377\351t\0\377\351t\0\343" \ + "\351t\0\377\353u\0\377\353u\0\377\353u\0\343\353u\0\377\355v\0\377\355" \ + "v\0\377\355v\0\343\355v\0") diff --git a/packages/psplash/psplash_svn.bb b/packages/psplash/psplash_svn.bb index 6e117db941..98e2a36805 100644 --- a/packages/psplash/psplash_svn.bb +++ b/packages/psplash/psplash_svn.bb @@ -1,8 +1,9 @@ DESCRIPTION = "Userspace framebuffer boot logo based on usplash." +HOMEPAGE = "http://projects.o-hand.com/psplash" SECTION = "base" LICENSE = "GPL" -PV = "0.0+svn${SRCDATE}" -PR = "r8" +PV = "0.0+svnr${SRCREV}" +PR = "r9" # You can create your own pslash-hand-img.h by doing # ./make-image-header.sh <file>.png HAND diff --git a/packages/putty/putty_svn.bb b/packages/putty/putty_svn.bb index 55f827b467..c96ffbb213 100644 --- a/packages/putty/putty_svn.bb +++ b/packages/putty/putty_svn.bb @@ -14,7 +14,7 @@ TARGETS = "lib plink pscp psftp" S = "${WORKDIR}/putty" -inherit qmake-base +inherit qmake_base do_configure() { for t in ${TARGETS} diff --git a/packages/puzzles/oh-puzzles_svn.bb b/packages/puzzles/oh-puzzles_svn.bb index 67643cb281..f0e0eade69 100644 --- a/packages/puzzles/oh-puzzles_svn.bb +++ b/packages/puzzles/oh-puzzles_svn.bb @@ -2,7 +2,7 @@ DESCRIPTION = "Portable Puzzle Collection" LICENSE = "MIT" SECTION = "x11" DEPENDS = "gtk+ gconf intltool-native librsvg libowl" -PV = "0.1+svn${SRCDATE}" +PV = "0.1+svnr${SRCREV}" PR = "r5" inherit autotools pkgconfig diff --git a/packages/qt/qt-x11-free-common.inc b/packages/qt/qt-x11-free-common.inc index cb4ed12f8d..a68575d601 100644 --- a/packages/qt/qt-x11-free-common.inc +++ b/packages/qt/qt-x11-free-common.inc @@ -6,7 +6,7 @@ HOMEPAGE = "http://www.trolltech.com" S = "${WORKDIR}/qt-x11-free-${PV}" -inherit qmake-base qt3x11 +inherit qmake_base qt3x11 export QTDIR = "${S}" STAGING_QT_DIR = "${STAGING_DIR}/${HOST_SYS}/qt3" diff --git a/packages/qt/qt-x11-free-native_3.3.5.bb b/packages/qt/qt-x11-free-native_3.3.5.bb index bd1c8e2598..2ed3da49b5 100644 --- a/packages/qt/qt-x11-free-native_3.3.5.bb +++ b/packages/qt/qt-x11-free-native_3.3.5.bb @@ -12,7 +12,7 @@ SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-x11-free-${PV}.tar.bz2 \ S = "${WORKDIR}/qt-x11-free-${PV}" # -# FIXME - This should be updated to use OE's qmake-base.oeclass +# FIXME - This should be updated to use OE's qmake_base.oeclass # or the full qmake.oeclass. # diff --git a/packages/qt/qt4-x11-free_4.1.2.bb b/packages/qt/qt4-x11-free_4.1.2.bb index 32eb3ced35..91ac3f68cf 100644 --- a/packages/qt/qt4-x11-free_4.1.2.bb +++ b/packages/qt/qt4-x11-free_4.1.2.bb @@ -19,7 +19,7 @@ S = "${WORKDIR}/qt-x11-opensource-src-${PV}" PARALLEL_MAKE = "" -inherit qmake-base qt4x11 pkgconfig +inherit qmake_base qt4x11 pkgconfig export QTDIR = "${S}" STAGING_QT_DIR = "${STAGING_DIR}/${TARGET_SYS}/qt4" diff --git a/packages/qt/qt4-x11-free_4.3.0.bb b/packages/qt/qt4-x11-free_4.3.0.bb index 8d68642417..a097c4e9ca 100644 --- a/packages/qt/qt4-x11-free_4.3.0.bb +++ b/packages/qt/qt4-x11-free_4.3.0.bb @@ -21,7 +21,7 @@ S = "${WORKDIR}/qt-x11-opensource-src-${PV}" PARALLEL_MAKE = "" -inherit qmake-base qt4x11 +inherit qmake_base qt4x11 export QTDIR = "${S}" STAGING_QT_DIR = "${STAGING_DIR}/${TARGET_SYS}/qt4" diff --git a/packages/qte/qte-mt-static_2.3.10.bb b/packages/qte/qte-mt-static_2.3.10.bb index 21feb25fef..c7d962343a 100644 --- a/packages/qte/qte-mt-static_2.3.10.bb +++ b/packages/qte/qte-mt-static_2.3.10.bb @@ -1,6 +1,8 @@ require qte-common_${PV}.inc PR = "r8" +DEFAULT_PREFERENCE = "-1" + EXTRA_OECONF += "-static -thread" do_stage() { diff --git a/packages/settings-daemon/settings-daemon_svn.bb b/packages/settings-daemon/settings-daemon_svn.bb index b427176c79..fb24fb1d75 100644 --- a/packages/settings-daemon/settings-daemon_svn.bb +++ b/packages/settings-daemon/settings-daemon_svn.bb @@ -3,8 +3,7 @@ LICENSE = "GPL" DEPENDS = "gconf glib-2.0" RDEPENDS = "xrdb" SECTION = "x11" -PV = "0.0+svn${SRCDATE}" -PR = "r2" +PV = "0.0+svnr${SRCREV}" SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http \ file://70settings-daemon" diff --git a/packages/snes9x/snes9x-sdl-qpe_1.39.bb b/packages/snes9x/snes9x-sdl-qpe_1.39.bb index adf49650d9..00e9fa0791 100644 --- a/packages/snes9x/snes9x-sdl-qpe_1.39.bb +++ b/packages/snes9x/snes9x-sdl-qpe_1.39.bb @@ -11,7 +11,7 @@ S = "${WORKDIR}/snes9x-sdl-${PV}" FILESPATH = "${FILE_DIRNAME}/${PN}-${PV}:${FILE_DIRNAME}/snes9x-sdl-${PV}:${FILE_DIRNAME}/snes9x-sdl:${FILE_DIRNAME}/files:${FILE_DIRNAME}" -inherit qmake-base +inherit qmake_base QT_LIBRARY = '${@base_conditional("PALMTOP_USE_MULTITHREADED_QT", "yes", "qte-mt", "qte",d)}' diff --git a/packages/sphyrna/sphyrna_svn.bb b/packages/sphyrna/sphyrna_svn.bb index 048d001905..d2e90cf8f2 100644 --- a/packages/sphyrna/sphyrna_svn.bb +++ b/packages/sphyrna/sphyrna_svn.bb @@ -2,7 +2,7 @@ DESCRIPTION = "Sphyrna - Hammerhead Reverse Engineering" HOMEPAGE = "http://projects.linuxtogo.org/projects/sphyrna" LICENSE = "GPLv2" DEPENDS = "readline" -PV = "0.0+svn${SRCDATE}" +PV = "0.0+svnr${SRCREV}" PR = "r0" SRC_URI = "svn://projects.linuxtogo.org/svn;module=sphyrna" diff --git a/packages/starling/starling_0.2.bb b/packages/starling/starling_0.2.bb index 6080491cb2..32cd1b9025 100644 --- a/packages/starling/starling_0.2.bb +++ b/packages/starling/starling_0.2.bb @@ -2,7 +2,7 @@ DESCRIPTION = "Starling audio player for GPE" SECTION = "gpe/multimedia" PRIORITY = "optional" LICENSE = "GPL" -DEPENDS = "gtk+ libgpewidget gstreamer gst-plugins-good gst-plugins-bad esound sqlite3 libsoup" +DEPENDS = "gtk+ gstreamer gst-plugins-good gst-plugins-bad sqlite libsoup gnutls" RDEPENDS = "esd \ gst-plugin-audioconvert \ diff --git a/packages/taglib/taglib_1.4.bb b/packages/taglib/taglib_1.4.bb index 7d560ef620..43fb2a2bfa 100644 --- a/packages/taglib/taglib_1.4.bb +++ b/packages/taglib/taglib_1.4.bb @@ -7,7 +7,7 @@ PR = "r1" SRC_URI = "http://developer.kde.org/~wheeler/files/src/taglib-${PV}.tar.gz" S = "${WORKDIR}/taglib-${PV}" -inherit autotools qmake-base pkgconfig binconfig +inherit autotools qmake_base pkgconfig binconfig export OE_QMAKE_LINK="${CXX}" diff --git a/packages/taglib/taglibc_1.4.bb b/packages/taglib/taglibc_1.4.bb index 8845c988c0..1a3a702bb9 100644 --- a/packages/taglib/taglibc_1.4.bb +++ b/packages/taglib/taglibc_1.4.bb @@ -9,7 +9,7 @@ LICENSE = "LGPL" SRC_URI = "http://developer.kde.org/~wheeler/files/src/taglib-${PV}.tar.gz" S = "${WORKDIR}/taglib-${PV}" -inherit autotools qmake-base pkgconfig binconfig +inherit autotools qmake_base pkgconfig binconfig do_configure() { echo running oe_runconf to get pkgconfig and binconfig files created diff --git a/packages/tasks/task-boot.bb b/packages/tasks/task-boot.bb index fe4d43b767..40c5bd530b 100644 --- a/packages/tasks/task-boot.bb +++ b/packages/tasks/task-boot.bb @@ -1,5 +1,5 @@ DESCRIPTION = "Basic task to get a device booting" -PR = "r39" +PR = "r40" inherit task diff --git a/packages/tasks/task-openmoko-debug.bb b/packages/tasks/task-openmoko-debug.bb index 6ea7ca236b..8486aa01cf 100644 --- a/packages/tasks/task-openmoko-debug.bb +++ b/packages/tasks/task-openmoko-debug.bb @@ -1,7 +1,7 @@ -DESCRIPTION = "OpenMoko: Debugging Tools" +DESCRIPTION = "OpenMoko: Debugging and Benchmarking Tools" SECTION = "openmoko/base" LICENSE = "MIT" -PR = "r57" +PR = "r58" inherit task @@ -11,26 +11,27 @@ RDEPENDS_task-openmoko-debug = "\ alsa-utils-aconnect \ alsa-utils-alsamixer \ alsa-utils-speakertest \ - madplay \ - vorbis-tools \ - strace \ - ltrace \ + bonnie++ \ + cu \ + dbench \ + fbgrab \ + fstests \ gdb \ gdbserver \ + madplay \ + lrzsz \ + lsof \ + ltrace \ + memtester \ +# sensors-i2cdetect sensors-i2cdump sensors-i2cset \ + strace \ tcpdump \ tslib-calibrate \ tslib-tests \ - fbgrab \ - fstests \ - lsof \ - lrzsz \ udev-utils \ usbutils \ uucp \ - cu \ -# sensors-i2cdetect sensors-i2cdump sensors-i2cset \ + vorbis-tools \ + x11perf \ xev \ - bonnie++ \ - memtester \ - dbench \ " diff --git a/packages/tasks/task-openmoko-feed.bb b/packages/tasks/task-openmoko-feed.bb index f3e3ee8456..41c63f7dff 100644 --- a/packages/tasks/task-openmoko-feed.bb +++ b/packages/tasks/task-openmoko-feed.bb @@ -1,27 +1,31 @@ DESCRIPTION = "OpenMoko: Misc. Feed Items" SECTION = "openmoko/base" LICENSE = "MIT" -PR = "r8" +PR = "r12" inherit task RDEPENDS_task-openmoko-feed = "\ aspell enchant \ bluez-hcidump \ + eet evas ecore embryo epsilon edje efreet emotion epdf \ + exhibit edje-viewer \ gpe-filemanager gpe-gallery gpe-timesheet gpe-todo \ - ipkg-link \ + ipkg-link ipkg-utils \ + joe \ kbdd \ midori \ + mplayer \ mtpaint \ mysql \ nano \ ntpclient ntp \ openssh openssh-scp openssh-ssh openssh-sshd openssh-sftp openssh-misc \ - python \ - python-pygtk \ - python-pyserial \ + python python-pygtk python-pyserial \ ruby \ - timezones \ + synergy \ + tzdata \ tor \ vnc \ " + diff --git a/packages/tasks/task-openmoko.bb b/packages/tasks/task-openmoko.bb index 0ddf590c9d..4c605dc11d 100644 --- a/packages/tasks/task-openmoko.bb +++ b/packages/tasks/task-openmoko.bb @@ -2,7 +2,7 @@ DESCRIPTION = "OpenMoko: Tasks for the OpenMoko Linux Distribution" SECTION = "openmoko/base" LICENSE = "MIT" PROVIDES = "task-openmoko-everything" -PR = "r60" +PR = "r62" inherit task @@ -84,6 +84,7 @@ THEMES_e680 = "openmoko-icon-theme-standard2 openmoko-theme-standard2-qvga" THEMES_a1200 = "openmoko-icon-theme-standard2 openmoko-theme-standard2-qvga" THEMES_rokre2 = "openmoko-icon-theme-standard2 openmoko-theme-standard2-qvga" THEMES_rokre6 = "openmoko-icon-theme-standard2 openmoko-theme-standard2-qvga" +THEMES_magician = "openmoko-icon-theme-standard2 openmoko-theme-standard2-qvga" RDEPENDS_task-openmoko-ui += "${THEMES}" @@ -98,6 +99,7 @@ RDEPENDS_task-openmoko-base = "\ # openmoko-appmanager \ matchbox-keyboard-inputmethod \ matchbox-keyboard-im \ + matchbox-keyboard-applet \ matchbox-stroke \ openmoko-terminal2 \ openmoko-keyboard \ @@ -129,6 +131,7 @@ RDEPENDS_task-openmoko-pim = "\ eds-dbus \ openmoko-calculator2 \ openmoko-contacts2 \ + openmoko-dates2 \ openmoko-feedreader2 \ openmoko-tasks2 \ openmoko-today2 \ diff --git a/packages/tcpdump/tcpdump_3.9.3.bb b/packages/tcpdump/tcpdump_3.9.7.bb index 7ffcc9a37f..ba9710d86a 100644 --- a/packages/tcpdump/tcpdump_3.9.3.bb +++ b/packages/tcpdump/tcpdump_3.9.7.bb @@ -3,8 +3,7 @@ HOMEPAGE = "http://www.tcpdump.org/" LICENSE = "BSD" SECTION = "console/network" PRIORITY = "optional" -DEPENDS = "libpcap-0.9.3" -PR = "r2" +DEPENDS = "libpcap" SRC_URI = "http://www.tcpdump.org/release/tcpdump-${PV}.tar.gz \ file://tcpdump_configure_no_-O2.patch;patch=1" diff --git a/packages/tinymail/libtinymail_svn.bb b/packages/tinymail/libtinymail_svn.bb index 6792154e7a..300fee2cfa 100644 --- a/packages/tinymail/libtinymail_svn.bb +++ b/packages/tinymail/libtinymail_svn.bb @@ -2,7 +2,7 @@ DESCRIPTION = "TinyMail is an attempt to create an E-mail framework for mobile d SECTION = "x11/utils" LICENSE = "LGPL" DEPENDS = "gtk+ glib-2.0 gnome-vfs gconf-dbus libgnomeui" -PV = "0.0.1+svn${SRCDATE}" +PV = "0.0.1+svnr${SRCREV}" PR = "r3" DEFAULT_PREFERENCE = "-1" diff --git a/packages/uboot/uboot-openmoko_1.2.0+git8993e54b6f397973794f3d6f47d3b3c0c98dd4f6+svn20070819.bb b/packages/uboot/uboot-openmoko_1.2.0+gitf34024d4a328e6edd906456da98d2c537155c4f7+svn2943.bb index d660deef9a..6256363500 100644 --- a/packages/uboot/uboot-openmoko_1.2.0+git8993e54b6f397973794f3d6f47d3b3c0c98dd4f6+svn20070819.bb +++ b/packages/uboot/uboot-openmoko_1.2.0+gitf34024d4a328e6edd906456da98d2c537155c4f7+svn2943.bb @@ -4,19 +4,19 @@ LICENSE = "GPL" SECTION = "bootloader" PRIORITY = "optional" -UBOOT_UPSTREAM_REV = "8993e54b6f397973794f3d6f47d3b3c0c98dd4f6" -UBOOT_OPENMOKO_DATE = "20070819" +UBOOT_UPSTREAM_REV = "f34024d4a328e6edd906456da98d2c537155c4f7" +UBOOT_OPENMOKO_REV = "2943" UBOOT_MACHINES = "gta01bv2 gta01bv3 gta01bv4" -PV = "1.2.0+git${UBOOT_UPSTREAM_REV}+svn${UBOOT_OPENMOKO_DATE}" -PR = "r2" +PV = "1.2.0+git${UBOOT_UPSTREAM_REV}+svn${UBOOT_OPENMOKO_REV}" +PR = "r0" PROVIDES = "virtual/bootloader" S = "${WORKDIR}/git" SRC_URI = "\ - git://www.denx.de/git/u-boot.git/;protocol=git;tag=${UBOOT_UPSTREAM_REV} \ - svn://svn.openmoko.org/branches/u-boot/pre-20070822;module=patches;date=${UBOOT_OPENMOKO_DATE};proto=http \ + git://www.denx.de/git/u-boot.git;protocol=git;tag=${UBOOT_UPSTREAM_REV} \ + svn://svn.openmoko.org/trunk/src/target/u-boot;module=patches;rev=${UBOOT_OPENMOKO_REV};proto=http \ file://uboot-eabi-fix-HACK.patch \ file://uboot-20070311-tools_makefile_ln_sf.patch;patch=1 \ " diff --git a/packages/uboot/uboot-openmoko_svn.bb b/packages/uboot/uboot-openmoko_svn.bb index 9b5dbb509b..e1575884c2 100644 --- a/packages/uboot/uboot-openmoko_svn.bb +++ b/packages/uboot/uboot-openmoko_svn.bb @@ -4,16 +4,18 @@ LICENSE = "GPL" SECTION = "bootloader" PRIORITY = "optional" PROVIDES = "virtual/bootloader" -PV = "1.2.0+git${SRCDATE}+svn${SRCDATE}" +PV = "1.2.0+git${SRCDATE}+svnr${SRCREV}" PR = "r0" +SRCREV_FORMAT = "patches" + UBOOT_MACHINES = "gta01bv2 gta01bv3 gta01bv4 smdk2440 hxd8 qt2410 gta02v1 gta02v2" DEFAULT_PREFERENCE = "-1" SRC_URI = "\ - git://www.denx.de/git/u-boot.git/;protocol=git \ - svn://svn.openmoko.org/trunk/src/target/u-boot;module=patches;proto=http \ + git://www.denx.de/git/u-boot.git/;protocol=git;name=upstream \ + svn://svn.openmoko.org/trunk/src/target/u-boot;module=patches;proto=http;name=patches \ file://uboot-eabi-fix-HACK.patch \ file://uboot-20070311-tools_makefile_ln_sf.patch;patch=1 \ " diff --git a/packages/uclibc/bfin-uclibc_svn.bb b/packages/uclibc/bfin-uclibc_svn.bb new file mode 100644 index 0000000000..fdb1329968 --- /dev/null +++ b/packages/uclibc/bfin-uclibc_svn.bb @@ -0,0 +1,34 @@ +# UCLIBC_BASE should be the latest released revision of uclibc (that way +# the config files will typically be correct!) uclibc-cvs takes precedence +# over uclibc-${UCLIBC_BASE}, if a config file in uclibc-cvs is out of date +# try removing it +# +# UCLIBC_BASE can be set in a distro file, but whether this works depends +# on whether the base patches apply to the selected (SRCDATE) svn release. +# +UCLIBC_BASE ?= "0.9.29" +PR = "r0" +PV = "${UCLIBC_BASE}+svnr${SRCREV}" + +require uclibc.inc + +PROVIDES_append_bfin = " virtual/${TARGET_PREFIX}libc-for-gcc " + +#recent versions uclibc require real kernel headers +PACKAGE_ARCH = "${MACHINE_ARCH}" +COMPATIBLE_HOST = "bfin.*-uclinux" + +#as stated above, uclibc needs real kernel-headers +#however: we can't depend on virtual/kernel when nptl hits due to depends deadlocking .... +KERNEL_SOURCE = "${CROSS_DIR}/${TARGET_SYS}" + +SRC_URI = "svn://sources.blackfin.uclinux.org/toolchain/trunk;module=uClibc " +SRC_URI += "file://uClibc.machine file://uClibc.distro" + +FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-${UCLIBC_BASE}', '${FILE_DIRNAME}/uclibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}" + + +S = "${WORKDIR}/uClibc" + +LEAD_SONAME = "libc.so" + diff --git a/packages/uclibc/elf2flt_svn.bb b/packages/uclibc/elf2flt_svn.bb new file mode 100644 index 0000000000..ef142baf06 --- /dev/null +++ b/packages/uclibc/elf2flt_svn.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "Elf2flt is a wrapper around the linker for uclinux platforms" +DEPENDS = "binutils-cross" + +PV = "0.0+svnr${SRCREV}" + +inherit autotools cross + +SRC_URI = "svn://sources.blackfin.uclinux.org/toolchain/trunk;module=${PN}" + +S = "${WORKDIR}/${PN}" + +EXTRA_OECONF = " --with-libbfd=${CROSS_DIR}/${TARGET_SYS}/lib/libbfd.a \ + --with-libiberty=${CROSS_DIR}/${TARGET_SYS}/lib/libiberty.a \ + --with-bfd-include-dir=${CROSS_DIR}/${TARGET_SYS}/include \ + " diff --git a/packages/uicmoc/uicmoc-native_2.3.10.bb b/packages/uicmoc/uicmoc-native_2.3.10.bb index 4d6b16a3b3..a4be2f1c0a 100644 --- a/packages/uicmoc/uicmoc-native_2.3.10.bb +++ b/packages/uicmoc/uicmoc-native_2.3.10.bb @@ -14,7 +14,7 @@ SRC_URI = "ftp://ftp.trolltech.com/pub/qt/source/qt-embedded-${PV}-free.tar.gz \ file://kernel-asm-page.patch;patch=1" S = "${WORKDIR}/qt-${PV}" -inherit native qmake-base +inherit native qmake_base export QTDIR = "${S}" EXTRA_OEMAKE = 'SYSCONF_CXX="${CXX}" SYSCONF_LINK="${CXX}"' diff --git a/packages/uicmoc/uicmoc3-native_3.3.5.bb b/packages/uicmoc/uicmoc3-native_3.3.5.bb index 153e2bae2d..35dada5b72 100644 --- a/packages/uicmoc/uicmoc3-native_3.3.5.bb +++ b/packages/uicmoc/uicmoc3-native_3.3.5.bb @@ -10,7 +10,7 @@ SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-embedded-free-${PV}.tar.bz2 \ file://64bit-cleanup.patch;patch=1" S = "${WORKDIR}/qt-embedded-free-${PV}" -inherit native qmake-base qt3e +inherit native qmake_base qt3e export QTDIR = "${S}" export OE_QMAKE_LINK="${CXX}" diff --git a/packages/webkit/webkit-gtk_svn.bb b/packages/webkit/webkit-gtk_svn.bb index 7ec07c3816..077baec95e 100644 --- a/packages/webkit/webkit-gtk_svn.bb +++ b/packages/webkit/webkit-gtk_svn.bb @@ -10,8 +10,8 @@ inherit qmake2 pkgconfig SRC_URI = "\ svn://svn.webkit.org/repository/webkit/trunk/;module=JavaScriptCore;proto=http \ svn://svn.webkit.org/repository/webkit/trunk/;module=JavaScriptGlue;proto=http \ - svn://svn.webkit.org/repository/webkit/trunk/;module=WebCore;proto=http \ - svn://svn.webkit.org/repository/webkit/trunk/;module=WebKit;proto=http \ + svn://svn.webkit.org/repository/webkit/trunk/;module=WebCore;proto=http;name=webcore \ + svn://svn.webkit.org/repository/webkit/trunk/;module=WebKit;proto=http;name=webkit \ svn://svn.webkit.org/repository/webkit/trunk/;module=WebKitLibraries;proto=http \ # svn://svn.webkit.org/repository/webkit/trunk/;module=WebKitQt;proto=http \ svn://svn.webkit.org/repository/webkit/trunk/;module=WebKitTools;proto=http \ diff --git a/packages/xchat/xchat_2.6.1.bb b/packages/xchat/xchat_2.6.1.bb deleted file mode 100644 index fc362a9c41..0000000000 --- a/packages/xchat/xchat_2.6.1.bb +++ /dev/null @@ -1,13 +0,0 @@ -DESCRIPTION = "Full-featured IRC chat client with scripting support" -LICENSE = "GPL" -HOMEPAGE = "http://www.xchat.org" -SECTION = "x11/network" -DEPENDS = "libgcrypt zlib gtk+" -PR = "r3" - -SRC_URI = "http://www.xchat.org/files/source/2.6/xchat-${PV}.tar.bz2" - -inherit autotools -EXTRA_OECONF = " --disable-perl --disable-python " - -FILES_${PN}-dbg += " /usr/lib/xchat/plugins/.debug" diff --git a/packages/xchat/xchat_2.8.4.bb b/packages/xchat/xchat_2.8.4.bb new file mode 100644 index 0000000000..6626f67ed1 --- /dev/null +++ b/packages/xchat/xchat_2.8.4.bb @@ -0,0 +1,18 @@ +DESCRIPTION = "Full-featured IRC chat client with scripting support" +LICENSE = "GPL" +HOMEPAGE = "http://www.xchat.org" +SECTION = "x11/network" +DEPENDS = "libgcrypt zlib gtk+" +DEPENDS += "gdk-pixbuf-csource-native" +PR = "r0" + +SRC_URI = "http://www.xchat.org/files/source/2.8/xchat-${PV}.tar.bz2" + +inherit autotools + +EXTRA_OECONF = "\ + --disable-perl \ + --disable-python \ +" + +FILES_${PN}-dbg += "${libdir}/xchat/plugins/.debug" diff --git a/packages/xoo/xoo_svn.bb b/packages/xoo/xoo_svn.bb index 71a39b057d..231122194b 100644 --- a/packages/xoo/xoo_svn.bb +++ b/packages/xoo/xoo_svn.bb @@ -4,7 +4,7 @@ It is intended for embedded developers that want to simulate a target device \ HOMEPAGE = "http://projects.o-hand.com/xoo" LICENSE = "GPL" DEPENDS = "virtual/libx11 libxtst gtk+ libglade" -PV = "0.7+svn${SRCDATE}" +PV = "0.7+svnr${SRCREV}" PR = "r1" SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=Xoo;proto=http \ diff --git a/packages/xorg-app/bdftopcf_1.0.1.bb b/packages/xorg-app/bdftopcf_1.0.1.bb new file mode 100644 index 0000000000..6af52c9783 --- /dev/null +++ b/packages/xorg-app/bdftopcf_1.0.1.bb @@ -0,0 +1,7 @@ +require xorg-app-common.inc +PE = "1" + +DESCRIPTION = "converts BDF fonts to PCF fonts" + +DEPENDS += " libxfont" + diff --git a/packages/xorg-app/iceauth_1.0.2.bb b/packages/xorg-app/iceauth_1.0.2.bb new file mode 100644 index 0000000000..9b5ea948b2 --- /dev/null +++ b/packages/xorg-app/iceauth_1.0.2.bb @@ -0,0 +1,7 @@ +require xorg-app-common.inc +PE = "1" + +DESCRIPTION = "a tool for manipulating ICE protocol authorization records" + +DEPENDS += " libice" + diff --git a/packages/xorg-app/ico_1.0.2.bb b/packages/xorg-app/ico_1.0.2.bb new file mode 100644 index 0000000000..532dbef6d8 --- /dev/null +++ b/packages/xorg-app/ico_1.0.2.bb @@ -0,0 +1,6 @@ +require xorg-app-common.inc +PE = "1" + +DESCRIPTION = "an X graphics demo using an animated polyhedron" + +DEPENDS += " virtual/libx11 libxau libxdmcp" diff --git a/packages/xorg-app/xbacklight_1.1.bb b/packages/xorg-app/xbacklight_1.1.bb new file mode 100644 index 0000000000..ab911de04a --- /dev/null +++ b/packages/xorg-app/xbacklight_1.1.bb @@ -0,0 +1,6 @@ +require xorg-app-common.inc +PE = "1" + +DESCRIPTION = "adjust backlight brightness using RandR extension" + +DEPENDS += " virtual/libx11 libxrender libxrandr" diff --git a/packages/xorg-app/xdm_1.1.6.bb b/packages/xorg-app/xdm_1.1.6.bb index 7b4195e3d8..1520a903ad 100644 --- a/packages/xorg-app/xdm_1.1.6.bb +++ b/packages/xorg-app/xdm_1.1.6.bb @@ -6,3 +6,5 @@ DESCRIPTION = "X display manager" DEPENDS += " libxmu libxinerama libxpm libxdmcp libxau virtual/libx11 libxext libxdmcp libxt" EXTRA_OECONF += " --with-random-device=/dev/urandom" + +FILES_${PN}-dbg += "${libdir}/X11/xdm/.debug/*" diff --git a/packages/xorg-app/xinit_1.0.5.bb b/packages/xorg-app/xinit_1.0.5.bb new file mode 100644 index 0000000000..ce82fb05d4 --- /dev/null +++ b/packages/xorg-app/xinit_1.0.5.bb @@ -0,0 +1,6 @@ +require xorg-app-common.inc + +DESCRIPTION = "X Window System initializer" +PE = "1" + +FILES_${PN} += "${libdir}X11/xinit" diff --git a/packages/xorg-app/xprop_1.0.3.bb b/packages/xorg-app/xprop_1.0.3.bb deleted file mode 100644 index 8623021717..0000000000 --- a/packages/xorg-app/xprop_1.0.3.bb +++ /dev/null @@ -1,7 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -#DESCRIPTION = "" - -DEPENDS += " libxmu virtual/libx11" - diff --git a/packages/xorg-app/xset_1.0.3.bb b/packages/xorg-app/xset_1.0.3.bb new file mode 100644 index 0000000000..fa2e4c25a2 --- /dev/null +++ b/packages/xorg-app/xset_1.0.3.bb @@ -0,0 +1,11 @@ +require xorg-app-common.inc + +DESCRIPTION = "user preference utility for X" +LICENSE = "MIT" +DEPENDS += "libxext libxxf86misc libxfontcache libxmu libxp libxau" +PE = "1" + +SRC_URI += "file://disable-xkb.patch;patch=1" + +CFLAGS += "-D_GNU_SOURCE" +EXTRA_OECONF = "--disable-xkb" diff --git a/packages/xorg-driver/xf86-input-keyboard_1.2.2.bb b/packages/xorg-driver/xf86-input-keyboard_1.2.2.bb new file mode 100644 index 0000000000..b4ef6c683e --- /dev/null +++ b/packages/xorg-driver/xf86-input-keyboard_1.2.2.bb @@ -0,0 +1,7 @@ +require xorg-driver-input.inc +PE = "1" + +#DESCRIPTION = "" + +DEPENDS += " kbproto" + diff --git a/packages/xorg-lib/libxcursor_1.1.9.bb b/packages/xorg-lib/libxcursor_1.1.9.bb new file mode 100644 index 0000000000..620ab4a39b --- /dev/null +++ b/packages/xorg-lib/libxcursor_1.1.9.bb @@ -0,0 +1,8 @@ +require xorg-lib-common.inc + +DESCRIPTION = "X cursor management library" +LICENSE= "BSD-X" +DEPENDS += "libxrender libxfixes" +PE = "1" + +XORG_PN = "libXcursor" diff --git a/packages/xorg-lib/libxfont_1.3.1.bb b/packages/xorg-lib/libxfont_1.3.1.bb new file mode 100644 index 0000000000..b65c84f586 --- /dev/null +++ b/packages/xorg-lib/libxfont_1.3.1.bb @@ -0,0 +1,11 @@ +require xorg-lib-common.inc + +DESCRIPTION = "X11 font rasterisation library" +LICENSE= "BSD-X" +DEPENDS += "freetype fontcacheproto xtrans fontsproto libfontenc" +PROVIDES = "xfont" +PE = "1" + +SRC_URI += "file://no-scalable-crash.patch;patch=1" + +XORG_PN = "libXfont" diff --git a/packages/xorg-lib/libxi_1.1.3.bb b/packages/xorg-lib/libxi_1.1.3.bb new file mode 100644 index 0000000000..492d62af89 --- /dev/null +++ b/packages/xorg-lib/libxi_1.1.3.bb @@ -0,0 +1,7 @@ +require xorg-lib-common.inc + +DESCRIPTION = "X11 Input extension library" +DEPENDS += "libxext inputproto" +PE = "1" + +XORG_PN = "libXi" diff --git a/packages/xorg-lib/libxrandr_1.2.2.bb b/packages/xorg-lib/libxrandr_1.2.2.bb new file mode 100644 index 0000000000..5a8ffb2b51 --- /dev/null +++ b/packages/xorg-lib/libxrandr_1.2.2.bb @@ -0,0 +1,8 @@ +require xorg-lib-common.inc + +DESCRIPTION = "X11 Resize and Rotate extension library" +LICENSE = "BSD-X" +DEPENDS += "randrproto libxrender libxext" +PE = "1" + +XORG_PN = "libXrandr" diff --git a/packages/xorg-lib/libxrender_0.9.4.bb b/packages/xorg-lib/libxrender_0.9.4.bb new file mode 100644 index 0000000000..ccf7b667f6 --- /dev/null +++ b/packages/xorg-lib/libxrender_0.9.4.bb @@ -0,0 +1,8 @@ +require xorg-lib-common.inc + +DESCRIPTION = "X11 Rendering Extension client library" +LICENSE = "BSD-X" +DEPENDS += "virtual/libx11 renderproto xproto" +PE = "1" + +XORG_PN = "libXrender" diff --git a/packages/xorg-lib/libxxf86dga_1.0.2.bb b/packages/xorg-lib/libxxf86dga_1.0.2.bb new file mode 100644 index 0000000000..931f0d9d13 --- /dev/null +++ b/packages/xorg-lib/libxxf86dga_1.0.2.bb @@ -0,0 +1,7 @@ +require xorg-lib-common.inc + +DESCRIPTION = "X11 Direct Graphics Access extension library" +DEPENDS += "libxext xf86dgaproto" +PE = "1" + +XORG_PN = "libXxf86dga" diff --git a/packages/xorg-lib/pixman-0.9.5/.mtn2git_empty b/packages/xorg-lib/pixman-0.9.5/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/xorg-lib/pixman-0.9.5/.mtn2git_empty diff --git a/packages/xorg-lib/pixman-0.9.5/dont-copy-unused-bits-to-alpha-channel.patch b/packages/xorg-lib/pixman-0.9.5/dont-copy-unused-bits-to-alpha-channel.patch new file mode 100644 index 0000000000..05fe829a82 --- /dev/null +++ b/packages/xorg-lib/pixman-0.9.5/dont-copy-unused-bits-to-alpha-channel.patch @@ -0,0 +1,29 @@ +From: Carl Worth <cworth@cworth.org> + +Don't copy unused bits to an alpha channel + +This bug was identified by cairo's rgb24-ignore-alpha test which +blends RGB24 over ARGB32 and notices that "alpha" values are +making it from the source to the destination. + +Index: a/pixman/pixman-pict.c +=================================================================== +--- a/pixman/pixman-pict.c b8b7b767b3ed1fc57ba177c38187e1eb3daf4de8 ++++ b/pixman/pixman-pict.c c7d73fc532c2da313041906ac0f48dba1b10d3bc +@@ -1778,7 +1778,6 @@ pixman_image_composite (pixman_op_t + break; + case PIXMAN_x8r8g8b8: + switch (pDst->bits.format) { +- case PIXMAN_a8r8g8b8: + case PIXMAN_x8r8g8b8: + #ifdef USE_MMX + if (pixman_have_mmx()) +@@ -1790,7 +1789,6 @@ pixman_image_composite (pixman_op_t + } + case PIXMAN_x8b8g8r8: + switch (pDst->bits.format) { +- case PIXMAN_a8b8g8r8: + case PIXMAN_x8b8g8r8: + #ifdef USE_MMX + if (pixman_have_mmx()) + diff --git a/packages/xorg-lib/pixman_0.9.5.bb b/packages/xorg-lib/pixman_0.9.5.bb new file mode 100644 index 0000000000..5183084167 --- /dev/null +++ b/packages/xorg-lib/pixman_0.9.5.bb @@ -0,0 +1,6 @@ +require xorg-lib-common.inc + +DESCRIPTION = "Library for lowlevel pixel operations" +DEPENDS = "virtual/libx11" + +SRC_URI += "file://dont-copy-unused-bits-to-alpha-channel.patch;patch=1" diff --git a/packages/xorg-proto/inputproto_1.4.2.1.bb b/packages/xorg-proto/inputproto_1.4.2.1.bb new file mode 100644 index 0000000000..3637929316 --- /dev/null +++ b/packages/xorg-proto/inputproto_1.4.2.1.bb @@ -0,0 +1,3 @@ +require xorg-proto-common.inc + +PE = "1" diff --git a/packages/xorg-proto/renderproto_0.9.3.bb b/packages/xorg-proto/renderproto_0.9.3.bb new file mode 100644 index 0000000000..3d20b24afd --- /dev/null +++ b/packages/xorg-proto/renderproto_0.9.3.bb @@ -0,0 +1,4 @@ +require xorg-proto-common.inc + +CONFLICTS = "renderext" +PE = "1" diff --git a/packages/xorg-proto/xf86dgaproto_2.0.3.bb b/packages/xorg-proto/xf86dgaproto_2.0.3.bb new file mode 100644 index 0000000000..2e0e734858 --- /dev/null +++ b/packages/xorg-proto/xf86dgaproto_2.0.3.bb @@ -0,0 +1,5 @@ +require xorg-proto-common.inc + +CONFLICTS = "xxf86dgaext" +PR = "r1" +PE = "1" diff --git a/packages/xorg-xserver/xserver-kdrive-1.1.0/.mtn2git_empty b/packages/xorg-xserver/xserver-kdrive-1.1.0/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive-1.1.0/.mtn2git_empty diff --git a/packages/xorg-xserver/xserver-kdrive-1.1.0/enable-epson.patch b/packages/xorg-xserver/xserver-kdrive-1.1.0/enable-epson.patch new file mode 100644 index 0000000000..63b13a4511 --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive-1.1.0/enable-epson.patch @@ -0,0 +1,11 @@ +--- /tmp/Makefile.am 2006-08-30 09:51:21.000000000 +0200 ++++ git/hw/kdrive/Makefile.am 2006-08-30 09:51:44.425780000 +0200 +@@ -4,7 +4,7 @@ + endif + + if KDRIVEFBDEV +-FBDEV_SUBDIRS = fbdev ++FBDEV_SUBDIRS = fbdev epson + endif + + if XSDLSERVER diff --git a/packages/xorg-xserver/xserver-kdrive/enable-tslib.patch b/packages/xorg-xserver/xserver-kdrive-1.1.0/enable-tslib.patch index e488657b74..e488657b74 100644 --- a/packages/xorg-xserver/xserver-kdrive/enable-tslib.patch +++ b/packages/xorg-xserver/xserver-kdrive-1.1.0/enable-tslib.patch diff --git a/packages/xorg-xserver/xserver-kdrive-1.1.0/optional-xkb.patch b/packages/xorg-xserver/xserver-kdrive-1.1.0/optional-xkb.patch new file mode 100644 index 0000000000..d9ef51c5ba --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive-1.1.0/optional-xkb.patch @@ -0,0 +1,54 @@ +--- git/Makefile.am.orig 2006-06-09 16:01:51.000000000 +0200 ++++ git/Makefile.am 2006-06-09 16:02:59.000000000 +0200 +@@ -35,6 +35,10 @@ + XINPUT_DIR=Xi + endif + ++if XKB ++XKB_DIR=xkb ++endif ++ + if DBE + DBE_DIR=dbe + endif +@@ -51,7 +55,7 @@ + randr \ + render \ + $(XINPUT_DIR) \ +- xkb \ ++ $(XKB_DIR) \ + $(DBE_DIR) \ + $(MFB_DIR) \ + $(AFB_DIR) \ +--- git/configure.ac.orig 2006-05-22 22:40:00.000000000 +0200 ++++ git/configure.ac 2006-06-10 15:10:14.000000000 +0200 +@@ -418,6 +418,7 @@ + AC_ARG_ENABLE(xf86bigfont, AS_HELP_STRING([--disable-xf86bigfont], [Build XF86 Big Font extension (default: enabled)]), [XF86BIGFONT=$enableval], [XF86BIGFONT=yes]) + AC_ARG_ENABLE(dpms, AS_HELP_STRING([--disable-dpms], [Build DPMS extension (default: enabled)]), [DPMS=$enableval], [DPMSExtension=yes]) + AC_ARG_ENABLE(xinput, AS_HELP_STRING([--disable-xinput], [Build XInput Extension (default: enabled)]), [XINPUT=$enableval], [XINPUT=yes]) ++AC_ARG_ENABLE(xkb, AS_HELP_STRING([--disable-xkb], [Build XKB (default: enabled)]), [XKB=$enableval], [XKB=yes]) + + dnl DDXes. + AC_ARG_ENABLE(xorg, AS_HELP_STRING([--enable-xorg], [Build Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto]) +@@ -739,12 +740,15 @@ + + AC_DEFINE(SHAPE, 1, [Support SHAPE extension]) + +-AC_DEFINE(XKB, 1, [Build XKB]) +-AC_DEFINE(XKB_IN_SERVER, 1, [Build XKB server]) +-AC_DEFINE(XKB_DFLT_DISABLED, 0, [Disable XKB per default]) +-REQUIRED_MODULES="$REQUIRED_MODULES xkbfile" +-XKB_LIB='$(top_builddir)/xkb/libxkb.la' +-XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la' ++AM_CONDITIONAL(XKB, [test "x$XKB" = xyes]) ++if test "x$XKB" = xyes; then ++ AC_DEFINE(XKB, 1, [Build XKB]) ++ AC_DEFINE(XKB_IN_SERVER, 1, [Build XKB server]) ++ AC_DEFINE(XKB_DFLT_DISABLED, 0, [Disable XKB per default]) ++ REQUIRED_MODULES="$REQUIRED_MODULES xkbfile" ++ XKB_LIB='$(top_builddir)/xkb/libxkb.la' ++ XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la' ++fi + + AC_CHECK_FUNC(strcasecmp, [], AC_DEFINE([NEED_STRCASECMP], 1, + [Do not have `strcasecmp'.])) diff --git a/packages/xorg-xserver/xserver-kdrive-1.3.0.0/hide-cursor-and-ppm-root.patch b/packages/xorg-xserver/xserver-kdrive-1.3.0.0/hide-cursor-and-ppm-root.patch deleted file mode 100644 index c160cd41dc..0000000000 --- a/packages/xorg-xserver/xserver-kdrive-1.3.0.0/hide-cursor-and-ppm-root.patch +++ /dev/null @@ -1,307 +0,0 @@ -diff -u -r xorg-server-X11R7.1-1.1.0.orig/dix/window.c xorg-server-X11R7.1-1.1.0/dix/window.c ---- xorg-server-X11R7.1-1.1.0.orig/dix/window.c 2007-01-08 14:30:38.000000000 +0000 -+++ xorg-server-X11R7.1-1.1.0/dix/window.c 2007-01-16 17:16:19.000000000 +0000 -@@ -185,6 +185,8 @@ - _X_EXPORT int numSaveUndersViewable = 0; - _X_EXPORT int deltaSaveUndersViewable = 0; - -+char* RootPPM = NULL; -+ - #ifdef DEBUG - /****** - * PrintWindowTree -@@ -311,6 +313,115 @@ - #endif - } - -+static int -+get_int(FILE *fp) -+{ -+ int c = 0; -+ -+ while ((c = getc(fp)) != EOF) -+ { -+ if (isspace(c)) -+ continue; -+ -+ if (c == '#') -+ while (c = getc(fp)) -+ if (c == EOF) -+ return 0; -+ else if (c == '\n') -+ break; -+ -+ if (isdigit(c)) -+ { -+ int val = c - '0'; -+ while ((c = getc(fp)) && isdigit(c)) -+ val = (val * 10) + (c - '0'); -+ return val; -+ } -+ } -+ -+ return 0; -+} -+ -+static unsigned char* -+ppm_load (const char* path, int depth, int *width, int *height) -+{ -+ FILE *fp; -+ int max, n = 0, w, h, i, j, bytes_per_line; -+ unsigned char *data, *res, h1, h2; -+ -+ if (depth < 16 || depth > 32) -+ return NULL; -+ -+ if (depth > 16) -+ depth = 32; -+ -+ fp = fopen (path, "r"); -+ if (fp == NULL) -+ return FALSE; -+ -+ h1 = getc(fp); -+ h2 = getc(fp); -+ -+ /* magic is 'P6' for raw ppm */ -+ if (h1 != 'P' && h2 != '6') -+ goto fail; -+ -+ w = get_int(fp); -+ h = get_int(fp); -+ -+ if (w == 0 || h == 0) -+ goto fail; -+ -+ max = get_int(fp); -+ -+ if (max != 255) -+ goto fail; -+ -+ bytes_per_line = ((w * depth + 31) >> 5) << 2; -+ -+ res = data = malloc(bytes_per_line * h); -+ -+ for (i=0; i<h; i++) -+ { -+ for (j=0; j<w; j++) -+ { -+ unsigned char buf[3]; -+ fread(buf, 1, 3, fp); -+ -+ switch (depth) -+ { -+ case 24: -+ case 32: -+ *data = buf[2]; -+ *(data+1) = buf[1]; -+ *(data+2) = buf[0]; -+ data += 4; -+ break; -+ case 16: -+ default: -+ *(unsigned short*)data -+ = ((buf[0] >> 3) << 11) | ((buf[1] >> 2) << 5) | (buf[2] >> 3); -+ data += 2; -+ break; -+ } -+ } -+ data += (bytes_per_line - (w*(depth>>3))); -+ } -+ -+ data = res; -+ -+ *width = w; -+ *height = h; -+ -+ fclose(fp); -+ -+ return res; -+ -+ fail: -+ fclose(fp); -+ return NULL; -+} -+ - static void - MakeRootTile(WindowPtr pWin) - { -@@ -321,6 +432,36 @@ - register unsigned char *from, *to; - register int i, j; - -+ if (RootPPM != NULL) -+ { -+ int w, h; -+ unsigned char *data; -+ -+ if ((data = ppm_load (RootPPM, pScreen->rootDepth, &w, &h)) != NULL) -+ { -+ pWin->background.pixmap -+ = (*pScreen->CreatePixmap)(pScreen, w, h, pScreen->rootDepth); -+ -+ pWin->backgroundState = BackgroundPixmap; -+ pGC = GetScratchGC(pScreen->rootDepth, pScreen); -+ if (!pWin->background.pixmap || !pGC) -+ FatalError("could not create root tile"); -+ -+ ValidateGC((DrawablePtr)pWin->background.pixmap, pGC); -+ -+ (*pGC->ops->PutImage)((DrawablePtr)pWin->background.pixmap, -+ pGC, -+ pScreen->rootDepth, -+ 0, 0, w, h, 0, ZPixmap, (char *)data); -+ FreeScratchGC(pGC); -+ -+ free(data); -+ return; -+ } -+ else -+ ErrorF("Unable to load root window image."); -+ } -+ - pWin->background.pixmap = (*pScreen->CreatePixmap)(pScreen, 4, 4, - pScreen->rootDepth); - -@@ -357,6 +498,7 @@ - - } - -+ - WindowPtr - AllocateWindow(ScreenPtr pScreen) - { -diff -u -r xorg-server-X11R7.1-1.1.0.orig/hw/kdrive/src/kdrive.c xorg-server-X11R7.1-1.1.0/hw/kdrive/src/kdrive.c ---- xorg-server-X11R7.1-1.1.0.orig/hw/kdrive/src/kdrive.c 2007-01-08 14:30:38.000000000 +0000 -+++ xorg-server-X11R7.1-1.1.0/hw/kdrive/src/kdrive.c 2007-01-15 17:53:06.000000000 +0000 -@@ -58,6 +58,9 @@ - { 32, 32 } - }; - -+int -+ProcXFixesHideCursor (ClientPtr client) ; -+ - #define NUM_KD_DEPTHS (sizeof (kdDepths) / sizeof (kdDepths[0])) - - int kdScreenPrivateIndex; -@@ -84,6 +87,9 @@ - KdOsFuncs *kdOsFuncs; - extern WindowPtr *WindowTable; - -+extern Bool CursorInitiallyHidden; /* See Xfixes cursor.c */ -+extern char* RootPPM; /* dix/window.c */ -+ - void - KdSetRootClip (ScreenPtr pScreen, BOOL enable) - { -@@ -312,6 +318,7 @@ - KdSetRootClip (pScreen, TRUE); - if (pScreenPriv->card->cfuncs->dpms) - (*pScreenPriv->card->cfuncs->dpms) (pScreen, pScreenPriv->dpmsState); -+ - return TRUE; - } - -@@ -686,10 +693,14 @@ - ErrorF("-mouse path[,n] Filename of mouse device, n is number of buttons\n"); - ErrorF("-switchCmd Command to execute on vt switch\n"); - ErrorF("-nozap Don't terminate server on Ctrl+Alt+Backspace\n"); -+ ErrorF("-hide-cursor Start with cursor hidden\n"); -+ ErrorF("-root-ppm [path] Specify ppm file to use as root window background.\n"); - ErrorF("vtxx Use virtual terminal xx instead of the next available\n"); - #ifdef PSEUDO8 - p8UseMsg (); - #endif -+ -+ - } - - int -@@ -761,6 +772,19 @@ - kdSoftCursor = TRUE; - return 1; - } -+ if (!strcmp (argv[i], "-hide-cursor")) -+ { -+ CursorInitiallyHidden = TRUE; -+ return 1; -+ } -+ if (!strcmp (argv[i], "-root-ppm")) -+ { -+ if ((i+1) < argc) -+ RootPPM = argv[i+1]; -+ else -+ UseMsg (); -+ return 2; -+ } - if (!strcmp (argv[i], "-videoTest")) - { - kdVideoTest = TRUE; -diff -u -r xorg-server-X11R7.1-1.1.0.orig/xfixes/cursor.c xorg-server-X11R7.1-1.1.0/xfixes/cursor.c ---- xorg-server-X11R7.1-1.1.0.orig/xfixes/cursor.c 2007-01-08 14:30:38.000000000 +0000 -+++ xorg-server-X11R7.1-1.1.0/xfixes/cursor.c 2007-01-11 16:33:00.000000000 +0000 -@@ -59,9 +59,12 @@ - static RESTYPE CursorWindowType; - static int CursorScreenPrivateIndex = -1; - static int CursorGeneration; -+static Bool CursorGloballyHidden; - static CursorPtr CursorCurrent; - static CursorPtr pInvisibleCursor = NULL; - -+Bool CursorInitiallyHidden = FALSE; -+ - static void deleteCursorHideCountsForScreen (ScreenPtr pScreen); - - #define VERIFY_CURSOR(pCursor, cursor, client, access) { \ -@@ -130,7 +133,7 @@ - - Unwrap (cs, pScreen, DisplayCursor); - -- if (cs->pCursorHideCounts != NULL) { -+ if (cs->pCursorHideCounts != NULL || CursorGloballyHidden) { - ret = (*pScreen->DisplayCursor) (pScreen, pInvisibleCursor); - } else { - ret = (*pScreen->DisplayCursor) (pScreen, pCursor); -@@ -848,6 +851,12 @@ - return BadWindow; - } - -+ /* Is cursor set to be initially hidden ?, if so reset this -+ * flag as now visibility assumed under control of client. -+ */ -+ if (CursorGloballyHidden) -+ CursorGloballyHidden = FALSE; -+ - /* - * Has client hidden the cursor before on this screen? - * If so, just increment the count. -@@ -899,9 +908,19 @@ - return BadWindow; - } - -+ /* X was started with cursor hidden, therefore just reset our flag -+ * (returning to normal client control) and cause cursor to now be -+ * shown. -+ */ -+ if (CursorGloballyHidden == TRUE) -+ { -+ CursorGloballyHidden = FALSE; -+ return (client->noClientException); -+ } -+ - /* - * Has client hidden the cursor on this screen? -- * If not, generate an error. -+ * If so, generate an error. - */ - pChc = findCursorHideCount(client, pWin->drawable.pScreen); - if (pChc == NULL) { -@@ -1009,6 +1028,8 @@ - XFixesCursorInit (void) - { - int i; -+ -+ CursorGloballyHidden = CursorInitiallyHidden; - - if (CursorGeneration != serverGeneration) - { diff --git a/packages/xorg-xserver/xserver-kdrive-1.4/.mtn2git_empty b/packages/xorg-xserver/xserver-kdrive-1.4/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive-1.4/.mtn2git_empty diff --git a/packages/xorg-xserver/xserver-kdrive-1.4/disable-xf86-dga-xorgcfg.patch b/packages/xorg-xserver/xserver-kdrive-1.4/disable-xf86-dga-xorgcfg.patch new file mode 100644 index 0000000000..ccc19139c8 --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive-1.4/disable-xf86-dga-xorgcfg.patch @@ -0,0 +1,39 @@ +Index: xorg-server-1.3.0.0/configure.ac +=================================================================== +--- xorg-server-1.3.0.0.orig/configure.ac 2007-04-20 03:23:40.000000000 +0200 ++++ xorg-server-1.3.0.0/configure.ac 2007-05-09 16:51:34.000000000 +0200 +@@ -520,7 +520,11 @@ + XEXTXORG_LIB='$(top_builddir)/Xext/libXextbuiltin.la' + + dnl Core modules for most extensions, et al. ++if test "$KDRIVE" = yes; then ++REQUIRED_MODULES="[randrproto >= 1.2] renderproto [fixesproto >= 4.0] [damageproto >= 1.1] xcmiscproto xextproto xproto xtrans xf86bigfontproto [scrnsaverproto >= 1.1] bigreqsproto resourceproto fontsproto inputproto [kbproto >= 1.0.3]" ++else + REQUIRED_MODULES="[randrproto >= 1.2] renderproto [fixesproto >= 4.0] [damageproto >= 1.1] xcmiscproto xextproto xproto xtrans xf86miscproto xf86vidmodeproto xf86bigfontproto [scrnsaverproto >= 1.1] bigreqsproto resourceproto fontsproto inputproto xf86dgaproto [kbproto >= 1.0.3]" ++fi + REQUIRED_LIBS="xfont xau fontenc" + + AM_CONDITIONAL(XV, [test "x$XV" = xyes]) +@@ -1603,7 +1607,9 @@ + AC_SUBST(XKB_COMPILED_DIR) + + dnl and the rest of these are generic, so they're in config.h ++if test ! x"$KDRIVE" = xyes; then + AC_DEFINE(XFreeXDGA, 1, [Build XDGA support]) ++fi + AC_DEFINE(XResExtension, 1, [Build XRes extension]) + + AC_TRY_COMPILE([ +@@ -1616,10 +1622,12 @@ + + AC_DEFINE_DIR(PROJECTROOT, prefix, [Overall prefix]) + ++if test ! "x$KDRIVE" = xyes ; then + dnl xorgconfig CLI configuration utility + PKG_CHECK_MODULES([XORGCONFIG_DEP], [xkbfile x11]) + AC_SUBST(XORGCONFIG_DEP_CFLAGS) + AC_SUBST(XORGCONFIG_DEP_LIBS) ++fi + + dnl xorgcfg GUI configuration utility + AC_ARG_ENABLE(xorgcfg, AS_HELP_STRING([--enable-xorgcfg], diff --git a/packages/xorg-xserver/xserver-kdrive-1.4/enable-tslib.patch b/packages/xorg-xserver/xserver-kdrive-1.4/enable-tslib.patch new file mode 100644 index 0000000000..3746be5f53 --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive-1.4/enable-tslib.patch @@ -0,0 +1,24 @@ +Index: xorg-server-1.4/configure.ac +=================================================================== +--- xorg-server-1.4.orig/configure.ac 2007-09-08 16:36:37.000000000 +0200 ++++ xorg-server-1.4/configure.ac 2007-09-08 16:38:10.000000000 +0200 +@@ -1816,7 +1816,7 @@ + AC_CHECK_LIB([rt], [nanosleep], XEPHYR_LIBS="$XEPHYR_LIBS -lrt")) + + if test "x$TSLIB" = xyes; then +- PKG_CHECK_MODULES([TSLIB], [tslib-0.0], [HAVE_TSLIB="yes"], [HAVE_TSLIB="no"]) ++ PKG_CHECK_MODULES([TSLIB], [tslib-1.0], [HAVE_TSLIB="yes"], [HAVE_TSLIB="no"]) + if test "x$HAVE_TSLIB" = xno; then + AC_MSG_ERROR([tslib must be installed to build the tslib driver. See http://tslib.berlios.de/]) + fi +@@ -1840,8 +1840,8 @@ + ;; + esac + KDRIVE_STUB_LIB='$(top_builddir)/hw/kdrive/src/libkdrivestubs.a' +- KDRIVE_LOCAL_LIBS="$DIX_LIB $CONFIG_LIB $KDRIVE_LIB $TSLIB_LIBS $KDRIVE_OS_LIB $KDRIVE_PURE_LIBS $KDRIVE_STUB_LIB" +- KDRIVE_LIBS="$XSERVERLIBS_LIBS $KDRIVE_LOCAL_LIBS" ++ KDRIVE_LOCAL_LIBS="$DIX_LIB $CONFIG_LIB $KDRIVE_LIB $KDRIVE_OS_LIB $KDRIVE_PURE_LIBS $KDRIVE_STUB_LIB" ++ KDRIVE_LIBS="$XSERVERLIBS_LIBS $TSLIB_LIBS $KDRIVE_LOCAL_LIBS" + + # check if we can build Xephyr + PKG_CHECK_MODULES(XEPHYR, x11 xext xfont xau xdmcp, [xephyr="yes"], [xephyr="no"]) diff --git a/packages/xorg-xserver/xserver-kdrive-1.4/enable-xcalibrate.patch b/packages/xorg-xserver/xserver-kdrive-1.4/enable-xcalibrate.patch new file mode 100644 index 0000000000..113f1cc584 --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive-1.4/enable-xcalibrate.patch @@ -0,0 +1,77 @@ +--- + Xext/Makefile.am | 6 ++++++ + configure.ac | 9 ++++++++- + include/kdrive-config.h.in | 3 +++ + mi/miinitext.c | 6 ++++++ + 4 files changed, 23 insertions(+), 1 deletion(-) + +Index: xorg-server-1.4/mi/miinitext.c +=================================================================== +--- xorg-server-1.4.orig/mi/miinitext.c 2007-08-23 21:04:54.000000000 +0200 ++++ xorg-server-1.4/mi/miinitext.c 2007-09-06 23:25:35.000000000 +0200 +@@ -374,6 +374,9 @@ + #ifdef DMXEXT + extern void DMXExtensionInit(INITARGS); + #endif ++#ifdef XCALIBRATE ++extern void XCalibrateExtensionInit(INITARGS); ++#endif + #ifdef XEVIE + extern void XevieExtensionInit(INITARGS); + #endif +@@ -666,6 +669,9 @@ + #ifdef DAMAGE + if (!noDamageExtension) DamageExtensionInit(); + #endif ++#ifdef XCALIBRATE ++ XCalibrateExtensionInit (); ++#endif + } + + void +Index: xorg-server-1.4/configure.ac +=================================================================== +--- xorg-server-1.4.orig/configure.ac 2007-09-06 23:25:15.000000000 +0200 ++++ xorg-server-1.4/configure.ac 2007-09-06 23:26:40.000000000 +0200 +@@ -500,6 +500,7 @@ + AC_ARG_ENABLE(xf86misc, AS_HELP_STRING([--disable-xf86misc], [Build XF86Misc extension (default: auto)]), [XF86MISC=$enableval], [XF86MISC=auto]) + AC_ARG_ENABLE(xace, AS_HELP_STRING([--disable-xace], [Build X-ACE extension (default: enabled)]), [XACE=$enableval], [XACE=yes]) + AC_ARG_ENABLE(xcsecurity, AS_HELP_STRING([--disable-xcsecurity], [Build Security extension (default: enabled)]), [XCSECURITY=$enableval], [XCSECURITY=$XACE]) ++AC_ARG_ENABLE(xcalibrate, AS_HELP_STRING([--enable-xcalibrate], [Build XCalibrate extension (default: disabled)]), [XCALIBRATE=$enableval], [XCALIBRATE=no]) + AC_ARG_ENABLE(appgroup, AS_HELP_STRING([--disable-appgroup], [Build XC-APPGROUP extension (default: enabled)]), [APPGROUP=$enableval], [APPGROUP=$XCSECURITY]) + AC_ARG_ENABLE(xcalibrate, AS_HELP_STRING([--enable-xcalibrate], [Build XCalibrate extension (default: disabled)]), [XCALIBRATE=$enableval], [XCALIBRATE=no]) + AC_ARG_ENABLE(tslib, AS_HELP_STRING([--enable-tslib], [Build kdrive tslib touchscreen support (default: disabled)]), [TSLIB=$enableval], [TSLIB=no]) +@@ -787,6 +788,12 @@ + AC_DEFINE(XCSECURITY, 1, [Build Security extension]) + fi + ++AM_CONDITIONAL(XCALIBRATE, [test "x$XCALIBRATE" = xyes]) ++if test "x$XCALIBRATE" = xyes; then ++ AC_DEFINE(XCALIBRATE, 1, [Build XCalibrate extension]) ++ REQUIRED_MODULES="$REQUIRED_MODULES xcalibrateproto" ++fi ++ + AM_CONDITIONAL(XEVIE, [test "x$XEVIE" = xyes]) + if test "x$XEVIE" = xyes; then + AC_DEFINE(XEVIE, 1, [Build XEvIE extension]) +@@ -1841,7 +1848,7 @@ + ;; + esac + KDRIVE_STUB_LIB='$(top_builddir)/hw/kdrive/src/libkdrivestubs.a' +- KDRIVE_LOCAL_LIBS="$DIX_LIB $CONFIG_LIB $KDRIVE_LIB $KDRIVE_OS_LIB $KDRIVE_PURE_LIBS $KDRIVE_STUB_LIB" ++ KDRIVE_LOCAL_LIBS="$DIX_LIB $CONFIG_LIB $KDRIVE_LIB $KDRIVE_PURE_LIBS $KDRIVE_OS_LIB $KDRIVE_STUB_LIB" + KDRIVE_LIBS="$XSERVERLIBS_LIBS $TSLIB_LIBS $KDRIVE_LOCAL_LIBS" + + # check if we can build Xephyr +Index: xorg-server-1.4/include/kdrive-config.h.in +=================================================================== +--- xorg-server-1.4.orig/include/kdrive-config.h.in 2007-08-23 21:04:54.000000000 +0200 ++++ xorg-server-1.4/include/kdrive-config.h.in 2007-09-06 23:25:35.000000000 +0200 +@@ -31,4 +31,7 @@ + /* Have execinfo.h for backtrace(). */ + #undef HAVE_EXECINFO_H + ++/* Enable XCalibrate extension */ ++#undef XCALIBRATE ++ + #endif /* _KDRIVE_CONFIG_H_ */ diff --git a/packages/xorg-xserver/xserver-kdrive-1.4/w100-autofoo.patch b/packages/xorg-xserver/xserver-kdrive-1.4/w100-autofoo.patch new file mode 100644 index 0000000000..0812a2e856 --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive-1.4/w100-autofoo.patch @@ -0,0 +1,54 @@ +Index: xorg-server-1.4/hw/kdrive/Makefile.am +=================================================================== +--- xorg-server-1.4.orig/hw/kdrive/Makefile.am 2007-09-06 23:32:04.000000000 +0200 ++++ xorg-server-1.4/hw/kdrive/Makefile.am 2007-09-06 23:33:44.000000000 +0200 +@@ -11,6 +11,10 @@ + XFAKE_SUBDIRS = fake + endif + ++if KDRIVEW100 ++W100_SUBDIRS = w100 ++endif ++ + if XSDLSERVER + XSDL_SUBDIRS = sdl + endif +@@ -26,6 +30,7 @@ + SERVER_SUBDIRS = \ + $(XSDL_SUBDIRS) \ + $(FBDEV_SUBDIRS) \ ++ $(W100_SUBDIRS) \ + $(VESA_SUBDIRS) \ + $(XEPHYR_SUBDIRS) \ + $(XFAKE_SUBDIRS) +Index: xorg-server-1.4/configure.ac +=================================================================== +--- xorg-server-1.4.orig/configure.ac 2007-09-06 23:32:05.000000000 +0200 ++++ xorg-server-1.4/configure.ac 2007-09-06 23:34:41.000000000 +0200 +@@ -535,6 +535,7 @@ + AC_ARG_ENABLE(kdrive, AS_HELP_STRING([--enable-kdrive], [Build kdrive servers (default: no)]), [KDRIVE=$enableval], [KDRIVE=no]) + AC_ARG_ENABLE(xephyr, AS_HELP_STRING([--enable-xephyr], [Build the kdrive Xephyr server (default: auto)]), [XEPHYR=$enableval], [XEPHYR=auto]) + AC_ARG_ENABLE(xsdl, AS_HELP_STRING([--enable-xsdl], [Build the kdrive Xsdl server (default: auto)]), [XSDL=$enableval], [XSDL=auto]) ++AC_ARG_ENABLE(w100, AS_HELP_STRING([--enable-w100], [Build the kdrive Xw100 server (default: no)]), [KDRIVEW100=$enableval], [KDRIVEW100=no]) + AC_ARG_ENABLE(xfake, AS_HELP_STRING([--enable-xfake], [Build the kdrive 'fake' server (default: auto)]), [XFAKE=$enableval], [XFAKE=auto]) + AC_ARG_ENABLE(xfbdev, AS_HELP_STRING([--enable-xfbdev], [Build the kdrive framebuffer device server (default: auto)]), [XFBDEV=$enableval], [XFBDEV=auto]) + AC_ARG_ENABLE(kdrive-vesa, AS_HELP_STRING([--enable-kdrive-vesa], [Build the kdrive VESA-based servers (default: auto)]), [KDRIVEVESA=$enableval], [KDRIVEVESA=auto]) +@@ -1669,6 +1670,10 @@ + fi + AM_CONDITIONAL(XP_USE_FREETYPE, [test "x$XPRINT" = xyes && test "x$XP_USE_FREETYPE" = xyes]) + ++AM_CONDITIONAL(KDRIVEW100, [test "x$KDRIVEW100" = xyes]) ++if test "x$KDRIVEW100" = xyes; then ++ AC_DEFINE(KDRIVEW100, 1, [Build Xw100 server]) ++fi + + dnl XWin DDX + +@@ -2112,6 +2117,7 @@ + hw/kdrive/epson/Makefile + hw/kdrive/fake/Makefile + hw/kdrive/fbdev/Makefile ++hw/kdrive/w100/Makefile + hw/kdrive/i810/Makefile + hw/kdrive/linux/Makefile + hw/kdrive/mach64/Makefile diff --git a/packages/xorg-xserver/xserver-kdrive-common.inc b/packages/xorg-xserver/xserver-kdrive-common.inc index e46abe3fe8..b0d5e39813 100644 --- a/packages/xorg-xserver/xserver-kdrive-common.inc +++ b/packages/xorg-xserver/xserver-kdrive-common.inc @@ -92,13 +92,8 @@ KDRIVE_COMMON_PATCHES = " \ file://kmode.patch;patch=1 \ file://disable-apm.patch;patch=1 \ file://no-serial-probing.patch;patch=1 \ - file://kdrive-evdev.patch;patch=1 \ - file://kdrive-use-evdev.patch;patch=1 \ file://fbdev-not-fix.patch;patch=1 \ - file://enable-builtin-fonts.patch;patch=1 \ - file://disable-xf86-dga-xorgcfg.patch;patch=1 \ file://optional-xkb.patch;patch=1 \ - file://enable-epson.patch;patch=1 \ file://enable-tslib.patch;patch=1 \ file://kmode-palm.patch;patch=1 \ " @@ -119,7 +114,7 @@ EXTRA_OECONF = "--enable-composite --enable-kdrive \ --disable-xorg --disable-xorgcfg \ --disable-xkb --disable-xnest --disable-xvfb \ --disable-xevie --disable-xprint --disable-xtrap \ - --disable-dmx \ + --disable-dmx ${W100_OECONF} \ --with-default-font-path=built-ins \ --enable-tslib --enable-xcalibrate \ ac_cv_file__usr_share_X11_sgml_defs_ent=no" diff --git a/packages/xorg-xserver/xserver-kdrive-git/.mtn2git_empty b/packages/xorg-xserver/xserver-kdrive-git/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive-git/.mtn2git_empty diff --git a/packages/xorg-xserver/xserver-kdrive-git/enable-epson.patch b/packages/xorg-xserver/xserver-kdrive-git/enable-epson.patch new file mode 100644 index 0000000000..23988cb815 --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive-git/enable-epson.patch @@ -0,0 +1,17 @@ +Index: git/hw/kdrive/Makefile.am +=================================================================== +--- git.orig/hw/kdrive/Makefile.am 2007-09-08 23:24:21.000000000 +0200 ++++ git/hw/kdrive/Makefile.am 2007-09-08 23:24:31.000000000 +0200 +@@ -1,10 +1,10 @@ + if KDRIVEVESA +-VESA_SUBDIRS = vesa ati chips epson i810 mach64 mga nvidia pm2 r128 \ ++VESA_SUBDIRS = vesa ati chips i810 mach64 mga nvidia pm2 r128 \ + smi via + endif + + if BUILD_KDRIVEFBDEVLIB +-FBDEV_SUBDIRS = fbdev ++FBDEV_SUBDIRS = fbdev epson + endif + + if XFAKESERVER diff --git a/packages/xorg-xserver/xserver-kdrive-git/enable-tslib.patch b/packages/xorg-xserver/xserver-kdrive-git/enable-tslib.patch new file mode 100644 index 0000000000..bbb4a60a16 --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive-git/enable-tslib.patch @@ -0,0 +1,26 @@ +Index: git/configure.ac +=================================================================== +--- git.orig/configure.ac 2007-09-08 22:17:11.000000000 +0200 ++++ git/configure.ac 2007-09-08 22:32:45.000000000 +0200 +@@ -1834,7 +1834,7 @@ + AC_CHECK_LIB([rt], [nanosleep], XEPHYR_LIBS="$XEPHYR_LIBS -lrt")) + + if test "x$TSLIB" = xyes; then +- PKG_CHECK_MODULES([TSLIB], [tslib-0.0], [HAVE_TSLIB="yes"], [HAVE_TSLIB="no"]) ++ PKG_CHECK_MODULES([TSLIB], [tslib-1.0], [HAVE_TSLIB="yes"], [HAVE_TSLIB="no"]) + if test "x$HAVE_TSLIB" = xno; then + AC_MSG_ERROR([tslib must be installed to build the tslib driver. See http://tslib.berlios.de/]) + fi +@@ -1858,10 +1858,10 @@ + ;; + esac + KDRIVE_STUB_LIB='$(top_builddir)/hw/kdrive/src/libkdrivestubs.a' +- KDRIVE_LOCAL_LIBS="$TSLIB_LIBS $DIX_LIB $KDRIVE_LIB $KDRIVE_STUB_LIB $CONFIG_LIB" ++ KDRIVE_LOCAL_LIBS="$DIX_LIB $KDRIVE_LIB $KDRIVE_STUB_LIB $CONFIG_LIB" + KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $FB_LIB $MI_LIB $KDRIVE_PURE_LIBS" + KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $KDRIVE_OS_LIB $OS_LIB" +- KDRIVE_LIBS="$KDRIVE_LOCAL_LIBS $XSERVERLIBS_LIBS" ++ KDRIVE_LIBS="$TSLIB_LIBS $KDRIVE_LOCAL_LIBS $XSERVERLIBS_LIBS" + + # check if we can build Xephyr + PKG_CHECK_MODULES(XEPHYR, x11 xext xfont xau xdmcp, [xephyr="yes"], [xephyr="no"]) diff --git a/packages/xorg-xserver/xserver-kdrive-git/enable-xcalibrate.patch b/packages/xorg-xserver/xserver-kdrive-git/enable-xcalibrate.patch new file mode 100644 index 0000000000..ffd46fb58c --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive-git/enable-xcalibrate.patch @@ -0,0 +1,68 @@ +--- + Xext/Makefile.am | 6 ++++++ + configure.ac | 9 ++++++++- + include/kdrive-config.h.in | 3 +++ + mi/miinitext.c | 6 ++++++ + 4 files changed, 23 insertions(+), 1 deletion(-) + +Index: git/mi/miinitext.c +=================================================================== +--- git.orig/mi/miinitext.c 2007-09-08 22:17:19.000000000 +0200 ++++ git/mi/miinitext.c 2007-09-08 22:37:51.000000000 +0200 +@@ -374,6 +374,9 @@ + #ifdef DMXEXT + extern void DMXExtensionInit(INITARGS); + #endif ++#ifdef XCALIBRATE ++extern void XCalibrateExtensionInit(INITARGS); ++#endif + #ifdef XEVIE + extern void XevieExtensionInit(INITARGS); + #endif +@@ -666,6 +669,9 @@ + #ifdef DAMAGE + if (!noDamageExtension) DamageExtensionInit(); + #endif ++#ifdef XCALIBRATE ++ XCalibrateExtensionInit (); ++#endif + } + + void +Index: git/configure.ac +=================================================================== +--- git.orig/configure.ac 2007-09-08 22:37:43.000000000 +0200 ++++ git/configure.ac 2007-09-08 22:38:36.000000000 +0200 +@@ -505,6 +505,7 @@ + AC_ARG_ENABLE(xf86misc, AS_HELP_STRING([--disable-xf86misc], [Build XF86Misc extension (default: auto)]), [XF86MISC=$enableval], [XF86MISC=auto]) + AC_ARG_ENABLE(xace, AS_HELP_STRING([--disable-xace], [Build X-ACE extension (default: enabled)]), [XACE=$enableval], [XACE=yes]) + AC_ARG_ENABLE(xcsecurity, AS_HELP_STRING([--disable-xcsecurity], [Build Security extension (default: enabled)]), [XCSECURITY=$enableval], [XCSECURITY=$XACE]) ++AC_ARG_ENABLE(xcalibrate, AS_HELP_STRING([--enable-xcalibrate], [Build XCalibrate extension (default: disabled)]), [XCALIBRATE=$enableval], [XCALIBRATE=no]) + AC_ARG_ENABLE(appgroup, AS_HELP_STRING([--disable-appgroup], [Build XC-APPGROUP extension (default: enabled)]), [APPGROUP=$enableval], [APPGROUP=$XCSECURITY]) + AC_ARG_ENABLE(xcalibrate, AS_HELP_STRING([--enable-xcalibrate], [Build XCalibrate extension (default: disabled)]), [XCALIBRATE=$enableval], [XCALIBRATE=no]) + AC_ARG_ENABLE(tslib, AS_HELP_STRING([--enable-tslib], [Build kdrive tslib touchscreen support (default: disabled)]), [TSLIB=$enableval], [TSLIB=no]) +@@ -833,6 +834,12 @@ + AC_DEFINE(XCSECURITY, 1, [Build Security extension]) + fi + ++AM_CONDITIONAL(XCALIBRATE, [test "x$XCALIBRATE" = xyes]) ++if test "x$XCALIBRATE" = xyes; then ++ AC_DEFINE(XCALIBRATE, 1, [Build XCalibrate extension]) ++ REQUIRED_MODULES="$REQUIRED_MODULES xcalibrateproto" ++fi ++ + AM_CONDITIONAL(XEVIE, [test "x$XEVIE" = xyes]) + if test "x$XEVIE" = xyes; then + AC_DEFINE(XEVIE, 1, [Build XEvIE extension]) +Index: git/include/kdrive-config.h.in +=================================================================== +--- git.orig/include/kdrive-config.h.in 2007-09-08 22:17:19.000000000 +0200 ++++ git/include/kdrive-config.h.in 2007-09-08 22:37:51.000000000 +0200 +@@ -31,4 +31,7 @@ + /* Have execinfo.h for backtrace(). */ + #undef HAVE_EXECINFO_H + ++/* Enable XCalibrate extension */ ++#undef XCALIBRATE ++ + #endif /* _KDRIVE_CONFIG_H_ */ diff --git a/packages/xorg-xserver/xserver-kdrive-git/w100-autofoo.patch b/packages/xorg-xserver/xserver-kdrive-git/w100-autofoo.patch new file mode 100644 index 0000000000..16c0352697 --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive-git/w100-autofoo.patch @@ -0,0 +1,54 @@ +Index: git/hw/kdrive/Makefile.am +=================================================================== +--- git.orig/hw/kdrive/Makefile.am 2007-09-08 22:17:12.000000000 +0200 ++++ git/hw/kdrive/Makefile.am 2007-09-08 22:40:22.000000000 +0200 +@@ -11,6 +11,10 @@ + XFAKE_SUBDIRS = fake + endif + ++if KDRIVEW100 ++W100_SUBDIRS = w100 ++endif ++ + if XSDLSERVER + XSDL_SUBDIRS = sdl + endif +@@ -26,6 +30,7 @@ + SERVER_SUBDIRS = \ + $(XSDL_SUBDIRS) \ + $(FBDEV_SUBDIRS) \ ++ $(W100_SUBDIRS) \ + $(VESA_SUBDIRS) \ + $(XEPHYR_SUBDIRS) \ + $(XFAKE_SUBDIRS) +Index: git/configure.ac +=================================================================== +--- git.orig/configure.ac 2007-09-08 22:39:48.000000000 +0200 ++++ git/configure.ac 2007-09-08 22:40:59.000000000 +0200 +@@ -540,6 +540,7 @@ + AC_ARG_ENABLE(kdrive, AS_HELP_STRING([--enable-kdrive], [Build kdrive servers (default: no)]), [KDRIVE=$enableval], [KDRIVE=no]) + AC_ARG_ENABLE(xephyr, AS_HELP_STRING([--enable-xephyr], [Build the kdrive Xephyr server (default: auto)]), [XEPHYR=$enableval], [XEPHYR=auto]) + AC_ARG_ENABLE(xsdl, AS_HELP_STRING([--enable-xsdl], [Build the kdrive Xsdl server (default: auto)]), [XSDL=$enableval], [XSDL=auto]) ++AC_ARG_ENABLE(w100, AS_HELP_STRING([--enable-w100], [Build the kdrive Xw100 server (default: no)]), [KDRIVEW100=$enableval], [KDRIVEW100=no]) + AC_ARG_ENABLE(xfake, AS_HELP_STRING([--enable-xfake], [Build the kdrive 'fake' server (default: auto)]), [XFAKE=$enableval], [XFAKE=auto]) + AC_ARG_ENABLE(xfbdev, AS_HELP_STRING([--enable-xfbdev], [Build the kdrive framebuffer device server (default: auto)]), [XFBDEV=$enableval], [XFBDEV=auto]) + AC_ARG_ENABLE(kdrive-vesa, AS_HELP_STRING([--enable-kdrive-vesa], [Build the kdrive VESA-based servers (default: auto)]), [KDRIVEVESA=$enableval], [KDRIVEVESA=auto]) +@@ -1620,6 +1621,10 @@ + fi + AM_CONDITIONAL(XP_USE_FREETYPE, [test "x$XPRINT" = xyes && test "x$XP_USE_FREETYPE" = xyes]) + ++AM_CONDITIONAL(KDRIVEW100, [test "x$KDRIVEW100" = xyes]) ++if test "x$KDRIVEW100" = xyes; then ++ AC_DEFINE(KDRIVEW100, 1, [Build Xw100 server]) ++fi + + dnl XWin DDX + +@@ -2128,6 +2133,7 @@ + hw/kdrive/epson/Makefile + hw/kdrive/fake/Makefile + hw/kdrive/fbdev/Makefile ++hw/kdrive/w100/Makefile + hw/kdrive/i810/Makefile + hw/kdrive/linux/Makefile + hw/kdrive/mach64/Makefile diff --git a/packages/xorg-xserver/xserver-kdrive-git/w100-post-1.4-buildfix.patch b/packages/xorg-xserver/xserver-kdrive-git/w100-post-1.4-buildfix.patch new file mode 100644 index 0000000000..741af64283 --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive-git/w100-post-1.4-buildfix.patch @@ -0,0 +1,12 @@ +Index: git/hw/kdrive/w100/Makefile.am +=================================================================== +--- git.orig/hw/kdrive/w100/Makefile.am 2007-09-08 23:37:42.000000000 +0200 ++++ git/hw/kdrive/w100/Makefile.am 2007-09-08 23:37:43.000000000 +0200 +@@ -46,7 +46,6 @@ + + Xw100_LDADD = \ + $(W100_LIBS) \ +- @XSERVER_LIBS@ \ + $(TSLIB_FLAG) + + diff --git a/packages/xorg-xserver/xserver-kdrive-git/xephyr-post-1.4-buildfix.patch b/packages/xorg-xserver/xserver-kdrive-git/xephyr-post-1.4-buildfix.patch new file mode 100644 index 0000000000..8e7cde9641 --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive-git/xephyr-post-1.4-buildfix.patch @@ -0,0 +1,11 @@ +Index: git/hw/kdrive/ephyr/ephyr_draw.c +=================================================================== +--- git.orig/hw/kdrive/ephyr/ephyr_draw.c 2007-09-08 23:57:03.000000000 +0200 ++++ git/hw/kdrive/ephyr/ephyr_draw.c 2007-09-08 23:57:13.000000000 +0200 +@@ -520,6 +520,5 @@ + ExaScreenPriv(pScreen); + + pExaScr->migration = ExaMigrationSmart; +- pExaScr->hideOffscreenPixmapData = TRUE; + pExaScr->checkDirtyCorrectness = TRUE; + } diff --git a/packages/xorg-xserver/xserver-kdrive-imageon_1.2.0.bb b/packages/xorg-xserver/xserver-kdrive-imageon_1.2.0.bb index d8a6c3d795..8ed650266b 100644 --- a/packages/xorg-xserver/xserver-kdrive-imageon_1.2.0.bb +++ b/packages/xorg-xserver/xserver-kdrive-imageon_1.2.0.bb @@ -7,11 +7,14 @@ DEPENDS += "libxkbfile libxcalibrate" PROVIDES = "virtual/xserver" PE = "1" -PR = "r1" +PR = "r2" FILESPATH = "${FILE_DIRNAME}/xserver-kdrive-1.2.0:${FILE_DIRNAME}/xserver-kdrive" SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \ ${KDRIVE_COMMON_PATCHES} \ + file://kdrive-evdev.patch;patch=1 \ + file://kdrive-use-evdev.patch;patch=1 \ + file://disable-xf86-dga-xorgcfg.patch;patch=1 \ file://enable-xcalibrate.patch;patch=1 \ file://fbcompositesrc8888revnpx0565.patch;patch=1 \ file://kdrive-vidmemarea.patch;patch=1 \ @@ -21,6 +24,5 @@ SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \ S = "${WORKDIR}/xorg-server-${PV}" -IMAGEON_OECONF = "--disable-imageon" -IMAGEON_OECONF_arm = "--enable-imageon" +EXTRA_OECONF += "--enable-imageon" diff --git a/packages/xorg-xserver/xserver-kdrive/build-fix-panoramix.patch b/packages/xorg-xserver/xserver-kdrive/build-fix-panoramix.patch deleted file mode 100644 index f919b48f0e..0000000000 --- a/packages/xorg-xserver/xserver-kdrive/build-fix-panoramix.patch +++ /dev/null @@ -1,18 +0,0 @@ -Index: git/composite/compext.c -=================================================================== ---- git.orig/composite/compext.c 2007-03-28 16:25:12.000000000 +0200 -+++ git/composite/compext.c 2007-03-28 16:25:15.000000000 +0200 -@@ -696,11 +696,13 @@ - if (GetPictureScreenIfSet(pScreen) == NULL) - return; - } -+#ifdef PANORAMIX - /* Xinerama's rewriting of window drawing before Composite gets to it - * breaks Composite. - */ - if (!noPanoramiXExtension) - return; -+#endif - - CompositeClientWindowType = CreateNewResourceType (FreeCompositeClientWindow); - if (!CompositeClientWindowType) diff --git a/packages/xorg-xserver/xserver-kdrive/devfs.patch b/packages/xorg-xserver/xserver-kdrive/devfs.patch deleted file mode 100644 index a6238126c0..0000000000 --- a/packages/xorg-xserver/xserver-kdrive/devfs.patch +++ /dev/null @@ -1,47 +0,0 @@ - -# -# Patch managed by http://www.holgerschurig.de/patcher.html -# - ---- xserver/hw/kdrive/linux/linux.c~devfs -+++ xserver/hw/kdrive/linux/linux.c -@@ -82,10 +82,10 @@ - vtno = kdVirtualTerminal; - else - { -- if ((fd = open("/dev/tty0",O_WRONLY,0)) < 0) -+ if ((fd = open("/dev/vc/0",O_WRONLY,0)) < 0) - { - FatalError( -- "LinuxInit: Cannot open /dev/tty0 (%s)\n", -+ "LinuxInit: Cannot open /dev/tty/0 (%s)\n", - strerror(errno)); - } - if ((ioctl(fd, VT_OPENQRY, &vtno) < 0) || -@@ -96,7 +96,7 @@ - } - close(fd); - -- sprintf(vtname,"/dev/tty%d",vtno); /* /dev/tty1-64 */ -+ sprintf(vtname,"/dev/vc/%d",vtno); /* /dev/tty1-64 */ - - if ((LinuxConsoleFd = open(vtname, O_RDWR|O_NDELAY, 0)) < 0) - { -@@ -113,7 +113,7 @@ - * - * Why is this needed? - */ -- LinuxCheckChown ("/dev/tty0"); -+ LinuxCheckChown ("/dev/vc/0"); - /* - * Linux doesn't switch to an active vt after the last close of a vt, - * so we do this ourselves by remembering which is active now. -@@ -453,7 +453,7 @@ - activeVT = -1; - } - close(LinuxConsoleFd); /* make the vt-manager happy */ -- fd = open ("/dev/tty0", O_RDWR|O_NDELAY, 0); -+ fd = open ("/dev/vc/0", O_RDWR|O_NDELAY, 0); - if (fd >= 0) - { - memset (&vts, '\0', sizeof (vts)); /* valgrind */ diff --git a/packages/xorg-xserver/xserver-kdrive/enable-epson.patch b/packages/xorg-xserver/xserver-kdrive/enable-epson.patch index 63b13a4511..0fffd71dce 100644 --- a/packages/xorg-xserver/xserver-kdrive/enable-epson.patch +++ b/packages/xorg-xserver/xserver-kdrive/enable-epson.patch @@ -1,11 +1,17 @@ ---- /tmp/Makefile.am 2006-08-30 09:51:21.000000000 +0200 -+++ git/hw/kdrive/Makefile.am 2006-08-30 09:51:44.425780000 +0200 -@@ -4,7 +4,7 @@ +Index: xorg-server-1.4/hw/kdrive/Makefile.am +=================================================================== +--- xorg-server-1.4.orig/hw/kdrive/Makefile.am 2007-08-30 01:48:57.000000000 +0200 ++++ xorg-server-1.4/hw/kdrive/Makefile.am 2007-09-06 23:24:29.000000000 +0200 +@@ -1,10 +1,10 @@ + if KDRIVEVESA +-VESA_SUBDIRS = vesa ati chips epson i810 mach64 mga nvidia pm2 r128 \ ++VESA_SUBDIRS = vesa ati chips i810 mach64 mga nvidia pm2 r128 \ + smi via endif - if KDRIVEFBDEV + if BUILD_KDRIVEFBDEVLIB -FBDEV_SUBDIRS = fbdev +FBDEV_SUBDIRS = fbdev epson endif - if XSDLSERVER + if XFAKESERVER diff --git a/packages/xorg-xserver/xserver-kdrive/faster-rotated.patch b/packages/xorg-xserver/xserver-kdrive/faster-rotated.patch deleted file mode 100644 index eaf7ddec36..0000000000 --- a/packages/xorg-xserver/xserver-kdrive/faster-rotated.patch +++ /dev/null @@ -1,241 +0,0 @@ -Index: xserver/miext/shadow/shrotate.c -=================================================================== -RCS file: /scratch/openbsd/cvs/XF4/xc/programs/Xserver/miext/shadow/shrotate.c,v -retrieving revision 1.2 -diff -u -r1.2 shrotate.c ---- xserver/miext/shadow/shrotate.c 3 Nov 2004 00:09:54 -0000 1.2 -+++ xserver/miext/shadow/shrotate.c 20 Sep 2005 23:07:58 -0000 -@@ -45,6 +45,106 @@ - #define TOP_TO_BOTTOM 2 - #define BOTTOM_TO_TOP -2 - -+ -+static void -+shadowUpdateRotatePackedSubRectangle(shadowBufPtr pBuf, -+ FbBits *shaLine, int shaFirstShift, -+ int shaStepOverX, int shaStepOverY, -+ int shaStepDownX, int shaStepDownY, -+ int shaBpp, FbBits shaMask, -+ ScreenPtr pScreen, -+ int scr_x1, int scr_y, -+ int scr_h, int scr_w, -+ int pixelsPerBits) -+{ -+ FbBits *sha; -+ int shaShift; -+ int scr_x; -+ int w; -+ -+ /* -+ * Copy the bits, always write across the physical frame buffer -+ * to take advantage of write combining. -+ */ -+ while (scr_h--) -+ { -+ int p; -+ FbBits bits; -+ FbBits *win; -+ int i; -+ CARD32 winSize; -+ -+ sha = shaLine; -+ shaShift = shaFirstShift; -+ w = scr_w; -+ scr_x = scr_x1 * shaBpp >> FB_SHIFT; -+ -+ while (w) -+ { -+ /* -+ * Map some of this line -+ */ -+ win = (FbBits *) (*pBuf->window) (pScreen, -+ scr_y, -+ scr_x << 2, -+ SHADOW_WINDOW_WRITE, -+ &winSize, -+ pBuf->closure); -+ i = (winSize >> 2); -+ if (i > w) -+ i = w; -+ w -= i; -+ scr_x += i; -+ /* -+ * Copy the portion of the line mapped -+ */ -+ while (i--) -+ { -+ bits = 0; -+ p = pixelsPerBits; -+ /* -+ * Build one word of output from multiple inputs -+ */ -+ while (p--) -+ { -+ bits = FbScrLeft(bits, shaBpp); -+ bits |= FbScrRight (*sha, shaShift) & shaMask; -+ -+ shaShift -= shaStepOverX; -+ if (shaShift >= FB_UNIT) -+ { -+ shaShift -= FB_UNIT; -+ sha--; -+ } -+ else if (shaShift < 0) -+ { -+ shaShift += FB_UNIT; -+ sha++; -+ } -+ sha += shaStepOverY; -+ } -+ *win++ = bits; -+ } -+ } -+ scr_y++; -+ shaFirstShift -= shaStepDownX; -+ if (shaFirstShift >= FB_UNIT) -+ { -+ shaFirstShift -= FB_UNIT; -+ shaLine--; -+ } -+ else if (shaFirstShift < 0) -+ { -+ shaFirstShift += FB_UNIT; -+ shaLine++; -+ } -+ shaLine += shaStepDownY; -+ } -+} -+ -+#define BLOCKSIZE_HEIGHT 32 -+#define BLOCKSIZE_WIDTH 32 -+ - void - shadowUpdateRotatePacked (ScreenPtr pScreen, - shadowBufPtr pBuf) -@@ -61,7 +161,6 @@ - int sha_x1 = 0, sha_y1 = 0; - int scr_x1 = 0, scr_x2 = 0, scr_y1 = 0, scr_y2 = 0, scr_w, scr_h; - int scr_x, scr_y; -- int w; - int pixelsPerBits; - int pixelsMask; - FbStride shaStepOverY = 0, shaStepDownY = 0; -@@ -221,86 +320,46 @@ - ((sha_x1 * shaBpp) >> FB_SHIFT)); - - /* -- * Copy the bits, always write across the physical frame buffer -- * to take advantage of write combining. -+ * Copy in blocks of size BLOCKSIZE_WIDTH x BLOCKSIZE_HEIGHT -+ * to reduce the number of cache misses when rotating 90 or -+ * 270 degrees. - */ -- while (scr_h--) -+ for (scr_y = scr_y1; scr_y < scr_y2; scr_y += BLOCKSIZE_HEIGHT) - { -- int p; -- FbBits bits; -- FbBits *win; -- int i; -- CARD32 winSize; -- - sha = shaLine; - shaShift = shaFirstShift; -- w = scr_w; -- scr_x = scr_x1 * shaBpp >> FB_SHIFT; - -- while (w) -+ for (scr_x = scr_x1; scr_x < scr_x2; scr_x += BLOCKSIZE_WIDTH) - { -- /* -- * Map some of this line -- */ -- win = (FbBits *) (*pBuf->window) (pScreen, -- scr_y, -- scr_x << 2, -- SHADOW_WINDOW_WRITE, -- &winSize, -- pBuf->closure); -- i = (winSize >> 2); -- if (i > w) -- i = w; -- w -= i; -- scr_x += i; -- /* -- * Copy the portion of the line mapped -- */ -- while (i--) -- { -- bits = 0; -- p = pixelsPerBits; -- /* -- * Build one word of output from multiple inputs -- * -- * Note that for 90/270 rotations, this will walk -- * down the shadow hitting each scanline once. -- * This is probably not very efficient. -- */ -- while (p--) -- { -- bits = FbScrLeft(bits, shaBpp); -- bits |= FbScrRight (*sha, shaShift) & shaMask; -+ int h = BLOCKSIZE_HEIGHT; -+ int w = BLOCKSIZE_WIDTH; - -- shaShift -= shaStepOverX; -- if (shaShift >= FB_UNIT) -- { -- shaShift -= FB_UNIT; -- sha--; -- } -- else if (shaShift < 0) -- { -- shaShift += FB_UNIT; -- sha++; -- } -- sha += shaStepOverY; -- } -- *win++ = bits; -- } -- } -- scr_y++; -- shaFirstShift -= shaStepDownX; -- if (shaFirstShift >= FB_UNIT) -- { -- shaFirstShift -= FB_UNIT; -- shaLine--; -- } -- else if (shaFirstShift < 0) -- { -- shaFirstShift += FB_UNIT; -- shaLine++; -+ if (scr_y + h > scr_y2) -+ h = scr_y2 - scr_y; -+ if (scr_x + w > scr_x2) -+ w = scr_x2 - scr_x; -+ w = (w * shaBpp) >> FB_SHIFT; -+ -+ shadowUpdateRotatePackedSubRectangle -+ (pBuf, -+ sha, shaShift, -+ shaStepOverX, shaStepOverY, -+ shaStepDownX, shaStepDownY, -+ shaBpp, shaMask, -+ pScreen, -+ scr_x, scr_y, -+ h, w, -+ pixelsPerBits); -+ -+ shaShift -= BLOCKSIZE_WIDTH * shaStepOverX; -+ sha += BLOCKSIZE_WIDTH * shaStepOverY; -+ sha -= (shaShift >> FB_SHIFT); -+ shaShift &= FB_MASK; - } -- shaLine += shaStepDownY; -+ shaFirstShift -= BLOCKSIZE_HEIGHT * shaStepDownX; -+ shaLine += BLOCKSIZE_HEIGHT * shaStepDownY; -+ shaLine -= (shaFirstShift >> FB_SHIFT); -+ shaFirstShift &= FB_MASK; - } - } - } diff --git a/packages/xorg-xserver/xserver-kdrive/fbdev-evdev.patch b/packages/xorg-xserver/xserver-kdrive/fbdev-evdev.patch new file mode 100644 index 0000000000..5f9b21b627 --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive/fbdev-evdev.patch @@ -0,0 +1,19 @@ +Index: xorg-server-1.4/hw/kdrive/fbdev/fbinit.c +=================================================================== +--- xorg-server-1.4.orig/hw/kdrive/fbdev/fbinit.c 2007-09-08 21:27:44.000000000 +0200 ++++ xorg-server-1.4/hw/kdrive/fbdev/fbinit.c 2007-09-08 21:28:55.000000000 +0200 +@@ -46,11 +46,13 @@ + + KdAddKeyboardDriver (&LinuxKeyboardDriver); + KdAddPointerDriver (&LinuxMouseDriver); ++ KdAddKeyboardDriver (&LinuxEvdevKeyboardDriver); ++ KdAddPointerDriver (&LinuxEvdevMouseDriver); + #ifdef TSLIB + KdAddPointerDriver (&TsDriver); + #endif + +- ki = KdParseKeyboard ("keybd"); ++ ki = KdParseKeyboard ("keyboard"); + KdAddKeyboard(ki); + + KdInitInput (); diff --git a/packages/xorg-xserver/xserver-kdrive-1.3.0.0/fix_default_mode.patch b/packages/xorg-xserver/xserver-kdrive/fix_default_mode.patch index edc5146302..edc5146302 100644 --- a/packages/xorg-xserver/xserver-kdrive-1.3.0.0/fix_default_mode.patch +++ b/packages/xorg-xserver/xserver-kdrive/fix_default_mode.patch diff --git a/packages/xorg-xserver/xserver-kdrive/optional-xkb.patch b/packages/xorg-xserver/xserver-kdrive/optional-xkb.patch index d9ef51c5ba..22d8c94c78 100644 --- a/packages/xorg-xserver/xserver-kdrive/optional-xkb.patch +++ b/packages/xorg-xserver/xserver-kdrive/optional-xkb.patch @@ -1,7 +1,9 @@ ---- git/Makefile.am.orig 2006-06-09 16:01:51.000000000 +0200 -+++ git/Makefile.am 2006-06-09 16:02:59.000000000 +0200 -@@ -35,6 +35,10 @@ - XINPUT_DIR=Xi +Index: xorg-server-1.4/Makefile.am +=================================================================== +--- xorg-server-1.4.orig/Makefile.am 2007-08-23 21:04:52.000000000 +0200 ++++ xorg-server-1.4/Makefile.am 2007-09-06 23:19:59.000000000 +0200 +@@ -26,6 +26,10 @@ + GLX_DIR=GL endif +if XKB @@ -11,26 +13,28 @@ if DBE DBE_DIR=dbe endif -@@ -51,7 +55,7 @@ +@@ -42,7 +46,7 @@ randr \ render \ - $(XINPUT_DIR) \ + Xi \ - xkb \ + $(XKB_DIR) \ $(DBE_DIR) \ $(MFB_DIR) \ $(AFB_DIR) \ ---- git/configure.ac.orig 2006-05-22 22:40:00.000000000 +0200 -+++ git/configure.ac 2006-06-10 15:10:14.000000000 +0200 -@@ -418,6 +418,7 @@ - AC_ARG_ENABLE(xf86bigfont, AS_HELP_STRING([--disable-xf86bigfont], [Build XF86 Big Font extension (default: enabled)]), [XF86BIGFONT=$enableval], [XF86BIGFONT=yes]) - AC_ARG_ENABLE(dpms, AS_HELP_STRING([--disable-dpms], [Build DPMS extension (default: enabled)]), [DPMS=$enableval], [DPMSExtension=yes]) - AC_ARG_ENABLE(xinput, AS_HELP_STRING([--disable-xinput], [Build XInput Extension (default: enabled)]), [XINPUT=$enableval], [XINPUT=yes]) +Index: xorg-server-1.4/configure.ac +=================================================================== +--- xorg-server-1.4.orig/configure.ac 2007-09-06 07:59:00.000000000 +0200 ++++ xorg-server-1.4/configure.ac 2007-09-06 23:19:19.000000000 +0200 +@@ -514,6 +514,7 @@ + AC_ARG_ENABLE(config-dbus, AS_HELP_STRING([--enable-config-dbus], [Build D-BUS API support (default: no)]), [CONFIG_DBUS_API=$enableval], [CONFIG_DBUS_API=no]) + AC_ARG_ENABLE(config-hal, AS_HELP_STRING([--disable-config-hal], [Build HAL support (default: auto)]), [CONFIG_HAL=$enableval], [CONFIG_HAL=auto]) + AC_ARG_ENABLE(xfree86-utils, AS_HELP_STRING([--enable-xfree86-utils], [Build xfree86 DDX utilities (default: enabled)]), [XF86UTILS=$enableval], [XF86UTILS=yes]) +AC_ARG_ENABLE(xkb, AS_HELP_STRING([--disable-xkb], [Build XKB (default: enabled)]), [XKB=$enableval], [XKB=yes]) dnl DDXes. AC_ARG_ENABLE(xorg, AS_HELP_STRING([--enable-xorg], [Build Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto]) -@@ -739,12 +740,15 @@ +@@ -889,12 +890,15 @@ AC_DEFINE(SHAPE, 1, [Support SHAPE extension]) @@ -51,4 +55,4 @@ +fi AC_CHECK_FUNC(strcasecmp, [], AC_DEFINE([NEED_STRCASECMP], 1, - [Do not have `strcasecmp'.])) + [Do not have 'strcasecmp'.])) diff --git a/packages/xorg-xserver/xserver-kdrive/tslib-default-device.patch b/packages/xorg-xserver/xserver-kdrive/tslib-default-device.patch new file mode 100644 index 0000000000..c1bc49f58e --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive/tslib-default-device.patch @@ -0,0 +1,15 @@ +Index: xorg-server-1.4/hw/kdrive/linux/tslib.c +=================================================================== +--- xorg-server-1.4.orig/hw/kdrive/linux/tslib.c 2007-09-08 19:58:08.000000000 +0200 ++++ xorg-server-1.4/hw/kdrive/linux/tslib.c 2007-09-08 19:58:09.000000000 +0200 +@@ -121,6 +121,10 @@ + + private->raw_event_hook = NULL; + private->raw_event_closure = NULL; ++ if (!pi->path) { ++ pi->path = "/dev/input/touchscreen0"; ++ ErrorF("[tslib/TslibEnable] no device path given, trying %s\n", pi->path); ++ } + private->tsDev = ts_open(pi->path, 0); + private->fd = ts_fd(private->tsDev); + if (!private->tsDev || ts_config(private->tsDev) || private->fd < 0) { diff --git a/packages/xorg-xserver/xserver-kdrive/w100-autofoo.patch b/packages/xorg-xserver/xserver-kdrive/w100-autofoo.patch new file mode 100644 index 0000000000..b53e327dae --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive/w100-autofoo.patch @@ -0,0 +1,54 @@ +Index: git/hw/kdrive/Makefile.am +=================================================================== +--- git.orig/hw/kdrive/Makefile.am 2006-09-02 12:12:13.000000000 +0200 ++++ git/hw/kdrive/Makefile.am 2006-09-02 12:12:14.000000000 +0200 +@@ -7,6 +7,10 @@ + FBDEV_SUBDIRS = fbdev epson + endif + ++if KDRIVEW100 ++W100_SUBDIRS = w100 ++endif ++ + if XSDLSERVER + XSDL_SUBDIRS = sdl + endif +@@ -20,6 +24,7 @@ + linux \ + $(XSDL_SUBDIRS) \ + $(FBDEV_SUBDIRS) \ ++ $(W100_SUBDIRS) \ + $(VESA_SUBDIRS) \ + $(XEPHYR_SUBDIRS) \ + fake +Index: git/configure.ac +=================================================================== +--- git.orig/configure.ac 2006-09-02 12:12:14.000000000 +0200 ++++ git/configure.ac 2006-09-02 12:12:14.000000000 +0200 +@@ -442,6 +442,7 @@ + AC_ARG_ENABLE(kdrive, AS_HELP_STRING([--enable-kdrive], [Build kdrive servers (default: no)]), [KDRIVE=$enableval], [KDRIVE=no]) + AC_ARG_ENABLE(xephyr, AS_HELP_STRING([--enable-xephyr], [Build the kdrive Xephyr server (default: auto)]), [XEPHYR=$enableval], [XEPHYR=auto]) + AC_ARG_ENABLE(xsdl, AS_HELP_STRING([--enable-xsdl], [Build the kdrive Xsdl server (default: auto)]), [XSDL=$enableval], [XSDL=auto]) ++AC_ARG_ENABLE(w100, AS_HELP_STRING([--enable-w100], [Build the kdrive Xw100 server (default: no)]), [KDRIVEW100=$enableval], [KDRIVEW100=no]) + dnl xprint + AC_ARG_ENABLE(freetype, AS_HELP_STRING([ --enable-freetype], [Build Xprint FreeType backend (default: yes)]), [XP_USE_FREETYPE=$enableval],[XP_USE_FREETYPE=no]) + AC_ARG_WITH(freetype-config, AS_HELP_STRING([ --with-freetype-config=PROG], [Use FreeType configuration program PROG (default: auto)]), freetype_config=$withval, freetype_config=auto) +@@ -1519,6 +1520,10 @@ + AC_SUBST([XSDL_LIBS]) + AC_SUBST([XSDL_INCS]) + ++AM_CONDITIONAL(KDRIVEW100, [test "x$KDRIVEW100" = xyes]) ++if test "x$KDRIVEW100" = xyes; then ++ AC_DEFINE(KDRIVEW100, 1, [Build Xw100 server]) ++fi + + dnl these only go in xkb-config.h (which is shared by the Xorg and Xnest servers) + AC_DEFINE(__XKBDEFRULES__, "xorg", [Default XKB rules]) +@@ -1753,6 +1758,7 @@ + hw/kdrive/epson/Makefile + hw/kdrive/fake/Makefile + hw/kdrive/fbdev/Makefile ++hw/kdrive/w100/Makefile + hw/kdrive/i810/Makefile + hw/kdrive/linux/Makefile + hw/kdrive/mach64/Makefile diff --git a/packages/xorg-xserver/xserver-kdrive/w100-new-input-world-order.patch b/packages/xorg-xserver/xserver-kdrive/w100-new-input-world-order.patch new file mode 100644 index 0000000000..239ae0bb67 --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive/w100-new-input-world-order.patch @@ -0,0 +1,28 @@ +Index: xorg-server-1.4/hw/kdrive/w100/ati_stub.c +=================================================================== +--- xorg-server-1.4.orig/hw/kdrive/w100/ati_stub.c 2007-09-08 21:40:26.000000000 +0200 ++++ xorg-server-1.4/hw/kdrive/w100/ati_stub.c 2007-09-08 22:04:27.000000000 +0200 +@@ -74,10 +74,20 @@ + void + InitInput(int argc, char **argv) + { +- KdInitInput(&LinuxMouseFuncs, &LinuxKeyboardFuncs); +-#ifdef TOUCHSCREEN +- KdAddMouseDriver(&TsFuncs); ++ KdKeyboardInfo *ki; ++ ++ KdAddKeyboardDriver (&LinuxKeyboardDriver); ++ KdAddPointerDriver (&LinuxMouseDriver); ++ KdAddKeyboardDriver (&LinuxEvdevKeyboardDriver); ++ KdAddPointerDriver (&LinuxEvdevMouseDriver); ++#ifdef TSLIB ++ KdAddPointerDriver (&TsDriver); + #endif ++ ++ ki = KdParseKeyboard ("keyboard"); ++ KdAddKeyboard(ki); ++ ++ KdInitInput (); + } + + void diff --git a/packages/xorg-xserver/xserver-kdrive/w100.patch b/packages/xorg-xserver/xserver-kdrive/w100.patch index 9a20fa1f1e..1bb6f357c6 100644 --- a/packages/xorg-xserver/xserver-kdrive/w100.patch +++ b/packages/xorg-xserver/xserver-kdrive/w100.patch @@ -6332,57 +6332,4 @@ Index: git/hw/kdrive/w100/w100_regs.h + + +#endif //_W100_REGS_H_ -Index: git/hw/kdrive/Makefile.am -=================================================================== ---- git.orig/hw/kdrive/Makefile.am 2006-09-02 12:12:13.000000000 +0200 -+++ git/hw/kdrive/Makefile.am 2006-09-02 12:12:14.000000000 +0200 -@@ -7,6 +7,10 @@ - FBDEV_SUBDIRS = fbdev epson - endif - -+if KDRIVEW100 -+W100_SUBDIRS = w100 -+endif -+ - if XSDLSERVER - XSDL_SUBDIRS = sdl - endif -@@ -20,6 +24,7 @@ - linux \ - $(XSDL_SUBDIRS) \ - $(FBDEV_SUBDIRS) \ -+ $(W100_SUBDIRS) \ - $(VESA_SUBDIRS) \ - $(XEPHYR_SUBDIRS) \ - fake -Index: git/configure.ac -=================================================================== ---- git.orig/configure.ac 2006-09-02 12:12:14.000000000 +0200 -+++ git/configure.ac 2006-09-02 12:12:14.000000000 +0200 -@@ -442,6 +442,7 @@ - AC_ARG_ENABLE(kdrive, AS_HELP_STRING([--enable-kdrive], [Build kdrive servers (default: no)]), [KDRIVE=$enableval], [KDRIVE=no]) - AC_ARG_ENABLE(xephyr, AS_HELP_STRING([--enable-xephyr], [Build the kdrive Xephyr server (default: auto)]), [XEPHYR=$enableval], [XEPHYR=auto]) - AC_ARG_ENABLE(xsdl, AS_HELP_STRING([--enable-xsdl], [Build the kdrive Xsdl server (default: auto)]), [XSDL=$enableval], [XSDL=auto]) -+AC_ARG_ENABLE(w100, AS_HELP_STRING([--enable-w100], [Build the kdrive Xw100 server (default: no)]), [KDRIVEW100=$enableval], [KDRIVEW100=no]) - dnl xprint - AC_ARG_ENABLE(freetype, AS_HELP_STRING([ --enable-freetype], [Build Xprint FreeType backend (default: yes)]), [XP_USE_FREETYPE=$enableval],[XP_USE_FREETYPE=no]) - AC_ARG_WITH(freetype-config, AS_HELP_STRING([ --with-freetype-config=PROG], [Use FreeType configuration program PROG (default: auto)]), freetype_config=$withval, freetype_config=auto) -@@ -1519,6 +1520,10 @@ - AC_SUBST([XSDL_LIBS]) - AC_SUBST([XSDL_INCS]) - -+AM_CONDITIONAL(KDRIVEW100, [test "x$KDRIVEW100" = xyes]) -+if test "x$KDRIVEW100" = xyes; then -+ AC_DEFINE(KDRIVEW100, 1, [Build Xw100 server]) -+fi - - dnl these only go in xkb-config.h (which is shared by the Xorg and Xnest servers) - AC_DEFINE(__XKBDEFRULES__, "xorg", [Default XKB rules]) -@@ -1753,6 +1758,7 @@ - hw/kdrive/epson/Makefile - hw/kdrive/fake/Makefile - hw/kdrive/fbdev/Makefile -+hw/kdrive/w100/Makefile - hw/kdrive/i810/Makefile - hw/kdrive/linux/Makefile - hw/kdrive/mach64/Makefile + diff --git a/packages/xorg-xserver/xserver-kdrive/xcalibrate-new-input-world-order.patch b/packages/xorg-xserver/xserver-kdrive/xcalibrate-new-input-world-order.patch new file mode 100644 index 0000000000..2cc9e60d8d --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive/xcalibrate-new-input-world-order.patch @@ -0,0 +1,159 @@ +CRUDE HACK ALERT: this patch adds a new device control (DEVICE_RAWEVENT) +which cannot be exported in the protocol because the xDeviceRaweventCtl +carries a C pointer to the tslib event hook. For lack of a better idea, +I added this to get the event hook pointer from Xext/xcalibrate.c into +tslib.c, where the now-private _raw_event_hook and _raw_event_closure +pointers are manipulated instead of, like before, in the Xcalibrate +extension itself. + +Index: xorg-server-1.4/Xext/xcalibrate.c +=================================================================== +--- xorg-server-1.4.orig/Xext/xcalibrate.c 2007-09-08 13:22:55.000000000 +0200 ++++ xorg-server-1.4/Xext/xcalibrate.c 2007-09-08 16:03:17.000000000 +0200 +@@ -33,14 +33,14 @@ + #include "os.h" + #include "dixstruct.h" + #include "extnsionst.h" ++#include "inputstr.h" /* for inputInfo */ + #include "swaprep.h" + ++#include <X11/extensions/XI.h> /* for XI_TOUCHSCREEN */ ++#include <X11/extensions/XIproto.h> /* for xDeviceCtl */ + #include <X11/extensions/xcalibrateproto.h> + #include <X11/extensions/xcalibratewire.h> + +-extern void (*tslib_raw_event_hook)(int x, int y, int pressure, void *closure); +-extern void *tslib_raw_event_closure; +- + static CARD8 XCalibrateReqCode; + int XCalibrateEventBase; + int XCalibrateReqBase; +@@ -64,6 +64,31 @@ + WriteEventsToClient (pClient, 1, (xEvent *) &ev); + } + ++#define DEVICE_RAWEVENT 6 ++typedef struct { ++ CARD16 control B16; ++ CARD16 length B16; ++ void *hook; ++} xDeviceRaweventCtl; ++ ++static void ++xcalibrate_set_event_hook (void *hook, ClientPtr client) ++{ ++ DeviceIntPtr devtmp; ++ Atom xiclass; ++ xDeviceRaweventCtl rawevent; ++ ++ rawevent.control = DEVICE_RAWEVENT; ++ rawevent.length = sizeof(rawevent); ++ rawevent.hook = hook; ++ ++ xiclass = MakeAtom(XI_TOUCHSCREEN, strlen(XI_TOUCHSCREEN), 1); ++ ++ for (devtmp = inputInfo.devices; devtmp; devtmp = devtmp->next) ++ if (devtmp->type == xiclass) ++ ChangeDeviceControl(client, devtmp, (xDeviceCtl *) &rawevent); ++} ++ + static int + ProcXCalibrateQueryVersion (ClientPtr client) + { +@@ -124,8 +149,7 @@ + { + /* Start calibrating. */ + xcalibrate_client = client; +- tslib_raw_event_hook = xcalibrate_event_hook; +- tslib_raw_event_closure = client; ++ xcalibrate_set_event_hook(xcalibrate_event_hook, client); + rep.status = GrabSuccess; + } + else +@@ -139,8 +163,7 @@ + { + /* Stop calibrating. */ + xcalibrate_client = NULL; +- tslib_raw_event_hook = NULL; +- tslib_raw_event_closure = NULL; ++ xcalibrate_set_event_hook(NULL, NULL); + rep.status = GrabSuccess; + + /* Cycle input off and on to reload configuration. */ +@@ -277,8 +300,7 @@ + { + /* Stop calibrating. */ + xcalibrate_client = NULL; +- tslib_raw_event_hook = NULL; +- tslib_raw_event_closure = NULL; ++ xcalibrate_set_event_hook(NULL, NULL); + } + } + +Index: xorg-server-1.4/hw/kdrive/linux/tslib.c +=================================================================== +--- xorg-server-1.4.orig/hw/kdrive/linux/tslib.c 2007-09-08 14:46:41.000000000 +0200 ++++ xorg-server-1.4/hw/kdrive/linux/tslib.c 2007-09-08 16:10:57.000000000 +0200 +@@ -56,6 +56,13 @@ + int phys_screen; + }; + ++void ++tslib_set_raw_event_hook(KdPointerInfo *pi, void *hook, void *closure) ++{ ++ struct TslibPrivate *private = pi->driverPrivate; ++ private->raw_event_hook = hook; ++ private->raw_event_closure = closure; ++} + + static void + TsRead (int fd, void *closure) +Index: xorg-server-1.4/hw/kdrive/src/kinput.c +=================================================================== +--- xorg-server-1.4.orig/hw/kdrive/src/kinput.c 2007-09-08 14:45:01.000000000 +0200 ++++ xorg-server-1.4/hw/kdrive/src/kinput.c 2007-09-08 16:09:32.000000000 +0200 +@@ -2389,10 +2389,19 @@ + return BadMatch; + } + ++#define DEVICE_RAWEVENT 6 ++typedef struct { ++ CARD16 control B16; ++ CARD16 length B16; ++ void *hook; ++} xDeviceRaweventCtl; ++ + int + ChangeDeviceControl(register ClientPtr client, DeviceIntPtr pDev, + xDeviceCtl *control) + { ++ KdPointerInfo *pi; ++ + switch (control->control) { + case DEVICE_RESOLUTION: + /* FIXME do something more intelligent here */ +@@ -2406,6 +2415,24 @@ + case DEVICE_ENABLE: + return Success; + ++ case DEVICE_RAWEVENT: ++ if (!pDev) ++ return BadImplementation; ++ ++ for (pi = kdPointers; pi; pi = pi->next) { ++ if (pi->dixdev && pi->dixdev->id == pDev->id) ++ break; ++ } ++ ++ if (!pi || !pi->dixdev || pi->dixdev->id != pDev->id) { ++ ErrorF("[ChangeDeviceControl] Failed to find pointer for device %d!\n", ++ pDev->id); ++ return BadImplementation; ++ } ++ ++ tslib_set_raw_event_hook(pi, ((xDeviceRaweventCtl *)control)->hook, client); ++ return Success; ++ + default: + return BadMatch; + } diff --git a/packages/xorg-xserver/xserver-kdrive/xcalibrate_coords.patch b/packages/xorg-xserver/xserver-kdrive/xcalibrate_coords.patch new file mode 100644 index 0000000000..7f4ec09d68 --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive/xcalibrate_coords.patch @@ -0,0 +1,122 @@ +--- + Xext/xcalibrate.c | 47 ++++++++++++++++++++++++++++++++++++++++++++++- + hw/kdrive/src/kdrive.h | 3 +++ + hw/kdrive/src/kinput.c | 12 ++++++++++++ + 3 files changed, 61 insertions(+), 1 deletion(-) + +Index: xorg-server-1.4/Xext/xcalibrate.c +=================================================================== +--- xorg-server-1.4.orig/Xext/xcalibrate.c 2007-08-23 21:04:52.000000000 +0200 ++++ xorg-server-1.4/Xext/xcalibrate.c 2007-09-06 23:27:40.000000000 +0200 +@@ -164,7 +164,6 @@ + return (client->noClientException); + } + +- + static int + SProcXCalibrateSetRawMode (ClientPtr client) + { +@@ -178,6 +177,47 @@ + return ProcXCalibrateSetRawMode(client); + } + ++static int ++ProcXCalibrateScreenToCoord (ClientPtr client) ++{ ++ REQUEST(xXCalibrateScreenToCoordReq); ++ xXCalibrateScreenToCoordReply rep; ++ ++ REQUEST_SIZE_MATCH (xXCalibrateScreenToCoordReq); ++ ++ memset (&rep, 0, sizeof (rep)); ++ rep.type = X_Reply; ++ rep.sequenceNumber = client->sequence; ++ rep.x = stuff->x; ++ rep.y = stuff->y; ++ ++ KdScreenToPointerCoords(&rep.x, &rep.y); ++ ++ if (client->swapped) ++ { ++ int n; ++ ++ swaps (&rep.x, n); ++ swaps (&rep.y, n); ++ } ++ WriteToClient(client, sizeof (rep), (char *) &rep); ++ return (client->noClientException); ++} ++ ++static int ++SProcXCalibrateScreenToCoord (ClientPtr client) ++{ ++ REQUEST(xXCalibrateScreenToCoordReq); ++ int n; ++ ++ REQUEST_SIZE_MATCH (xXCalibrateScreenToCoordReq); ++ ++ swaps(&stuff->x, n); ++ swaps(&stuff->y, n); ++ ++ return ProcXCalibrateScreenToCoord(client); ++} ++ + static void + XCalibrateResetProc (ExtensionEntry *extEntry) + { +@@ -192,6 +232,9 @@ + return ProcXCalibrateQueryVersion(client); + case X_XCalibrateRawMode: + return ProcXCalibrateSetRawMode(client); ++ case X_XCalibrateScreenToCoord: ++ return ProcXCalibrateScreenToCoord(client); ++ + default: break; + } + +@@ -211,6 +254,8 @@ + return SProcXCalibrateQueryVersion(client); + case X_XCalibrateRawMode: + return SProcXCalibrateSetRawMode(client); ++ case X_XCalibrateScreenToCoord: ++ return SProcXCalibrateScreenToCoord(client); + + default: break; + } +Index: xorg-server-1.4/hw/kdrive/src/kdrive.h +=================================================================== +--- xorg-server-1.4.orig/hw/kdrive/src/kdrive.h 2007-08-23 21:04:53.000000000 +0200 ++++ xorg-server-1.4/hw/kdrive/src/kdrive.h 2007-09-06 23:28:50.000000000 +0200 +@@ -848,6 +848,9 @@ + KdSetPointerMatrix (KdPointerMatrix *pointer); + + void ++KdScreenToPointerCoords (int *x, int *y); ++ ++void + KdComputePointerMatrix (KdPointerMatrix *pointer, Rotation randr, int width, int height); + + void +Index: xorg-server-1.4/hw/kdrive/src/kinput.c +=================================================================== +--- xorg-server-1.4.orig/hw/kdrive/src/kinput.c 2007-08-23 21:04:53.000000000 +0200 ++++ xorg-server-1.4/hw/kdrive/src/kinput.c 2007-09-06 23:30:54.000000000 +0200 +@@ -592,6 +592,18 @@ + } + + void ++KdScreenToPointerCoords (int *x, int *y) ++{ ++ int (*m)[3] = kdPointerMatrix.matrix; ++ int div = m[0][1] * m[1][0] - m[1][1] * m[0][0]; ++ int sx = *x; ++ int sy = *y; ++ ++ *x = (m[0][1] * sy - m[0][1] * m[1][2] + m[1][1] * m[0][2] - m[1][1] * sx) / div; ++ *y = (m[1][0] * sx + m[0][0] * m[1][2] - m[1][0] * m[0][2] - m[0][0] * sy) / div; ++} ++ ++void + KdComputePointerMatrix (KdPointerMatrix *m, Rotation randr, int width, + int height) + { diff --git a/packages/xorg-xserver/xserver-kdrive_1.2.0.bb b/packages/xorg-xserver/xserver-kdrive_1.2.0.bb index 5af854c3f0..3b5e62c4dd 100644 --- a/packages/xorg-xserver/xserver-kdrive_1.2.0.bb +++ b/packages/xorg-xserver/xserver-kdrive_1.2.0.bb @@ -7,8 +7,14 @@ PR = "r9" SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \ ${KDRIVE_COMMON_PATCHES} \ + file://enable-epson.patch;patch=1 \ + file://enable-builtin-fonts.patch;patch=1 \ + file://kdrive-evdev.patch;patch=1 \ + file://kdrive-use-evdev.patch;patch=1 \ + file://disable-xf86-dga-xorgcfg.patch;patch=1 \ file://enable-xcalibrate.patch;patch=1 \ file://w100.patch;patch=1 \ + file://w100-autofoo.patch;patch=1 \ file://w100-fix-offscreen-bmp.patch;patch=1 \ file://fbcompositesrc8888revnpx0565.patch;patch=1 \ file://xcalibrate_coords.patch;patch=1 \ diff --git a/packages/xorg-xserver/xserver-kdrive_1.3.0.0.bb b/packages/xorg-xserver/xserver-kdrive_1.3.0.0.bb index 9adc638c17..5f0896f3ed 100644 --- a/packages/xorg-xserver/xserver-kdrive_1.3.0.0.bb +++ b/packages/xorg-xserver/xserver-kdrive_1.3.0.0.bb @@ -3,15 +3,21 @@ require xserver-kdrive-common.inc DEPENDS += "libxkbfile libxcalibrate" PE = "1" -PR = "r16" +PR = "r17" SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \ ${KDRIVE_COMMON_PATCHES} \ + file://enable-epson.patch;patch=1 \ + file://enable-builtin-fonts.patch;patch=1 \ + file://kdrive-evdev.patch;patch=1 \ + file://kdrive-use-evdev.patch;patch=1 \ + file://disable-xf86-dga-xorgcfg.patch;patch=1 \ file://fix_default_mode.patch;patch=1 \ file://enable-xcalibrate.patch;patch=1 \ file://hide-cursor-and-ppm-root.patch;patch=1 \ file://xcalibrate_coords.patch;patch=1 \ file://w100.patch;patch=1 \ + file://w100-autofoo.patch;patch=1 \ file://w100-fix-offscreen-bmp.patch;patch=1 \ " diff --git a/packages/xorg-xserver/xserver-kdrive_1.4.bb b/packages/xorg-xserver/xserver-kdrive_1.4.bb new file mode 100644 index 0000000000..87880c9ef8 --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive_1.4.bb @@ -0,0 +1,28 @@ +require xserver-kdrive-common.inc + +DEPENDS += "libxkbfile libxcalibrate pixman" + +PE = "1" + +SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \ + ${KDRIVE_COMMON_PATCHES} \ + file://enable-epson.patch;patch=1 \ + file://fix_default_mode.patch;patch=1 \ + file://enable-xcalibrate.patch;patch=1 \ + file://hide-cursor-and-ppm-root.patch;patch=1 \ + file://xcalibrate_coords.patch;patch=1 \ + file://w100.patch;patch=1 \ + file://w100-autofoo.patch;patch=1 \ + file://w100-fix-offscreen-bmp.patch;patch=1 \ + file://w100-new-input-world-order.patch;patch=1 \ + file://xcalibrate-new-input-world-order.patch;patch=1 \ + file://tslib-default-device.patch;patch=1 \ + file://fbdev-evdev.patch;patch=1 \ + " + +S = "${WORKDIR}/xorg-server-${PV}" + +W100_OECONF = "--disable-w100" +W100_OECONF_arm = "--enable-w100" + +EXTRA_OECONF += "--enable-builtin-fonts" diff --git a/packages/xorg-xserver/xserver-kdrive_git.bb b/packages/xorg-xserver/xserver-kdrive_git.bb index 4e511fe694..ce48c0e0d4 100644 --- a/packages/xorg-xserver/xserver-kdrive_git.bb +++ b/packages/xorg-xserver/xserver-kdrive_git.bb @@ -1,47 +1,34 @@ -PV = "1.1.0+git${SRCDATE}" DEFAULT_PREFERENCE = "-2" -LICENSE = "MIT" -DEPENDS = "tslib xproto libxdmcp xextproto xtrans libxau virtual/libx11 libxext libxrandr fixesproto damageproto libxfont resourceproto compositeproto calibrateproto recordproto videoproto scrnsaverproto" +require xserver-kdrive-common.inc +PV = "1.4+git${SRCDATE}" -PROVIDES = "virtual/xserver" -PACKAGES = "xserver-kdrive-fbdev xserver-kdrive-fake xserver-kdrive-xephyr ${PN}-doc ${PN}-dev ${PN}-locale" -SECTION = "x11/base" -DESCRIPTION = "X server from freedesktop.org" -DESCRIPTION_xserver-kdrive-fbdev = "X server from freedesktop.org, supporting generic framebuffer devices" -DESCRIPTION_xserver-kdrive-fake = "Fake X server" -DESCRIPTION_xserver-kdrive-xephyr = "X server in an X window" +DEPENDS += "libxkbfile libxcalibrate pixman" -FILES_xserver-kdrive-fbdev = "${bindir}/Xfbdev" -FILES_xserver-kdrive-fake = "${bindir}/Xfake" -FILES_xserver-kdrive-xephyr = "${bindir}/Xephyr" +PE = "1" +FILESPATH = "${FILE_DIRNAME}/xserver-kdrive-git:${FILE_DIRNAME}/xserver-kdrive" SRC_URI = "git://anongit.freedesktop.org/xorg/xserver;protocol=git \ - file://kmode.patch;patch=1 \ - file://disable-apm.patch;patch=1 \ - file://no-serial-probing.patch;patch=1 \ - file://kdrive-evdev.patch;patch=1 \ - file://kdrive-use-evdev.patch;patch=1 \ - file://fbdev-not-fix.patch;patch=1 \ - file://enable-builtin-fonts.patch;patch=1 \ - file://optional-xkb.patch;patch=1 \ -# file://disable-xf86-dga-xorgcfg.patch;patch=1 \ - file://enable-tslib.patch;patch=1" - -SRC_URI_append_mnci = " file://onlyfb.patch;patch=1" -SRC_URI_append_poodle = " file://xserver-kdrive-poodle.patch;patch=1" -PACKAGE_ARCH_poodle = "poodle" + ${KDRIVE_COMMON_PATCHES} \ + file://enable-epson.patch;patch=1 \ + file://fix_default_mode.patch;patch=1 \ + file://enable-xcalibrate.patch;patch=1 \ + file://hide-cursor-and-ppm-root.patch;patch=1 \ + file://xcalibrate_coords.patch;patch=1 \ + file://w100.patch;patch=1 \ + file://w100-autofoo.patch;patch=1 \ + file://w100-fix-offscreen-bmp.patch;patch=1 \ + file://w100-new-input-world-order.patch;patch=1 \ + file://w100-post-1.4-buildfix.patch;patch=1 \ + file://xcalibrate-new-input-world-order.patch;patch=1 \ + file://tslib-default-device.patch;patch=1 \ + file://fbdev-evdev.patch;patch=1 \ + file://xephyr-post-1.4-buildfix.patch;patch=1 \ + " S = "${WORKDIR}/git" -inherit autotools pkgconfig +W100_OECONF = "--disable-w100" +W100_OECONF_arm = "--enable-w100" -EXTRA_OECONF = "--enable-composite --enable-kdrive \ - --disable-dga --disable-dri --disable-xinerama \ - --disable-xf86misc --disable-xf86vidmode \ - --disable-xorg --disable-xorgcfg \ - --disable-xkb --disable-xnest --disable-xvfb \ - --disable-xevie --disable-xprint --disable-xtrap \ - --disable-dmx \ - --with-default-font-path=built-ins \ - ac_cv_file__usr_share_X11_sgml_defs_ent=no" +EXTRA_OECONF += "--enable-builtin-fonts" diff --git a/packages/xournal/xournal_0.4.0.1.bb b/packages/xournal/xournal_0.4.0.1.bb new file mode 100644 index 0000000000..5a8a1b74b7 --- /dev/null +++ b/packages/xournal/xournal_0.4.0.1.bb @@ -0,0 +1,17 @@ +HOMEPAGE = "http://xournal.sf.net/" +DESCRIPTION = "Xournal is an application for notetaking, sketching, keeping a journal using a stylus." +DEPENDS = "gtk+ libgnomecanvas libgnomeprintui" +SECTION = "x11" +LICENSE = "GPL" +PR = "r0" + +SRC_URI = "http://xournal.sourceforge.net/xournal-${PV}.tar.gz \ + file://xournal.desktop" + +inherit autotools pkgconfig + +do_install_append () { + install -d ${D}${datadir}/applications/ + install -m 0644 ${WORKDIR}/xournal.desktop ${D}${datadir}/applications/ +} + diff --git a/packages/yaffs2/.mtn2git_empty b/packages/yaffs2/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/yaffs2/.mtn2git_empty diff --git a/packages/yaffs2/files/.mtn2git_empty b/packages/yaffs2/files/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/yaffs2/files/.mtn2git_empty diff --git a/packages/yaffs2/files/mkyaffs2image.patch b/packages/yaffs2/files/mkyaffs2image.patch new file mode 100644 index 0000000000..521f1ba9a0 --- /dev/null +++ b/packages/yaffs2/files/mkyaffs2image.patch @@ -0,0 +1,345 @@ + * + * mkyaffs2image hacks by NCB + * + * Changes by Sergey Kubushin flagged KSI + * + */ + +/* KSI: + * All this nightmare should be rewritten from ground up. Why save return + * values if nobody checks them? The read/write function returns only one + * error, -1. Positive return value does NOT mean read/write operation has + * been completed successfully. If somebody opens files, he MUST close them + * when they are not longer needed. Only those brave enough can write 64 + * bytes from a yaffs_PackedTags2 structure. The list is too long, there is + * enough bugs here to write a couple of thick books on how NOT to write + * programs... + * + * And BTW, what was one supposed to do with that file that this horror + * occasionally managed to generate? + */ +diff -urN yaffs2.orig/utils/mkyaffs2image.c yaffs2/utils/mkyaffs2image.c +--- yaffs2.orig/utils/mkyaffs2image.c 2005-12-12 16:34:58.000000000 -0800 ++++ yaffs2/utils/mkyaffs2image.c 2006-02-10 16:56:13.000000000 -0800 +@@ -31,10 +47,10 @@ + #include <dirent.h> + #include <string.h> + #include <unistd.h> ++#include <mtd/mtd-user.h> + #include "yaffs_ecc.h" + #include "yaffs_guts.h" + +-#include "yaffs_tagsvalidity.h" + #include "yaffs_packedtags2.h" + + unsigned yaffs_traceMask=0; +@@ -43,9 +59,45 @@ + + #define chunkSize 2048 + #define spareSize 64 ++#define PT2_BYTES 25 + + const char * mkyaffsimage_c_version = "$Id: mkyaffs2image.c,v 1.4 2007-02-14 01:09:06 wookey Exp $"; + ++static int layout_no; ++ ++static struct nand_oobinfo oob_layout[] = { ++ /* KSI: ++ * Dummy "raw" layout - no ECC, all the bytes are free. Does NOT ++ * really work, only used for compatibility with CVS YAFFS2 that ++ * never ever worked with any stock MTD. ++ */ ++ { ++ .useecc = MTD_NANDECC_AUTOPLACE, ++ .eccbytes = 0, ++ .eccpos = {}, ++ .oobfree = { {0, 64} } ++ }, ++ /* KSI: ++ * Regular MTD AUTOPLACED ECC for large page NAND devices, the ++ * only one existing in stock MTD so far. It corresponds to layout# 1 ++ * in command line arguments. Any other layouts could be added to ++ * the list when they made their way in kernel's MTD. The structure ++ * is simply copied from kernel's drivers/mtd/nand/nand_base.c as-is. ++ */ ++ { ++ .useecc = MTD_NANDECC_AUTOPLACE, ++ .eccbytes = 24, ++ .eccpos = { ++ 40, 41, 42, 43, 44, 45, 46, 47, ++ 48, 49, 50, 51, 52, 53, 54, 55, ++ 56, 57, 58, 59, 60, 61, 62, 63}, ++ .oobfree = { {2, 38} } ++ }, ++ /* End-of-list marker */ ++ { ++ .useecc = -1, ++ } ++}; + + typedef struct + { +@@ -59,7 +111,7 @@ + static int n_obj = 0; + static int obj_id = YAFFS_NOBJECT_BUCKETS + 1; + +-static int nObjects, nDirectories, nPages; ++static int nObjects = 0, nDirectories = 0, nPages = 0; + + static int outFile; + +@@ -123,6 +175,11 @@ + return -1; + } + ++/* KSI: ++ * No big endian for now. This is left for a later time. The existing code ++ * is FUBAR. ++ */ ++#if 0 + /* This little function converts a little endian tag to a big endian tag. + * NOTE: The tag is not usable after this other than calculating the CRC + * with. +@@ -155,11 +212,56 @@ + tags->asBytes[7] = temp.asBytes[7]; + #endif + } ++#endif ++ ++void nandmtd2_pt2buf(unsigned char *buf, yaffs_PackedTags2 *pt) ++{ ++ int i, j = 0, k, n; ++ unsigned char pt2_byte_buf[PT2_BYTES]; ++ ++ *((unsigned int *) &pt2_byte_buf[0]) = pt->t.sequenceNumber; ++ *((unsigned int *) &pt2_byte_buf[4]) = pt->t.objectId; ++ *((unsigned int *) &pt2_byte_buf[8]) = pt->t.chunkId; ++ *((unsigned int *) &pt2_byte_buf[12]) = pt->t.byteCount; ++ pt2_byte_buf[16] = pt->ecc.colParity; ++ pt2_byte_buf[17] = pt->ecc.lineParity & 0xff; ++ pt2_byte_buf[18] = (pt->ecc.lineParity >> 8) & 0xff; ++ pt2_byte_buf[19] = (pt->ecc.lineParity >> 16) & 0xff; ++ pt2_byte_buf[20] = (pt->ecc.lineParity >> 24) & 0xff; ++ pt2_byte_buf[21] = pt->ecc.lineParityPrime & 0xff; ++ pt2_byte_buf[22] = (pt->ecc.lineParityPrime >> 8) & 0xff; ++ pt2_byte_buf[23] = (pt->ecc.lineParityPrime >> 16) & 0xff; ++ pt2_byte_buf[24] = (pt->ecc.lineParityPrime >> 24) & 0xff; ++ ++ k = oob_layout[layout_no].oobfree[j][0]; ++ n = oob_layout[layout_no].oobfree[j][1]; ++ ++ if (n == 0) { ++ fprintf(stderr, "No OOB space for tags"); ++ exit(-1); ++ } ++ ++ for (i = 0; i < PT2_BYTES; i++) { ++ if (n == 0) { ++ j++; ++ k = oob_layout[layout_no].oobfree[j][0]; ++ n = oob_layout[layout_no].oobfree[j][1]; ++ if (n == 0) { ++ fprintf(stderr, "No OOB space for tags"); ++ exit(-1); ++ } ++ } ++ buf[k++] = pt2_byte_buf[i]; ++ n--; ++ } ++} + + static int write_chunk(__u8 *data, __u32 objId, __u32 chunkId, __u32 nBytes) + { + yaffs_ExtendedTags t; + yaffs_PackedTags2 pt; ++ unsigned char spare_buf[spareSize]; ++ + + error = write(outFile,data,chunkSize); + if(error < 0) return error; +@@ -177,18 +279,27 @@ + // added NCB **CHECK** + t.chunkUsed = 1; + ++/* KSI: Broken anyway -- e.g. &t is pointer to a wrong type... */ ++#if 0 + if (convert_endian) + { + little_to_big_endian(&t); + } ++#endif + + nPages++; + + yaffs_PackTags2(&pt,&t); +- +-// return write(outFile,&pt,sizeof(yaffs_PackedTags2)); +- return write(outFile,&pt,spareSize); +- ++ ++ memset(spare_buf, 0xff, sizeof(spare_buf)); ++ ++ if (layout_no == 0) { ++ memcpy(spare_buf, &pt, sizeof(yaffs_PackedTags2)); ++ } else { ++ nandmtd2_pt2buf(spare_buf, &pt); ++ } ++ ++ return write(outFile,spare_buf,spareSize); + } + + #define SWAP32(x) ((((x) & 0x000000FF) << 24) | \ +@@ -199,6 +310,8 @@ + #define SWAP16(x) ((((x) & 0x00FF) << 8) | \ + (((x) & 0xFF00) >> 8)) + ++/* KSI: Removed for now. TBD later when the proper util (from scratch) is written */ ++#if 0 + // This one is easier, since the types are more standard. No funky shifts here. + static void object_header_little_to_big_endian(yaffs_ObjectHeader* oh) + { +@@ -256,6 +369,7 @@ + oh->roomToGrow[11] = SWAP32(oh->roomToGrow[11]); + #endif + } ++#endif + + static int write_object_header(int objId, yaffs_ObjectType t, struct stat *s, int parent, const char *name, int equivalentObj, const char * alias) + { +@@ -300,10 +414,13 @@ + strncpy(oh->alias,alias,YAFFS_MAX_ALIAS_LENGTH); + } + ++/* KSI: FUBAR. Left for a leter time. */ ++#if 0 + if (convert_endian) + { + object_header_little_to_big_endian(oh); + } ++#endif + + return write_chunk(bytes,objId,0,0xffff); + +@@ -319,7 +436,7 @@ + nDirectories++; + + dir = opendir(path); +- ++ + if(dir) + { + while((entry = readdir(dir)) != NULL) +@@ -403,12 +520,12 @@ + error = nBytes; + + printf("%d data chunks written\n",chunk); ++ close(h); + } + else + { + perror("Error opening file"); + } +- close(h); + + } + +@@ -448,58 +565,82 @@ + } + } + } ++ /* KSI: ++ * Who is supposed to close those open directories in this ++ * recursive function, lord Byron? Stock "ulimit -n" is 1024 ++ * and e.g. stock Fedora /etc directory has more that 1024 ++ * directories... ++ */ ++ closedir(dir); + } + + return 0; + + } + ++void usage(void) ++{ ++ printf("usage: mkyaffs2image layout# dir image_file [convert]\n"); ++ printf(" layout# NAND OOB layout # (0 - raw, 1 - nand_oob_64)\n"); ++ printf(" dir the directory tree to be converted\n"); ++ printf(" image_file the output file to hold the image\n"); ++ printf(" 'convert' make a big-endian img on a little-endian machine. BROKEN !\n"); ++ exit(1); ++} + + int main(int argc, char *argv[]) + { + struct stat stats; ++ int i; + + printf("mkyaffs2image: image building tool for YAFFS2 built "__DATE__"\n"); + +- if(argc < 3) ++ if ((argc < 4) || (sscanf(argv[1], "%u", &layout_no) != 1)) + { +- printf("usage: mkyaffs2image dir image_file [convert]\n"); +- printf(" dir the directory tree to be converted\n"); +- printf(" image_file the output file to hold the image\n"); +- printf(" 'convert' produce a big-endian image from a little-endian machine\n"); +- exit(1); ++ usage(); + } + +- if ((argc == 4) && (!strncmp(argv[3], "convert", strlen("convert")))) +- { +- convert_endian = 1; +- } ++ i = 0; ++ ++ while (oob_layout[i].useecc != -1) ++ i++; ++ ++ if (layout_no >= i) ++ usage(); ++ ++ if ((argc == 5) && (!strncmp(argv[4], "convert", strlen("convert")))) ++ { ++ /* KSI: Broken as of now. TBD. Fail. */ ++ usage(); ++ convert_endian = 1; ++ } + +- if(stat(argv[1],&stats) < 0) ++ if(stat(argv[2],&stats) < 0) + { +- printf("Could not stat %s\n",argv[1]); ++ printf("Could not stat %s\n",argv[2]); + exit(1); + } + + if(!S_ISDIR(stats.st_mode)) + { +- printf(" %s is not a directory\n",argv[1]); ++ printf(" %s is not a directory\n",argv[2]); + exit(1); + } + +- outFile = open(argv[2],O_CREAT | O_TRUNC | O_WRONLY, S_IREAD | S_IWRITE); ++ outFile = open(argv[3],O_CREAT | O_TRUNC | O_WRONLY, S_IREAD | S_IWRITE); + + + if(outFile < 0) + { +- printf("Could not open output file %s\n",argv[2]); ++ printf("Could not open output file %s\n",argv[3]); + exit(1); + } + +- printf("Processing directory %s into image file %s\n",argv[1],argv[2]); ++ printf("Processing directory %s into image file %s\n",argv[2],argv[3]); + error = write_object_header(1, YAFFS_OBJECT_TYPE_DIRECTORY, &stats, 1,"", -1, NULL); ++ + if(error) +- error = process_directory(YAFFS_OBJECTID_ROOT,argv[1]); ++ error = process_directory(YAFFS_OBJECTID_ROOT,argv[2]); + + close(outFile); + diff --git a/packages/yaffs2/files/yaffs2-unioob.patch b/packages/yaffs2/files/yaffs2-unioob.patch new file mode 100644 index 0000000000..c894528ca1 --- /dev/null +++ b/packages/yaffs2/files/yaffs2-unioob.patch @@ -0,0 +1,216 @@ +diff -urN yaffs2.orig/yaffs_mtdif2.c yaffs2/yaffs_mtdif2.c +--- yaffs2.orig/yaffs_mtdif2.c 2005-12-07 14:00:38.000000000 -0800 ++++ yaffs2/yaffs_mtdif2.c 2006-02-10 17:13:58.000000000 -0800 +@@ -29,6 +29,130 @@ + + #include "yaffs_packedtags2.h" + ++#define PT2_BYTES 25 ++ ++void nandmtd2_pt2buf(yaffs_Device *dev, yaffs_PackedTags2 *pt, int is_raw) ++{ ++ struct mtd_info *mtd = (struct mtd_info *)(dev->genericDevice); ++ int i, j = 0, k, n; ++ __u8 pt2_byte_buf[PT2_BYTES]; ++ ++ /* Pack buffer with 0xff */ ++ for (i = 0; i < mtd->oobsize; i++) ++ dev->spareBuffer[i] = 0xff; ++ ++ if (!is_raw) { ++ *((unsigned int *) &dev->spareBuffer[0]) = pt->t.sequenceNumber; ++ *((unsigned int *) &dev->spareBuffer[4]) = pt->t.objectId; ++ *((unsigned int *) &dev->spareBuffer[8]) = pt->t.chunkId; ++ *((unsigned int *) &dev->spareBuffer[12]) = pt->t.byteCount; ++ dev->spareBuffer[16] = pt->ecc.colParity; ++ dev->spareBuffer[17] = pt->ecc.lineParity & 0xff; ++ dev->spareBuffer[18] = (pt->ecc.lineParity >> 8) & 0xff; ++ dev->spareBuffer[19] = (pt->ecc.lineParity >> 16) & 0xff; ++ dev->spareBuffer[20] = (pt->ecc.lineParity >> 24) & 0xff; ++ dev->spareBuffer[21] = pt->ecc.lineParityPrime & 0xff; ++ dev->spareBuffer[22] = (pt->ecc.lineParityPrime >> 8) & 0xff; ++ dev->spareBuffer[23] = (pt->ecc.lineParityPrime >> 16) & 0xff; ++ dev->spareBuffer[24] = (pt->ecc.lineParityPrime >> 24) & 0xff; ++ } else { ++ *((unsigned int *) &pt2_byte_buf[0]) = pt->t.sequenceNumber; ++ *((unsigned int *) &pt2_byte_buf[4]) = pt->t.objectId; ++ *((unsigned int *) &pt2_byte_buf[8]) = pt->t.chunkId; ++ *((unsigned int *) &pt2_byte_buf[12]) = pt->t.byteCount; ++ pt2_byte_buf[16] = pt->ecc.colParity; ++ pt2_byte_buf[17] = pt->ecc.lineParity & 0xff; ++ pt2_byte_buf[18] = (pt->ecc.lineParity >> 8) & 0xff; ++ pt2_byte_buf[19] = (pt->ecc.lineParity >> 16) & 0xff; ++ pt2_byte_buf[20] = (pt->ecc.lineParity >> 24) & 0xff; ++ pt2_byte_buf[21] = pt->ecc.lineParityPrime & 0xff; ++ pt2_byte_buf[22] = (pt->ecc.lineParityPrime >> 8) & 0xff; ++ pt2_byte_buf[23] = (pt->ecc.lineParityPrime >> 16) & 0xff; ++ pt2_byte_buf[24] = (pt->ecc.lineParityPrime >> 24) & 0xff; ++ ++ k = mtd->oobinfo.oobfree[j][0]; ++ n = mtd->oobinfo.oobfree[j][1]; ++ ++ if (n == 0) { ++ T(YAFFS_TRACE_ERROR, (TSTR("No OOB space for tags" TENDSTR))); ++ YBUG(); ++ } ++ ++ for (i = 0; i < PT2_BYTES; i++) { ++ if (n == 0) { ++ j++; ++ k = mtd->oobinfo.oobfree[j][0]; ++ n = mtd->oobinfo.oobfree[j][1]; ++ if (n == 0) { ++ T(YAFFS_TRACE_ERROR, (TSTR("No OOB space for tags" TENDSTR))); ++ YBUG(); ++ } ++ } ++ dev->spareBuffer[k++] = pt2_byte_buf[i]; ++ n--; ++ } ++ } ++} ++ ++void nandmtd2_buf2pt(yaffs_Device *dev, yaffs_PackedTags2 *pt, int is_raw) ++{ ++ struct mtd_info *mtd = (struct mtd_info *)(dev->genericDevice); ++ int i, j = 0, k, n; ++ __u8 pt2_byte_buf[PT2_BYTES]; ++ ++ ++ if (!is_raw) { ++ pt->t.sequenceNumber = *((unsigned int *) &dev->spareBuffer[0]); ++ pt->t.objectId = *((unsigned int *) &dev->spareBuffer[4]); ++ pt->t.chunkId = *((unsigned int *) &dev->spareBuffer[8]); ++ pt->t.byteCount = *((unsigned int *) &dev->spareBuffer[12]); ++ pt->ecc.colParity = dev->spareBuffer[16]; ++ pt->ecc.lineParity = (dev->spareBuffer[17] & 0x000000ff) | ++ ((dev->spareBuffer[18] << 8) & 0x0000ff00) | ++ ((dev->spareBuffer[19] << 16) & 0x00ff0000) | ++ ((dev->spareBuffer[20] << 24) & 0xff000000); ++ pt->ecc.lineParityPrime = (dev->spareBuffer[21] & 0x000000ff) | ++ ((dev->spareBuffer[22] << 8) & 0x0000ff00) | ++ ((dev->spareBuffer[23] << 16) & 0x00ff0000) | ++ ((dev->spareBuffer[24] << 24) & 0xff000000); ++ } else { ++ k = mtd->oobinfo.oobfree[j][0]; ++ n = mtd->oobinfo.oobfree[j][1]; ++ ++ if (n == 0) { ++ T(YAFFS_TRACE_ERROR, (TSTR("No space in OOB for tags" TENDSTR))); ++ YBUG(); ++ } ++ ++ for (i = 0; i < PT2_BYTES; i++) { ++ if (n == 0) { ++ j++; ++ k = mtd->oobinfo.oobfree[j][0]; ++ n = mtd->oobinfo.oobfree[j][1]; ++ if (n == 0) { ++ T(YAFFS_TRACE_ERROR, (TSTR("No space in OOB for tags" TENDSTR))); ++ YBUG(); ++ } ++ } ++ pt2_byte_buf[i] = dev->spareBuffer[k++]; ++ n--; ++ } ++ pt->t.sequenceNumber = *((unsigned int *) &pt2_byte_buf[0]); ++ pt->t.objectId = *((unsigned int *) &pt2_byte_buf[4]); ++ pt->t.chunkId = *((unsigned int *) &pt2_byte_buf[8]); ++ pt->t.byteCount = *((unsigned int *) &pt2_byte_buf[12]); ++ pt->ecc.colParity = pt2_byte_buf[16]; ++ pt->ecc.lineParity = (pt2_byte_buf[17] & 0x000000ff) | ++ ((pt2_byte_buf[18] << 8) & 0x0000ff00) | ++ ((pt2_byte_buf[19] << 16) & 0x00ff0000) | ++ ((pt2_byte_buf[20] << 24) & 0xff000000); ++ pt->ecc.lineParityPrime = (pt2_byte_buf[21] & 0x000000ff) | ++ ((pt2_byte_buf[22] << 8) & 0x0000ff00) | ++ ((pt2_byte_buf[23] << 16) & 0x00ff0000) | ++ ((pt2_byte_buf[24] << 24) & 0xff000000); ++ } ++} ++ + int nandmtd2_WriteChunkWithTagsToNAND(yaffs_Device * dev, int chunkInNAND, + const __u8 * data, + const yaffs_ExtendedTags * tags) +@@ -51,24 +175,22 @@ + } + + if (data && tags) { +- if (dev->useNANDECC) +- retval = +- mtd->write_ecc(mtd, addr, dev->nBytesPerChunk, +- &dummy, data, (__u8 *) & pt, NULL); +- else ++ nandmtd2_pt2buf(dev, &pt, 0); + retval = + mtd->write_ecc(mtd, addr, dev->nBytesPerChunk, +- &dummy, data, (__u8 *) & pt, NULL); ++ &dummy, data, dev->spareBuffer, ++ NULL); + } else { + if (data) + retval = + mtd->write(mtd, addr, dev->nBytesPerChunk, &dummy, + data); +- if (tags) ++ if (tags) { ++ nandmtd2_pt2buf(dev, &pt, 1); + retval = + mtd->write_oob(mtd, addr, mtd->oobsize, &dummy, +- (__u8 *) & pt); +- ++ dev->spareBuffer); ++ } + } + + if (retval == 0) +@@ -94,30 +216,24 @@ + TENDSTR), chunkInNAND, data, tags)); + + if (data && tags) { +- if (dev->useNANDECC) { + retval = + mtd->read_ecc(mtd, addr, dev->nBytesPerChunk, + &dummy, data, dev->spareBuffer, + NULL); +- } else { +- retval = +- mtd->read_ecc(mtd, addr, dev->nBytesPerChunk, +- &dummy, data, dev->spareBuffer, +- NULL); +- } ++ nandmtd2_buf2pt(dev, &pt, 0); + } else { + if (data) + retval = + mtd->read(mtd, addr, dev->nBytesPerChunk, &dummy, + data); +- if (tags) ++ if (tags) { + retval = + mtd->read_oob(mtd, addr, mtd->oobsize, &dummy, + dev->spareBuffer); ++ nandmtd2_buf2pt(dev, &pt, 1); ++ } + } + +- memcpy(&pt, dev->spareBuffer, sizeof(pt)); +- + if (tags) + yaffs_UnpackTags2(tags, &pt); + +@@ -178,10 +294,11 @@ + *sequenceNumber = 0; + *state = YAFFS_BLOCK_STATE_EMPTY; + } ++ ++ T(YAFFS_TRACE_MTD, ++ (TSTR("block is OK seq %d state %d" TENDSTR), *sequenceNumber, ++ *state)); + } +- T(YAFFS_TRACE_MTD, +- (TSTR("block is bad seq %d state %d" TENDSTR), *sequenceNumber, +- *state)); + + if (retval == 0) + return YAFFS_OK; diff --git a/packages/yaffs2/yaffs2-utils-native_cvs.bb b/packages/yaffs2/yaffs2-utils-native_cvs.bb new file mode 100644 index 0000000000..7c6442b77d --- /dev/null +++ b/packages/yaffs2/yaffs2-utils-native_cvs.bb @@ -0,0 +1,15 @@ +require yaffs2-utils_cvs.bb +inherit native +DEPENDS = "" + +CFLAGS += "-I.. -DCONFIG_YAFFS_UTIL" + +do_stage() { + for i in mkyaffsimage mkyaffs2image; do + install -m 0755 utils/$i ${STAGING_BINDIR_NATIVE} + done +} + +do_install() { + : +} diff --git a/packages/yaffs2/yaffs2-utils_cvs.bb b/packages/yaffs2/yaffs2-utils_cvs.bb new file mode 100644 index 0000000000..439136e2eb --- /dev/null +++ b/packages/yaffs2/yaffs2-utils_cvs.bb @@ -0,0 +1,27 @@ +DESCRIPTION = "Tools for managing 'yaffs2' file systems." +SECTION = "base" +HOMEPAGE = "http://www.yaffs.net" +LICENSE = "GPLv2" +PV = "0.0.0+cvs${SRCDATE}" +PR = "r0" + +# +# NOTE: This needs pretty recent mtd-utils otherwise it fails to compile +# + +SRC_URI = "cvs://anonymous@cvs.aleph1.co.uk/home/aleph1/cvs;module=yaffs2 \ + file://mkyaffs2image.patch;patch=1" +S = "${WORKDIR}/yaffs2" + +CFLAGS += "-I.. -DCONFIG_YAFFS_UTIL" + +do_compile() { + cd utils && oe_runmake +} + +do_install() { + install -d ${D}${sbindir} + for i in mkyaffsimage mkyaffs2image; do + install -m 0755 utils/$i ${D}${sbindir} + done +} diff --git a/site/ix86-common b/site/ix86-common index 00c544f382..226e2e0f79 100644 --- a/site/ix86-common +++ b/site/ix86-common @@ -166,6 +166,9 @@ libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll} ac_cv_lbl_unaligned_fail=${ac_cv_lbl_unaligned_fail=no} ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes} +# libpcap +ac_cv_linux_vers=${ac_cv_linux_vers=2} + # libxfce4util with_broken_putenv=${with_broken_putenv=no} diff --git a/site/mips-linux b/site/mips-linux new file mode 100644 index 0000000000..bab92eff63 --- /dev/null +++ b/site/mips-linux @@ -0,0 +1,122 @@ + +ac_cv_func_getpgrp_void=${ac_cv_func_getpgrp_void=yes} +ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no} +ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes} + +# tslib, others +ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes} + +# bash +ac_cv_c_long_double=${ac_cv_c_long_double=no} +bash_cv_have_mbstate_t=${bash_cv_have_mbstate_t=yes} +bash_cv_func_sigsetjmp=${bash_cv_func_sigsetjmp=present} +bash_cv_must_reinstall_sighandlers=${bash_cv_must_reinstall_sighandlers=no} +bash_cv_func_strcoll_broken=${bash_cv_func_strcoll_broken=no} +bash_cv_dup2_broken=${bash_cv_dup2_broken=no} +bash_cv_opendir_not_robust=${bash_cv_opendir_not_robust=no} +bash_cv_type_rlimit=${bash_cv_type_rlimit=rlim_t} +bash_cv_getenv_redef=${bash_cv_getenv_redef=yes} +bash_cv_ulimit_maxfds=${bash_cv_ulimit_maxfds=yes} +bash_cv_getcwd_calls_popen=${bash_cv_getcwd_calls_popen=no} +bash_cv_printf_a_format=${bash_cv_printf_a_format=yes} +bash_cv_pgrp_pipe=${bash_cv_pgrp_pipe=no} +bash_cv_job_control_missing=${bash_cv_job_control_missing=present} +bash_cv_sys_named_pipes=${bash_cv_sys_named_pipes=present} +bash_cv_unusable_rtsigs=${bash_cv_unusable_rtsigs=no} + +# openssh +ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr=no} +ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf=no} +ac_cv_have_control_in_msghdr=${ac_cv_have_control_in_msghdr=yes} +ac_cv_have_openpty_ctty_bug=${ac_cv_have_openpty_ctty_bug=no} +ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_have_space_d_name_in_struct_dirent=yes} + +# fget +compat_cv_func_snprintf_works=${compat_cv_func_snprintf_works=yes} + +# glib +glib_cv___va_copy=${glib_cv___va_copy=yes} +glib_cv_has__inline=${glib_cv_has__inline=yes} +glib_cv_has__inline__=${glib_cv_has__inline__=yes} +glib_cv_hasinline=${glib_cv_hasinline=yes} +glib_cv_long_long_format=${glib_cv_long_long_format=ll} +glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=no} +glib_cv_sane_realloc=${glib_cv_sane_realloc=yes} +glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24} +glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4} +glib_cv_stack_grows=${glib_cv_stack_grows=no} +glib_cv_uscore=${glib_cv_uscore=no} +glib_cv_va_copy=${glib_cv_va_copy=yes} +glib_cv_va_val_copy=${glib_cv_va_val_copy=yes} + +# libpcap +ac_cv_linux_vers=${ac_cv_linux_vers=2} +ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes} + +# slrn +slrn_cv___va_copy=${slrn_cv___va_copy=yes} +slrn_cv_va_copy=${slrn_cv_va_copy=yes} +slrn_cv_va_val_copy=${slrn_cv_va_val_copy=yes} + +# startup-notification +lf_cv_sane_realloc=${lf_cv_sane_realloc=yes} + +# libidl +libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll} + +# ncftp +ac_cv_func_setpgrp_void=${ac_cv_func_setpgrp_void=yes} +wi_cv_struct_timeval_tv_sec=${wi_cv_struct_timeval_tv_sec=long} +wi_cv_struct_timeval_tv_usec=${wi_cv_struct_timeval_tv_usec=long} +wi_cv_unix_domain_sockets=${wi_cv_unix_domain_sockets=yes} + +# rp-pppoe +rpppoe_cv_pack_bitfields=${rpppoe_cv_pack_bitfields=rev} + +# db3 +db_cv_align_t=${db_cv_align_t='unsigned long long'} +db_cv_alignp_t=${db_cv_alignp_t='unsigned long'} +db_cv_mutex=${db_cv_mutex=no} +db_cv_posixmutexes=${db_cv_posixmutexes=no} +db_cv_uimutexes=${db_cv_uimutexes=no} +db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes} +db_cv_sprintf_count=${db_cv_sprintf_count=yes} +db_cv_path_ar=${db_cv_path_ar=/usr/bin/ar} +db_cv_path_chmod=${db_cv_path_chmod=/bin/chmod} +db_cv_path_cp=${db_cv_path_cp=/bin/cp} +db_cv_path_ln=${db_cv_path_ln=/bin/ln} +db_cv_path_mkdir=${db_cv_path_mkdir=/bin/mkdir} +db_cv_path_ranlib=${db_cv_path_ranlib=/usr/bin/ranlib} +db_cv_path_rm=${db_cv_path_rm=/bin/rm} +db_cv_path_sh=${db_cv_path_sh=/bin/sh} +db_cv_path_strip=${db_cv_path_strip=/usr/bin/strip} + +# rrdtool +rd_cv_ieee_works=${rd_cv_ieee_works=yes} +# ac_cv_path_PERL=${ac_cv_path_PERL=no} + +# gettext +am_cv_func_working_getline=${am_cv_func_working_getline=yes} + +# samba +samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes} + +# vim +ac_cv_sizeof_int=${ac_cv_sizeof_int=4} + +# sudo +sudo_cv_uid_t_len=${sudo_cv_uid_t_len=10} + +#intercom +ac_cv_func_fnmatch_works=${ac_cv_func_fnmatch_works=yes} + +#lmbench +ac_cv_uint=${ac_cv_unit=yes} + +# D-BUS +ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes} + +#mono +cv_mono_sizeof_sunpath=108 +mono_cv_uscore=${mono_cv_uscore=no} + |